8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:00) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127083","MarcaId":"4597192000207906826","user":"rmendoza@arochilindner.com"}
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:07) - Tokens generados: 1000.ca9ddc1e61f63633684fc34b28021d9b.5b376d3125b760af34d8dbfa4d9efda4
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:07) - Intento 0 el registro no contiene foto asociada
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:07) - ERROR al obtener imagen, intento: 1 , respuesta: null
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:10) - Intento 1 el registro no contiene foto asociada
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:10) - ERROR al obtener imagen, intento: 2 , respuesta: null
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:12) - Intento 2 el registro no contiene foto asociada
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:12) - ERROR al obtener imagen, intento: 3 , respuesta: null
[3b9ce745-63e8-4a57-bb9b-92df7123e6d0](2024-10-23 18:20:14) - No se pudo encontrar una imagen asociada a registro de CRM \n
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:22:53) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127084","MarcaId":"4597192000207906902","user":"rmendoza@arochilindner.com"}
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:00) - Tokens generados: 1000.ca9ddc1e61f63633684fc34b28021d9b.5b376d3125b760af34d8dbfa4d9efda4
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:01) - Intento 0 el registro no contiene foto asociada
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:01) - ERROR al obtener imagen, intento: 1 , respuesta: null
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:03) - Intento 1 el registro no contiene foto asociada
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:03) - ERROR al obtener imagen, intento: 2 , respuesta: null
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:06) - Intento 2 el registro no contiene foto asociada
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:06) - ERROR al obtener imagen, intento: 3 , respuesta: null
[f659fcba-479d-4759-afa1-2a9e57ce6fa7](2024-10-23 18:23:08) - No se pudo encontrar una imagen asociada a registro de CRM \n
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:21) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127085","MarcaId":"4597192000207906978","user":"rmendoza@arochilindner.com"}
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:28) - Tokens generados: 1000.ca9ddc1e61f63633684fc34b28021d9b.5b376d3125b760af34d8dbfa4d9efda4
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:29) - Intento 0 el registro no contiene foto asociada
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:29) - ERROR al obtener imagen, intento: 1 , respuesta: null
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:31) - Intento 1 el registro no contiene foto asociada
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:31) - ERROR al obtener imagen, intento: 2 , respuesta: null
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:33) - Intento 2 el registro no contiene foto asociada
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:33) - ERROR al obtener imagen, intento: 3 , respuesta: null
[e8b13ee1-dedf-4117-9bb4-6d9f367d579a](2024-10-23 18:25:35) - No se pudo encontrar una imagen asociada a registro de CRM \n
[fe6cc56c-2bdf-42aa-8ce5-2db05d3b9708](2024-10-23 18:27:17) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127086","MarcaId":"4597192000207909054","user":"rmendoza@arochilindner.com"}
[fe6cc56c-2bdf-42aa-8ce5-2db05d3b9708](2024-10-23 18:27:24) - Tokens generados: 1000.ca9ddc1e61f63633684fc34b28021d9b.5b376d3125b760af34d8dbfa4d9efda4
[fe6cc56c-2bdf-42aa-8ce5-2db05d3b9708](2024-10-23 18:27:24) - Intento 0 el registro no contiene foto asociada
[fe6cc56c-2bdf-42aa-8ce5-2db05d3b9708](2024-10-23 18:27:24) - ERROR al obtener imagen, intento: 1 , respuesta: null
[fe6cc56c00-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0547 - SWG- SEBASTIAN WEINBERG GARCIA","BOOKS_ID":"2340388000066666249","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"28-Jan-25","Fuente":"DIARIO MANUAL","Total":"86700","Total_FCY":"86700","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0172","Abogado":"4069147000000994997","Cuenta_Contable":"600-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0172 - JRP- JUAN RODRIGO PIMENTEL","BOOKS_ID":"2340388000066666257","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"28-Jan-25","Fuente":"DIARIO MANUAL","Total":"18550","Total_FCY":"18550","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0574","Abogado":"4069147000017460015","Cuenta_Contable":"600-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0574 - LJLC - LILIANA JAZMÍN LÓPEZ CALDERÓN","BOOKS_ID":"2340388000066666265","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"28-Jan-25","Fuente":"DIARIO MANUAL","Total":"5985","Total_FCY":"5985","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0592","Abogado":"4069147000025591051","Cuenta_Contable":"600-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0592 - ABC - ALEJANDRO BARILLA CRUZ","BOOKS_ID":"2340388000066666273","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"28-Jan-25","Fuente":"DIARIO MANUAL","Total":"6500","Total_FCY":"6500","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0606","Abogado":"4069147000036470027","Cuenta_Contable":"600-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0606 - PCR - PATRICIO CASTELLANO REVERON","BOOKS_ID":"2340388000066666281","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"28-Jan-25","Fuente":"DIARIO MANUAL","Total":"4300","Total_FCY":"4300","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0610","Abogado":"4069147000038627055","Cuenta_Contable":"600-01-001 ANTICIPOS DE REMANENTES PRORRATEO","Centro_de_Costo":"@0610 - EPD - EMILIANO PALACIOS DAVILA","BOOKS_ID":"2340388000066666289","BOOKS_PARENT_ID":"2340388000066665929","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"17600","Total_FCY":"17600","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0042","Abogado":"4069147000000995601","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0042 - RCM- ROBERTO CASIANO MARIANO","BOOKS_ID":"2340388000066862549","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"40254.5","Total_FCY":"40254.5","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0136","Abogado":"4069147000000995685","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0136 - RN- RAQUEL NAVARRETE","BOOKS_ID":"2340388000066862557","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"12481.8","Total_FCY":"12481.8","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0172","Abogado":"4069147000000994997","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0172 - JRP- JUAN RODRIGO PIMENTEL","BOOKS_ID":"2340388000066862565","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"128204.5","Total_FCY":"128204.5","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0202","Abogado":"4069147000000995761","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0202 - SLFHG- LESLIE FLORES","BOOKS_ID":"2340388000066862573","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2043.51","Total_FCY":"2043.51","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0585","Abogado":"4069147000022903019","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0585 - JLMM - JOSÉ LUIS MARTÍNEZ MARTÍNEZ","BOOKS_ID":"2340388000066862581","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3964.99","Total_FCY":"3964.99","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0172","Abogado":"4069147000000994997","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0172 - JRP- JUAN RODRIGO PIMENTEL","BOOKS_ID":"2340388000066862589","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2960","Total_FCY":"2960","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0285","Abogado":"4069147000000993969","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0285 - ADB- ALDO DE LANDA BARAJAS","BOOKS_ID":"2340388000066862613","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2960","Total_FCY":"2960","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0303","Abogado":"4069147000000995809","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0303 - SVC- SERGIO VELAZQUEZ VERTIZ","BOOKS_ID":"2340388000066862621","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2960","Total_FCY":"2960","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0444","Abogado":"4069147000000994165","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0444 - ASG- ALBERTO SANTOS GARCIA","BOOKS_ID":"2340388000066862629","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2960","Total_FCY":"2960","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0475","Abogado":"4069147000000995149","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0475 - LPVR- LUIS PABLO VELAZQUEZ RABASA","BOOKS_ID":"2340388000066862637","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"72000","Total_FCY":"72000","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0265","Abogado":"4069147000000995309","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0265 - MJE- MARCOS JUAREZ ESPINO","BOOKS_ID":"2340388000066862645","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"100704.5","Total_FCY":"100704.5","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0326","Abogado":"4069147000000995205","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0326 - MCG- MAURICIO CABALLERO GALVAN","BOOKS_ID":"2340388000066862653","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"25000","Total_FCY":"25000","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0378","Abogado":"4069147000000994661","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0378 - FPT- FERNANDO PEREZ TALAVERA","BOOKS_ID":"2340388000066862661","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3829.91","Total_FCY":"3829.91","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0153","Abogado":"4069147000000995281","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0153 - MGO- MARIBEL GARCIA ORTIZ","BOOKS_ID":"2340388000066862669","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3829.91","Total_FCY":"3829.91","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0539","Abogado":"4069147000005842039","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0539 - SA- SOFIA ARROYO","BOOKS_ID":"2340388000066862677","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"8200","Total_FCY":"8200","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0553","Abogado":"4069147000007935039","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0553 - VGF- VALENTINA GÓMEZ FERNÁNDEZ","BOOKS_ID":"2340388000066862693","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"28400","Total_FCY":"28400","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0529","Abogado":"4069147000004049991","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0529 - MAH- MARTA ARENAS HERNANDEZ","BOOKS_ID":"2340388000066862701","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"33133.33","Total_FCY":"33133.33","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0380","Abogado":"4069147000000994869","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0380 - JAA- JOSE ANTONIO AROCHI","BOOKS_ID":"2340388000066862709","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"4212.68","Total_FCY":"4212.68","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0483","Abogado":"4069147000000995141","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0483 - LMC- LINETH MENDIVIL CUEN","BOOKS_ID":"2340388000066862717","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1545.23","Total_FCY":"1545.23","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0035","Abogado":"4069147000000994957","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0035 - JMC- JORGE MIER Y CONCHA SEGURA","BOOKS_ID":"2340388000066862725","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1545.23","Total_FCY":"1545.23","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0295","Abogado":"4069147000000995965","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0295 - YS- YUMIKO SOTO","BOOKS_ID":"2340388000066862733","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1545.23","Total_FCY":"1545.23","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0428","Abogado":"4069147000000994489","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0428 - EAE- EUGENIO AROCHI DE LA TORRE","BOOKS_ID":"2340388000066862741","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1545.23","Total_FCY":"1545.23","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0475","Abogado":"4069147000000995149","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0475 - LPVR- LUIS PABLO VELAZQUEZ RABASA","BOOKS_ID":"2340388000066862749","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1545.23","Total_FCY":"1545.23","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0514","Abogado":"4069147000000994893","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0514 - JCB- JIMENA CUEVAS BAUTISTA","BOOKS_ID":"2340388000066862757","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"72000","Total_FCY":"72000","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0480","Abogado":"4069147000000995169","Cuenta_Contable":"605-02-001 SUELDOS PROPIOS PRORRATEO","Centro_de_Costo":"@0480 - LVME- MARIA EUNICE LEWIS VELASCO","BOOKS_ID":"2340388000066862765","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"5200","Total_FCY":"5200","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0293","Abogado":"4069147000000994641","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0293 - FJAR- FRANCISCO JAVIER ALVAREZ RODRIGUEZ","BOOKS_ID":"2340388000066862789","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3096","Total_FCY":"3096","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0152","Abogado":"4069147000000994453","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0152 - DMR- DIANA MARTINEZ","BOOKS_ID":"2340388000066862797","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3096","Total_FCY":"3096","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0311","Abogado":"4069147000000995537","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0311 - PG- PAMELA GISHOLT","BOOKS_ID":"2340388000066862805","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"3096","Total_FCY":"3096","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0406","Abogado":"4069147000000995077","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0406 - LAB- LUIS AGUILERA BEGUERISSE","BOOKS_ID":"2340388000066862813","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1039.6","Total_FCY":"1039.6","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0295","Abogado":"4069147000000995965","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0295 - YS- YUMIKO SOTO","BOOKS_ID":"2340388000066862821","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1026.04","Total_FCY":"1026.04","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0154","Abogado":"4069147000000994809","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0154 - HPP- HAYDEE PEREZ PAREDES","BOOKS_ID":"2340388000066862829","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"1026.04","Total_FCY":"1026.04","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0543","Abogado":"4069147000006580023","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0543 - KIGG- KARLA IVETTE GONZALEZ GARCIA","BOOKS_ID":"2340388000066862837","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2707.93","Total_FCY":"2707.93","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0331","Abogado":"4069147000000994345","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0331 - CLB- CATALINA LOZADA BROWN","BOOKS_ID":"2340388000066862845","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2565.41","Total_FCY":"2565.41","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0496","Abogado":"4069147000000994677","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0496 - GAP- GRECIA ALAMILLA PIEDRA","BOOKS_ID":"2340388000066862853","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2565.41","Total_FCY":"2565.41","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0557","Abogado":"4069147000011163083","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0557 - XBC - XIMENA BECERRIL CARRASCO","BOOKS_ID":"2340388000066862861","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2289.93","Total_FCY":"2289.93","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0420","Abogado":"4069147000000995317","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0420 - MLAF - MARIA LUCRECIA ARAMBURU FERNANDEZ","BOOKS_ID":"2340388000066862869","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2289.93","Total_FCY":"2289.93","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0499","Abogado":"4069147000000994697","Cuenta_Contable":"605-02-002 SUELDOS Y SALARIOS PRORRATEO","Centro_de_Costo":"@0499 - GBV- GUILLERMO BALLESTEROS","BOOKS_ID":"2340388000066862877","BOOKS_PARENT_ID":"2340388000066862057","Batch":"64"},
{"Fecha_Gasto":"31-Jan-25","Fuente":"DIARIO MANUAL","Total":"2289.93","Total_FCY":"2289.93","Moneda":"MXN","Tipo_de_Cambio":"1.00","TKPR":"0136","Abogado":"4069147000000995685", null
[ab45dcd1-5a5f-41cc-9c96-efa9d29e36d4](2024-10-24 16:22:20) - Intento 1 el registro no contiene foto asociada
[ab45dcd1-5a5f-41cc-9c96-efa9d29e36d4](2024-10-24 16:22:20) - ERROR al obtener imagen, intento: 2 , respuesta: null
[ab45dcd1-5a5f-41cc-9c96-efa9d29e36d4](2024-10-24 16:22:22) - Intento 2 el registro no contiene foto asociada
[ab45dcd1-5a5f-41cc-9c96-efa9d29e36d4](2024-10-24 16:22:22) - ERROR al obtener imagen, intento: 3 , respuesta: null
[ab45dcd1-5a5f-41cc-9c96-efa9d29e36d4](2024-10-24 16:22:24) - No se pudo encontrar una imagen asociada a registro de CRM \n
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:37) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127092","MarcaId":"4597192000208475142","user":"gsanchez@arochilindner.com"}
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:44) - Tokens generados: 1000.498ebeb9ab38e99ac9038fbe5d147cce.97f7f80e9dbfce3e3a70330f748bc3b9
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:45) - Intento 0 el registro no contiene foto asociada
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:45) - ERROR al obtener imagen, intento: 1 , respuesta: null
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:47) - Intento 1 el registro no contiene foto asociada
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:47) - ERROR al obtener imagen, intento: 2 , respuesta: null
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:49) - Intento 2 el registro no contiene foto asociada
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:49) - ERROR al obtener imagen, intento: 3 , respuesta: null
[ec895bd8-b8e7-48d4-8e0a-9776eb1fc107](2024-10-24 16:22:51) - No se pudo encontrar una imagen asociada a registro de CRM \n
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:38) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-127093","MarcaId":"4597192000208573001","user":"sarroyo@arochilindner.com"}
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:45) - Tokens generados: 1000.498ebeb9ab38e99ac9038fbe5d147cce.97f7f80e9dbfce3e3a70330f748bc3b9
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:45) - Intento 0 el registro no contiene foto asociada
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:45) - ERROR al obtener imagen, intento: 1 , respuesta: null
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:47) - Intento 1 el registro no contiene foto asociada
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:47) - ERROR al obtener imagen, intento: 2 , respuesta: null
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:50) - Intento 2 el registro no contiene foto asociada
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:50) - ERROR al obtener imagen, intento: 3 , respuesta: null
[2201f72c-b2c5-43f6-979d-d5d3da266ac1](2024-10-24 16:44:52) - No se pudo encontrar una imagen asociada a registro de CRM \n
[dd316c65-44ca-499e-9dbd-0ff08467ac04](2024-10-24 19:03:24) - Proceso de subida de imagen iniciado, data: {"source":"webhook","RefAL":"MAR-126425","MarcaId":"4597192000197279976","user":"rmendoza@arochilindner.com"}
[dd316c65-44ca-499e-9dbd-0ff08467ac04](2024-10-24 19:03:31) - Tokens generados: 1000.01b506cdde08ea7defac7560e589ae4d.f8569afc23e40fd3ac696e2f00623dfe
[dd316c65-44ca-499e-9dbd-0ff08467ac04](2024-10-24 19:03:32) - Intento 0 para obtener imagen de marca de CRM, respuesta: 200
[dd316c65-44ca-499e-9dbd-0ff08467ac04](2024-10-24 19:03:32) - Imagen guardada localmente de manera exitosa
[dd316c65-44ca-499e-9dbd-0ff08467ac04](2024-10-24 19:03:33) - Intento 0 para actualizar CRM con datos de url de marca: {
"data": [
{
"code": "SUCCESS",
"details": {
"Modified_Time": "2024-10-24T18:03:33-06:00",
"Modified_By": {
"name": "Aptus Legal Administrator",
"id": "4597192000000287001"
},
"Created_Time": "2024-09-10T14:29:06-06:00",
"id": "4597192000197279976",
"Created_By": {
"
$tipoEnvio = "";
$csvFileName = "";
if (isset($_REQUEST['pAnioCat']))
{
$anioCat = $_REQUEST['pAnioCat'];
}
if (isset($_REQUEST['pMesCata']))
{
$mesCata = $_REQUEST['pMesCata'];
}
if (isset($_REQUEST['pTipoEnvio']))
{
$tipoEnvio = $_REQUEST['pTipoEnvio'];
}
if (isset($_REQUEST['pFileName']))
{
$csvFileName = $_REQUEST['pFileName'];
}
if (isset($_REQUEST['pOrganiZB']))
{
$organi_id_ZB = $_REQUEST['pOrganiZB'];
}
echo 'Iniciando BC';
## Validamos que se cumpla con los parámetros obligatorios
if($anioCat == "")
{
$j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Anio de vigencia.");
$Resultado = json_encode($j_array);
echo $Resultado;
return;
}
if($mesCata == "")
{
$j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Mes de vigencia.");
$Resultado = json_encode($j_array);
echo $Resultado;
return;
}
if($tipoEnvio == "")
{
$j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Tipo de Envio.");
$Resultado = json_encode($j_array);
echo $Resultado;
return;
}
if($csvFileName == "")
{
$j_array = array('code' => "400", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Nombre del Archivo CSV a procesar.");
$Resultado = json_encode($j_array);
echo $Resultado;
return $Resultado;
}
if($organi_id_ZB == "")
{
$j_array = array('code' => "306", "message" => "ERROR - [wsBalanzaComp_v14] Parametros incompletos para el Servicio Web, faltan el Organization ID de Books");
$Resultado = json_encode($j_array);
echo $Resultado;
return $Resultado;
}
$dirBase = realpath("../");
### DEFINICIÓN DE CONSTANTES ###################################################
$SendaCVS = "archs_csv/";
$SendaXML = "archs_xml/";
$SendaZIP = "archs_zip/";
#----------------------------------------------------------------
# Creamos la conexión a la base de datos
#----------------------------------------------------------------
$conn = mysqli_connect("127.0.0.1", "aptuslegal", "#Aptus2021#", "vendorbills");
if (!$conn)
{
echo "Error: No se pudo conectar a MySQL." . PHP_EOL;
echo "errno de depuración: " . mysqli_connect_errno() . PHP_EOL;
exit;
}
#----------------------------------------------------------------
# Traemos los valores de conexión utilizando el organizationId
#----------------------------------------------------------------
$sql = 'SELECT * FROM conndetails WHERE organization_id = ' . $organi_id_ZB;
if($result = $conn->query($sql)) {
$row = $result->fetch_assoc();
}
else
exit('No se ejecuto la consulta');
#----------------------------------------------------------------
# Cerramos la conexión
#----------------------------------------------------------------
mysqli_close($conn);
#----------------------------------------------------------------
# Variables para Zoho Workdrive
#----------------------------------------------------------------
$wdrv_parent_id = $row['zworkdrvbalcom_id'];
$woa_RefreshToken = $row['zworkdrv_rtoken'];
$woa_ClientId = $row['zworkdrvclient_id'];
$woa_ClientSecret = $row['zworkdrvclient_secret'];
$woa_RedirectUri = $row['RedirectUri'];
$woa_AuthUrl = 'https://accounts.zoho.com/oauth/v2/token';
$woa_GrantType = "refresh_token";
#----------------------------------------------------------------
# RFC de la Organización
#----------------------------------------------------------------
$regFeCa = $row['rfc'];
#== Creación de la variable de tipo DOM, aquí se conforma el XML a timbrar posteriormente.
$xml = new DOMdocument('1.0', 'UTF-8');
$root = $xml->createElement("BCE:Balanza");
$root = $xml->appendChild($root);
#== Apertura, lectura y conversión de CSV a JSON.
$fileName = $SendaCVS.$csvFileName;
$csvToJson = csvToJson($fileName);
$arrayJson = json_decode( $csvToJson, true );
// Invertimos el orden del arreglo para los calculos.
$jsonArray = array_reverse($arrayJson, true);
#== Se procesan las cuentas y se obtienen los totales por subcuentas ======
$salIniNivTres = 0.00;
$debitoNivTres = 0.00;
$creditNivTres = 0.00;
$SalFinNivTres = 0.00;
$counNivTres = 0;
$salIniNivTrex = 0.00;
$debitoNivTrex = 0.00;
$creditNivTrex = 0.00;
$SalFinNivTrex = 0.00;
$salIniNivDos = 0.00;
$debitoNivDos = 0.00;
$creditNivDos = 0.00;
$SalFinNivDos = 0.00;
$counNivDos = 0;
$salIniNivUno = 0.00;
$debitoNivUno = 0.00;
$creditNivUno = 0.00;
$SalFinNivUno = 0.00;
$counNivUno = 0;
$totalCargos = 0;
$totalAbonos = 0;
$arrayDetalle = Array();
foreach($arrayJson as $item => $value)
{
$codCue = substr($value['account_code'],0,3);
if(is_numeric($codCue))
{
if($value['account.CF.Codigo del SAT'] != "")
{
$clave = array_search($value['account_code'], array_column($arrayDetalle, 'NumCta'));
if ($clave == NULL)
{
$arrayDetalle[] = array(
"ClaveSat"=>$value['account.CF.Codigo del SAT'],
"NumCta"=>$value['account_code'],
"SaldoIni"=>0.00,
"Debe"=>0.00,
"Haber"=>0.00,
"SaldoFin"=>0.00
);
}
}
}
}
foreach($jsonArray as $item => $value)
{
$codCue = substr($value['account_code'],0,3);
$cuePas = "";
$cueNivTre = "";
if(is_numeric($codCue))
{
$AccCod = $value['account_code'];
//echo "Código de cuenta: " . $AccCod ."
";
if(substr($AccCod, 4,2) != "00" && substr($AccCod, -3) != "000")
{
//echo "Cuenta: ".$AccCod." ".$value['opening_balance']." ".$value['debit_total']." ".$value['credit_total']." ".$value['closing_balance']." ".PHP_EOL;
//Nivel tres, se acumula
$totalCargos = $totalCargos + floatval($value['debit_total']);
$totalAbonos = $totalAbonos + floatval($value['credit_total']);
$salIniNivTres = $salIniNivTres + floatval($value['opening_balance']);
$debitoNivTres = $debitoNivTres + floatval($value['debit_total']);
$creditNivTres = $creditNivTres + floatval($value['credit_total']);
$SalFinNivTres = $SalFinNivTres + floatval($value['closing_balance']);
$counNivTres = $counNivTres + 1;
$salIniNivTrex = $salIniNivTrex + floatval($value['opening_balance']);
$debitoNivTrex = $debitoNivTrex + floatval($value['debit_total']);
$creditNivTrex = $creditNivTrex + floatval($value['credit_total']);
$SalFinNivTrex = $SalFinNivTrex + floatval($value['closing_balance']);
// Actualizamos el nivel 3
$sValBus = $AccCod;
$clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta'));
if ($clave !== NULL)
{
//echo "Nivel Tres: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave;
//echo "
";
$arrayDetalle[$clave]['SaldoIni'] = $arrayDetalle[$clave]['SaldoIni'] + number_format($salIniNivTrex,2, '.', '');
$arrayDetalle[$clave]['Debe'] = $arrayDetalle[$clave]['Debe'] + number_format($debitoNivTrex,2, '.', '');
$arrayDetalle[$clave]['Haber'] = $arrayDetalle[$clave]['Haber'] + number_format($creditNivTrex,2, '.', '');
$arrayDetalle[$clave]['SaldoFin'] = $arrayDetalle[$clave]['SaldoFin'] + number_format($SalFinNivTrex,2, '.', '');
// Inicializamos Nivel Tres
$salIniNivTrex = 0.00;
$debitoNivTrex = 0.00;
$creditNivTrex = 0.00;
$SalFinNivTrex = 0.00;
}
}
if(substr($AccCod, 4,2) != "00" && substr($AccCod, -3) == "000")
{
// Nivel Dos, se acumula
if($counNivTres > 0)
{
$salIniNivDos = $salIniNivDos + $salIniNivTres;
$debitoNivDos = $debitoNivDos + $debitoNivTres;
$creditNivDos = $creditNivDos + $creditNivTres;
$SalFinNivDos = $SalFinNivDos + $SalFinNivTres;
}
else
{
$salIniNivDos = $salIniNivDos + floatval($value['opening_balance']);
$debitoNivDos = $debitoNivDos + floatval($value['debit_total']);
$creditNivDos = $creditNivDos + floatval($value['credit_total']);
$SalFinNivDos = $SalFinNivDos + floatval($value['closing_balance']);
$cuePas = substr($AccCod, 0,6);
}
$counNivDos = $counNivDos + 1;
// Actualizamos el Nivel Dos
$jsonArray[$item]['opening_balance'] = number_format($salIniNivDos,2, '.', '');
$jsonArray[$item]['debit_total'] = number_format($debitoNivDos,2, '.', '');
$jsonArray[$item]['credit_total'] = number_format($creditNivDos,2, '.', '');
$jsonArray[$item]['closing_balance'] = number_format($SalFinNivDos,2, '.', '');
// Actualizamos el nivel 2
$sValBus = $AccCod;
$clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta'));
//echo "Nivel Dos: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave;
//echo "
";
if ($clave !== NULL)
{
$arrayDetalle[$clave]['SaldoIni'] = $arrayDetalle[$clave]['SaldoIni'] + number_format($salIniNivDos,2, '.', '');
$arrayDetalle[$clave]['Debe'] = $arrayDetalle[$clave]['Debe'] + number_format($debitoNivDos,2, '.', '');
$arrayDetalle[$clave]['Haber'] = $arrayDetalle[$clave]['Haber'] + number_format($creditNivDos,2, '.', '');
$arrayDetalle[$clave]['SaldoFin'] = $arrayDetalle[$clave]['SaldoFin'] + number_format($SalFinNivDos,2, '.', '');
}
// Nivel Uno, se acumula
$salIniNivUno = $salIniNivUno + $salIniNivDos;
$debitoNivUno = $debitoNivUno + $debitoNivDos;
$creditNivUno = $creditNivUno + $creditNivDos;
$SalFinNivUno = $SalFinNivUno + $SalFinNivDos;
$counNivUno = $counNivUno + 1;
// Inicializamos Nivel Dos
$salIniNivDos = 0.00;
$debitoNivDos = 0.00;
$creditNivDos = 0.00;
$SalFinNivDos = 0.00;
$counNivDos = 0;
// Inicializamos Nivel Tres
$salIniNivTres = 0.00;
$debitoNivTres = 0.00;
$creditNivTres = 0.00;
$SalFinNivTres = 0.00;
$counNivTres = 0;
}
if(substr($AccCod, 4,2) == "00" && substr($AccCod, -3) == "000")
{
if($counNivUno > 0)
{
$jsonArray[$item]['opening_balance'] = number_format($salIniNivUno,2, '.', '');
$jsonArray[$item]['debit_total'] = number_format($debitoNivUno,2, '.', '');
$jsonArray[$item]['credit_total'] = number_format($creditNivUno,2, '.', '');
$jsonArray[$item]['closing_balance'] = number_format($SalFinNivUno,2, '.', '');
// Actualizamos el nivel 1
$sValBus = $AccCod;
$clave = array_search($sValBus, array_column($arrayDetalle, 'NumCta'));
//echo "Nivel Uno: ".$sValBus . " ==> ".$value['account.CF.Codigo del SAT']. " ID: ".$clave;
//echo "
";
if ($clave !== NULL)
{
$arrayDetalle[$clave]['SaldoIni'] = number_format($salIniNivUno,2, '.', '');
$arrayDetalle[$clave]['Debe'] = number_format($debitoNivUno,2, '.', '');
$arrayDetalle[$clave]['Haber'] = number_format($creditNivUno,2, '.', '');
$arrayDetalle[$clave]['SaldoFin'] = number_format($SalFinNivUno,2, '.', '');
}
}
// Inicializamos Nivel Dos
$salIniNivDos = 0.00;
$debitoNivDos = 0.00;
$creditNivDos = 0.00;
$SalFinNivDos = 0.00;
$counNivDos = 0;
// Inicializamos Nivel Tres
$salIniNivTres = 0.00;
$debitoNivTres = 0.00;
$creditNivTres = 0.00;
$SalFinNivTres = 0.00;
$counNivTres = 0;
// Inicializamos Nivel Uno
$salIniNivUno = 0.00;
$debitoNivUno = 0.00;
$creditNivUno = 0.00;
$SalFinNivUno = 0.00;
$counNivUno = 0;
}
}
}
#== Se crea e inserta el primer nodo donde se declaran los namespaces ======
cargaAttNodo($root, array("Version"=>"1.3", "RFC"=>$regFeCa, "Mes"=>$mesCata, "Anio"=>$anioCat, "TipoEnvio"=>$tipoEnvio,"xsi:schemaLocation"=>"http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion/BalanzaComprobacion_1_3.xsd", "xmlns:xsi"=>"http://www.w3.org/2001/XMLSchema-instance", "xmlns:BCE"=>"http://www.sat.gob.mx/esquemas/ContabilidadE/1_3/BalanzaComprobacion")
);
$arrayToCSV = Array();
$arrayToCSV[] = array('NumCta','SaldoIni', 'Debe', 'Haber', 'SaldoFin', 'ClaveSat');
foreach($arrayDetalle as $item => $value) {
if($value['ClaveSat'] != "")
{
$codCue = substr($value['NumCta'],0,3);
if(is_numeric($codCue))
{
$cuentas = $xml->createElement("BCE:Ctas");
$cuenta = $root->appendChild($cuentas);
cargaAttNodo($cuenta, array(
"SaldoFin"=>$value['SaldoFin'],
"Haber"=>$value['Haber'],
"Debe"=>$value['Debe'],
"SaldoIni"=>$value['SaldoIni'],
"NumCta"=>$value['NumCta']
)
);
// Creamos el array para el archivo CSV
$arrayToCSV[] = array($value['NumCta'],$value['SaldoIni'], $value['Debe'], $value['Haber'], $value['SaldoFin'], $value['ClaveSat']);
}
}
}
#=== Se guarda el archivo .XML de la Balanza de Comprobación =======================
$xmlFilesPath = '/var/www/html/aptusContaElec/archs_xml/';
if($tipoEnvio == "N")
{
$file_name_with_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BN.xml";
$file_name_csv_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BN.csv";
}
else
{
$file_name_with_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BC.xml";
$file_name_csv_full_path = $xmlFilesPath.$regFeCa.$anioCat.$mesCata."BC.csv";
}
#=== Si existe el archivo CSV se elimina para crear el nuevo =======================
if(!file_exists($file_name_csv_full_path)){
unlink($file_name_csv_full_path);
}
$fp = fopen($file_name_csv_full_path, 'w');
foreach ($arrayToCSV as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
#=== Si existe el archivo XML se elimina para crear el nuevo =======================
if(!file_exists($file_name_with_full_path)){
unlink($file_name_with_full_path);
}
#=== Se guarda el archivo XML creado =======================
$cfdi = $xml->saveXML();
$xml->formatOutput = true;
$xml->save($file_name_with_full_path);
unset($xml);
#=== Se dan permisos de escritura al archivo .xml. =========================
if($tipoEnvio == "N")
{
chmod($SendaXML.$regFeCa.$anioCat.$mesCata."BN.xml", 0777);
}
else
{
chmod($SendaXML.$regFeCa.$anioCat.$mesCata."BC.xml", 0777);
}
#=== Se procede a crear el archivo ZIP del Catalogo de Cuentas =========================
$zip = new ZipArchive();
$zipFilesPath = '/var/www/html/aptusContaElec/archs_zip/';
if($tipoEnvio == "N")
{
$nombreArchivoZip = $zipFilesPath.$regFeCa.$anioCat.$mesCata."BN.zip";
$nameArchZip = $regFeCa.$anioCat.$mesCata."BN.zip";
}
else
{
$nombreArchivoZip = $zipFilesPath.$regFeCa.$anioCat.$mesCata."BC.zip";
$nameArchZip = $regFeCa.$anioCat.$mesCata."BC.zip";
}
#=== Si existe el archivo ZIP se elimina para crear el nuevo =======================
if(!file_exists($nombreArchivoZip)){
unlink($nombreArchivoZip);
}
if (!$zip->open($nombreArchivoZip, ZipArchive::CREATE | ZipArchive::OVERWRITE)) {
exit("Error abriendo ZIP en $nombreArchivoZip");
}
$nombre = basename($file_name_with_full_path);
$zip->addFile($file_name_with_full_path, $nombre);
$resultado = $zip->close();
if (!$resultado)
{
echo "Error creando archivo";
exit("Error creando archivo ZIP");
}
#=== FIN DEL PROCESO =======================
$resultData = array(
'xmlFilesPath' => $xmlFilesPath,
'xmlFileName' => $regFeCa.$anioCat.$mesCata."BN.xml",
'zipFilesPath' => $zipFilesPath,
'zipFileName' => $regFeCa.$anioCat.$mesCata."BN.zip",
'totalCargos' => round($totalCargos,2),
'totalAbonos' => round($totalAbonos,2),
'cantidadDeudoras' => 333);
if($tipoEnvio == "N")
{
$j_array = array('code' => "200", 'message' => 'Proceso de creacion de Archivo (NORMAL) de Balanza de Comprobacion fue exitoso', 'data' => $resultData);
}
else
{
$j_array = array('code' => "200", 'message' => "Proceso de creacion de Archivo (COMPLEMENTARIO) de Balanza de Comprobacion fue exitoso", 'data' => $resultData);
}
$Resultado = json_encode($j_array);
echo $Resultado;
return $Resultado;
### FUNCIONES DEL MÓDULO #########################################################
# Funcion para convertir CSV a formato JSON
function csvToJson($fname) {
if (!($fp = fopen($fname, 'r'))) {
die("No se pudo abrir el arcivo CSV...");
}
$key = fgetcsv($fp,"1024",",");
$json = array();
while ($row = fgetcsv($fp,"1024",",")) {
$json[] = array_combine($key, $row);
}
fclose($fp);
return json_encode($json);
}
# Función que integra los nodos al archivo .XML
function cargaAttNodo(&$nodo, $attr){
global $xmldoc;
foreach ($attr as $key => $val){
$val = preg_replace('/\s\s+/', ' ', $val);
$val = trim($val);
if (strlen($val)>0){
$val = utf8_encode(str_replace("|","/",$val));
$nodo->setAttribute($key,$val);
}
}
}