<?php

session_name('excel_a_webservices');

session_start();

$nuevonombre11 = $_SESSION['nuevonombre'];

if($nuevonombre11==false){

header("Location: index.php");

}



?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<style type="text/css">

.ac{ font-family:Calibri; color:#FF0000;

}

.ap{ font-family:Calibri; color:#006600;}

.ab{ font-family:Calibri; color:#006600;}

#rojo{ color:#FF0000;}

body{ color:#000000; background-color:#EBEBEB;

font-family:Calibri; font-size:14px; font-weight:normal;}

td{ border:1px #00CC00 solid;}

</style>

<title>Editor de txt</title>

</head>



<body>

<?php

//print_r($_SESSION);

require("links.php");

//require("links_conceptos.php");



$archivo = file_get_contents($_SESSION['nuevonombre']);



if($archivo==true ){

 if($_POST['grabar']==true){



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//inicio de lectura de excel



echo '<br>Nombre del archivo: '.$_SESSION['nombre'].'<br>';

$archivo=$_SESSION['nuevonombre'];

require_once 'PHPExcel/IOFactory.php';

$objPHPExcel = PHPExcel_IOFactory::load($archivo);





function validare($dataType,$nombre,$use,$var){

//$xml=array();

if($nombre=='FORMAS DE PAGO'){

echo '<td align="center">---------</td>';

}

if($nombre=='formaDePago'){



if($var=='' ){

echo '<td id="rojo">falta formaDePago</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='condicionesDePago'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='metodoDePago'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;}



}

if($nombre=='Moneda'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='NumCtaPago'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='TipoCambio'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='serie'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='SUCURSAL'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='ambiente'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=($var);

}



}

if($nombre=='folio'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}



if($nombre=='TipoComprobante'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='Transaccionid'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}



if($nombre=='clave'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}





if($nombre=='detallista'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='TOTALES'){



echo '<td align="center">---------</td>';



}

if($nombre=='subTotal'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='motivoDescuento'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='descuento'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='totalImpuestosRetenidos'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='totalImpuestosTrasladados'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='total'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='RECEPTOR'){



echo '<td align="center">---------</td>';



}

if($nombre=='emailReceptor'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='rfc'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}







if($nombre=='nombre'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}

if($nombre=='calle'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);

}



}

if($nombre=='noInterior'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);

}



}

if($nombre=='noExterior'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='colonia'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='localidad'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='delegacion'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='municipio'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='referencia'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='estado'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='pais'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='codigoPostal'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{echo '<td>'.utf8_decode($var).'</td>';

$_SESSION['xml'][$nombre]= str_replace('"','', $var);}



}

if($nombre=='COMPLEMENTOS'){



echo '<td align="center">---------</td>';



}



if($nombre=='totalImpuestosLocalesRetenidos'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}



if($nombre=='totalImpuestosLocalesTraslados'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}





if($nombre=='ImpuestosLocales'){



if($var=='' ){

echo '<td id="rojo">falta '.$nombre.'</td>';

}else{

echo '<td>'.$var.'</td>';

$_SESSION['xml'][$nombre]=$var;

}



}





}

   

function Batch_xmlElement($valor,$value,$value1){



$encabezado = '<?xml version="1.0" encoding="utf-8"?><emitirCFD xmlns="http://namespace.pegasotecnologia.com/SCFD"/>';

$emitirCFD = new SimpleXMLElement($encabezado, 0, false, '', true);



$PoRequestCFD= $emitirCFD->addChild('PoRequestCFD');

$RequestCFD= $PoRequestCFD->addChild('RequestCFD');



$RequestCFD->addAttribute('version', '3.2');

$RequestCFD->addAttribute('xmlns', '');



$xmlComprobante= $RequestCFD->addChild('Comprobante');





$xmlComprobante->addAttribute('version', '3.2');





if(empty($_SESSION['xml'][formaDePago])){}else{

$xmlComprobante->addAttribute('formaDePago', utf8_encode($_SESSION['xml'][formaDePago]));

}

if(empty ($_SESSION['xml'][condicionesDePago])){}else{

$xmlComprobante->addAttribute('condicionesDePago', utf8_encode($_SESSION['xml'][condicionesDePago]));

}

if(intval($_SESSION['xml'][subTotal])){

$xmlComprobante->addAttribute('subTotal', utf8_encode($_SESSION['xml'][subTotal]));

}else{}

if(empty($_SESSION['xml'][TipoCambio])){}else{

$xmlComprobante->addAttribute('TipoCambio', utf8_encode($_SESSION['xml'][TipoCambio]));

}if(empty($_SESSION['xml'][Moneda])){}else{

$xmlComprobante->addAttribute('Moneda', utf8_encode($_SESSION['xml'][Moneda]));

}

if(intval($_SESSION['xml'][total])){

$xmlComprobante->addAttribute('total', utf8_encode($_SESSION['xml'][total]));

}else{}

if(empty($_SESSION['xml'][metodoDePago])){}else{

$xmlComprobante->addAttribute('metodoDePago', utf8_encode($_SESSION['xml'][metodoDePago]));

}

if(empty($_SESSION['xml'][NumCtaPago])){}else{

$xmlComprobante->addAttribute('NumCtaPago', utf8_encode($_SESSION['xml'][NumCtaPago]));

}

if(empty($_SESSION['xml'][motivoDescuento])){}else{

$xmlComprobante->addAttribute('motivoDescuento', utf8_encode($_SESSION['xml'][motivoDescuento]));

}

if(empty($_SESSION['xml'][descuento])){}else{

$xmlComprobante->addAttribute('descuento', utf8_encode($_SESSION['xml'][descuento]));

}



if(empty($_SESSION['xml'][serie])){}else{

$xmlComprobante->addAttribute('serie', utf8_encode($_SESSION['xml'][serie]));

}

if(empty($_SESSION['xml'][folio])){}else{

$xmlComprobante->addAttribute('folio', utf8_encode($_SESSION['xml'][folio]));

}



$xmlEmisor = $xmlComprobante->addChild('Emisor');

if(empty($_SESSION[rfcEmisor])){

}else{



$xmlEmisor->addAttribute('rfc',$_SESSION[rfcEmisor]);

} 



$xmlRecpetor = $xmlComprobante->addChild('Receptor');



if(empty($_SESSION['xml'][rfc])){}else{

$xmlRecpetor->addAttribute('rfc', utf8_encode($_SESSION['xml'][rfc]));

} 

if(empty($_SESSION['xml'][nombre])){}else{

$xmlRecpetor->addAttribute('nombre', utf8_encode($_SESSION['xml'][nombre]));

}  

///////// domicilio receptor

$xmlDomicilio=$xmlRecpetor->addChild('Domicilio');



if(empty($_SESSION['xml'][colonia])){}else{

$xmlDomicilio->addAttribute('colonia', utf8_encode($_SESSION['xml'][colonia]));

}       



if(empty($_SESSION['xml'][municipio])){}else{

$xmlDomicilio->addAttribute('municipio', utf8_encode($_SESSION['xml'][municipio]));

}      

if(empty($_SESSION['xml'][calle])){}else{

$xmlDomicilio->addAttribute('calle', utf8_encode($_SESSION['xml'][calle]));}



if(empty($_SESSION['xml'][noExterior])){}else{

$xmlDomicilio->addAttribute('noExterior', utf8_encode($_SESSION['xml'][noExterior]));

}   

if(empty($_SESSION['xml'][noInterior])){}else{

$xmlDomicilio->addAttribute('noInterior', utf8_encode($_SESSION['xml'][noInterior]));

} 

if(empty($_SESSION['xml'][localidad])){}else{

$xmlDomicilio->addAttribute('localidad', utf8_encode($_SESSION['xml'][localidad]));

}  



if(empty($_SESSION['xml'][referencia])){}else{

$xmlDomicilio->addAttribute('referencia', utf8_encode($_SESSION['xml'][referencia]));

} 



if(empty($_SESSION['xml'][estado])){}else{

$xmlDomicilio->addAttribute('estado', utf8_encode($_SESSION['xml'][estado]));

} 

if(empty($_SESSION['xml'][pais])){}else{

$xmlDomicilio->addAttribute('pais', utf8_encode($_SESSION['xml'][pais]));

}  

if(empty($_SESSION['xml'][codigoPostal])){}else{

$xmlDomicilio->addAttribute('codigoPostal', utf8_encode($_SESSION['xml'][codigoPostal]));

}



if(empty($_SESSION['xml'][delegacion])){}else{

$xmlDomicilio->addAttribute('delegacion', utf8_encode($_SESSION['xml'][delegacion]));

}



$xmlConceptos= $xmlComprobante->addChild('Conceptos');



for($i=3; $i<count($value['xmlpcf'])+ 3;  $i++){

$xmlconcepto=$xmlConceptos->addChild('Concepto');

$xmlconcepto->addAttribute('cantidad', utf8_encode($value['xmlpcf'][$i]['cantidad']));

$xmlconcepto->addAttribute('unidad', utf8_encode($value['xmlpcf'][$i][unidad]));

$xmlconcepto->addAttribute('noIdentificacion', utf8_encode($value['xmlpcf'][$i][noidentification]));

$xmlconcepto->addAttribute('descripcion', utf8_encode($value['xmlpcf'][$i][descripcion]));

$xmlconcepto->addAttribute('valorUnitario', utf8_encode($value['xmlpcf'][$i][valorUnitario]));

$xmlconcepto->addAttribute('importe', utf8_encode($value['xmlpcf'][$i]['importe']));

}



if($_SESSION['xml'][totalImpuestosTrasladados]  != '' or $_SESSION['xml'][totalImpuestosRetenidos] != ''){



$xmlImpuestos= $xmlComprobante->addChild('Impuestos');



if(empty($_SESSION['xml'][totalImpuestosTrasladados])){}else{$xmlImpuestos->addAttribute('totalImpuestosTrasladados',$_SESSION['xml'][totalImpuestosTrasladados]);}



if(empty($_SESSION['xml'][totalImpuestosRetenidos])){}else{$xmlImpuestos->addAttribute('totalImpuestosRetenidos',$_SESSION['xml'][totalImpuestosRetenidos]);}



$cuantoimp = count($value1['imp']) + 17;



if($_SESSION['xml'][totalImpuestosTrasladados]==''){}else{



$xmlImpuestosTraslados=$xmlImpuestos->addChild('Traslados');

for($i=17; $i<=$cuantoimp;  $i++){

if($value1['imp'][$i]['tipoImpuesto']=='Trasladado'){

$xmlImpuestosTraslado=$xmlImpuestosTraslados->addChild('Traslado');

$xmlImpuestosTraslado->addAttribute('impuesto', $value1[imp][$i][impuesto]);

$xmlImpuestosTraslado->addAttribute('tasa', $value1[imp][$i][tasa]);

$xmlImpuestosTraslado->addAttribute('importe', $value1['imp'][$i]['importe']);

}

}



}



if($_SESSION['xml'][totalImpuestosRetenidos]==''){}else{



$xmlImpuestosRetenidos=$xmlImpuestos->addChild('Retenciones');

for( $i=17; $i<=$cuantoimp; $i++){

if($value1['imp'][$i]['tipoImpuesto']=='Retenido'){

$xmlImpuestosRetenido=$xmlImpuestosRetenidos->addChild('Retencion');

$xmlImpuestosRetenido->addAttribute('impuesto', $value1['imp'][$i]["impuesto"]);

$xmlImpuestosRetenido->addAttribute('importe', $value1['imp'][$i]["importe"]);

}

}

}

//fin 

}



$complemento= $xmlComprobante->addChild('Complemento');



if($_SESSION['xml']['ImpuestosLocales']=='si'){



$impuestosLocales = $complemento->addChild('ImpuestosLocales');

$impuestosLocales->addAttribute('version', '1.0');



if($_SESSION['xml']['totalImpuestosLocalesRetenidos']==''){$TimLocReten = 0.00;}else{$TimLocReten = $_SESSION['xml']['totalImpuestosLocalesRetenidos'];}



if($_SESSION['xml']['totalImpuestosLocalesTraslados']==''){$TimLocTras = 0.00;}else{$TimLocTras =$_SESSION['xml']['totalImpuestosLocalesTraslados'];}





$impuestosLocales->addAttribute('TotaldeRetenciones', number_format($TimLocReten,2));



$impuestosLocales->addAttribute('TotaldeTraslados',number_format($TimLocTras,2));



$cuantoimp = count($value1['imp']) + 17;



if($_SESSION['xml']['totalImpuestosLocalesRetenidos']!=''){

for( $i=17; $i<=$cuantoimp; $i++){

if($value1['imp'][$i][LocaltipoImpuesto]=='Retenido'){

$RetencionesLocales = $impuestosLocales->addChild('RetencionesLocales');

$RetencionesLocales->addAttribute('ImpLocRetenido', $value1['imp'][$i]["LocalImpuesto"]);

$RetencionesLocales->addAttribute('TasadeRetencion', $value1['imp'][$i]["Localtasa"]);

$RetencionesLocales->addAttribute('Importe', $value1['imp'][$i]["Localimporte"]);

}

}

}



if($_SESSION['xml']['totalImpuestosLocalesTraslados']!=''){

for( $i=17; $i<=$cuantoimp; $i++){

if($value1['imp'][$i][LocaltipoImpuesto]=='Trasladado'){

$TrasladosLocales = $impuestosLocales->addChild('TrasladosLocales');

$TrasladosLocales->addAttribute('ImpLocTrasladado', $value1['imp'][$i]["LocalImpuesto"]);

$TrasladosLocales->addAttribute('TasadeTraslado', $value1['imp'][$i]["Localtasa"]);

$TrasladosLocales->addAttribute('Importe', $value1['imp'][$i]["Localimporte"]);

}

}

}



}





////////inicio de addenda liverpool

if($_SESSION['xml']['detallista']=='si'){

////////inicio de addenda liverpool

//$complemento= $xmlComprobante->addChild('Complemento');

/////

$detallista= $complemento->addChild('detallista');

/////

$detallista->addAttribute('type', 'SimpleInvoiceType');

$detallista->addAttribute('contentVersion', '1.3.1');

$detallista->addAttribute('documentStructureVersion','AMC8.1');

$detallista->addAttribute('documentStatus', 'ORIGINAL');

/////

/*



/////*/

$cuenta = count($_SESSION[detallistaC][requestForPaymentIdentification]) + 3;

for($i=4;$i<=$cuenta; $i++){

$requestForPaymentIdentification= $detallista->addChild('requestForPaymentIdentification');



$entityType= $requestForPaymentIdentification->addChild('entityType',$_SESSION[detallistaC][requestForPaymentIdentification][$i][entityType]);



}



/////specialInstruction

//print_r($_SESSION[detallistaC][specialInstruction]);

$cuenta = count($_SESSION[detallistaC][specialInstruction])+8;

for($i=9;$i<=$cuenta; $i++){

$specialInstruction= $detallista->addChild('specialInstruction');

$specialInstruction->addAttribute('code', $_SESSION[detallistaC][specialInstruction][$i][code]);

$text= $specialInstruction->addChild('text',$_SESSION[detallistaC][specialInstruction][$i][text]);

}

/////orderIdentification

//echo print_r($_SESSION[detallistaC][orderIdentification])+ 13 ;

  $cuenta = count($_SESSION[detallistaC][orderIdentification]) + 13;

for($i=14;$i<=$cuenta; $i++){



$orderIdentification= $detallista->addChild('orderIdentification');



$referenceIdentification= $orderIdentification->addChild('referenceIdentification',$_SESSION[detallistaC][orderIdentification][$i][referenceIdentification]);

$referenceIdentification->addAttribute('type',$_SESSION[detallistaC][orderIdentification][$i][type]);



$ReferenceDate= $orderIdentification->addChild('ReferenceDate',$_SESSION[detallistaC][orderIdentification][$i][ReferenceDate]);



}



/////AdditionalInformation

//print_r($_SESSION[detallistaC][AdditionalInformation]) ;

  $cuenta = count($_SESSION[detallistaC][AdditionalInformation]) + 18;

for($i=19;$i<=$cuenta; $i++){

$AdditionalInformation= $detallista->addChild('AdditionalInformation');

$referenceIdentification= $AdditionalInformation->addChild('referenceIdentification',$_SESSION[detallistaC][AdditionalInformation][$i][referenceIdentification]);

$referenceIdentification->addAttribute('type',$_SESSION[detallistaC][AdditionalInformation][$i][type]);



}





  $cuenta = count($_SESSION[detallistaC][DeliveryNote]) + 23;

for($i=24;$i<=$cuenta; $i++){



$DeliveryNote= $detallista->addChild('DeliveryNote');

$referenceIdentification= $DeliveryNote->addChild('referenceIdentification',$_SESSION[detallistaC][DeliveryNote][$i][referenceIdentification]);



$ReferenceDate= $DeliveryNote->addChild('ReferenceDate',$_SESSION[detallistaC][DeliveryNote][$i][ReferenceDate]);



}





  $cuenta = count($_SESSION[detallistaC][buyer]) + 28;

for($i=29;$i<=$cuenta; $i++){



$buyer= $detallista->addChild('buyer');

$gln= $buyer->addChild('gln',$_SESSION[detallistaC][buyer][$i][gln]);

$contactInformation= $buyer->addChild('contactInformation');

$personOrDepartmentName= $contactInformation->addChild('personOrDepartmentName');

$text= $personOrDepartmentName->addChild('text',$_SESSION[detallistaC][buyer][$i][text]);

}



$cuenta = count($_SESSION[detallistaC][seller]) + 33;

for($i=34;$i<=$cuenta; $i++){



$seller= $detallista->addChild('seller');

$gln= $seller->addChild('gln',$_SESSION[detallistaC][seller][$i][gln]);



$alternatePartyIdentification= $seller->addChild('alternatePartyIdentification',$_SESSION[detallistaC][seller][$i][alternatePartyIdentification]);

$alternatePartyIdentification->addAttribute('type',$_SESSION[detallistaC][seller][$i][type]);



}

////// calado

///allowanceCharge

$cuenta = count($_SESSION[detallistaC][allowanceCharge]) + 38;

for($i=39;$i<=$cuenta; $i++){

$allowanceCharge= $detallista->addChild('allowanceCharge');

$allowanceCharge->addAttribute('allowanceChargeType',$_SESSION[detallistaC][allowanceCharge][$i][allowanceChargeType]);

$allowanceCharge->addAttribute('settlementType',$_SESSION[detallistaC][allowanceCharge][$i][settlementType]);



$specialServicesType= $allowanceCharge->addChild('specialServicesType',$_SESSION[detallistaC][allowanceCharge][$i][specialServicesType]);



$monetaryAmountOrPercentage= $allowanceCharge->addChild('monetaryAmountOrPercentage');



$rate= $monetaryAmountOrPercentage->addChild('rate');

$rate->addAttribute('base',$_SESSION[detallistaC][allowanceCharge][$i][base]);

$percentage= $rate->addChild('percentage',$_SESSION[detallistaC][allowanceCharge][$i][percentage]);



}









//////////////





if($value['xmlp'][lineItem]!=''){

for($row=3; $row<count($value['xmlp'][lineItem]) + 3;  $row++){

$lineItem= $detallista->addChild('lineItem');

$lineItem->addAttribute('type',$value['xmlp'][lineItem][$row][type]);

$lineItem->addAttribute('number',$value['xmlp'][lineItem][$row][number]);



$tradeItemIdentification= $lineItem->addChild('tradeItemIdentification');

$gtin= $tradeItemIdentification->addChild('gtin',$value['xmlp'][gtin][$row][gtin]);



$alternateTradeItemIdentification= $lineItem->addChild('alternateTradeItemIdentification',$value['xmlp'][alternateTradeItemIdentification][$row][alternateTradeItemIdentification]);



$alternateTradeItemIdentification->addAttribute('type',$value['xmlp'][alternateTradeItemIdentification][$row][type]);



$tradeItemDescriptionInformation= $lineItem->addChild('tradeItemDescriptionInformation');

$tradeItemDescriptionInformation->addAttribute('language',$value['xmlp'][tradeItemDescriptionInformation][$row][language]);

$longText= $tradeItemDescriptionInformation->addChild('longText',$value['xmlp'][longText][$row][longText]);



$invoicedQuantity= $lineItem->addChild('invoicedQuantity',$value['xmlp'][invoicedQuantity][$row][invoicedQuantity]);

$invoicedQuantity->addAttribute('unitOfMeasure',$value['xmlp'][invoicedQuantity][$row][unitOfMeasure]);



$grossPrice= $lineItem->addChild('grossPrice');

$Amount= $grossPrice->addChild('Amount',$value['xmlp'][grossPrice][$row][Amount]);



$netPrice= $lineItem->addChild('netPrice');

$Amount= $netPrice->addChild('Amount',$value['xmlp'][netPrice][$row][Amount]);



$totalLineAmount= $lineItem->addChild('totalLineAmount');

$grossAmountAmount= $totalLineAmount->addChild('grossAmount');

$Amount= $grossAmountAmount->addChild('Amount',$value['xmlp'][grossAmount][$row][Amount]);



$netAmount= $totalLineAmount->addChild('netAmount');

$Amount= $netAmount->addChild('Amount',$value['xmlp'][netAmount][$row][Amount]);



}

}



///totalAmount

$cuenta = count($_SESSION[detallistaC][totalAmount]) + 43;

for($i=44;$i<=$cuenta; $i++){



$totalAmount= $detallista->addChild('totalAmount');

$Amount= $totalAmount->addChild('Amount',$_SESSION[detallistaC][totalAmount][$i][Amount]);



}



$cuenta = count($_SESSION[detallistaC][TotalAllowanceCharge]) + 48;

for($i=49;$i<=$cuenta; $i++){

$TotalAllowanceCharge= $detallista->addChild('TotalAllowanceCharge');

$TotalAllowanceCharge->addAttribute('allowanceOrChargeType',$_SESSION[detallistaC][TotalAllowanceCharge][$i][allowanceOrChargeType]);

$specialServicesType= $TotalAllowanceCharge->addChild('specialServicesType',$_SESSION[detallistaC][TotalAllowanceCharge][$i][specialServicesType]);

$Amount= $TotalAllowanceCharge->addChild('Amount',$_SESSION[detallistaC][TotalAllowanceCharge][$i][Amount]);

}



}

////////fin de addenda liverpool

$Transaccion= $RequestCFD->addChild('Transaccion');

$Transaccion->addAttribute('id', $_SESSION['xml'][Transaccionid]);



$TipoComprobante= $RequestCFD->addChild('TipoComprobante');

$TipoComprobante->addAttribute('nombre', $_SESSION['xml'][TipoComprobante]);

if($_SESSION['xml'][clave]!=''){

$TipoComprobante->addAttribute('clave', $_SESSION['xml'][clave]);

}

$Sucursal= $RequestCFD->addChild('Sucursal');

$Sucursal->addAttribute('nombre', $_SESSION['xml'][SUCURSAL]);



$Receptor= $RequestCFD->addChild('Receptor');

$Receptor->addAttribute('emailReceptor', $_SESSION['xml'][emailReceptor]);





$strXmlCFDI = $emitirCFD->asXML(); 

$strXmlCFDI = trim($strXmlCFDI);

return $strXmlCFDI;

}   



function detallista($etiqueta,$cols,$row,$valor){

$sin_comillas = str_replace('"','&quot;',$etiqueta);

$sin_menosque = str_replace('<','&lt;',$sin_comillas);

$sin_masque = str_replace('>','&gt;',$sin_menosque); 

return $sin_masque;

}



foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {

$worksheetTitle     = $worksheet->getTitle();

$highestRow         = $worksheet->getHighestRow(); // e.g. 10

$highestColumn      = $worksheet->getHighestColumn(); // e.g 'F'

$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);

$nrColumns = ord($highestColumn) - 64;



if($worksheetTitle=='CONCEPTOS'){

?> <br>Data: <table border="0">  

<tr><td colspan="6"  align="center" style="font-size:18px;">Hoja : <?php echo $worksheetTitle; ?></td></tr>

<tr> 



<td>noIdentification</td>

<td>cantidad</td>

<td>unidad</td>

<td>descripcion</td>

<td>p unitario</td>

<td>importe</td>

 </tr>

 <td style="background-color:#FCFF93;">opcional</td>

<td style="background-color:#FCFF93;">requerido</td>

<td style="background-color:#FCFF93;">requerido</td>

<td style="background-color:#FCFF93;">requerido</td>

<td style="background-color:#FCFF93;">requerido</td>

<td>&nbsp;</td>

 </tr>

 <tr><br><?php

for ($row = 3; $row <= $highestRow; ++ $row) {

echo '<tr>';



  $a1=$worksheet->getCellByColumnAndRow(0,$row)->getValue();

	if($a1!='' ){

	echo '<td>' . $a1 . '</td>';

$value['xmlpcf'][$row][noidentification]=$a1;

}else{

echo '<td>' . $a1 . '(Type ' . $dataType . ')</td>';}





  $b=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($b!=''){

	echo '<td>' . $b . '</td>';

	$value['xmlpcf'][$row]['cantidad']=$b;

}else{break;echo $error='<td id="rojo">es necesaria la cantidad y es del tipo decimal '.$b.'</td>';}





  $c=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($c!=''){

	echo '<td>' . $c . '</td>';

	$value['xmlpcf'][$row][unidad]=$c;

}else{break;echo $error='<td id="rojo">es necesaria la unidad</td>';}





  $d=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($d!=''){

	echo '<td>' . $d . '</td>';

	$value['xmlpcf'][$row][descripcion]=$d;

	

}else{break;echo $error='<td id="rojo">es necesaria la descripción</td>';}





     $e=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($e!=''){

	echo '<td>' . $e . '</td>';

	$value['xmlpcf'][$row][valorUnitario]=$e;

}else{break;echo $error='<td id="rojo">es necesaria el p. unitario y del tipo ecimal</td>';}

     

	 

	 

     $f=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($f!=''){

	echo '<td>' . $f . '</td>';

	$value['xmlpcf'][$row]['importe']=$f;

}else{

echo '<td>' .$suma = $b * $e . ' </td>';

$value['xmlpcf'][$row]['importe'] = $b * $e ;

}

	 

   

$h=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($h!=''){

	echo '<td>' . $h . '</td>';

	$value['xmlp'][lineItem][$row][type]=$h;

}else{ } 

   

   $i=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($i!=''){

	echo '<td>' . $i . '</td>';

	$value['xmlp'][lineItem][$row][number]=$i;

}else{ } 



  $j=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($j!=''){

	echo '<td>' . $j . '</td>';

	$value['xmlp'][gtin][$row][gtin]=$j;

}else{ } 

 

   

  $k=$worksheet->getCellByColumnAndRow(10,$row)->getValue();

	if($k!=''){

	echo '<td>' . $k . '</td>';

$value['xmlp'][alternateTradeItemIdentification][$row][alternateTradeItemIdentification]=$k;

}else{ } 





  $l=$worksheet->getCellByColumnAndRow(11,$row)->getValue();

	if($l!=''){

	echo '<td>' . $l . '</td>';

$value['xmlp'][alternateTradeItemIdentification][$row][type]=$l;

}else{ }    

   

   

   

     $m=$worksheet->getCellByColumnAndRow(12,$row)->getValue();

	if($m!=''){

	echo '<td>' . $m . '</td>';

$value['xmlp'][tradeItemDescriptionInformation][$row][language]=$m;

}else{ }





$value['xmlp'][longText][$row][longText]=$d;





     $n=$worksheet->getCellByColumnAndRow(13,$row)->getValue();

	if($n!=''){

	echo '<td>' . $n . '</td>';

$value['xmlp'][invoicedQuantity][$row][unitOfMeasure]=$n;

}else{ }



     $o=$worksheet->getCellByColumnAndRow(14,$row)->getValue();

	if($o!=''){

	echo '<td>' . $o . '</td>';

$value['xmlp'][invoicedQuantity][$row][invoicedQuantity]=$o;

}else{ }



     $p=$worksheet->getCellByColumnAndRow(15,$row)->getValue();

	if($p!=''){

	echo '<td>' . $p . '</td>';

$value['xmlp'][grossPrice][$row][Amount]=$p;

}else{ }



     $q=$worksheet->getCellByColumnAndRow(16,$row)->getValue();

	if($q!=''){

	echo '<td>' . $q . '</td>';

$value['xmlp'][netPrice][$row][Amount]=$q;

}else{ }





     $r=$worksheet->getCellByColumnAndRow(17,$row)->getValue();

	if($r!=''){

	echo '<td>' . $r . '</td>';

$value['xmlp'][grossAmount][$row][Amount]=$r;

}else{ }







     $s=$worksheet->getCellByColumnAndRow(18,$row)->getValue();

	if($s!=''){

	echo '<td>' . $s . '</td>';

$value['xmlp'][netAmount][$row][Amount]=$s;

}else{ }



echo '</tr>';



}



?></table><?php

}



if($worksheetTitle=='datosFiscales'){



?><br />

<table border="0" width="100%"><tr><td colspan="2" align="center">DATOS FISCALES</td></tr><tr><td>









<br>Data: <table border="0" >

<tr><td align="center" colspan="2" style="font-size:18px;">Hoja : <?php echo $worksheetTitle; ?></td></tr>

<tr><br><?php

 

for ($row = 1; $row <= $highestRow; ++ $row) {

echo '<tr>';



  $a=$worksheet->getCellByColumnAndRow(0,$row)->getValue();

	$dataType1 = PHPExcel_Cell_DataType::dataTypeForValue($a);

	if($dataType1!='null'){

	

	if($a=='FORMAS DE PAGO' or $a=='TOTALES' or $a=='RECEPTOR' or $a=='COMPLEMENTOS' or $a=='Emisor'){

	echo '<td id="rojo">' . utf8_decode($a) . '</td>';

	}else{echo '<td>' . utf8_decode($a) . '</td>';}

}else{}



  $b=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	$dataType2 = PHPExcel_Cell_DataType::dataTypeForValue($b);



  validare($dataType2,$a,$use, trim($b));

  //print_r($xml);      

echo '</tr>';



}



?></table></td><td><?php



/////////////////////////////////loop impuestos



?><br>Data: <table border="0" >

<tr><td align="center" colspan="4" style="font-size:18px;">Hoja : <?php echo 'Impuestos Federales'; ?></td></tr>

<tr><td>impuesto</td><td>tasa</td><td>importe</td><td>tipo Impuesto</td></tr>

<tr><td style="background-color:#FCFF93;">requerido</td><td style="background-color:#FCFF93;">opcional</td><td style="background-color:#FCFF93;">requerido</td><td style="background-color:#FCFF93;">requerido</td></tr>

<tr><br><?php

 



for ($row = 17; $row <= $highestRow; ++ $row) {

//////////////////loop for

echo '<tr>';



  $a1=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a1!='' ){

	echo '<td>' . $a1 . '</td>';

$value1['imp'][$row][impuesto]=$a1;

}else{break; echo '<td>' . $a1 . '</td>';}



  $e=$worksheet->getCellByColumnAndRow(10,$row)->getValue();



  $b=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($e!='Retenido'){

	if($b!=''){

	echo '<td>' . $b . '</td>';

	$value1['imp'][$row][tasa]=$b;

}else{echo $error='<td id="rojo">es necesaria la tasa del impuesto'.$b.'</td>';}

}else{echo '<td>En retenido no aplica tasa</td>'; }



  $c=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($c!=''){

	echo '<td>' . $c . '</td>';

	$value1['imp'][$row]['importe']=$c;

}else{echo $error='<td id="rojo">es necesaria el importe del impuesto '.$c.'</td>';}

   





  $e=$worksheet->getCellByColumnAndRow(10,$row)->getValue();

if($e!='' and ($e=='Retenido' or $e=='Trasladado')){

	echo '<td>' . $e . '</td>';

	$value1['imp'][$row]['tipoImpuesto']=$e;

}else{

echo $error='<td id="rojo">es necesaria el tipo de impuesto ""'.$e.'"" o es diferente a los valores "Retenido/Trasladado"</td>';}



   

   

echo '</tr>';



//////////////////////loop for

}



?></table>







<br>Data: <table border="0" >

<tr><td align="center" colspan="4" style="font-size:18px;">Hoja : <?php echo 'Impuestos Locales'; ?></td></tr>

<tr><td>impuesto</td><td>tasa</td><td>importe</td><td>tipo Impuesto</td></tr>

<tr><td style="background-color:#FCFF93;">requerido</td><td style="background-color:#FCFF93;">opcional</td><td style="background-color:#FCFF93;">requerido</td><td style="background-color:#FCFF93;">requerido</td></tr>

<tr><br><?php

 



for ($row = 17; $row <= $highestRow; ++ $row) {

//////////////////loop for

echo '<tr>';



  $a1=$worksheet->getCellByColumnAndRow(12,$row)->getValue();

	if($a1!='' ){

	echo '<td>' . $a1 . '</td>';

$value1['imp'][$row]['LocalImpuesto']=$a1;

}else{break; echo '<td>' . $a1 . '</td>';}



  $e=$worksheet->getCellByColumnAndRow(10,$row)->getValue();



  $b=$worksheet->getCellByColumnAndRow(13,$row)->getValue();

	//if($e!='Retenido'){

	if($b!=''){

	echo '<td>' . $b . '</td>';

	$value1['imp'][$row][Localtasa]=$b;

}else{echo '<td>En retenido no aplica tasa</td>'; }



  $c=$worksheet->getCellByColumnAndRow(14,$row)->getValue();

	if($c!=''){

	echo '<td>' . $c . '</td>';

	$value1['imp'][$row][Localimporte]=$c;

}else{echo $error='<td id="rojo">es necesaria el importe del impuesto '.$c.'</td>';}

   





  $e=$worksheet->getCellByColumnAndRow(15,$row)->getValue();

if($e!='' and ($e=='Retenido' or $e=='Trasladado')){

	echo '<td>' . $e . '</td>';

	$value1['imp'][$row][LocaltipoImpuesto]=$e;

}else{

echo $error='<td id="rojo">es necesaria el tipo de impuesto ""'.$e.'"" o es diferente a los valores "Retenido/Trasladado"</td>';}



   

   

echo '</tr>';



//////////////////////loop for

}



?></table>















</td></tr></table><?php



}



