Skip to content

Commit 5998af6

Browse files
committed
#266 FIX: seleccion series para config facelec
1 parent 1fc314e commit 5998af6

File tree

4 files changed

+84
-66
lines changed

4 files changed

+84
-66
lines changed

factura_electronica/factura_electronica/doctype/configuracion_factura_electronica/configuracion_factura_electronica.js

+78-58
Original file line numberDiff line numberDiff line change
@@ -2,73 +2,93 @@
22
// For license information, please see license.txt
33

44
// SECCION SERIES FEL
5-
frappe.ui.form.on('Configuracion Factura Electronica', {
6-
// en-US # Upon form refresh
7-
// es-GT # Al crear el formulario
8-
setup: function (frm) {
9-
// en-US # Call the python method indicated
10-
// es-GT # Llame al modulo python indicado
5+
frappe.ui.form.on("Configuracion Factura Electronica", {
6+
// en-US # Upon form refresh
7+
// es-GT # Al crear el formulario
8+
setup: function (frm) {
9+
console.log("cargando series");
10+
// en-US # Call the python method indicated
11+
// es-GT # Llame al modulo python indicado
1112

12-
// NOTE: Llamados a funcion python para obtener los `naming_series` configurados
13-
// para Sales Invoice y Purchase Invoice
13+
// NOTE: Llamados a funcion python para obtener los `naming_series` configurados
14+
// para Sales Invoice y Purchase Invoice
1415

15-
// Aplica para Sales Invoice
16-
frappe.call({
17-
// en-US # Call the series_sales_invoice method.
18-
// es-GT # Llame al metodo series_sales_invoice.
19-
method: "factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_sales_invoice",
20-
// en-US # Obtains the field 'serie' from the Configuracion Series DocType
21-
// es-GT # Obtiene el campo 'serie' del DocType "Configuracion Series"
22-
callback: function (r) {
23-
frappe.meta.get_docfield('Configuracion Series', 'serie', cur_frm.doc.name).options = r.message
24-
// en-US # Updates the current form field 'serie' with the previously obtained data
25-
// es-GT # Actualiza el campo 'serie' del formulario actual, con la data obtenida anteriormente
26-
cur_frm.refresh_field('serie');
27-
refresh_field("series_fel");
28-
}
29-
});
30-
31-
// Aplica para series FEL - Sales invoice
32-
frappe.call({
33-
method: "factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_sales_invoice",
34-
callback: function (r) {
35-
frappe.meta.get_docfield('Configuracion Series FEL', 'serie', cur_frm.doc.name).options = r.message
36-
// console.log("esto se asigno", r.message)
37-
cur_frm.refresh_field('serie');
38-
refresh_field("series_fel");
39-
}
40-
});
16+
// Aplica para Sales Invoice GFACE: ya no aplica apartir de 2021
17+
frappe.call({
18+
// en-US # Call the series_sales_invoice method.
19+
// es-GT # Llame al metodo series_sales_invoice.
20+
method:
21+
"factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_sales_invoice",
22+
// en-US # Obtains the field 'serie' from the Configuracion Series DocType
23+
// es-GT # Obtiene el campo 'serie' del DocType "Configuracion Series"
24+
callback: function (r) {
25+
frappe.meta.get_docfield("Configuracion Series", "serie", frm.doc.name).options = r.message;
26+
// en-US # Updates the current form field 'serie' with the previously obtained data
27+
// es-GT # Actualiza el campo 'serie' del formulario actual, con la data obtenida anteriormente
28+
frm.refresh_field("serie");
29+
frm.refresh_field("series_fel");
30+
},
31+
});
32+
},
33+
});
4134

42-
// Aplica para Purchase Invoice
43-
// NOTA: Se esta usando la misma funcion de facturas especiales
44-
frappe.call({
45-
method: "factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_factura_especial",
46-
callback: function (r) {
47-
// console.log(r.message);
48-
frappe.meta.get_docfield('Serial Configuration For Purchase Invoice', 'serie', cur_frm.doc.name).options = r.message
49-
cur_frm.refresh_field('serie');
50-
refresh_field("purchase_invoice_series");
51-
}
52-
});
35+
frappe.ui.form.on("Configuracion Series FEL", {
36+
es_exportacion(frm, cdt, cdn) {
37+
// Obtiene los detalles de la fila seleccionada
38+
let row = frappe.get_doc(cdt, cdn);
5339

40+
if (row.es_exportacion == 0) {
41+
// Se limpia el valor del campo
42+
row.codigo_incoterm = "";
43+
refresh_field("series_fel");
5444
}
55-
});
45+
},
46+
// Cuando se abre una fila
47+
form_render(frm, cdt, cdn) {
48+
let row = frappe.get_doc(cdt, cdn);
49+
// Aplica para series FEL - Sales invoice
50+
frappe.call({
51+
method:
52+
"factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_sales_invoice",
53+
callback: function ({ message }) {
54+
frappe.meta.get_docfield("Configuracion Series FEL", "serie", row.name).options = message;
5655

56+
frm.refresh_field("serie");
57+
frm.refresh_field("series_fel");
58+
},
59+
});
60+
},
61+
});
5762

58-
frappe.ui.form.on('Configuracion Series FEL', {
59-
es_exportacion(frm, cdt, cdn) {
60-
// Obtiene los detalles de la fila seleccionada
61-
let row = frappe.get_doc(cdt, cdn);
63+
frappe.ui.form.on("Serial Configuration For Purchase Invoice", {
64+
es_exportacion(frm, cdt, cdn) {
65+
// Obtiene los detalles de la fila seleccionada
66+
let row = frappe.get_doc(cdt, cdn);
6267

63-
if (row.es_exportacion == 0) {
64-
// Se limpia el valor del campo
65-
row.codigo_incoterm = "";
66-
refresh_field("series_fel");
67-
}
68-
},
68+
if (row.es_exportacion == 0) {
69+
// Se limpia el valor del campo
70+
row.codigo_incoterm = "";
71+
refresh_field("series_fel");
72+
}
73+
},
74+
// Cuando se abre una fila
75+
form_render(frm, cdt, cdn) {
76+
let row = frappe.get_doc(cdt, cdn);
77+
// Aplica para Purchase Invoice
78+
// NOTA: Se esta usando la misma funcion de facturas especiales
79+
frappe.call({
80+
method:
81+
"factura_electronica.factura_electronica.doctype.configuracion_factura_electronica.configuracion_factura_electronica.series_factura_especial",
82+
callback: function ({ message }) {
83+
// console.log(r.message);
84+
frappe.meta.get_docfield("Serial Configuration For Purchase Invoice", "serie", row.name).options = message;
85+
frm.refresh_field("serie");
86+
frm.refresh_field("purchase_invoice_series");
87+
},
88+
});
89+
},
6990
});
7091

71-
7292
// Forma antigua de usar frases, cuando solo se podia selecciona 1 frase
7393
// frappe.ui.form.on('Serial Configuration For Purchase Invoice', {
7494
// tipo_frase_factura_especial(frm, cdt, cdn) {
@@ -100,4 +120,4 @@ frappe.ui.form.on('Configuracion Series FEL', {
100120
// }
101121
// });
102122
// }
103-
// });
123+
// });

factura_electronica/factura_electronica/doctype/configuracion_series_fel/configuracion_series_fel.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"creation": "2019-09-25 18:43:07.643617",
44
"description": "Tabla para configurar series, que permite asignar tipo de documentos segun SAT ASL, Factura Electronica FEL. Aplica para Facturas de venta",
55
"doctype": "DocType",
6-
"editable_grid": 1,
76
"engine": "InnoDB",
87
"field_order": [
98
"notes",
@@ -86,7 +85,7 @@
8685
],
8786
"istable": 1,
8887
"links": [],
89-
"modified": "2021-08-16 22:28:27.578665",
88+
"modified": "2022-04-07 18:45:59.643218",
9089
"modified_by": "Administrator",
9190
"module": "Factura Electronica",
9291
"name": "Configuracion Series FEL",

factura_electronica/factura_electronica/doctype/serial_configuration_for_purchase_invoice/serial_configuration_for_purchase_invoice.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"creation": "2020-07-04 19:54:32.010699",
44
"description": "Tabla para configurar series, que permite asignar tipo de documentos segun SAT ASL, Factura Electronica FEL. Aplica para Facturas de compra",
55
"doctype": "DocType",
6-
"editable_grid": 1,
76
"engine": "InnoDB",
87
"field_order": [
98
"serie",
@@ -54,7 +53,7 @@
5453
],
5554
"istable": 1,
5655
"links": [],
57-
"modified": "2021-08-16 13:14:35.314892",
56+
"modified": "2022-04-07 18:56:00.244515",
5857
"modified_by": "Administrator",
5958
"module": "Factura Electronica",
6059
"name": "Serial Configuration For Purchase Invoice",

factura_electronica/fel/fel.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -745,8 +745,8 @@ def sign_invoice(self):
745745
self.__doc_firmado = json.loads((response.content).decode('utf-8'))
746746

747747
# Guardamos la respuesta en un archivo DEBUG
748-
# with open('recibido_firmado.json', 'w') as f:
749-
# f.write(json.dumps(self.__doc_firmado, indent=2))
748+
with open('recibido_firmado.json', 'w') as f:
749+
f.write(json.dumps(self.__doc_firmado, indent=2))
750750

751751
# Si la respuesta es true
752752
if self.__doc_firmado.get('resultado') == True:
@@ -801,8 +801,8 @@ def request_electronic_invoice(self):
801801
self.__response_ok = json.loads((self.__response.content).decode('utf-8'))
802802

803803
# DEBUGGING WRITE JSON RESPONSES TO SITES FOLDER
804-
# with open('RESPONSE-FACTURA-FEL.json', 'w') as f:
805-
# f.write(json.dumps(self.__response_ok, indent=2))
804+
with open('RESPONSE-FACTURA-FEL.json', 'w') as f:
805+
f.write(json.dumps(self.__response_ok, indent=2))
806806

807807
return True, 'OK'
808808

0 commit comments

Comments
 (0)