Pac 4g
Reassigned to @jorge.medina
@jorge.medina procura siempre que crees una rama dar de alta el merge request correspondiente. Cuando lo dejas a signado a ti mismo significa que es un Trabajo en Progreso y ya me tageas o a cualquier otro de los compañeros para que revisemos lo que estás subiendo.
Una vez que ya todo esté listo para mezclar en la rama de trabajo principal es cuando ya cambias el responsable al encargado del proyecto, en este caso yo :D
@agb80 Estuve revisando el Cancelación con PAC 4G y el método que implemente no es el correcto, nos comentaron que para poder cancelar hay que enviarles el .cer,.key y password con el que se firmo ese comprobante, tambien tienen otro método el cual consiste en darle las llaves al PAC y ya se invoca el otro método de cancelación, que opinas?
Gracias y Saludos
Saludos @jorge.medina no se bien si te refieres a enviar el archivo cer, key y el pass a través de un servicio SOAP, si es eso la verdad me parece algo bastante arriesgado en términos de seguridad porque el protocolo SOAP no es un protocolo encriptado, cualquiera podría tener acceso a la información que envíes por ese medio. En ese caso preferiría utilizar el otro método y mandar los datos por separado al PAC.
Por otro lado, independientemente de la cuestión meramente técnica, me parece que eso que están haciendo es una forma poco ética de obligarte a usar su servicio.
@agb80 Buenas tardes, hice unos cambios para no depender de Facturalo, a como lo deje no se puede convivir los 2 PACS.
Puntos:
- Regrese el raise error si no tiene un PAC
- En Facturalo lo deje tal cual estaba al obtener el driver
- En 4g al obtener el driver atrapo el error en caso de no tener algún driver y le agrego al diccionario el correpondiente a 4G
- La cancelación esta usando el método donde se debe de dar al PAC tanto cer, key y pass, para pruebas no aplica.
Detalle
- La impresión no logro que funcione, copie data.xml y l10n_mx_facturae_pac_4g_report.xml en la carpeta data y copie la carpeta report sin embargo no me deja imprimir, dice "PDF no adjunto" y no pude encontrar la causa, revise la carpeta TMP y veo que se crean 2 registros pdf uno .pdf y otro .pdf.pdf (este si se puede visualizar directamente en TMP).
Espero puedas echarme la mano.
Muchas Gracias
Nota: Disculpa tanto push jeje.
Saludos
@jorge.medina acabo de subir un cambio para la implementación de varios drivers de varios PAC's en la rama de develop así como la habíamos platicado en su momento. Si los puedes probar y ver si hace falta cambiar algo en este desarrollo sino ya para que lo podamos mezclar
@agb80 Lo reviso completo, con dos PAC's (factura_lo y 4g y ver como se comporta). Saludos
@agb80 En la rama develop quise instalar el módulo l10n_mx_facturae_pac_4g pero no se deja, revise y solo están los pyc, me cambie a la rama pac_4g y ahí si está todo el código, que habrá pasado? o como le puedo hacer?
@jorge.medina efectivamente, en develop todavía no he mezclado tu rama por lo que no existen los archivos de los módulos pac_4g. Lo que tienes que hacer es mezclar los cambios que se han hecho en develop en tu rama para poder saber si funcionan bien.
La mejor forma de hacerlo sería con un rebase y utilizando este mini tutorial.
-
Empezamos por saber en que punto tu rama y la rama develop empezaron a ir en diferentes direcciones
git merge-base pac_4g develop
-
Ahora vamos a combinar todos los commits que hemos hecho en la rama local en uno solo para que sea más fácil de manjear todos los cambios posteriores
git rebase --interactive ${HASH}
donde vamos a sustituir
${HASH}
por el número de commit que nos dio el comando que pusimos en el paso número 1, quedando la instrucción final algo como estogit rebase --interactive abc123
El comando nos va a abrir un editor de texto con una serie de líneas similar a esta:
pick 1fc6c95 do something pick 6b2481b do something else pick dd1475d changed some things pick c619268 fixing typos
Si gustas puedes leer las instrucciones detalladas del proceso en el mismo archivo que se abre, pero en breve lo que queremos hacer es combinar todos los commits en uno solo como si desde el principio hubieramos subido solo ese cambio. Para eso vamos a cambi ar la palabra
pick
de todas las lineas, excepto la primera, por la palabrasquash
para que quede algo como esto:pick 1fc6c95 do something squash 6b2481b do something else squash dd1475d changed some things squash c619268 fixing typos
Después de eso hay que guardar y cerrar el archivo. Se va a volver a abrir otro editor donde nos va a aparecer los mensajes de todos los commits que hemos realizado para que podamos editarlos, combinarlos y modificarlos para dejar un solo mensaje unificado. Ese mensaje será el que acompañará al nuevo commmit que estamos creando donde se incluyen todos los cambios realizados en todos los commits.
Una vez terminado este proceso, ya podemos hacer el rebase contra la rama develop. El proceso de rebase en términos prácticos significa tomar el estado actual de la rama develop y aplicar los cambios que realizaste en la rama de pac_4g, como si volvieras a realizar todo el trabajo desde el principio a partir del día de hoy. Esto lo haces con el comando
git rebase develop
Al final y ya nada más para subir tus cambios de nuevo para acá, tienes que hacer
git push origin pac_4g -f
El -f al final de la línea es para indicarle a gitlab que tiene que reescribir la historia de la rama pad_4g porque se ha incluido cambios.
Espero haberme explicado y con esto te ayude a poder probar tu rama contra develop y ver si hace falta algo ya para el mezclado final.
-
Added 20 new commits:
- 7d06d61f - Modificado l10n_mx_payment_method para trabajar con account_payment_type
- d51e21f7 - Merge branch 'migrate/l10n_mx_payment_method' into 'develop'
- bacd8cf4 - Issue 30
- 2a46699a - Merge branch 'issue/30' into 'develop'
- e63616ab - Remove unused buttons on ir_attachment_facturae_mx workflow and make
- da06f33e - Remove deprecated modules
- 0e643f07 - Merge branch 'hotfix_archimex' into develop
- 62e2758a - Fix problem with name compatibility on some OpenERP versionsSSmEOMPATIBILITY
- 03f8ace9 - Better error message when no UUID provided for invoice but no VAT provided for supplier
- 8b2ecedc - Corrected XML files being genearating without XML information on Comprobantes fiscales digitales PAC
- 219f0530 - Fix error on report name making imposible to generate invoice PDF
- 48f272aa - Fixed problem with some XML files that were not corrected formed.
- b5ab4fe2 - Merge branch 'fix/issue31' into 'develop'
- 2671832d - Removed dependency to deprecated module account_payment_extension
- 22eddf72 - Fixed missing translate function import on invoice_datetime
- 5da8f067 - Improved the XML validation for allow sistem to work on customer
- 4b33e906 - Merge branch 'fix/issue33' into 'develop'
- c95b8626 - Added better message for SAT validation errors, this is going to allow
- 4fc061f8 - Integrated changes for allow different PAC's work together on a
- 26f29206 - Version nuevo PAC - PAC 4G facturae.
Toggle commit list@agb80 Buenas tardes
Con está rama de pac_4g después del rebase, al estar configurando el VAT me salio el siguiente error:
Client Traceback (most recent call last): File "/home/jorge-medina/odoo/server/modules/web/http.py", line 204, in dispatch response["result"] = method(self, **self.params) File "/home/jorge-medina/odoo/server/modules/web/controllers/main.py", line 1133, in call_kw return self._call_kw(req, model, method, args, kwargs) File "/home/jorge-medina/odoo/server/modules/web/controllers/main.py", line 1125, in _call_kw return getattr(req.session.model(model), method)(*args, **kwargs) File "/home/jorge-medina/odoo/server/modules/web/session.py", line 42, in proxy result = self.proxy.execute_kw(self.session._db, self.session._uid, self.session._password, self.model, method, args, kw) File "/home/jorge-medina/odoo/server/modules/web/session.py", line 30, in proxy_method result = self.session.send(self.service_name, method, *args) File "/home/jorge-medina/odoo/server/modules/web/session.py", line 103, in send raise xmlrpclib.Fault(openerp.tools.ustr(e), formatted_info)
Server Traceback (most recent call last): File "/home/jorge-medina/odoo/server/modules/web/session.py", line 89, in send return openerp.netsvc.dispatch_rpc(service_name, method, args) File "/home/jorge-medina/odoo/server/openerp/netsvc.py", line 296, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/home/jorge-medina/odoo/server/openerp/service/web_services.py", line 632, in dispatch res = fn(db, uid, *params) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 190, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 132, in wrapper return f(self, dbname, *args, **kwargs) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 199, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 187, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) File "/home/jorge-medina/odoo/server/modules/l10n_mx_facturae/wizard/installer.py", line 41, in default_get 'l10n_mx_facturae', 'images', 'piramide_azteca.jpg'), 'rb') TypeError: coercing to Unicode: need string or buffer, bool found
Creo que habían quitado esas imágenes?
Estamos en contacto.
Saludos
@agb80 Buenos días, continue con las pruebas y encontré unos detalle, para que los dos PACs puedan estar juntos:
-
En el módulo l10n_mx_facturae_pac_facturalo en el archivo ir_attachment_facturae.py en el método get_driver_fc_sign y get_driver_fc_cancel hay que poner que debe de heredar, hice un cambio en la rama pac_4g revisalo si lo apruebas.
-
Cuando genera el PDF me sigue marcando PDF no Adjunto, pongo log del error.
2015-02-16 16:13:19,935 13652 INFO FACT_MULTIPAC werkzeug: 127.0.0.1 - - [16/Feb/2015 16:13:19] "POST /web/dataset/call_kw HTTP/1.1" 200 - 2015-02-16 16:13:19,992 13652 INFO FACT_MULTIPAC werkzeug: 127.0.0.1 - - [16/Feb/2015 16:13:19] "POST /web/dataset/call_kw HTTP/1.1" 200 - 2015-02-16 16:13:25,575 13652 WARNING FACT_MULTIPAC openerp.osv.orm: Field res.partner.country is deprecated: This field will be removed as of OpenERP 7.1, use country_id instead 2015-02-16 16:13:26,683 13652 ERROR FACT_MULTIPAC openerp.netsvc: Aviso PDF No adjunto Traceback (most recent call last): File "/home/jorge-medina/odoo/server/openerp/netsvc.py", line 296, in dispatch_rpc result = ExportService.getService(service_name).dispatch(method, params) File "/home/jorge-medina/odoo/server/openerp/service/web_services.py", line 632, in dispatch res = fn(db, uid, *params) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 190, in execute_kw return self.execute(db, uid, obj, method, *args, **kw or {}) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 132, in wrapper return f(self, dbname, *args, **kwargs) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 199, in execute res = self.execute_cr(cr, uid, obj, method, *args, **kw) File "/home/jorge-medina/odoo/server/openerp/osv/osv.py", line 187, in execute_cr return getattr(object, method)(cr, uid, *args, **kw) File "/home/jorge-medina/odoo/server/modules/l10n_mx_ir_attachment_facturae/ir_attachment_facturae.py", line 232, in signal_printable return self.action_printable(cr, uid, ids, context) File "/home/jorge-medina/odoo/server/modules/l10n_mx_ir_attachment_facturae/ir_attachment_facturae.py", line 269, in action_printable _('Warning'), _('Not Attached PDF\n') except_osv: (u'Aviso', u'PDF No adjunto\n') 2015-02-16 16:13:26,698 13652 INFO FACT_MULTIPAC werkzeug: 127.0.0.1 - - [16/Feb/2015 16:13:26] "POST /web/dataset/call_button HTTP/1.1" 200 -
Sin embargo con ambos PAC me timbra y adjunta el XML.
En cancelación me marca ImportError: libxml2 is required: see http://xmlsoft.org, pero utilizo las instrucciones el módulo pero no se instala correctamente, podrías apoyarme @agb80.
Edit: Sabes @agb80 al parecer es mi LAP con respecto a lo de la cancelada
Muchas Gracias
Saludos
-
Pudiste resolver lo de la cancelación?
Lo del reporte es un error con los nombres, estoy pensando en realizar la migración del reporte a un solo módulo para evitar la confusión de nombres que se está generando. De cualquier modo, como es independiente del desarrollo que estás haciendo aquí y si pudiste resolver lo de la cancelación, entonces ya procedo a mezclar este request y abrimos otro para corregir el problema con el reporte.
@agb80 En mi máquina virtual no me deja aún, me marca lo mismo de libxml2, continúo intentando que me falta.
OK reviso lo del Wizard, además tengo un cambio en el módulo de factura-lo en driver sign y cancel, hay que poner el super para que funcione.
Saludos
Aquí están las instrucciones para la instalación extraídas del módulo de facturalo, a ver si te sirven
- Ubuntu: sudo apt-get install xmlsec1 libxml2-dev libxslt-dev libxmlsec1-dev sudo apt-set install python-dev python-fpconst sudo easy_install lxml pyxmlsec - Archlinux: yaourt -S python2-lxml python2-fpconst pyxmlsec - Centos: sudo yum install libxml2 libxml2-devel libxslt libxslt-dev sudo yum install python-devel python-fpconst pyxmlsec
@agb80 sabes, el error que me marca es en OpenERP, porque lo ejecuto directamente en python import libxml2 si pasa todo bien.
Saludos
Added 1 new commit:
- c5973d87 - Version nuevo PAC - PAC 4G facturae.
mentioned in commit 9529ea9e
@agb80 Buenas tardes, veo que hiciste el merge, solo falto un detalle no sé si lo cambiaste lo de
En el módulo l10n_mx_facturae_pac_facturalo en el archivo ir_attachment_facturae.py en el método get_driver_fc_sign y get_driver_fc_cancel hay que poner que debe de heredar (super).
Esto para que no sustituya el método sino que lo extienda, como podríamos hacerle porque veo que eliminaste el branch pac_4g.
Saludos
Hice este commit: http://gitlab.openpyme.mx/l10n_mx/facturacion/commit/9ae600d9b2be527a3322117f652667d9e47e6005 creo que es a lo que te referías no?
@agb80 Exacto
Gracias
P.D. ya me funciono la cancelación le dí un apt-get upgrade al sistema y listo.
Aún me queda el detalle de la impresión pero igual lo pruebo en otra lap.
Saludos
El problema con la impresión es que se están dando de alta dos reportes con el mismo nombre, uno como parte del módulo l10n_mx_facturae_report y otro como parte del módulo l10n_mx_facturae_pac_facturalo o de tu módulo l10n_mx_facturae_pac_4g. Entonces el sistema se confunde y no sabe que reporte utilizar.
En el merge request !36 (merged) estoy proponiendo eliminar el módulo l10n_mx_facturae_report y borrar los reportes de los módulos de los PAC's para dejar un único reporte para la factura incluido dentro del módulo l10n_mx_facturae, si lo puedes revisar te lo agradezco.