if($worksheetTitle=='detallista'){

?><br>Data: <table border="0">



<tr><td colspan="6"  align="center" style="font-size:18px;">Hoja : <?php echo $worksheetTitle; ?></td></tr>



<tr> 



<br><?php



////detallista

$detallistaLectura = 2;

$stop=1;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

	

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][detallista][$row][type]=$a3;

echo '<td>' . $a3 . '</td>';

}else{ }



$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

echo '<td>' . $a4 . '</td>';

}else{ }



////valor

$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

	

$_SESSION[detallistaC][detallista][$row][documentStructureVersion]=$a5;



echo '<td>' . $a5 . '</td>';

}else{}



$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

echo '<td>' . $a6 . '</td>';

}else{ }

////valor

$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

$_SESSION[detallistaC][detallista][$row][documentStatus]=$a7;

echo '<td>' . $a7 . '</td>';

}else{ }



$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

echo '<td>' . $a8 . '</td>';

}else{ }

////valor

$a9=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($a9!='' ){

echo '<td>' . $a9 . '</td>';

}else{ }







echo '</tr>';

}



}

////requestForPaymentIdentification

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 2;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][requestForPaymentIdentification][$row][entityType]=$a3;



echo '<td>' . $a3 . '</td>';

}else{ }



$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

echo '<td>' . $a4 . '</td>';

}else{ }









