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)
}
?>