JeanCarlosChavarriaHughes / API_Hacienda

API de comunicacion con hacienda
https://crlibre.org/qa/
GNU Affero General Public License v3.0
1 stars 1 forks source link

Nodo Descuento y CodigoComercial no es generado en el XML final #43

Closed JeanCarlosChavarriaHughes closed 3 years ago

JeanCarlosChavarriaHughes commented 3 years ago

El archivo API_Hacienda/api/contrib/genXML/genXML.php tiene un error con el array_slice.

Al enviar el siguiente Json: {"1":{"codigo":"0426102010000","codigoComercial":{"1":{"tipo":"02","codigo":"Merc48"}},"cantidad":"1","unidadMedida":"Oz","unidadMedidaComercial":"Onzas","detalle":"Producto 48 ","precioUnitario":"1500.00","montoTotal":"1500","descuento":{"1":{"montoDescuento":"300","naturalezaDescuento":"otro"}},"subtotal":"1500","impuesto":{"1":{"codigo":"01","codigoTarifa":"08","tarifa":"13","monto":"195.00"}},"impuestoNeto":"195.00","montoTotalLinea":"1695"}}

El nodo Descuento, y el nodo codigoComercial no son agregados al XML Final.

El error se debe a que esta línea retorna NULL. //$d->codigoComercial = array_slice($d->codigoComercial, 0, 5); //$d->descuento= array_slice($d->descuento, 0, 5);

JeanCarlosChavarriaHughes commented 3 years ago

Ejemplo de respuesta después del fix:

{
    "resp": {
        "clave": "50613051800070232071700100001011522773408107756348",
        "xml": "PD94bWwgdmVyc2lvbiA9ICIxLjAiIGVuY29kaW5nID0gInV0Zi04Ij8+CiAgICA8RmFjdHVyYUVsZWN0cm9uaWNhCiAgICB4bWxucz0iaHR0cHM6Ly9jZG4uY29tcHJvYmFudGVzZWxlY3Ryb25pY29zLmdvLmNyL3htbC1zY2hlbWFzL3Y0LjMvZmFjdHVyYUVsZWN0cm9uaWNhIgogICAgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIKICAgIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiPgogICAgICAgIDxDbGF2ZT41MDYxMzA1MTgwMDA3MDIzMjA3MTcwMDEwMDAwMTAxMTUyMjc3MzQwODEwNzc1NjM0ODwvQ2xhdmU+CiAgICAgICAgPENvZGlnb0FjdGl2aWRhZD43MjUwMDI8L0NvZGlnb0FjdGl2aWRhZD4KICAgICAgICA8TnVtZXJvQ29uc2VjdXRpdm8+MDAxMDAwMDEwMTE1MjI3NzM0MDg8L051bWVyb0NvbnNlY3V0aXZvPgogICAgICAgIDxGZWNoYUVtaXNpb24+MjAxOC0wNS0xM1QxNTozMDowMC0wNjowMDwvRmVjaGFFbWlzaW9uPgogICAgICAgIDxFbWlzb3I+CiAgICAgICAgICAgIDxOb21icmU+V2FsbmVyIEJvcmJvbjwvTm9tYnJlPgogICAgICAgICAgICA8SWRlbnRpZmljYWNpb24+CiAgICAgICAgICAgICAgICA8VGlwbz4wMTwvVGlwbz4KICAgICAgICAgICAgICAgIDxOdW1lcm8+NzAyMzIwNzE3PC9OdW1lcm8+CiAgICAgICAgICAgIDwvSWRlbnRpZmljYWNpb24+CiAgICAgICAgPE5vbWJyZUNvbWVyY2lhbD5XYWxuZXIgQm9yYm9uPC9Ob21icmVDb21lcmNpYWw+CiAgICAgICAgPFViaWNhY2lvbj4KICAgICAgICAgICAgPFByb3ZpbmNpYT42PC9Qcm92aW5jaWE+CiAgICAgICAgICAgIDxDYW50b24+MDI8L0NhbnRvbj4KICAgICAgICAgICAgPERpc3RyaXRvPjAzPC9EaXN0cml0bz48QmFycmlvPjAxPC9CYXJyaW8+CiAgICAgICAgICAgICAgICA8T3RyYXNTZW5hcz5GcmVudGUgYSBsYSBlc2N1ZWxhPC9PdHJhc1NlbmFzPgogICAgICAgICAgICA8L1ViaWNhY2lvbj4KICAgICAgICAgICAgPFRlbGVmb25vPgogICAgICAgICAgICAgICAgPENvZGlnb1BhaXM+NTA2PC9Db2RpZ29QYWlzPgogICAgICAgICAgICAgICAgPE51bVRlbGVmb25vPjY0MjA2MjA1PC9OdW1UZWxlZm9ubz4KICAgICAgICAgICAgPC9UZWxlZm9ubz4KICAgICAgICAgICAgPEZheD4KICAgICAgICAgICAgICAgIDxDb2RpZ29QYWlzPjUwNjwvQ29kaWdvUGFpcz4KICAgICAgICAgICAgICAgIDxOdW1UZWxlZm9ubz4wMDAwMDAwMDwvTnVtVGVsZWZvbm8+CiAgICAgICAgICAgIDwvRmF4PjxDb3JyZW9FbGVjdHJvbmljbz53YWxuZXIxYm9yYm9uQGdtYWlsLmNvbTwvQ29ycmVvRWxlY3Ryb25pY28+CiAgICAgICAgPC9FbWlzb3I+PFJlY2VwdG9yPgogICAgICAgIDxOb21icmU+SnVsaWFuIFN1Ymlyb3M8L05vbWJyZT4KICAgICAgICA8SWRlbnRpZmljYWNpb24+CiAgICAgICAgICAgIDxUaXBvPjAxPC9UaXBvPgogICAgICAgICAgICA8TnVtZXJvPjExNDQ4MDc5MDwvTnVtZXJvPgogICAgICAgIDwvSWRlbnRpZmljYWNpb24+CiAgICAgICAgICAgIDxUZWxlZm9ubz4KICAgICAgICAgICAgICAgIDxDb2RpZ29QYWlzPjUwNjwvQ29kaWdvUGFpcz4KICAgICAgICAgICAgICAgIDxOdW1UZWxlZm9ubz44NDkyMjg5MTwvTnVtVGVsZWZvbm8+CiAgICAgICAgICAgIDwvVGVsZWZvbm8+CiAgICAgICAgICAgIDxGYXg+CiAgICAgICAgICAgICAgICA8Q29kaWdvUGFpcz41MDY8L0NvZGlnb1BhaXM+CiAgICAgICAgICAgICAgICA8TnVtVGVsZWZvbm8+MDAwMDAwMDA8L051bVRlbGVmb25vPgogICAgICAgICAgICA8L0ZheD48Q29ycmVvRWxlY3Ryb25pY28+anVsaXN1Ymlyb3NAaG90bWFpbC5jb208L0NvcnJlb0VsZWN0cm9uaWNvPjwvUmVjZXB0b3I+CiAgICAgICAgPENvbmRpY2lvblZlbnRhPjAxPC9Db25kaWNpb25WZW50YT4KICAgICAgICA8UGxhem9DcmVkaXRvPjMwPC9QbGF6b0NyZWRpdG8+PE1lZGlvUGFnbz4wMTwvTWVkaW9QYWdvPgogICAgICAgIDxEZXRhbGxlU2VydmljaW8+CiAgICAgICAgPExpbmVhRGV0YWxsZT4KICAgICAgICAgICAgPE51bWVyb0xpbmVhPjE8L051bWVyb0xpbmVhPgogICAgICAgICAgICA8Q29kaWdvPjA0MjYxMDIwMTAwMDA8L0NvZGlnbz4KICAgICAgICAgICAgICAgICAgICA8Q29kaWdvQ29tZXJjaWFsPgogICAgICAgICAgICAgICAgICAgICAgICA8VGlwbz4wMjwvVGlwbz4KICAgICAgICAgICAgICAgICAgICAgICAgPENvZGlnbz5NZXJjNDg8L0NvZGlnbz4KICAgICAgICAgICAgICAgICAgICA8L0NvZGlnb0NvbWVyY2lhbD4KICAgICAgICAgICAgPENhbnRpZGFkPjE8L0NhbnRpZGFkPgogICAgICAgICAgICA8VW5pZGFkTWVkaWRhPk96PC9VbmlkYWRNZWRpZGE+CiAgICAgICAgICAgIDxVbmlkYWRNZWRpZGFDb21lcmNpYWw+T256YXM8L1VuaWRhZE1lZGlkYUNvbWVyY2lhbD4KICAgICAgICAgICAgPERldGFsbGU+UHJvZHVjdG8gNDggPC9EZXRhbGxlPgogICAgICAgICAgICA8UHJlY2lvVW5pdGFyaW8+MTUwMC4wMDwvUHJlY2lvVW5pdGFyaW8+CiAgICAgICAgICAgIDxNb250b1RvdGFsPjE1MDA8L01vbnRvVG90YWw+CiAgICAgICAgICAgICAgICAgICAgPERlc2N1ZW50bz4KICAgICAgICAgICAgICAgICAgICAgICAgPE1vbnRvRGVzY3VlbnRvPjMwMDwvTW9udG9EZXNjdWVudG8+CiAgICAgICAgICAgICAgICAgICAgICAgIDxOYXR1cmFsZXphRGVzY3VlbnRvPm90cm88L05hdHVyYWxlemFEZXNjdWVudG8+CiAgICAgICAgICAgICAgICAgICAgPC9EZXNjdWVudG8+PFN1YlRvdGFsPjE1MDA8L1N1YlRvdGFsPgogICAgICAgICAgICAgICAgPEltcHVlc3RvPgogICAgICAgICAgICAgICAgICAgIDxDb2RpZ28+MDE8L0NvZGlnbz48Q29kaWdvVGFyaWZhPjA4PC9Db2RpZ29UYXJpZmE+PFRhcmlmYT4xMzwvVGFyaWZhPjxNb250bz4xOTUuMDA8L01vbnRvPjwvSW1wdWVzdG8+PEltcHVlc3RvTmV0bz4xOTUuMDA8L0ltcHVlc3RvTmV0bz48TW9udG9Ub3RhbExpbmVhPjE2OTU8L01vbnRvVG90YWxMaW5lYT48L0xpbmVhRGV0YWxsZT48L0RldGFsbGVTZXJ2aWNpbz4KICAgIDxSZXN1bWVuRmFjdHVyYT4KICAgICAgICA8VG90YWxTZXJ2R3JhdmFkb3M+MDwvVG90YWxTZXJ2R3JhdmFkb3M+CiAgICAgICAgPFRvdGFsU2VydkV4ZW50b3M+MjAwMDAwPC9Ub3RhbFNlcnZFeGVudG9zPgogICAgICAgIDxUb3RhbE1lcmNhbmNpYXNHcmF2YWRhcz4wPC9Ub3RhbE1lcmNhbmNpYXNHcmF2YWRhcz4KICAgICAgICA8VG90YWxNZXJjYW5jaWFzRXhlbnRhcz4wPC9Ub3RhbE1lcmNhbmNpYXNFeGVudGFzPgogICAgICAgIDxUb3RhbEdyYXZhZG8+MDwvVG90YWxHcmF2YWRvPgogICAgICAgIDxUb3RhbFZlbnRhPjIwMDAwMDwvVG90YWxWZW50YT4KICAgICAgICA8VG90YWxEZXNjdWVudG9zPjEwMDwvVG90YWxEZXNjdWVudG9zPgogICAgICAgIDxUb3RhbFZlbnRhTmV0YT4yMDAwMDA8L1RvdGFsVmVudGFOZXRhPgogICAgICAgIDxUb3RhbEltcHVlc3RvPjA8L1RvdGFsSW1wdWVzdG8+CiAgICAgICAgPFRvdGFsQ29tcHJvYmFudGU+MjAwMDAwPC9Ub3RhbENvbXByb2JhbnRlPgogICAgPC9SZXN1bWVuRmFjdHVyYT4KICAgIDwvRmFjdHVyYUVsZWN0cm9uaWNhPg=="
    }
}

Ejemplo del nodo detalles enviado: {"1":{"codigo":"0426102010000","codigoComercial":{"1":{"tipo":"02","codigo":"Merc48"}},"cantidad":"1","unidadMedida":"Oz","unidadMedidaComercial":"Onzas","detalle":"Producto 48 ","precioUnitario":"1500.00","montoTotal":"1500","descuento":{"1":{"montoDescuento":"300","naturalezaDescuento":"otro"}},"subtotal":"1500","impuesto":{"1":{"codigo":"01","codigoTarifa":"08","tarifa":"13","monto":"195.00"}},"impuestoNeto":"195.00","montoTotalLinea":"1695"}}