echo '</tr>';

}



}

////specialInstruction

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][specialInstruction][$row][code]=$a3;

echo '<td>' . $a3 . '</td>';

}else{ }







$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}

////valor

$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

$_SESSION[detallistaC][specialInstruction][$row][text]=$a6;

echo '<td>' . $a6 . '</td>';

}else{ }



$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

echo '<td>' . $a7 . '</td>';

}else{ }













echo '</tr>';

}}



////orderIdentification

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }









$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

echo '<td>' . $a3 . '</td>';

}else{ }



////valor

$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

$_SESSION[detallistaC][orderIdentification][$row][type]=$a4;



echo '<td>' . $a4 . '</td>';

}else{}





$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}

////valor

$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

$_SESSION[detallistaC][orderIdentification][$row][referenceIdentification]=$a6;



echo '<td>' . $a6 . '</td>';

}else{ }



$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

echo '<td>' . $a8 . '</td>';

}else{ }

////valor

$a9=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($a9!='' ){

$_SESSION[detallistaC][orderIdentification][$row][ReferenceDate]=$a9;

echo '<td>' . $a9 . '</td>';

}else{ }



echo '</tr>';

}}





////AdditionalInformation

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }











$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

echo '<td>' . $a3 . '</td>';

}else{ }

////valor

