Hoja de trucos para Desarrolladores obtención de datos Frappe — ERPNext

Módulo frappe, obtener datos del lado del servidor y cliente

: Carga un documento de la base de datos. Todas las columnas son propiedades. Esta instrucción puede ser utilizada del lado del cliente con Javascript y del servidor con Python.

Ejemplo con Python:

data = frappe.get_doc('Project', 'My Proyect')doc = frappe.get_doc(doctype, name)# Obtener propiedades
doc.title
# Establecer valor al documento
doc.first_name = 'Mi Nombre'
# Guardar un documento en la base de datos
doc.save()

para acceder a un campo en específico Ejemplo.

data.name # Obtiene el nombre del documento cargado en data

Ejemplo con Javascript:

Insertar un nuevo documento

// Javascript
doc = frappe.new_doc({
"doctype": "Project",
"title": "Mi nuevo proyecto",
"status": "Open"
});
doc.insert();
# Python
...

: Carga los metadatos (Doctype) del Doctype dado. …

frappe.get_meta('Task').fields

Es el listado de campos en ‘Task’ Doctype, se puede utilizar del lado del servidor como del cliente.

: Devuelve una lista de objetos dict de la base de datos. Esta instrucción solo funciona del lado del servidor (Python) . Ejemplo:

frappe.get_all('Project', filters={'status': 'Open'}, fields=['name', 'description'])

: Funcionamiento parecido a pero solo mostrará lo permitido para el usuario. Funciona del lado del servidor (Python) como del cliente (Js). Ejemplo:

[variable] = frappe.get_list('Sales Invoice', filters = { 'Customer': 'Juan Perez'}, fields = ['naming_series', 'due_date'])

Devuelve un listado de objetos, dentro cada posición de la lista se encuentra un diccionario, para acceder a un campo en específico, utilice lo siguiente: Ejemplo.

variable2 = variable[0][naming_series]

Esto carga a variable2 el nombre de serie utilizado en Sales Invoice, donde el nombre del cliente es Juan perez.

: Devuelve un valor único de la base de datos. Funciona solamente del lado del servidor con Python. Ejemplo.

frappe.get_value('Task', 'TASK00030', 'owner')

: Obtiene el último documento creado de este tipo. Funciona solamente del lado del servidor con Python. Ejemplo.

frappe.get_last_doc('Sales Invoice')

: retorna un objeto del doctype individual dado. funciona solamente del lado del servidor con Python.

frappe.database

Estas instrucciones funcionan solamente del lado del servidor con Python sobre la base de datos. Para la obtención, inserción y manejo de datos.

:

:

: Retorna True si al menos existe una fila en la tabla de la base de datos.

: Agregue un valor predeterminado para una clave, puede haber múltiples valores predeterminados para una clave en particular.

: Crea un indice con campos dados si aun no esta creado. El nombre del indice sera

:

:

: Convierte filtros enviados como dict, listas a condiciones SQL. La función map pasa la llave del filtro, condiciones de compilación como:

* ifnull(`fieldname`, default_value) = %(fieldname)s     * `fieldname` [=, !=, >, >=, <, <=] %(fieldname)s

: Provoca una excepción si se ejecutan mas de 20,000 consultas INSERT, UPDATE en una transacción. Esto es para garantizar que las escrituras siempre se vacíen, de lo contrario, esto podría provocar que el sistema se bloquee.

: Cierra la conexión con la base de datos.

: Confirma la transacción actual. Llama a SQL COMMIT

: Se conecta a una base de datos como se establece en

: Convierte la salida en tuplas a listas (internas).

: Codifique el resultado como UTF-8.

: Formato de fechas, hora, valores, longitud.

: Devuelve COUNT(*) para determinados tipos de Doctype y filtros.

:

: Frases de escape y porcentaje en una cadena dada.

: Retorna true si el documento existe. Parámetros:

  • dt — Nombre Tabla de la base de datos.
  • dn — Nombre del documento o puede ser un filtro dict.

: Imprime EXPLAIN en el registro de error.

: Convierte el resultado a diccionario.

: Retorna true si existe un campo.

:

: Devuelve get_value con fieldname = ‘*’

:

: Obtenga el recuento de los registros creados en los últimos x minutos.

:

: Retorna una lista con los nombre de las columnas que tiene una tabla.

: Devuelve el valor predeterminado como una lista si es múltiple o simple.

:

: Devuelve los metadatos de los resultados.

: Devuelve el valor de la clave global.

:

: Obtenga la propiedad de single Doctype. en caché localmente.

parametros:

doctype — Doctype del unico objeto cuyo valor se solicita.

fieldname — nombre de campo de la propiedad cuyo valor se solicita.

Ejemplo: Obtiene el valor default de company de doctype global default.

company = frappe.db.get_single_value('Global Defaults', 'default_company')

: Obtiene Single Doctype como dict.

Ejemplo: Obtiene la columna y valor del Single Doctype, Accounts Settings.

account_settings = frappe.db.get_singles_dic('Accounts Settings')

: Alias para obtener un valor único.

:

: Devuelve la lista de nombres de columnas del Doctype dado.

:

: Devuelve el valor temporal y eliminado.

: Devuelve un propiedad del documento o una lista de propiedades.

Parámetros:

  • doctype = Nombre del Doctype.
  • filters = Filtros como {“x” : “y”} o el nombre del documento. Ninguno si solo es el Doctype.
  • fieldname = Nombre de la columna.
  • ignore = No plantee excepción si falta, tabla, columna.
  • as_dict = Devuelve valores como dict (diccionario).
  • debug = Imprime consulta en el registro de errores.
  • order_by = Ordena la columna por.

Ejemplo:

: Devuelve varias propiedades del documento.

: Obtiene valores de la tabla (Single Doctype)(Interno).

Parametros:

  • fields = Lista de campos.
  • filters = Filtros(Diccionario).
  • doctype = Nombre Doctype.

: Retorna true si la columna existe en la base de datos.

: Retorna true si la primera fila en el resultado tiene una fecha, fecha y hora, tipo de dato int largo.

: transaccion actual.

: Establece valor en el documento. Void.

: Establece un valor global / predeterminado del usuario.

: Guarda un valor de clave global. Los valores globales se establecerán automáticamente si coinciden con el nombre del campo.

: Establece un valor temporal y devuelve una clave.

: Establece un valor único en la base de datos, no llama a los disparadores ORM pero actualiza el timestamp modificado. (a menos que se especifique o no).

  • *ADVERTENCIA** esta funcion no llamara a eventos del documentos y debe evitarse en casos normales.

Parametros:

  • doctype = Nombre del Doctype.
  • docname = Nombre del Documento.
  • field =Nombre de propiedad / campo o diccionario de valores que se actualizara.
  • value = Valor a actualizar.
  • modified = Use esto como la marca de tiempo modificada.
  • modified_by = Establece este usuario como modified_by.
  • update_modified = Predeterminado True, establezca como False, si no desea actualizar la marca de tiempo.
  • debug = Imprime en la consulta en la consola developer / JS.

: Ejecuta una consulta SQL y busca todas las filas.

Parametros:

  • = Consulta SQL.
  • = Lista o diccionario de valores a utilizar en la consulta.
  • = Retorna los datos como diccionario.
  • = Retorna los datos como lista.
  • = Valores de formato como fecha, etc.
  • = Imprime la consulta y EXPLAIN en el registro de depuracion.
  • = Excepcion de captura, si falta una tabla o columna.
  • = Codifica valores como UTF-8.
  • = Confirmar después de ejecutar la consulta.
  • = Actualiza el diccionario a todas las filas (si se devuelve como diccionario).

Ejemplo:

: Confirma y ejecuta una consulta. Consultas DDL(Data Definition Languaje) que alteran la confirmacion automatica del esquema en MariaDB.

: Retorna los datos como una lista de elementos individuales (primera columna).

Ejemplo:

# doctypes = ['Doctype', 'DocField', 'user', ...]
doctypes = frappe.db.sql_list('select name from Doctype')

: Retorna true si la tabla en la base de datos existe.

: Actualiza la marca de tiempo (timestamp) modificada de este documento.

: Actualiza multiples valores, alias para

: Usa la Base de datos que el indiques.

: lanza la excepcion cuando se realizan consultas peligrosas, como lo son: ALTER, DROP, TRUNCATE, si no es administrador.

Python and Web Developer m.monroyc22@gmail.com