formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 2.1 2.0 ' . $cab["NRO_COMPROBANTE"].' ' . $cab["FECHA_DOCUMENTO"].' ' . $cab["HORA_DOCUMENTO"] . ' '. $cab["FVENCE_DOCUMENTO"]. ''; $xmlCPE.= ''.$cab["COD_TIPO_DOCUMENTO"].''; //'' // .$cab["COD_TIPO_DOCUMENTO"].''; if($cab["TOTAL_LETRAS"]<>""){ $xmlCPE = $xmlCPE. ''; } $xmlCPE.=' '.$cab["COD_MONEDA"].' '.$cab["LineCountNumeric"].' ' . $cab["NRO_COMPROBANTE"].' ' . $cab["NRO_DOCUMENTO_EMPRESA"].' #'.$cab["NRO_COMPROBANTE"].' '; $xmlCPE.=' '.$cab["NRO_DOCUMENTO_EMPRESA"].''; //''.$cab["NRO_DOCUMENTO_EMPRESA"].''; $xmlCPE.=' '.$cab["CODIGO_UBIGEO_EMPRESA"].' 0000 '.$cab["NRO_DOCUMENTO_CLIENTE"].' '.$cab["COD_PAIS_CLIENTE"].' '.$cab["TOTAL_IGV"].' '.$cab["SUB_TOTAL"].' '.$cab["TOTAL_IGV"].' 1000 IGV VAT '.$cab["SUB_TOTAL"].' '.$cab["TOTAL"].' '; //' // .($det[$i]["txtCANTIDAD_DET"]*$det[$i]["txtPRECIO_DET"]-$det[$i]["txtIMPORTE_DET"]) // .' // // '.$det[$i]["txtIMPORTE_DET"].' // ' // .($det[$i]["txtCANTIDAD_DET"]*$det[$i]["txtPRECIO_DET"]-$det[$i]["txtIMPORTE_DET"]) // .' for ($i = 0; $i < count($det); $i++) { $xmlCPE = $xmlCPE . ' '.$det[$i]["txtITEM"].' '.$det[$i]["txtCANTIDAD_DET"].' '.$det[$i]["txtIMPORTE_DET"].' '.$det[$i]["txtPRECIO_DET"].' '.$det[$i]["txtPRECIO_TIPO_CODIGO"].' ' .($det[$i]["txtIGV"]) .' '.$det[$i]["txtIMPORTE_DET"].' ' .($det[$i]["txtIGV"]) .' '.$cab["P100IGV"].' '.$det[$i]["txtCOD_TIPO_OPERACION"].' 1000 IGV VAT '.round($det[$i]["txtIMPORTE_DET"]/$det[$i]["txtCANTIDAD_DET"],2).' '; } $xmlCPE = $xmlCPE . ' '; file_put_contents('c:/dat(U).txt', $ruta . '.XML'); file_put_contents($ruta.'(sinFirma).XML',$xmlCPE); $doc->loadXML($xmlCPE); //Acá se incrusta la firma digital //oldU $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); $doc->save($ruta . '.XML'); return 'XML CREADO'; //dfgdfgdfgdf //fin function cpeFactura($ruta,$cab, $det) } function cpeFactura_2_0($ruta,$cabecera, $detalle){ $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 1001 ' . $cabecera["TOTAL_GRAVADAS"] . ' 1002 ' . $cabecera["TOTAL_INAFECTA"] . ' 1003 ' . $cabecera["TOTAL_EXONERADAS"] . ' 1004 ' . $cabecera["TOTAL_GRATUITAS"] . ' '; if($cabecera["TOTAL_LETRAS"]<>""){ $xmlCPE = $xmlCPE . ' 1000 ' . $cabecera["TOTAL_LETRAS"] . ' '; } if($cabecera["TOTAL_GRATUITAS"]>0){ $xmlCPE = $xmlCPE . ' 1002 TRANSFERENCIA GRATUITA DE UN BIEN Y/O SERVICIO PRESTADO GRATUITAMENTE '; } $xmlCPE = $xmlCPE .' 2.0 1.0 ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["FECHA_DOCUMENTO"] . ' ' . $cabecera["COD_TIPO_DOCUMENTO"] . ' ' . $cabecera["COD_MONEDA"] . ' ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' #' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["TIPO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["CODIGO_UBIGEO_EMPRESA"] . ' ' . $cabecera["CODIGO_PAIS_EMPRESA"] . ' ' . $cabecera["NRO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["TIPO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["COD_PAIS_CLIENTE"] . ' ' . $cabecera["TOTAL_IGV"] . ' ' . $cabecera["TOTAL_IGV"] . ' 1000 IGV VAT ' . $cabecera["SUB_TOTAL"] . ' ' . $cabecera["TOTAL_IGV"] . ' ' . $cabecera["TOTAL"] . ' '; for ($i = 0; $i < count($detalle); $i++) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' ' . $detalle[$i]["txtPRECIO_TIPO_CODIGO"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 1000 IGV VAT ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } $xmlCPE = $xmlCPE . ''; file_put_contents('c:/dat(U).txt', $ruta . '.XML'); $doc->loadXML($xmlCPE); //oldU $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); $doc->save($ruta . '.XML'); return 'XML CREADO'; //dfgdfgdfgdf //fin function cpeFactura($ruta,$cabecera, $detalle) } function cpeNC_2_0($ruta, $cabecera, $detalle) { $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 1001 ' . $cabecera["TOTAL_GRAVADAS"] . ' 2.0 1.0 ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["FECHA_DOCUMENTO"] . ' ' . $cabecera["COD_MONEDA"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["COD_TIPO_MOTIVO"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["TIPO_COMPROBANTE_MODIFICA"] . ' ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' #' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["TIPO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["CODIGO_UBIGEO_EMPRESA"] . ' ' . $cabecera["CODIGO_PAIS_EMPRESA"] . ' ' . $cabecera["NRO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["TIPO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["COD_PAIS_CLIENTE"] . ' ' . $cabecera["TOTAL_IGV"] . ' ' . $cabecera["TOTAL_IGV"] . ' 1000 IGV VAT ' . $cabecera["TOTAL"] . ' '; for ($i = 0; $i < count($detalle); $i++) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' ' . $detalle[$i]["txtPRECIO_TIPO_CODIGO"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 1000 IGV VAT ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } $xmlCPE = $xmlCPE . ''; file_put_contents('c:/datNC.txt', $ruta . '.XML'); $doc->loadXML($xmlCPE); //apoloFunca $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); $doc->save($ruta . '.XML'); return 'XML CREADO'; } function cpeNC_2_1($ruta, $cabecera, $detalle) { //Vino del 2.1 //$doc = new DOMDocument(); //$doc->formatOutput = FALSE; //$doc->preserveWhiteSpace = TRUE; //$doc->encoding = 'utf-8'; $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; //$doc->encoding = 'ISO-8859-1'; //$doc->encoding = 'utf-8'; //Se cambió el encabezado de Jose ... incluido tag delimitador $xmlCPE = ' 2.1 2.0 ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["FECHA_DOCUMENTO"] . ' 00:00:00 ' . $cabecera["COD_MONEDA"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["COD_TIPO_MOTIVO"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["TIPO_COMPROBANTE_MODIFICA"] . ' IDSignST ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' #SignatureSP ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' 0001 ' . $cabecera["NRO_DOCUMENTO_CLIENTE"] . ' '; if ($cabecera["TOTAL_DESCUENTO"] > 0) {//En nota de crédito de llama.pe, no existe TOTAL_DESCUENTO $xmlCPE = $xmlCPE . ' false 00 ' . $cabecera["TOTAL_DESCUENTO"] . ' '; } $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_IGV"] . ' ' . $cabecera["TOTAL_GRAVADAS"] . ' ' . $cabecera["TOTAL_IGV"] . ' 1000 IGV VAT '; if ($cabecera["TOTAL_ISC"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_ISC"] . ' ' . $cabecera["TOTAL_ISC"] . ' S 2000 ISC EXC '; } //CAMPO NUEVO if ($cabecera["TOTAL_EXPORTACION"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_EXPORTACION"] . ' 0.00 G 9995 EXP FRE '; } if ($cabecera["TOTAL_GRATUITAS"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_GRATUITAS"] . ' 0.00 Z 9996 GRA FRE '; } if ($cabecera["TOTAL_EXONERADAS"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_EXONERADAS"] . ' 0.00 E 9997 EXO VAT '; } if ($cabecera["TOTAL_INAFECTA"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_INAFECTA"] . ' 0.00 O 9998 INA FRE '; } if ($cabecera["TOTAL_OTR_IMP"] > 0) { $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL_OTR_IMP"] . ' ' . $cabecera["TOTAL_OTR_IMP"] . ' S 9999 OTR OTH '; } //TOTAL=GRAVADA+IGV+EXONERADA //NO ENTRA GRATUITA(INAFECTA) NI DESCUENTO //SUB_TOTAL=PRECIO(SIN IGV) * CANTIDAD $xmlCPE = $xmlCPE . ' ' . $cabecera["TOTAL"] . ' '; for ($i = 0; $i < count($detalle); $i++) { if($detalle[$i]["txtCOD_TIPO_OPERACION"]=="10"){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' ' . $detalle[$i]["txtPRECIO_TIPO_CODIGO"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $cabecera["P100IGV"] . ' ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 1000 IGV VAT ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } if($detalle[$i]["txtCOD_TIPO_OPERACION"]=="20"){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' ' . $detalle[$i]["txtPRECIO_TIPO_CODIGO"] . ' 0 ' . $detalle[$i]["txtIMPORTE_DET"] . ' 0 0 ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 9997 EXO VAT ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } if($detalle[$i]["txtCOD_TIPO_OPERACION"]=="30"){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' 01 0 ' . $detalle[$i]["txtIMPORTE_DET"] . ' 0 0 ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 9998 INA FRE ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } if($detalle[$i]["txtCOD_TIPO_OPERACION"]=="31"){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' 02 0 ' . $detalle[$i]["txtIMPORTE_DET"] . ' 0 0 ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 9996 GRA FRE ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } } $xmlCPE = $xmlCPE . ' '; $doc->loadXML($xmlCPE); // $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); file_put_contents('c:/rutaDeXml.txt', $ruta.'.XML'); file_put_contents($ruta.'(sinFirma).XML',$xmlCPE); $doc->loadXML($xmlCPE); //Acá se incrusta la firma digital //oldU $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); $doc->save($ruta . '.XML'); return 'XML CREADO'; //return '1'; } function cpeND($ruta, //=================== $cabecera, $detalle) { $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 1001 ' . $cabecera["TOTAL_GRAVADAS"] . ' 2.0 1.0 ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["FECHA_DOCUMENTO"] . ' ' . $cabecera["COD_MONEDA"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["COD_TIPO_MOTIVO"] . ' ' . $cabecera["NRO_DOCUMENTO_MODIFICA"] . ' ' . $cabecera["TIPO_COMPROBANTE_MODIFICA"] . ' ' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' #' . $cabecera["NRO_COMPROBANTE"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["TIPO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["CODIGO_UBIGEO_EMPRESA"] . ' ' . $cabecera["CODIGO_PAIS_EMPRESA"] . ' ' . $cabecera["NRO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["TIPO_DOCUMENTO_CLIENTE"] . ' ' . $cabecera["COD_PAIS_CLIENTE"] . ' ' . $cabecera["TOTAL_IGV"] . ' ' . $cabecera["TOTAL_IGV"] . ' 1000 IGV VAT ' . $cabecera["TOTAL"] . ' '; for ($i = 0; $i < count($detalle); $i++) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["txtITEM"] . ' ' . $detalle[$i]["txtCANTIDAD_DET"] . ' ' . $detalle[$i]["txtIMPORTE_DET"] . ' ' . $detalle[$i]["txtPRECIO_DET"] . ' ' . $detalle[$i]["txtPRECIO_TIPO_CODIGO"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtIGV"] . ' ' . $detalle[$i]["txtCOD_TIPO_OPERACION"] . ' 1000 IGV VAT ' . $detalle[$i]["txtPRECIO_DET"] . ' '; } $xmlCPE = $xmlCPE . ''; $doc->loadXML($xmlCPE); $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); return 'XML CREADO'; } function cpeBajaSunat($ruta,$cabecera, $detalle) { $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 2.0 1.0 '.$cabecera["CODIGO"].'-'.$cabecera["SERIE"].'-'.$cabecera["SECUENCIA"].' '.$cabecera["FECHA_REFERENCIA"].' '.$cabecera["FECHA_BAJA"].' IDSignKG '.$cabecera["NRO_DOCUMENTO_EMPRESA"].' '.ValidarCaracteresInv($cabecera["RAZON_SOCIAL"]).' #'.$cabecera["SERIE"].'-'.$cabecera["SECUENCIA"].' '.$cabecera["NRO_DOCUMENTO_EMPRESA"].' '.$cabecera["TIPO_DOCUMENTO"].' '; for ($i = 0; $i < count($detalle); $i++) { $xmlCPE = $xmlCPE . ' '.$detalle[$i]["ITEM"].' '.$detalle[$i]["TIPO_COMPROBANTE"].' '.$detalle[$i]["SERIE"].' '.$detalle[$i]["NUMERO"].' '; } $xmlCPE = $xmlCPE . ''; $doc->loadXML($xmlCPE); $doc->save($ruta.'.XML'); //$doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); return 'XML BAJA CREADO'; } function cpeResumenBoleta($ruta,$cabecera, $detalle){ $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 2.0 1.1 ' . $cabecera["CODIGO"] . '-' . $cabecera["SERIE"] . '-' . $cabecera["SECUENCIA"] . ' ' . $cabecera["FECHA_REFERENCIA"] . ' ' . $cabecera["FECHA_DOCUMENTO"] . ' ' . $cabecera["CODIGO"] . '-' . $cabecera["SERIE"] . '-' . $cabecera["SECUENCIA"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["RAZON_SOCIAL"] . ' ' . $cabecera["CODIGO"] . '-' . $cabecera["SERIE"] . '-' . $cabecera["SECUENCIA"] . ' ' . $cabecera["NRO_DOCUMENTO_EMPRESA"] . ' ' . $cabecera["TIPO_DOCUMENTO"] . ' ' . $cabecera["RAZON_SOCIAL"] . ' '; for ($i = 0; $i < count($detalle); $i++) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["ITEM"] . ' ' . $detalle[$i]["TIPO_COMPROBANTE"] . ' ' . $detalle[$i]["NRO_COMPROBANTE"] . ' ' . $detalle[$i]["NRO_DOCUMENTO"] . ' ' . $detalle[$i]["TIPO_DOCUMENTO"] . ' '; if ($detalle[$i]["TIPO_COMPROBANTE"]=="07"||$detalle[$i]["TIPO_COMPROBANTE"]=="08"){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["NRO_COMPROBANTE_REF"] . ' ' . $detalle[$i]["TIPO_COMPROBANTE_REF"] . ' '; } $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["STATU"] . ' ' . $detalle[$i]["TOTAL"] . ' ' . $detalle[$i]["GRAVADA"] . ' 01 '; if ($detalle[$i]["EXONERADO"] > 0) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["EXONERADO"] . ' 02 '; } if ($detalle[$i]["INAFECTO"] > 0) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["INAFECTO"] . ' 03 '; } if ($detalle[$i]["EXPORTACION"] > 0) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["EXPORTACION"] . ' 04 '; } if ($detalle[$i]["GRATUITAS"] > 0) { $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["GRATUITAS"] . ' 04 '; } if ($detalle[$i]["MONTO_CARGO_X_ASIG"] > 0) { $xmlCPE = $xmlCPE . ''; if ($detalle[$i]["CARGO_X_ASIGNACION"] == 1) { $xmlCPE = $xmlCPE . 'true'; }else{ $xmlCPE = $xmlCPE . 'false'; } $xmlCPE = $xmlCPE . '' . $detalle[$i]["MONTO_CARGO_X_ASIG"] . ' '; } if($detalle[$i]["ISC"]>0){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["ISC"] . ' ' . $detalle[$i]["ISC"] . ' 2000 ISC EXC '; } $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["IGV"] . ' ' . $detalle[$i]["IGV"] . ' 1000 IGV VAT '; if($detalle[$i]["OTROS"]>0){ $xmlCPE = $xmlCPE . ' ' . $detalle[$i]["OTROS"] . ' ' . $detalle[$i]["OTROS"] . ' 9999 OTROS OTH '; } $xmlCPE = $xmlCPE . ''; } $xmlCPE = $xmlCPE . ''; file_put_contents('c:/delBol.txt',$xmlCPE); $doc->loadXML($xmlCPE); $doc->save($ruta.'.XML'); $doc->save('c:/bajaBol.XML'); //$doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); return 'XML RESUMEN BOLETA CREADO'; } function cpeFacturaPrueba($ruta) { $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 1001 625.0 1002 0.0 1003 0.0 1004 0.0 1000 SETECIENTOS TREINTA Y SIETE CON 50/100 SOLES 2.0 1.0 F001-5079 2017-05-10 01 PEN F001-5079 10447915125 #F001-5079 10447915125 6 070104 PE 10447915125 6 PE 112.5 112.5 1000 IGV VAT 625.0 112.5 737.5 1 1.00001 625.0 737.5 01 112.5 112.5 10 1000 IGV VAT 625.0 '; $doc->loadXML($xmlCPE); $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); return '1'; } function cpeFactura_2_1_err($ruta,$cab, $det){ $doc = new DOMDocument(); $doc->formatOutput = FALSE; $doc->preserveWhiteSpace = TRUE; $doc->encoding = 'ISO-8859-1'; $xmlCPE = ' 2.1 2.0 ' . $cab["NRO_COMPROBANTE"].' ' . $cab["FECHA_DOCUMENTO"].' ' . $cab["HORA_DOCUMENTO"] . ' '. $cab["FVENCE_DOCUMENTO"]. ' ' .$cab["COD_TIPO_DOCUMENTO"].''; if($cab["TOTAL_LETRAS"]<>""){ $xmlCPE = $xmlCPE. ''; } $xmlCPE.=' '.$cab["COD_MONEDA"].' '.$cab["LineCountNumeric"].' ' . $cab["NRO_COMPROBANTE"].' ' . $cab["NRO_DOCUMENTO_EMPRESA"].' #'.$cab["NRO_COMPROBANTE"].' '; $xmlCPE.=''.$cab["NRO_DOCUMENTO_EMPRESA"].''; //'.$cab["NRO_DOCUMENTO_EMPRESA"].' $xmlCPE.=' '.$cab["CODIGO_UBIGEO_EMPRESA"].' 0000 '.$cab["NRO_DOCUMENTO_CLIENTE"].' '.$cab["COD_PAIS_CLIENTE"].' '.$cab["TOTAL_IGV"].' '.$cab["SUB_TOTAL"].' '.$cab["TOTAL_IGV"].' 1000 IGV VAT '.$cab["SUB_TOTAL"].' '.$cab["TOTAL"].' '; for ($i = 0; $i < count($det); $i++) { $xmlCPE = $xmlCPE . ' '.$det[$i]["txtITEM"].' '.$det[$i]["txtCANTIDAD_DET"].' '.$det[$i]["txtIMPORTE_DET"].' '.$det[$i]["txtPRECIO_DET"].' '.$det[$i]["txtPRECIO_TIPO_CODIGO"].' ' .($det[$i]["txtCANTIDAD_DET"]*$det[$i]["txtPRECIO_DET"]-$det[$i]["txtIMPORTE_DET"]).' '.$det[$i]["txtIMPORTE_DET"].' ' .($det[$i]["txtCANTIDAD_DET"]*$det[$i]["txtPRECIO_DET"]-$det[$i]["txtIMPORTE_DET"]).' '.$cab["P100IGV"].' '.$det[$i]["txtCOD_TIPO_OPERACION"].' 1000 IGV VAT '.round($det[$i]["txtIMPORTE_DET"]/$det[$i]["txtCANTIDAD_DET"],2).' '; } $xmlCPE = $xmlCPE . ' '; file_put_contents('c:/dat(U).txt', $ruta . '.XML'); file_put_contents($ruta.'(sinFirma).XML',$xmlCPE); $doc->loadXML($xmlCPE); //Acá se incrusta la firma digital //oldU $doc->save(dirname(__FILE__) . '/' . $ruta . '.XML'); $doc->save($ruta . '.XML'); return 'XML CREADO'; //dfgdfgdfgdf //fin function cpeFactura($ruta,$cab, $det) } ?>