$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

$_SESSION[detallistaC][AdditionalInformation][$row][type]=$a4;



echo '<td>' . $a4 . '</td>';

}else{ }



$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}

////valor

$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

$_SESSION[detallistaC][AdditionalInformation][$row][referenceIdentification]=$a6;



echo '<td>' . $a6 . '</td>';

}else{ }



$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

echo '<td>' . $a7 . '</td>';

}else{ }







echo '</tr>';

}}



////DeliveryNote

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){

if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][DeliveryNote][$row][referenceIdentification]=$a3;

echo '<td>' . $a3 . '</td>';

}else{ }





$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}

////valor

$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

$_SESSION[detallistaC][DeliveryNote][$row][ReferenceDate]=$a6;



echo '<td>' . $a6 . '</td>';

}else{ }



$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

echo '<td>' . $a7 . '</td>';

}else{ }





echo '</tr>';

}}



////buyer

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][buyer][$row][gln]=$a3;

	

echo '<td>' . $a3 . '</td>';

}else{ }



$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

echo '<td>' . $a7 . '</td>';

}else{ }

////valor

$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

$_SESSION[detallistaC][buyer][$row][text]=$a8;



echo '<td>' . $a8 . '</td>';

}else{ }



$a9=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($a9!='' ){

echo '<td>' . $a9 . '</td>';

}else{ }







