Skip to content

Instantly share code, notes, and snippets.

View monroy95's full-sized avatar
:octocat:
Developer Mode

Mario Monroy monroy95

:octocat:
Developer Mode
  • None
View GitHub Profile
@monroy95
monroy95 / comprobar_valor_DB.py
Last active November 29, 2017 04:19
Script para verificar si existe un dato en la base de datos, con frappe framework
if frappe.db.exists('Nombre De La Tabla', {'campo_de_la_tabla': 'valor_que_desea_comprobar'}):
# Codigo a ejecutar en caso, si se encuentre el valor que busca
else:
# Codigo a ejecutar en caso no se encuentre, el valor que buscaba
@monroy95
monroy95 / consulta_datos_db.py
Created November 29, 2017 05:13
Obtención de datos de una tabla de la base de datos, los valores pueden ser almacenados en una variable, esta instrucción retorna una lista, donde en cada posición se encuentra un diccionario con los datos que desea consultar. El índice puede variar según los elementos encontrados.
# OBTENER DATOS DE LA BASE DE DATOS
# 'frappe.db.get_values' se puede utilizar para obtener los datos de una tabla de la base de datos, los valores pueden ser
# almacenados en una variable, esta instruccion retorna una lista, donde en cada posicion se encuentra un
# diccionario con los datos que desea consultar. El indice puede variar segun los elementos encontrados.
# Ejemplo:
# filters: sirve para filtrar los valores que desea, dependiendo el valor que busca.
# recibe como parametro {'campo_de_la_tabla': 'valor_que_busca'}, tambien puede incluir mas de un campo como filtro
# fieldname: almacena los datos encontrados, en una lista, recibe como parametro los campos que desea consultar
@monroy95
monroy95 / obtener_datos1.js
Last active December 11, 2017 01:32
Permite cargar un documento de la base de datos a una variable, esto para acceder a un campo en específico de una tabla de la base de datos en específico.
// La funcion se ejecutara en Sales Invoice, cuando el documento sea recargado.
// frm : Hace referencia al documento con el que se esta trabajando, en este
// caso Sales Invoice.
// cdt : Nombre del Doctype con el que se esta trabajando actualmente.
// cdn : Nombre del docuumento con el que se esta trabajando actualmente.
frappe.ui.form.on("Sales Invoice", "refresh", function(frm, cdt, cdn) {
var d = frappe.get_doc(cdt, cdn);
// Para acceder a un campo en especifico, utilice la variable a la cual
@monroy95
monroy95 / obtener_propiedades.py
Last active December 12, 2017 23:25
Devuelve un propiedad del documento o una lista de propiedades.
#Sintaxis:
# get_value(self, doctype, filters=None, fieldname=name, ignore=None,
# as_dict=False, debug=False, order_by=None, cache=False)
# Retorna el primer cliente que empiece con a
frappe.db.get_value('Customer', {'name': ('like a%')})
# Retorna el ultimo acceso de **usuario** 'test@example.com'
frappe.db.get_value('user', 'test@example.com', 'last_login')
@monroy95
monroy95 / obtener_multiples_propiedades.py
Created December 12, 2017 23:41
Obtener multiples propiedades de un documento.
# Retorna a los clientes con nombres empiecen con a
customers = frappe.db.get_values('Customer', {'name':('like a%')}
# Retorna todo sobre el ultimo acceso de **usuario** 'test@example.com'
user = frappe.db.get_values('user', 'test@example.com', '*')[0]
@monroy95
monroy95 / query.py
Created December 13, 2017 01:54
Consultas (Query) en la base de datos con frappe framework y python.
# Retorna los nombres de clientes como diccionario.
frappe.db.sql('select name from tabCustomer', as_dict=True
# Retorna los nombres que empiecen con la letra "a".
frappe.db.sql('select name from tabCustomer where name like %s', 'a%')
# Valores como diccionario.
frappe.db.sql('select name from tabCustomer where name like %(name)s and owner=%(owner)s',
{'name':'a%', 'owner':'test@example.com'})
@monroy95
monroy95 / script.js
Created December 14, 2017 19:21
prueba
frappe.ui.form.on("Sales Invoice", "refresh", function(frm, cdt, cdn) {
// es-GT: Obtiene el numero de Identificacion tributaria ingresado en la hoja del cliente.
// en-US: Fetches the Taxpayer Identification Number entered in the Customer doctype.
cur_frm.add_fetch("customer", "nit_face_customer", "nit_face_customer");
// Funcion para la obtencion del PDF, segun el documento generado.
function pdf_button() {
frappe.call({
// Este metodo verifica, el modo de generacion de PDF para la factura electronica
// retornara 'Manul' o 'Automatico'
@monroy95
monroy95 / fac_elec_prueba.js
Created December 16, 2017 19:15
Usando frappe.model.get_value para la obtencion de valores.
frappe.ui.form.on("Sales Invoice", "refresh", function(frm, cdt, cdn) {
// es-GT: Obtiene el numero de Identificacion tributaria ingresado en la hoja del cliente.
// en-US: Fetches the Taxpayer Identification Number entered in the Customer doctype.
cur_frm.add_fetch("customer", "nit_face_customer", "nit_face_customer");
// Funcion para la obtencion del PDF, segun el documento generado.
function pdf_button() {
frappe.call({
// Este metodo verifica, el modo de generacion de PDF para la factura electronica
// retornara 'Manul' o 'Automatico'
calculations_tax_gt = function(frm, cdt, cdn) {
var this_row_qty, this_row_rate, this_row_amount, this_row_conversion_factor, this_row_stock_qty, this_row_tax_rate, this_row_tax_amount;
var net_fuel_tally = 0;
var net_goods_tally = 0;
var net_services_tally = 0;
var sales_tax_temp;
frm.doc.items.forEach((item_row, index) => {
if (item_row.name == cdn) {
// Cuando carga, carga la pagina sales-analitycs-2 que a su vez recibe una funcion con parametro
// wrapper, esto quiere decri que podra hacer varias cosas al mismo tiempo
frappe.pages['sales-analytics-2'].on_page_load = function (wrapper) {
var page = frappe.ui.make_app_page({
parent: wrapper,
title: 'Sales Analytics 2.0',
single_column: true
});