echo '</tr>';

}}

////seller

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][seller][$row][gln]=$a3;



echo '<td>' . $a3 . '</td>';

}else{ }







$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}



$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

echo '<td>' . $a6 . '</td>';

}else{ }

////valor

$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

		$_SESSION[detallistaC][seller][$row][type]=$a7;



echo '<td>' . $a7 . '</td>';

}else{ }



$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

echo '<td>' . $a8 . '</td>';

}else{ }

////valor

$a9=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($a9!='' ){

$_SESSION[detallistaC][seller][$row][alternatePartyIdentification]=$a9;



echo '<td>' . $a9 . '</td>';

}else{ }



$a10=$worksheet->getCellByColumnAndRow(10,$row)->getValue();

	if($a10!='' ){

echo '<td>' . $a10 . '</td>';

}else{ }



echo '</tr>';

}}



////allowanceCharge

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][allowanceCharge][$row][allowanceChargeType]=$a3;



echo '<td>' . $a3 . '</td>';

}else{ }



$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

echo '<td>' . $a4 . '</td>';

}else{ }

////valor

$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

$_SESSION[detallistaC][allowanceCharge][$row][settlementType]=$a5;

	

echo '<td>' . $a5 . '</td>';

}else{}







$a7=$worksheet->getCellByColumnAndRow(7,$row)->getValue();

	if($a7!='' ){

echo '<td>' . $a7 . '</td>';

}else{ }



$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

$_SESSION[detallistaC][allowanceCharge][$row][specialServicesType]=$a8;



echo '<td>' . $a8 . '</td>';

}else{ }



$a11=$worksheet->getCellByColumnAndRow(11,$row)->getValue();

	if($a11!='' ){

echo '<td>' . $a11 . '</td>';

}else{ }



$a12=$worksheet->getCellByColumnAndRow(12,$row)->getValue();

	if($a12!='' ){

echo '<td>' . $a12 . '</td>';

}else{ }



$a13=$worksheet->getCellByColumnAndRow(13,$row)->getValue();

	if($a13!='' ){

$_SESSION[detallistaC][allowanceCharge][$row][base]=$a13;



echo '<td>' . $a13 . '</td>';

}else{ }



$a15=$worksheet->getCellByColumnAndRow(15,$row)->getValue();

	if($a15!='' ){

echo '<td>' . $a15 . '</td>';

}else{ }





$a16=$worksheet->getCellByColumnAndRow(16,$row)->getValue();

	if($a16!='' ){

$_SESSION[detallistaC][allowanceCharge][$row][percentage]=$a16;



echo '<td>' . $a16 . '</td>';

}else{ }

echo '</tr>';

}}

////totalAmount

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

	$_SESSION[detallistaC][totalAmount][$row][Amount]=$a3;

echo '<td>' . $a3 . '</td>';

}else{ }



$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

echo '<td>' . $a4 . '</td>';

}else{ }





echo '</tr>';

}}

////TotalAllowanceCharge

$detallistaLectura = $detallistaLectura + 5 ;

$stop=$stop + 5;

for($row = $stop; $row <= $detallistaLectura; ++$row){



if($worksheet->getCellByColumnAndRow(0,$row )->getValue()!='ejemplo'){

echo '<tr>';

///////////////////////////



$a1=$worksheet->getCellByColumnAndRow(1,$row)->getValue();

	if($a1!='' ){

echo '<td>' . $a1 . '</td>';

}else{ }





$a2=$worksheet->getCellByColumnAndRow(2,$row)->getValue();

	if($a2!='' ){

echo '<td>' . $a2 . '</td>';

}else{ }



////valor

$a3=$worksheet->getCellByColumnAndRow(3,$row)->getValue();

	if($a3!='' ){

$_SESSION[detallistaC][TotalAllowanceCharge][$row][allowanceOrChargeType]=$a3;

echo '<td>' . $a3 . '</td>';

}else{ }



$a4=$worksheet->getCellByColumnAndRow(4,$row)->getValue();

	if($a4!='' ){

echo '<td>' . $a4 . '</td>';

}else{ }



$a5=$worksheet->getCellByColumnAndRow(5,$row)->getValue();

	if($a5!='' ){

echo '<td>' . $a5 . '</td>';

}else{}

////valor

$a6=$worksheet->getCellByColumnAndRow(6,$row)->getValue();

	if($a6!='' ){

$_SESSION[detallistaC][TotalAllowanceCharge][$row][specialServicesType]=$a6;



echo '<td>' . $a6 . '</td>';

}else{ }



$a8=$worksheet->getCellByColumnAndRow(8,$row)->getValue();

	if($a8!='' ){

echo '<td>' . $a8 . '</td>';

}else{ }

////valor

$a9=$worksheet->getCellByColumnAndRow(9,$row)->getValue();

	if($a9!='' ){

$_SESSION[detallistaC][TotalAllowanceCharge][$row][Amount]=$a9;



echo '<td>' . $a9 . '</td>';

}else{ }



$a10=$worksheet->getCellByColumnAndRow(10,$row)->getValue();

	if($a10!='' ){

echo '<td>' . $a10 . '</td>';

}else{ }



echo '</tr>';

}}



?></table><?php

}



}



echo $_SESSION[exito] = '<p style="color:#006600; font-size:24px;">Listo se agregó la addenda</p>';





$_SESSION[xml_armado] = Batch_xmlElement($valor,$value,$value1);



?>

<form method="post" action="xml.php">



<input type="submit" name="web_services" value="Timbrar" />





</form>

<br />

<?php











}else{echo '<p class="ap">Si se encontró un link, presiona para borrar.</p>';}



}else{echo '<p class="ac">No es el RFC Emisor o Receptor</p>'; }



if(empty($_POST['grabar'])){

?>



<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" >



<table border="1" cellpadding="0" cellspacing="0" width="100%" >

<tr>

 <td>







<label>Siguiente</label><br />

<input type="submit" name="grabar"  value="grabar" /><br />



</td></tr>

</table>



</form>

<br />

<?php 

}

$sin_comillas = $_SESSION['xml_armado'];

$sin_comillas = str_replace('"','&quot;',$sin_comillas);

$sin_menosque = str_replace('<','&lt;',$sin_comillas);

$sin_masque = str_replace('>','&gt;',$sin_menosque);

//print_r($_SESSION) ;

?>

<div style="overflow:auto; height:150px; border:#006600 1px solid;">

<?php echo $sin_masque;?>

</div>

<br /><br /><br /><br />



</body>

</html>

