<?php
function get_ctaschpr($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
//      if(empty($tipo)){$tipo='dine';}
     
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and ctas_descri like "%CHEQ%" ';
          $sql_ctas.='and (ctas_descri like "%PROTE%" or ctas_descri like "%DEVUE%") ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
     }

//      echo '===='.$xctas;
     return $xctas;
}

function get_ctaschxcob($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
//      if(empty($tipo)){$tipo='dine';}
     
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and ctas_descri like "%CHEQ%" ';
          $sql_ctas.='and ctas_descri like "%COBR%" ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
          
//           echo '==='.$sql_ctas;
     }

     return $xctas;
}

function get_ctastran($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     if(empty($tipo)){$tipo='dine';}
     
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and ctas_descri like "%'.$tipo.'%" ';
          $sql_ctas.='and ctas_descri like "%TRANSIT%" ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
     }

     return $xctas;
}

function get_ctasinve($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     if(empty($tipo)){$tipo='tran';}
     
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and ctas_descri like "%'.$tipo.'%" ';
          $sql_ctas.='and ctas_descri like "%INVENT%" ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
     }
     
          if(empty($xctas))
          {
               $sql_ctas ='select * from ctas0 ';
               $sql_ctas.='where ctas_codigo like "1%" ';
               $sql_ctas.='and ctas_descri like "%'.$tipo.'%" ';
               $sql_ctas.='and ctas_descri like "%MERCADER%" ';
               $sql_ctas.='order by ctas_codigo desc ';
               $sql_ctas.='limit 1 ';
               $res_ctas = msql_query($sql_ctas, $link_data);
               $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
          }

     return $xctas;
}

function get_ctasxcob($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     if(empty($tipo)){$tipo='defa';}
     
     if($tipo=='defa')
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and (ctas_descri like "%CUEN%" or ctas_descri like "CTA%") ';
          $sql_ctas.='and (ctas_descri like "%POR COBRAR%" or ctas_descri like "%X COBRAR%") ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
     }

     return $xctas;
}

function get_ctasxpag($tipo='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     if(empty($tipo)){$tipo='defa';}
     
     if($tipo=='defa')
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_codigo like "1%" ';
          $sql_ctas.='and (ctas_descri like "%CUEN%" or ctas_descri like "CTA%") ';
          $sql_ctas.='and (ctas_descri like "%POR PAGAR%" or ctas_descri like "%X PAGAR%") ';
          $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
     }

     return $xctas;
}

function get_ctasanti($tipo='C')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
//      if(empty($tipo)){$tipo='defa';}
     
//      if($tipo=='defa')
     {
          $sql_ctas ='select * from ctas0 ';
          $sql_ctas.='where ctas_status!="X" ';
          $sql_ctas.='and (ctas_descri like "%ANTICI%") ';
//           $sql_ctas.='and (ctas_descri not like "%EXTE%") ';
          if($tipo=='C'){$sql_ctas.='and ctas_codigo like "2%" ';}
          if($tipo=='C'){$sql_ctas.='and ctas_descri like "%CLIE%" ';}
          if($tipo=='P'){$sql_ctas.='and ctas_codigo like "1%" ';}
          if($tipo=='P'){$sql_ctas.='and ctas_descri like "%PROV%" ';}
//           $sql_ctas.='order by ctas_codigo desc ';
          $sql_ctas.='order by ctas_codigo  ';
          $sql_ctas.='limit 1 ';
          $res_ctas = msql_query($sql_ctas, $link_data);
          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
          
//           echo '<br>==='.$sql_ctas;
     }

     return $xctas;
}



function get_docucxcp($docu,$numero,$cta='1',$enti='')
{
     if(empty($docu)){return;}
     if(empty($numero)){return;}
     
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

//      $aso_docu=data_docu($docu,$idnum);
     
//      echo '*/*/*/*/*/*'.$enti;
     
     $sql_ctadocum ='select * from cont1 ';
     $sql_ctadocum.='left join cont2 on idnum1=idnum2 ';
     $sql_ctadocum.='left join ctas0 on ctas=ctas_codigo ';
//      $sql_ctadocum.='where ifnull(status,"")!="X" ';
     $sql_ctadocum.='where ifnull(status,"") not in ("O","X") ';
     
//      $sql_ctadocum.='and docu="'.$aso_docu['docu'].'" ';
//      $sql_ctadocum.='and ptoe="'.$aso_docu['ptoe'].'" ';
//      $sql_ctadocum.='and numero="'.$aso_docu['numero'].'" ';
     $sql_ctadocum.='and docu="'.$docu.'" ';
     $sql_ctadocum.='and numero="'.$numero.'" ';
     if(!empty($enti))
     {$sql_ctadocum.='and enti like "'.$enti.'%" ';}
//      $sql_ctadocum.='and idfrom="'.$idnum.'" ';
     
     $sql_ctadocum.='and ctas like "'.$cta.'%" ';
     if($cta==1){$sql_ctadocum.='and cant>0 ';}
     if($cta==2){$sql_ctadocum.='and cant<0 ';}
     $sql_ctadocum.='order by status, fecha desc, idate desc ';
     $res_ctadocum=msql_query($sql_ctadocum,$link_data);
     $xctas=msql_result($res_ctadocum,0,'ctas');
     
     
     if(empty($xctas))
     {
          $sql_ctadocum ='select * from cont1 ';
          $sql_ctadocum.='left join cont2 on idnum1=idnum2 ';
          $sql_ctadocum.='left join ctas0 on ctas=ctas_codigo ';
//           $sql_ctadocum.='where ifnull(status,"")!="X" ';
          $sql_ctadocum.='where ifnull(status,"")not in("O","X") ';
          $sql_ctadocum.='and docu="'.$docu.'" ';
          $sql_ctadocum.='and enti like "'.substr($enti,0,10).'%" ';
          $sql_ctadocum.='and ctas like "'.$cta.'%" ';
          if($cta==1){$sql_ctadocum.='and cant>0 ';}
          if($cta==2){$sql_ctadocum.='and cant<0 ';}
          $sql_ctadocum.='order by fecha desc ';
          $res_ctadocum=msql_query($sql_ctadocum,$link_data);
          $xctas=msql_result($res_ctadocum,0,'ctas');

     }
     
//      echo '<br>=='.$docu;
//      echo '<br>=='.$numero;
//      echo '<br>=='.$sql_ctadocum;
     
     return $xctas;
     
}     
     

function gen_contab($docu,$idnum)
{
//      return;
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

//      echo '<br>==> contab';
//      echo '<br>==> '.$docu;
//      echo '==> '.$idnum;
     
     $idcont=0;
     $docu0=data_maes('docu',$docu);
     $modu=$docu0['docu_tabla'];
     
     $contcabe=$docu0['docu_contcabe'];
     $contdeta=$docu0['docu_contdeta'];
     
     if(empty($contcabe)){$contcabe='R';}
     if(empty($contdeta)){$contdeta='D';}
     
     if(!mb_stristr2('.vtas.comp.caja.bcos.retc.retp.dxco.dxpa.inve.prod.nomi',$modu)){return $idcont;}

     
     $empr0=data_maes('empr',$_SESSION['empr_codigo']);
     $docu1=data_docu($docu,$idnum);

     $fecha_dtr=get_dtr1();
//      if($_SESSION['user_codigo']==2){$fecha_dtr='2022-01-01';}
     
//      echo'=='.$_SESSION['user_codigo'];
//      echo'=='.$fecha_dtr;
     if($docu1['fecha']<=$fecha_dtr){return $idcont;}
     
     if($docu1['status']=='O' or $docu1['status']=='X')
     {
          $sql_stat='update cont1 set status="'.$docu1['status'].'" where status!="'.$docu1['status'].'" and mdfrom="'.$modu.'" and idfrom="'.$idnum.'" limit 1';
          $res_stat=msql_query($sql_stat,$link_data);
          return $idcont;
     }

     
     $sql_info='';
     $info='ddbb';
     include('sele_info.php'); 
     $res_info11=msql_query($sql_info11,$link_data);
     $res_info12=msql_query($sql_info12,$link_data);
     
// echo '===='.$sql_info12;
     
     // obtener el IDNUM de contabilidad
     $sql_idcont='select * from cont1 where mdfrom="'.$modu.'" and idfrom="'.$idnum.'" order by idnum1 desc limit 1';
     $res_idcont=msql_query($sql_idcont,$link_data);
     $idcont=msql_result($res_idcont,0,'idnum1');

     // crea IDNUM en contabilidad si no existe
     if(empty($idcont))
     {
          $sql_inse1='insert into cont1(docu,iuser,idate,status,mdfrom,idfrom)value("'.$docu.'","'.$user_codigo.'",now(),"-","'.$modu.'","'.$idnum.'")' ;
          $res_inse1=msql_query($sql_inse1,$link_data);
          
//           $idcont=msql_insert_id($link_data);
          $res_idcont=msql_query($sql_idcont,$link_data);
          $idcont=msql_result($res_idcont,0,'idnum1');

          if((int)$idcont>0)
          {
//                $sql_updt='update '.$tablad.'1 set numero="000000000" where idnum1='.$idcont.' limit 1';
//                $sql_updt=msql_query($sql_updt,$link_data);
          }
     }
     
//      echo '<br> ';
//      echo '=====> '.$idnum;
//      echo '=====> '.$idcont;
     
     // llena CONT1
     $aso_docu=msql_fetch_assoc($res_info11);
	$sql_stru1='describe cont1';
	$res_stru1=msql_query($sql_stru1,$link_data);
     msql_data_seek($res_stru1);
	while($aso_stru1=msql_fetch_assoc($res_stru1))
	{
          if(!mb_stristr2('.idnum1.iuser.idate.idfrom.mdfrom',trim($aso_stru1['Field'])))
          {
               $valor=$aso_docu[$aso_stru1['Field']];
               $valor=str_replace('"','\"',$valor);
               $sql_updt ='update cont1 set ';
//                $sql_updt.=''.$aso_stru1['Field'].'="'.$aso_docu[$aso_stru1['Field']].'" ';
               $sql_updt.=''.$aso_stru1['Field'].'="'.$valor.'" ';
               $sql_updt.='where idnum1="'.$idcont.'" limit 1';
               $res_updt=msql_query($sql_updt,$link_data);
          }
	}
     $sql_updt ='update cont1 set udate=now() ';
     $sql_updt.='where idnum1="'.$idcont.'" limit 1';
     $res_updt=msql_query($sql_updt,$link_data);
     
     
     // dele cont2
     if((int)$idcont>0)
     {
          $sql_dele='delete from cont2 where idnum2="'.$idcont.'"';
          $res_dele=msql_query($sql_dele,$link_data);
     }
     $iddet=0;

     // llena CONT2
     if($modu=='vtas')
     {
//           deb -> 1cxco
//           cre -> 4vtas
          $signo=1;
          if(substr($docu,0,1)=='N'){$signo=$signo*(-1);}
               
          // cxco
          msql_data_seek($res_info11);
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);

               $zsub0=data_maes('zsub',$aso_docu['enti_zsub']);

               $xcant=abs($aso_docu['total']) *($signo);

               $xctas=$zsub0['zsub_ctaxcob'];
               if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
               if(empty($xctas)){$xctas=get_ctasxcob();}
               
               $xconcepto=$aso_docu['concepto'];
               $xconcepto=str_replace('"','\"',$xconcepto);
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'", ';
//                $sql_updt.='cant="'.abs($aso_docu['total']*($signo)).'", ';
               $sql_updt.='cant="'.$xcant.'", ';
               $sql_updt.='detalle="'.$xconcepto.'", ';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';
               
               $res_updt=msql_query($sql_updt,$link_data);
          }
                    
          // vtas
          if(substr($aso_docu['enti'],0,10)==substr($empr0['empr_ruc'],0,10)){$contdeta='R';}
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tsubt']) *(-$signo);
               
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['lsub_ctavtas'];
//                if(empty($xctas)){$xctas=$aso_docu['item_ctavtas'];}
//                echo '===== '.$xctas;
               
               if(empty($xctas))
               {
                    $sql_ctas ='select * from ctas0 ';
                    $sql_ctas.='where ctas_codigo like "4%" ';
//                     $sql_ctas.='and (ctas_descri like "VENTA%" or ctas_descri like "INGRESO%") ';
                    $sql_ctas.='and (ctas_descri like "VENTA%") ';
                    $sql_ctas.='and length(trim(ctas_codigo))>=4 ';
                    $sql_ctas.='order by ctas_codigo desc ';
                    $sql_ctas.='limit 1 ';
                    $res_ctas = msql_query($sql_ctas, $link_data);
                    $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
               }
               
               if(empty($xctas))
               {
                    $sql_ctas ='select * from ctas0 ';
                    $sql_ctas.='where ctas_codigo like "4%" ';
//                     $sql_ctas.='and (ctas_descri like "VENTA%" or ctas_descri like "INGRESO%") ';
                    $sql_ctas.='and (ctas_descri like "INGRESO%") ';
                    $sql_ctas.='and length(trim(ctas_codigo))>=4 ';
                    $sql_ctas.='order by ctas_codigo desc ';
                    $sql_ctas.='limit 1 ';
                    $res_ctas = msql_query($sql_ctas, $link_data);
                    $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
               }
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'", ';
               $sql_updt.='cant="'.$xcant.'", ';
               $sql_updt.='item="'.$aso_docu['item'].'", ';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'", ';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';
               $res_updt=msql_query($sql_updt,$link_data);
               
//                echo '===='.$sql_updt;
          }

          // dctos
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tdcto']) *($signo);
               
               if($xcant!=0)
               {
                    $iddet++;
                    $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
                    $res_inse=msql_query($sql_inse,$link_data);


                    $xctas=$aso_docu['lsub_ctadcto'];
                    if(empty($xctas)){$xctas=$aso_docu['lsub_ctavtas'];}
                    if(empty($xctas))
                    {
                         $sql_ctas ='select * from ctas0 ';
                         $sql_ctas.='where ctas_codigo like "4%" ';
//                          $sql_ctas.='and (ctas_descri like "VENTA%" or ctas_descri like "INGRESO%") ';
                         $sql_ctas.='and (ctas_descri like "%DESC%" and ctas_descri like "%VENTA%") ';
                         $sql_ctas.='order by ctas_codigo desc ';
                         $sql_ctas.='limit 1 ';
                         $res_ctas = msql_query($sql_ctas, $link_data);
                         $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
                    }

                    $sql_updt ='update cont2 set ';
                    $sql_updt.='ctas="'.$xctas.'", ';
                    $sql_updt.='cant="'.$xcant.'", ';
                    $sql_updt.='item="'.$aso_docu['item'].'", ';
                    $sql_updt.='detalle="DSCTO %'.number_format($aso_docu['dcto'],2).'", ';
                    $sql_updt.='idate2=now() ';
                    $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';

                    $res_updt=msql_query($sql_updt,$link_data);
               }
               
          }
          
          // iva
          $res_docu=$res_info11;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tiva']) *(-$signo);
               
               if($xcant!=0)
               {
                    $iddet++;
                    $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
                    $res_inse=msql_query($sql_inse,$link_data);

                    $xctas=$aso_docu['docu_ctaiva'];
                    if(empty($xctas))
                    {
                         $sql_ctas ='select * from ctas0 ';
                         $sql_ctas.='where ctas_codigo like "2%" ';
                         $sql_ctas.='and (ctas_descri like "%IVA%" and ctas_descri like "%COBRA%") ';
                         $sql_ctas.='order by ctas_codigo desc ';
                         $sql_ctas.='limit 1 ';
                         $res_ctas = msql_query($sql_ctas, $link_data);
                         $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
//                          echo '==='.$sql_ctas;
                    }
                    
                    
                    if(empty($xctas))
                    {
                         $sql_ctas ='select * from civa0 ';
                         $sql_ctas.='where civa_porc ="'.$aso_docu['iva'].'" ';
                         $sql_ctas.='order by civa_codigo desc ';
                         $sql_ctas.='limit 1 ';
                         $res_ctas = msql_query($sql_ctas, $link_data);
                         $xctas=msql_result($res_ctas, 0, 'civa_ctavtas');
                    }
                    
                    if(empty($xctas))
                    {
                         $sql_ctas ='select * from civa0 ';
                         $sql_ctas.='where ifnull(civa_ctavtas,"")!="" ';
                         $sql_ctas.='and civa_ctavtas like "2%"';
                         $sql_ctas.='order by civa_codigo desc ';
                         $sql_ctas.='limit 1 ';
                         $res_ctas = msql_query($sql_ctas, $link_data);
                         $xctas=msql_result($res_ctas, 0, 'civa_ctavtas');
                    }
                    
                    
                    
                    
                    
                    $sql_updt ='update cont2 set ';
                    $sql_updt.='ctas="'.$xctas.'", ';
                    $sql_updt.='cant="'.$xcant.'", ';
                    $sql_updt.='detalle="IVA %'.$aso_docu['iva'].'", ';
                    $sql_updt.='idate2=now() ';
                    $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';

                    $res_updt=msql_query($sql_updt,$link_data);
     //                echo '<br>== '.$aso_docu['lsub_codigo'];
               }
               
          }
               
     }

     if($modu=='comp')
     {
//           cre -> 2cxpa
//           deb -> 5comp
          $signo=1;
          if(substr($docu,0,1)=='N'){$signo=-$signo;}

          
          $tpro0=data_maes('tpro',$aso_docu['enti_tpro']);
          
          // cxpa
          msql_data_seek($res_info11);
          {
               $xcant=abs($aso_docu['total'])*(-$signo);
               
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);

//                echo '<br>==== '.$aso_docu['tpro_ctaxpag'];
               $xctas=$aso_docu['tpro_ctaxpag'];
               if(empty($xctas)){$xctas=$aso_docu['enti_ctaxpag'];}
               if(empty($xctas)){$xctas=get_ctasxpag();}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'", ';
               $sql_updt.='cant="'.$xcant.'", ';
               $sql_updt.='detalle="'.$aso_docu['concepto'].'", ';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';
               
               $res_updt=msql_query($sql_updt,$link_data);
          }
                    
          // comp
//           echo '===='.$sql_info12;
          $sql_info13=$sql_info12;
          $sql_info13=str_replace('group by idnum1,iddet','group by ctas,item order by ctas,item ',$sql_info13);
          $res_info13=msql_query($sql_info13,$link_data);     
          
               
          $res_docu=$res_info12;
          $res_docu=$res_info13;
          if($docu=='FP15'){$res_docu=$res_info11;}
//           if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tsubt']) *($signo);
               
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['ctas'];
               if(empty($xctas)){$xctas=$aso_docu['tpro_ctacomp'];}
               if(empty($xctas)){$xctas=$aso_docu['cair_ctacont5'];}
               if(empty($xctas))
               {
//                     $sql_ctas ='select * from ctas0 ';
//                     $sql_ctas.='where ctas_codigo like "52%" ';
//                     $sql_ctas.='and (ctas_descri like "VENTA%" or ctas_descri like "INGRESO%") ';
//                     $sql_ctas.='order by ctas_codigo desc ';
//                     $sql_ctas.='limit 1 ';
//                     $res_ctas = msql_query($sql_ctas, $link_data);
//                     $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
               }
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'", ';
               $sql_updt.='cant="'.$xcant.'", ';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'", ';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';
               $res_updt=msql_query($sql_updt,$link_data);
               
               if(!empty($xctas)){$xctasdefa=$xctas;}
          }

          // dctos
          $res_docu=$res_info11;
//           if($contdeta=='D'){$res_docu=$res_info12;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tdcto']) *(-$signo);
               
               if($xcant!=0)
               {
                    $iddet++;
                    $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
                    $res_inse=msql_query($sql_inse,$link_data);

                    $xctas=$aso_docu['ctas'];
                    if(empty($xctas)){$xctas=$aso_docu['tpro_ctacomp'];}
                    if(empty($xctas))
                    {
//                          $sql_ctas ='select * from ctas0 ';
//                          $sql_ctas.='where ctas_codigo like "4%" ';
//                          $sql_ctas.='and (ctas_descri like "%DESC%" and ctas_descri like "%VENTA%") ';
//                          $sql_ctas.='order by ctas_codigo desc ';
//                          $sql_ctas.='limit 1 ';
//                          $res_ctas = msql_query($sql_ctas, $link_data);
//                          $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
                    }

                    $sql_updt ='update cont2 set ';
                    $sql_updt.='ctas="'.$xctas.'", ';
                    $sql_updt.='cant="'.$xcant.'", ';
                    $sql_updt.='item="'.$aso_docu['item'].'", ';
                    $sql_updt.='detalle="DSCTO %'.number_format($aso_docu['dcto'],2).'", ';
                    $sql_updt.='idate2=now() ';
                    $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';

                    $res_updt=msql_query($sql_updt,$link_data);
               }
               
          }

          
          // prop
          $res_docu=$res_info11;
//           if($contdeta=='D'){$res_docu=$res_info12;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tprop']) *($signo);
               if($xcant!=0)
               {
               
                    $iddet++;
                    $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
                    $res_inse=msql_query($sql_inse,$link_data);

                    $xctas=$aso_docu['ctas'];
                    if(empty($xctas)){$xctas=$aso_docu['tpro_ctacomp'];}
                    if(empty($xctas)){$xctas=$aso_docu['cair_ctacont5'];}
                    if(empty($xctas))
                    {
     //                     $sql_ctas ='select * from ctas0 ';
     //                     $sql_ctas.='where ctas_codigo like "52%" ';
     //                     $sql_ctas.='and (ctas_descri like "VENTA%" or ctas_descri like "INGRESO%") ';
     //                     $sql_ctas.='order by ctas_codigo desc ';
     //                     $sql_ctas.='limit 1 ';
     //                     $res_ctas = msql_query($sql_ctas, $link_data);
     //                     $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
                    }

                    $sql_updt ='update cont2 set ';
                    $sql_updt.='ctas="'.$xctas.'", ';
                    $sql_updt.='cant="'.$xcant.'", ';
     //                $sql_updt.='detalle="'.$aso_docu['detalle'].'", ';
                    $sql_updt.='detalle="Propina %'.$aso_docu['prop'].'", ';
                    $sql_updt.='idate2=now() ';
                    $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';
                    $res_updt=msql_query($sql_updt,$link_data);

//                     if(!empty($xctas)){$xctasdefa=$xctas;}
                                   
               }

          }
               
          
          
          
          // iva
          $res_docu=$res_info11;
//           if($contdeta=='D'){$res_docu=$res_info12;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xcant=abs($aso_docu['tiva']) *($signo);
//                echo '=';
               if($xcant!=0)
               {
                    $iddet++;
                    $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
                    $res_inse=msql_query($sql_inse,$link_data);

                    $xctas=$aso_docu['docu_ctaiva'];
                    if(empty($xctas))
                    {
                         $sql_ctas ='select * from ctas0 ';
                         $sql_ctas.='where ctas_codigo like "1%" ';
                         $sql_ctas.='and (ctas_descri like "%IVA%" and ctas_descri like "%PAGA%") ';
                         $sql_ctas.='order by ctas_codigo desc ';
                         $sql_ctas.='limit 1 ';
                         $res_ctas = msql_query($sql_ctas, $link_data);
                         $xctas=msql_result($res_ctas, 0, 'ctas_codigo');
//                          echo '==='.$sql_ctas;
                    }
                    
                    $sql_updt ='update cont2 set ';
                    $sql_updt.='ctas="'.$xctas.'", ';
                    $sql_updt.='cant="'.$xcant.'", ';
                    $sql_updt.='detalle="IVA %'.$aso_docu['iva'].'", ';
                    $sql_updt.='idate2=now() ';
                    $sql_updt.='where idnum2='.$idcont.' and iddet='.$iddet.'';

                    $res_updt=msql_query($sql_updt,$link_data);
     //                echo '<br>== '.$aso_docu['lsub_codigo'];
               }
               
          }
               
     }

     if($modu=='inve')
     {
          $signo=1;
          if(substr($docu,0,1)=='E'){$signo=-$signo;}

          $sql_info13=$sql_info12;
//           $sql_info13=str_replace('group by idnum1,iddet','group by item_lsub,item order by item_lsub,item ',$sql_info13);
          $sql_info13=str_replace('group by idnum1,iddet','group by item_lsub order by item_lsub,item ',$sql_info13);
          $res_info13=msql_query($sql_info13,$link_data);     
          
//           echo '==='.$sql_info13;
               
          //inve
          $res_docu=$res_info12;
//           if($contcabe=='R'){$res_docu=$res_info11;}
          if($contcabe=='R'){$res_docu=$res_info13;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['lsub_ctainve'];
               
               if(empty($xctas))
               {
                   $sql_lsub='select * from lsub0 where lsub_codigo like "'.trim(substr($aso_docu['lsub_codigo'],0,5)).'%"';
                   $res_lsub=msql_query($sql_lsub,$link_data);
                   $xctas=msql_result($res_lsub,0,'lsub_ctainve');
               }
               
               if(empty($xctas))
               {
                   $sql_ctas='select * from ctas0 where ctas_codigo like "1%" and ctas_descri like "INVENTARIO%" order by ctas_codigo ';
                   $res_ctas=msql_query($sql_ctas,$link_data);
                   $xctas=msql_result($res_ctas,0,'ctas_codigo');
               }
               
//                echo '====>'.$xctas;
               
//                if(mb_stristr2('.IB13.EB13.IB18.EB18.',$docu))
               if(mb_stristr2('.IB18.EB18.',$docu))
               {
//                     {$xctas=get_ctasinve('TRANSIT');}
//                     if(empty($xctas)){$xctas=get_ctasinve('TRANSIT');}
//                     if(empty($xctas)){$xctas=get_ctasinve('NSITO');}
               }
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo.'",';
               if($contcabe=='D')
               {
                   $sql_updt.='item="'.$aso_docu['item'].'",';
                   $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               }
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);

//                echo '*//*'.$sql_updt;
          }
          
          // inve contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info13;}
          if(mb_stristr2('.IB10.IB15.EB12',$docu)){$res_docu=$res_info13;}
          
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
//                $xctas='9999999999';
               $xctas='';
               
               if(mb_stristr2('.IB10.IB15.EB12',$docu)){$xctas=$aso_docu['lsub_ctacomp'];}
               if(mb_stristr2('.EB10.EB15.IB12',$docu)){$xctas=$aso_docu['lsub_ctacvta'];}
               if(mb_stristr2('.EB19',$docu)){$xctas=$aso_docu['docu_ctadeb'];}

               if(mb_stristr2('.IB10.EB12',$docu)){$xctas=get_ctastran('INVEN');}
               if(mb_stristr2('.IB15.',$docu)){$xctas=get_ctastran('IMPOR');}

               if(mb_stristr2('.EB14',$docu)){$xctas=$aso_docu['docu_ctadeb'];}
               if(mb_stristr2('.IB14',$docu)){$xctas=$aso_docu['docu_ctacre'];}
//                if(mb_stristr2('.IB14.EB14',$docu)){$xctas=get_ctasinve('PROCESO');}

//                echo '===='.$xctas;
               if(empty($xctas))
               {
                   $sql_lsub='select * from lsub0 where lsub_codigo like "'.trim(substr($aso_docu['lsub_codigo'],0,5)).'%"';
                   $res_lsub=msql_query($sql_lsub,$link_data);

                   if(mb_stristr2('.IB10.IB15.EB12',$docu))
                   {$xctas=msql_result($res_lsub,0,'lsub_ctacomp');}
                   
                   if(mb_stristr2('.EB10.EB15.IB12',$docu))
                   {$xctas=msql_result($res_lsub,0,'lsub_ctacvta');}

                   if(mb_stristr2('.IB11.EB11',$docu))
                   {$xctas=msql_result($res_lsub,0,'lsub_ctacvta');}

//                    if(mb_stristr2('.IB17.EB17',$docu))
//                    {$xctas=msql_result($res_lsub,0,'lsub_ctacvta');}

               }
               
               if(mb_stristr2('.EB17.',$docu)){$xctas = '510103';}
               if(mb_stristr2('.IB17.',$docu)){$xctas = '4114';}
               
               if(mb_stristr2('.EB17.',$docu)){$xctas=$aso_docu['docu_ctadeb'];}
               if(mb_stristr2('.IB17.',$docu)){$xctas=$aso_docu['docu_ctacre'];}
               
               if(mb_stristr2('.IB13.EB13.IB18.EB18..IB10.IBX15',$docu))
               {
                    {$xctas=get_ctasinve('TRANSIT');}
                    if(empty($xctas)){$xctas=get_ctasinve('TRANSIT');}
                    if(empty($xctas)){$xctas=get_ctasinve('NSITO');}
               }
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
//                $sql_updt.='cant="'.abs($aso_docu['cant']*$aso_docu['puni'])*$signo*(-1).'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
               
          }
          
     }
     
     if($modu=='tsor')
     {}

     
     if($modu=='caja')
     {
          $signo=1;
          if(substr($docu,0,1)=='E'){$signo=-$signo;}
//           if(substr($docu,0,1)=='A'){$signo=$signo;}
          if($docu=='AC11'){$signo=$signo;}
          if($docu=='AP11'){$signo=-$signo;}
          if($docu=='IV11'){$signo=-$signo;}

               $zsub0=data_maes('zsub',$aso_docu['enti_zsub']);
               $tpro0=data_maes('tpro',$aso_docu['enti_tpro']);
          
          
          //caja
//           $contcabe=1;
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['caja_ctacont'];
               // cta cheque por cobrar
               
               if($docu=='ICH1'){$xctas=get_ctaschxcob();}
               if($docu=='ECH1'){$xctas=get_ctaschxcob();}
               
               
               if(empty($xctas))
               {
                    $sql_ctas='select * from ctas0 where ctas_codigo like "1%" and ctas_descri like "CAJA%" order by ctas_codigo desc limit 1';
                    $res_ctas=msql_query($sql_ctas,$link_data);
                    $xctas=msql_result($res_ctas,0,'ctas_codigo');
               }
               if(empty($xctas)){$xctas='10101';}

//                if($aso_docu['docu']=='AC11'){$xctas=get_ctasanti('C');}
//                if($aso_docu['docu']=='AP11'){$xctas=get_ctasanti('P');}

               
               if($aso_docu['docu']=='AC11')
               {
                    $xctas='';
                    if(empty($xctas)){$xctas=$tpro0['zsub_ctaacli'];}
                    if(empty($xctas)){$xctas=get_ctasanti('C');}
               }
               
               if($aso_docu['docu']=='AP11')
               {
                    $xctas='';
                    if(empty($xctas)){$xctas=$tpro0['tpro_ctaapro'];}
                    if(empty($xctas)){$xctas=get_ctasanti('P');}
               }
               
               
               
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo.'",';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
//                echo '===='.$sql_updt;
               
          }

          
          
          // caja contrapartida
          $res_docu=$res_info12;
//           echo '==='.$contdeta;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas='9999999999';
               $xctas=$aso_docu['ctas'];
               if(substr($docu,2,2)=='13'){$xctas=get_ctastran('DINE');}
               if($aso_docu['docu']=='IV11'){$xctas=get_ctastran('DINE');}
               if($aso_docu['docum']=='DB10'){$xctas=get_ctastran('DINE');}

               if(mb_stristr2('.FC.AC',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'1');
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
                    if(empty($xctas)){$xctas=get_ctasxcob();}
               }
               
               if(mb_stristr2('.FP.AP',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'2');
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxpag'];}
                    if(empty($xctas)){$xctas=get_ctasxpag();}
               }
               
               if(mb_stristr2('.PR',substr($aso_docu['docum'],0,2)))
               {
                    if(empty($xctas)){$xctas=get_ctaschpr();}
               }
               
               $xdetalle=$aso_docu['detalle'];
               if(empty($xdetalle))
               {$xdetalle.=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          
          }
          
     }
     
     
     if($modu=='bcos')
     {
          $signo=1;
          // DB DC
//           if(substr($docu,0,2)=='CH'){$signo=-$signo;}
          if(mb_stristr2('.DP.CH.ND.PR.EV',substr($docu,0,2))){$signo=-$signo;}

               $zsub0=data_maes('zsub',$aso_docu['enti_zsub']);
               $tpro0=data_maes('tpro',$aso_docu['enti_tpro']);
          
          
          //bcos
//           $contcabe=1;
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['ctab_ctacont'];
               
               if(empty($xctas))
               {
                    $sql_ctas='select * from ctas0 where ctas_codigo like "1%" and ctas_descri like "BANCO%" order by ctas_codigo desc limit 1';
                    $res_ctas=msql_query($sql_ctas,$link_data);
                    $xctas=msql_result($res_ctas,0,'ctas_codigo');
               }
               if(empty($xctas)){$xctas='10101';}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo.'",';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          }
          
          // bcos contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas='9999999999';
               $xctas=$aso_docu['ctas'];
               
//                echo '==========='.$xctas;
               
               if(!empty($aso_docu['caba2'])){$xctas=get_ctastran('DINE');}
               
               if(substr($docu,2,2)=='13'){$xctas=get_ctastran('DINE');}
               
               if(mb_stristr2('.FC.AC.',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'1');
                    if(empty($xctas)){$xctas=$zsub0['zsub_ctaxcob'];}
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
                    if(empty($xctas)){$xctas=get_ctasxcob();}
               }
               
               if(mb_stristr2('.FP.AP.',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'2');
                    if(empty($xctas)){$xctas=$tpro0['tpro_ctaxpag'];}
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxpag'];}
                    if(empty($xctas)){$xctas=get_ctasxpag();}
               }
               
               if(mb_stristr2('.PR',substr($aso_docu['docu'],0,2)))
               {
                    if(empty($xctas)){$xctas=get_ctaschpr();}
               }
               
               if(mb_stristr2('.PR',substr($aso_docu['docum'],0,2)))
               {
                    if(empty($xctas)){$xctas=get_ctaschpr();}
               }
               
               if($docu=='DP90')
               {
                //   $xctas=get_ctastran('DINE');
                   $xctas=$aso_docu['docu_ctadeb'];
                   
               }
               
//                if($aso_docu['docum']=='AC10'){$xctas=get_ctasanti('C');}
//                if($aso_docu['docum']=='AP10'){$xctas=get_ctasanti('P');}
               
//                if($aso_docu['docum']=='AC10'){$xctas=get_ctasxcob();}
//                if($aso_docu['docum']=='AP10'){$xctas=get_ctasxpag();}
               
               if($docu=='ND17'){$xctas=get_ctastran('DINE');}
               
               $xdetalle=$aso_docu['detalle'];
               if(empty($xdetalle))
               {$xdetalle.=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
               
//                echo '====='.$sql_updt;
          }
          
     }
     
     if($modu=='retc')
     {
          //retc
          $signo=1;
          
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas=$aso_docu['cair_ctacont1'];
               $xdetalle.=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];

               if(mb_stristr2('.FC.',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'1');
                    if(empty($xctas)){$xctas=$aso_docu['zsub_ctaxcob'];}
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
                    if(empty($xctas)){$xctas=get_ctasxcob();}
               }
               if($docu=='RBCO'){$xctas=get_ctastran('DINE');}
               if($aso_docu['cod_cair']=='344A'){$xctas=get_ctastran('DINE');}
               
//                echo '==='.;
//                echo '=-=-=-='.$xctas;
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
//                $sql_updt.='cair="'.$aso_docu['cair'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          }
          
          // retc contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               $xctas='9999999999';
               
//                if((int)$aso_docu['cair']>=300)
//                {$xctas=$aso_docu['cair_ctaxcob'];}

               
               if((int)$aso_docu['cair']>=300)
               {
                    $xctas=$aso_docu['cair_ctacont1'];
                    if(empty($xctas))
                    {
                         $sql_cair='select * from cair0 where cair_codigo*1>=300 and ifnull(cair_ctacont1,"")!="" ';
                         $res_cair=msql_query($sql_cair,$link_data);
                         $xctas=msql_result($res_cair,0,'cair_ctacont1');
                    }
                    
               }
               
               if((int)$aso_docu['cair']<300)
               {
                    $sql_civa='select * from civa0 where ifnull(civa_ctaretc,"")!="" ';
                    $res_civa=msql_query($sql_civa,$link_data);
                    $xctas=msql_result($res_civa,0,'civa_ctaretc');
                    
                    if(!empty($xctas))
                    {
                        $sql_civa='select * from ctas0 where ctas_codigo like "'.$xctas.'%" and ctas_descri like "%'.(int)$aso_docu['puni'].'%"';
                        $res_civa=msql_query($sql_civa,$link_data);
                        if(msql_num_rows($res_civa)!=0)
                        {$xctas=msql_result($res_civa,0,'ctas_codigo');}
                    }
               }
               
               

               
               
//                echo '<br>*/*/*/*/*/*/*'.$xctas;
               
               
               $xdetalle=$aso_docu['detalle'];
//                $xdetalle=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='cair="'.$aso_docu['cair'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
               
          }
          
     }
     
     if($modu=='retp')
     {
          //retp
          $signo=-1;
          
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
//                $xctas=$aso_docu['cair_ctacont2'];
               $xdetalle.=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];

//                echo '*/*/*'.$aso_docu['enti'];
               
//                if($docu=='RBCO'){$xctas=get_ctastran('DINE');}
               if(mb_stristr2('.FP.',substr($aso_docu['docum'],0,2)))
               {
                    $xctas=get_docucxcp($aso_docu['docum'],$aso_docu['numer'],'2',$aso_docu['enti']);
                    if(empty($xctas)){$xctas=$aso_docu['zsub_ctaxcob'];}
                    if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
                    if(empty($xctas)){$xctas=get_ctasxcob();}
               }
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
//                $sql_updt.='cair="'.$aso_docu['cair'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          }
          
          // retp contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               $xctas='9999999999';
               
//                if((int)$aso_docu['cair']>=300){$xctas=$aso_docu['cair_ctaxpag'];}
               if((int)$aso_docu['cair']>=300)
               {
                    $xctas=$aso_docu['cair_ctacont2'];
                    if(empty($xctas))
                    {
                         $sql_cair='select * from cair0 where cair_codigo*1>=300 and ifnull(cair_ctacont2,"")!="" ';
                         $res_cair=msql_query($sql_cair,$link_data);
                         $xctas=msql_result($res_cair,0,'cair_ctacont2');
                    }
               }
               
               
               
               if((int)$aso_docu['cair']<300)
               {
                    $sql_civa='select * from civa0 where ifnull(civa_ctaretp,"")!="" ';
                    $res_civa=msql_query($sql_civa,$link_data);
                    $xctas=trim(msql_result($res_civa,0,'civa_ctaretp'));
                    
                    if(!empty($xctas))
                    {
                        $sql_civa='select * from ctas0 where ctas_codigo like "'.$xctas.'%" and ctas_descri like "%'.(int)$aso_docu['puni'].'%"';
                        $res_civa=msql_query($sql_civa,$link_data);
                        if(msql_num_rows($res_civa)!=0)
                        {$xctas=msql_result($res_civa,0,'ctas_codigo');}
                    }
                    
                    
                    
                    
               }
               
               
               $xdetalle=$aso_docu['detalle'];
//                $xdetalle=$aso_docu['docum'].' - '.$aso_docu['ptoem'].'-'.$aso_docu['numer'];
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='cair="'.$aso_docu['cair'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
               
          }
          
     }
     
     if($modu=='dxco')
     {
          $signo=-1;
          if(substr($docu,0,1)=='A'){$signo=1;}
//           echo '===='.$signo;
          $zsub0=data_maes('zsub',$aso_docu['enti_zsub']);
          
//           $contcabe=1;
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas='';
               if(empty($xctas))
               {
//                     $sql_ctas='select * from ctas0 where ctas_codigo like "1%" and ctas_descri like "CAJA%" order by ctas_codigo desc limit 1';
//                     $res_ctas=msql_query($sql_ctas,$link_data);
//                     $xctas=msql_result($res_ctas,0,'ctas_codigo');
               }
               
               $xctas=$zsub0['zsub_ctaxcob'];
               if(empty($xctas)){$xctas=$aso_docu['enti_ctaxcob'];}
               if(empty($xctas)){$xctas=get_ctasxcob();}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo.'",';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          }

          //  contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
//                $xctas='9999999999';
//                $xctas=$aso_docu['ctas'];
//                if(substr($docu,2,2)=='13'){$xctas=get_ctastran('DINE');}

//           echo '==========='.$aso_docu['docum'];
//           echo '==========='.$aso_docu['numero'];
//           echo '==========='.$aso_docu['numer'];
               
               
               

               $xctas=$aso_docu['ctas'];
               
               if($aso_docu['docu']=='AC10'){$xctas=get_ctasanti('C');}
               if($aso_docu['docu']=='AP10'){$xctas=get_ctasanti('P');}

               if($aso_docu['docu']=='CC17'){$xctas=$aso_docu['docu_ctadeb'];}
               if($aso_docu['docu']=='CC19'){$xctas=$aso_docu['docu_ctadeb'];}
               
               if($aso_docu['docu']=='XC17'){$xctas=$aso_docu['docu_ctadeb'];}
               
               if(mb_stristr2('.PR.',substr($aso_docu['docum'],0,2))){$xctas=get_ctaschxcob();}
               
               $xdetalle=$aso_docu['detalle'];
               if(empty($xdetalle))
               {$xdetalle.=$aso_docu['docu'].' - '.$aso_docu['ptoe'].'-'.$aso_docu['numero'];}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
//                echo '====='.$sql_updt;
               
          
          }

// echo'============'.$docu1['docu'];
//           var
          
//           if(1==2)
          if($docu1['docu']=='CC19')
          {
               
               $sql_vtas='select * from cont1 left join cont2 on idnum1=idnum2 ';
               $sql_vtas.='where ifnull(status,"")not in("X") ';
               $sql_vtas.='and docu="'.$docu1['docum'].'" ';
               $sql_vtas.='and ptoe="'.$docu1['ptoem'].'" ';
               $sql_vtas.='and numero="'.$docu1['numer'].'" ';
               $res_vtas=msql_query($sql_vtas,$link_data);
               
               
               $sql_dele='delete from cont2 where idnum2="'.$idcont.'"';
               $res_dele=msql_query($sql_dele,$link_data);
               
               while($aso_vtas=msql_fetch_assoc($res_vtas))
               {
//                     echo'<br>';
//                     echo $aso_vtas['ctas'];
//                     echo $aso_vtas['cant'];
                    $sql_inse='insert into cont2(idnum2,iddet,ctas,cant,detalle,idate2)';
                    $sql_inse.='value("'.$idcont.'","'.$aso_vtas['iddet'].'","'.$aso_vtas['ctas'].'","'.$aso_vtas['cant']*(-1).'","'.$aso_vtas['detalle'].'",now())';
                    $res_inse=msql_query($sql_inse,$link_data);
//                     echo '<br>=== '.$sql_inse;
                    
               }

               
//                $xctas=$res_info11['docu_ctacre'];
               
//                echo '<br>==='.$xctas;
//                $sql_updt='update cont2 set ctas="'.$xctas.'" where idnum2="'.$idcont.'" and left(ctas,1)="2" ';
               $sql_updt='update cont2 left join ctas0 on ctas=ctas_codigo set ctas="'.$xctas.'"  ';
               $sql_updt.='where ctas_descri like "IVA%" and idnum2="'.$idcont.'" and left(ctas,1)="2" ';
               $res_updt=msql_query($sql_updt,$link_data);
               
//                echo '<br>==='.$sql_updt;
               
               
          }

          
     }
     
     if($modu=='dxpa')
     {
          $signo=-1;
          if(substr($docu,0,1)=='A'){$signo=-1;}
          
          $tpro0=data_maes('tpro',$aso_docu['enti_tpro']);
          
//           $contcabe=1;
          $res_docu=$res_info12;
          if($contcabe=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
               $xctas='';
               if(empty($xctas))
               {
//                     $sql_ctas='select * from ctas0 where ctas_codigo like "1%" and ctas_descri like "CAJA%" order by ctas_codigo desc limit 1';
//                     $res_ctas=msql_query($sql_ctas,$link_data);
//                     $xctas=msql_result($res_ctas,0,'ctas_codigo');
               }

               $xctas=$tpro0['tpro_ctaxpag'];
               if(empty($xctas)){$xctas=$aso_docu['enti_ctaxpag'];}
               if(empty($xctas)){$xctas=get_ctasxpag();}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo.'",';
               $sql_updt.='detalle="'.$aso_docu['detalle'].'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);

               
          }

          //  contrapartida
          $res_docu=$res_info12;
          if($contdeta=='R'){$res_docu=$res_info11;}
          msql_data_seek($res_docu);
          while($aso_docu=msql_fetch_assoc($res_docu))
          {
               $xctas='';
               $iddet++;
               $sql_inse='insert into cont2(idnum2,iddet)value("'.$idcont.'","'.$iddet.'")';
               $res_inse=msql_query($sql_inse,$link_data);
               
//                if($aso_docu['docu']=='AC10'){$xctas=get_ctasanti('C');}
//                echo '==='.$xctas;
               if($aso_docu['docu']=='AP10')
               {
                    if(empty($xctas)){$xctas=$tpro0['tpro_ctaapro'];}
                    if(empty($xctas)){$xctas=get_ctasanti('P');}
               }
//                echo '==='.$xctas;
               
               $xdetalle=$aso_docu['detalle'];
               if(empty($xdetalle))
               {$xdetalle.=$aso_docu['docu'].' - '.$aso_docu['ptoe'].'-'.$aso_docu['numero'];}
               
               $sql_updt ='update cont2 set ';
               $sql_updt.='ctas="'.$xctas.'",';
               $sql_updt.='item="'.$aso_docu['item'].'",';
               $sql_updt.='cant="'.abs($aso_docu['total'])*$signo*(-1).'",';
               $sql_updt.='docum="'.$aso_docu['docum'].'",';
               $sql_updt.='ptoem="'.$aso_docu['ptoem'].'",';
               $sql_updt.='numer="'.$aso_docu['numer'].'",';
               $sql_updt.='detalle="'.$xdetalle.'",';
               $sql_updt.='idate2=now() ';
               $sql_updt.='where idnum2="'.$idcont.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_data);
               
          
          }
          
     }
     
     if($modu=='nomi')
     {}

     
     if($modu=='comp')
     {
          $sql_updt='update comp2 set ctas="'.$xctasdefa.'" where ifnull(ctas,"")="" and idnum2="'.$idnum.'"';
          $res_upd=msql_query($sql_updt,$link_data);
     }

     $sql_updt='update cont2 set ctas="'.$xctasdefa.'" where ifnull(ctas,"")="" and idnum2="'.$idcont.'"';
     $res_upd=msql_query($sql_updt,$link_data);
     
     $sql_updt='update cont2 set ctas="9999999999" where ifnull(ctas,"")="" and idnum2="'.$idcont.'"';
     $res_upd=msql_query($sql_updt,$link_data);
     
     
     if(mb_stristr2('.imcp',$empr0['empr_codigo']))
     {gen_ingr_difer($docu1['docu'], $docu1['idnum1']);}
     
     return $idcont;
     
}



function gen_ingr_difer($docu, $idnum)
{
//////////////////////////////     

     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}
     
     if(empty($docu)){return;}
     if(empty($idnum)){return;}
     $ctaingredife = '2020901';

     
     if(mb_stristr2('.FC.NC',substr($docu,0,2)))
     {
          $xvtas_ing_difer = vtas_ingr_difer($docu, $idnum);
          if($xvtas_ing_difer == 0){return;}
          $sql_cont = 'select * from cont1 where docu="' . $docu . '" and idnum1>0 and lower(mdfrom)="vtas" and idfrom="' . $idnum . '" and status!="X"';
          $res_cont = msql_query($sql_cont, $link_data);
          if (msql_num_rows($res_cont) == 1)
          {
            $idcont = msql_result($res_cont, 0, 'idnum1');
            {
                $sql_updt = 'update cont2 set ctas="' . $ctaingredife . '" where idnum2="' . $idcont . '" and ctas like "4%"';
                $res_updt = msql_query($sql_updt, $link_data);
            }
          }
     }
     
     if(mb_stristr2('.EB10.IB12',substr($docu,0,4)))
     {
          $cantidad = 0;
          $xtingdif = 0;
          $xidvtas = get_idvtas($docu, $idnum);

          $docu2='FC10';
          if(substr($docu,0,2)=='IB'){$docu2='NC10';}

          $xvtas_ing_difer = vtas_ingr_difer($docu2, $xidvtas);
          if($xvtas_ing_difer == 0){return;}

//      echo '====='.$docu2.$xidvtas.$xvtas_ing_difer;
          $sql_cont = 'select * from cont1 left join cont2 on idnum1=idnum2 where docu="' . $docu . '" and idnum1>0 and lower(mdfrom)="inve" and idfrom="' . $idnum . '" and status!="X"';
          $res_cont = msql_query($sql_cont, $link_data);
          $idcont=msql_result($res_cont,0,'idnum1');
          $iddet=msql_num_rows($res_cont);     
          
//      echo '====='.$sql_cont;
          if (msql_num_rows($res_cont) != 0)
          {
               $sql_info='';
               $info='ddbb';
               include('sele_info.php'); 
               $res_info11=msql_query($sql_info11,$link_data);
               $res_info12=msql_query($sql_info12,$link_data);
               
               $res_info12 = msql_query($sql_info12, $link_data);
               while ($aso_info12 = msql_fetch_assoc($res_info12))
               {
                    $xitem = $aso_info12['item'];
                    $xlsub = $aso_info12['item_lsub'];
                    $xbode = $aso_info12['bode'];
                    $xcant = $aso_info12['tcantd'];
                    $xctas = $aso_info12['item_ctainve'];

                    $stran = - 1;
                    $xctas = '';
                    if ($xctas == ''){$xctas = $aso_info12['docu_ctacre'];};
                    if ($xctas == ''){$xctas = $aso_info12['lsub_ctavtas'];};
                    if ($xctas == ''){$xctas = '4101';}

                    $iddet++;
                    $sql_upd2 = 'insert into cont2(idnum2,iddet,cant)value("' . $idcont . '","' . $iddet . '","' . $total . '")';
                    $res_upd2 = msql_query($sql_upd2, $link_data);
                    

                    $xpvta = 0;
                    $sql_pvta = 'select * from vtas2 where idnum2=' . $xidvtas . ' and item="' . $xitem . '"';
                    $res_pvta = msql_query($sql_pvta, $link_data);
                    if (msql_num_rows($res_pvta) != 0)
                    {$xpvta = msql_result($res_pvta, 0, 'puni');}

                    $cantidad = $aso_info12['cant'] * $xpvta;
                    if(substr($docu,0,2)=='IB'){$cantidad=$cantidad*-1;}

               $sql_upd2 = 'update cont2 set ';
               $sql_upd2 .= 'ctas="' . $xctas . '", ';
               // 					$sql_upd2.=' cant='.$r_deta['tcantd']*$r_deta['pvta'].'*-1,';
               $sql_upd2 .= 'cant=' . $cantidad . '*-1, ';
               $sql_upd2 .= 'item="' . $xitem . '", ';
               $sql_upd2 .= 'detalle="' . $aso_info12['detalle'] . '" ';
               $sql_upd2 .= 'where idnum2=' . $idcont . ' and iddet=' . $iddet . '';
               $res_upd2 = msql_query($sql_upd2, $link_data);

               $xtingdif = $xtingdif + $cantidad;

               $xctas = "";
               }

               $xctas = $ctaingredife;
               $iddet++;
               $sql_upd2 = 'insert into cont2(idnum2,iddet,cant)value("' . $idcont . '","' . $iddet . '","' . $total . '")';
               $res_upd2 = msql_query($sql_upd2, $link_data);
               $cantidad = $r_deta['tcantd'] * $r_deta['puni'];

               $sql_upd2 = 'update cont2 set ';
               $sql_upd2 .= 'ctas="' . $xctas . '",';
               $sql_upd2 .= 'cant=' . $xtingdif . ',';
               $sql_upd2 .= 'item="' . $xitem . '",';
               $sql_upd2 .= 'detalle="' . $r_deta['detalle'] . '"';
               $sql_upd2 .= 'where idnum2=' . $idcont . ' and iddet=' . $iddet . '';
               $res_upd2 = msql_query($sql_upd2, $link_data);
               
          }

     }
     
     
     
     
     
     
//////////////////////////////     
}     
     
     
     


// function gen_ats1($panio,$pmes,$psixm='')
function gen_ats1($panio,$pmes,$ptoenti='')
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

     $empr0=data_maes('empr',$_SESSION['empr_codigo']);
     
     $sriiva=$empr0['empr_sriiva'];
     if(empty($sriiva)){$sriiva=1;}
     
    // ats semestral 
//     if($cfg_empr=='cqsa'){$psixm=1; $sriiva=6;}
//     if($cfg_empr=='chmj'){$psixm=1; $sriiva=6;}
     
     
    $pmes=str_pad($pmes,2,'0',STR_PAD_LEFT);
    $pmes1=$pmes;
    $pmes2=$pmes;
         
    $empr_seme=[];
    $empr_seme[]='0993391288001'; 
    if($empr0['empr_sriats']==6 or in_array($ptoenti,$empr_seme))
    {
         if($pmes>=1 and $pmes<=6) {$pmes1='01';$pmes2='06';}
         if($pmes>=7 and $pmes<=12){$pmes1='07';$pmes2='12';}
         $psixm=1;
         $sriiva=6;
    }

          
     
    
    $dia1=1;
    $dia2=31;
    
    if($user0[user_codigo]==2)
    {
        // $dia1=1;
        // $dia2=15;
    }

/////////////////////////////////////////
/////////////////////////////////////////
   $sql_comp = 'select * from comp1 ';
   $sql_comp.= 'left join comp2 on idnum1=idnum2 ';
   $sql_comp.= 'left join docu0 on docu=docu_codigo ';
   $sql_comp.= 'left join enti0 on enti=enti_codigo ';
   $sql_comp=calc_fields('comp',$sql_comp);
   $sql_comp=calc_maes('enti',$sql_comp);
   $sql_comp .= 'where ifnull(status,"") not in ("O","X") ';
   $sql_comp .= 'and left(fecha,7)>="'.$panio.'-'.$pmes1.'" and left(fecha,7)<="'.$panio.'-'.$pmes2.'" ';
   $sql_comp .= 'and ifnull(docu_tcel,0)*1 > 0 ';
   $sql_comp .= 'and docu not like "FP9%" ';
   

     
   if(strtoupper($cfg_empr)=='HG01')
   {$sql_comp .= 'and docu not like "NP%" ';}
     
   $sql_comp .= 'group by enti,fecha,numero,idnum1 ';
   $sql_comp .= 'order by enti,fecha,numero,idnum1 ';
     
    // echo '*/*/*/'.$sql_comp;  
   $res_comp = msql_query($sql_comp, $link_data);

     
     
     
     
/////////////////////////////////////////
/////////////////////////////////////////
   $sql_vtas = 'select * from vtas1 ';
   $sql_vtas.= 'left join vtas2 on idnum1=idnum2 ';
   $sql_vtas.= 'left join docu0 on docu=docu_codigo ';
   $sql_vtas.= 'left join enti0 on enti=enti_codigo ';
   $sql_vtas=calc_fields('vtas',$sql_vtas);
   $sql_vtas .= 'where ifnull(status,"") not in ("O","X") ';
   $sql_vtas .= 'and left(fecha,7)>="'.$panio.'-'.$pmes1.'" and left(fecha,7)<="'.$panio.'-'.$pmes2.'" ';
   $sql_vtas .= 'and docu_tcel!="41" ';
   $sql_vtas .= 'and 1=2 ';
   $sql_vtast = $sql_vtas;
   $sql_vtase = $sql_vtas;
   $sql_vtaso = $sql_vtas;
   $sql_vtaso = str_replace('!="O"', '="O"', $sql_vtaso);

   $sql_vtas  .= 'group by substring(enti,1,10) ';
   $sql_vtas  .= 'order by substring(enti,1,10) ';
   $sql_vtase .= 'group by substring(ptoe,1,3) ';
   $sql_vtaso .= 'group by idnum1 ';

   $res_vtas = msql_query($sql_vtas, $link_data);
   $res_vtast = msql_query($sql_vtast, $link_data);
   $res_vtase = msql_query($sql_vtase, $link_data);
   $res_vtaso = msql_query($sql_vtaso, $link_data);

   $stsubtiva0 = msql_result($res_vtast, 0, 'stsubtiva0');
   $stsubtiva = msql_result($res_vtast, 0, 'stsubtiva');

   $totalvtas = (int)$stsubtiva + (int)$stsubtiva0;

     
/////////////////////////////////////////
/////////////////////////////////////////
   $informante=data_maes('enti',$empr0['empr_ruc']);
   if(!empty($ptoenti)){$informante=data_maes('enti',$ptoenti);}
   $razsoc=$informante['enti_razsoc'];
     
     
   $razsoc=str_replace('-',' ',$razsoc);  
   $razsoc=str_replace('.',' ',$razsoc);  
   $razsoc=str_replace('  ',' ',$razsoc);  
     
   $xml = new DomDocument("1.0", "UTF-8");
     $xml->xmlStandalone = false;
   //   $xml->appendChild($xml->createElement('h1',date('H:i:s')));
   $anexo = $xml->appendChild($xml->createElement('iva'));
   $anexo->appendChild($xml->createElement('TipoIDInformante', 'R'));
//    $anexo->appendChild($xml->createElement('IdInformante', $empr0['empr_ruc']));
   $anexo->appendChild($xml->createElement('IdInformante', $informante['enti_codigo']));
   $anexo->appendChild($xml->createElement('razonSocial', htmlspecialchars($razsoc)));
   $anexo->appendChild($xml->createElement('Anio', $panio));
   $anexo->appendChild($xml->createElement('Mes', str_pad($pmes2, 2,'0',STR_PAD_LEFT)));

    if(!empty($psixm))
    {$anexo->appendChild($xml->createElement('regimenMicroempresa', 'SI'));}
//          if(empty($psixm))
    {$anexo->appendChild($xml->createElement('numEstabRuc', '001'));}
   $anexo->appendChild($xml->createElement('totalVentas', number_format($totalvtas, 2, '.', '')));
   $anexo->appendChild($xml->createElement('codigoOperativo', 'IVA'));

   $compras = $anexo->appendChild($xml->createElement('compras'));
   msql_data_seek($res_comp);  
   while ($aso_comp = msql_fetch_assoc($res_comp))
   {
       $idnum1 = $aso_comp['idnum1'];
       $docu = $aso_comp['docu'];
       $suco = $aso_comp['suco'];
//        $tipocomp = $aso_comp['docu_tico'];
       $tipocomp = $aso_comp['docu_tcel'];
       $enti = $aso_comp['enti'];
       $enti_descri = $aso_comp['enti_descri'];
       $enti_tipoid = $aso_comp['enti_tipoid'];
       $estab = substr($aso_comp['ptoe'], 0, 3);
       $ptoe = substr($aso_comp['ptoe'], 3, 3);
       $numero = $aso_comp['numero'];
       $autorizacion = $aso_comp['autornum'];
       $fechaemision = date('d/m/Y', strtotime($aso_comp['fecha']));
       $fecharegistro = date('d/m/Y', strtotime($aso_comp['fecha']));
       //     $fecharegistro=date('d/m/Y', strtotime($aso_comp['fechacont']));
       //     if(empty($fecharegistro)){$fecharegistro=$fechaemision;}
       if (empty($autorizacion))
       {$autorizacion = $aso_comp['atrz'];}
        
        

       if($suco == '-'){$suco = get_lsuco($enti);}
       if($suco == '-'){$suco = '01';}
       if(empty($suco)){$suco='01';}

       $tpidprov = '00';
       $pagolocext = '00';
       $idprov = $enti;
       $tipoprov = '02';

       if ($enti_tipoid == 'R')
       {
           $tpidprov = '01';
           $pagolocext = '01';
       }
       if ($enti_tipoid == 'C')
       {
           $tpidprov = '02';
           $pagolocext = '01';
       }
       if ($enti_tipoid == 'P')
       {
           $tpidprov = '03';
           $pagolocext = '02';
           $idprov = $aso_comp['enti_pasaporte'];
       }
       if ($enti_tipoid == 'E')
       {
           $tpidprov = '03';
           $pagolocext = '01';
           $idprov = $aso_comp['enti_idexterior'];
       }

       $basenograiva = 0;
       $baseimponible = 0;
       $baseimpgrav = 0;
       $baseimpexe = 0;
       $montoice = 0;
       $montoiva = 0;
       $valretbien10 = 0;
       $valretserv20 = 0;
       $valorretbienes = 0;
       $valretserv50 = 0;
       $valorretservicios = 0;
       $valretserv100 = 0;
       $totbasesimpreemb = 0;

//        $baseimponible = abs($aso_comp['stsubtiva0']);
//        $baseimpgrav = abs($aso_comp['stsubtiva']);
//        $montoice = abs($aso_comp['stice']);
//        $montoiva = abs($aso_comp['stiva']);
//        $total = abs($aso_comp['stotal']);

       $baseimponible = abs($aso_comp['subtiva0']);
       $baseimpgrav = abs($aso_comp['subtiva']);
       $montoice = abs($aso_comp['tice']);
       $montoiva = abs($aso_comp['tiva']);
       $total = abs($aso_comp['total']);

        
        
        
       $sql_retp = 'select * ';
//        $sql_retp .= 'sum(case when puni=30 then total end) as total30,';
//        $sql_retp .= 'sum(case when puni=70 then total end) as total70,';
//        $sql_retp .= 'sum(case when puni=100 then total end) as total100,';
//        $sql_retp .= 'status ';
       $sql_retp .= 'from retp1 ';
       $sql_retp .= 'left join retp2 on idnum1=idnum2 ';
       $sql_retp = calc_fields('retp',$sql_retp);
//        $sql_retp .= 'where status!="O"';
       $sql_retp .= 'where ifnull(status,"")not in ("O","X") ';
       $sql_retp .= 'and concat(docum,ptoem,numer,enti)="' . $docu . $estab . $ptoe . $numero . $enti . '" ';
       $sql_retp .= 'group by idnum1 ';
       $res_retp = msql_query($sql_retp, $link_data);

//           echo '<br>';
//           echo '<br>';
//            echo '<br>**** '.$sql_retp;
//           echo '<br>';
//           echo '<br>';
        
        
       if (msql_num_rows($res_retp) > 0)
       {
           $valorretbienes = abs(msql_result($res_retp, 0, 'total30'));
           $valorretservicios = abs(msql_result($res_retp, 0, 'total70'));
           $valretserv100 = abs(msql_result($res_retp, 0, 'total100'));
       }

       //     $detalleCompras=$compras->appendChild($xml->createElement('Sistemas1',$sql_retp));


       $detalleCompras = $compras->appendChild($xml->createElement('detalleCompras'));
       $detalleCompras->appendChild($xml->createElement('codSustento', $suco));
       $detalleCompras->appendChild($xml->createElement('tpIdProv', $tpidprov));
       $detalleCompras->appendChild($xml->createElement('idProv', $idprov));
       $detalleCompras->appendChild($xml->createElement('tipoComprobante', $tipocomp));
       if ($tpidprov == '03')
       {
           $detalleCompras->appendChild($xml->createElement('tipoProv', $tipoprov));
           $detalleCompras->appendChild($xml->createElement('denoProv', $enti_descri));
       }

       $detalleCompras->appendChild($xml->createElement('parteRel', 'NO'));
       $detalleCompras->appendChild($xml->createElement('fechaRegistro', $fecharegistro));
       $detalleCompras->appendChild($xml->createElement('establecimiento', $estab));
       $detalleCompras->appendChild($xml->createElement('puntoEmision', $ptoe));
       $detalleCompras->appendChild($xml->createElement('secuencial', $numero));
       $detalleCompras->appendChild($xml->createElement('fechaEmision', $fechaemision));
       $detalleCompras->appendChild($xml->createElement('autorizacion', $autorizacion));
       $detalleCompras->appendChild($xml->createElement('baseNoGraIva', number_format($basenograiva, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('baseImponible', number_format($baseimponible, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('baseImpGrav', number_format($baseimpgrav, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('baseImpExe', number_format($baseimpexe, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('montoIce', number_format($montoice, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('montoIva', number_format($montoiva, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valRetBien10', number_format($valretbien10, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valRetServ20', number_format($valretserv20, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valorRetBienes', number_format($valorretbienes, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valRetServ50', number_format($valretserv50, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valorRetServicios', number_format($valorretservicios, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('valRetServ100', number_format($valretserv100, 2, '.', '')));
       $detalleCompras->appendChild($xml->createElement('totbasesImpReemb', number_format($totbasesimpreemb, 2, '.', '')));

       $paisefecpago = 'NA';
       $apliconvdobtrib = 'NA';
       $pagoextsujretnorleg = 'NA';

        
       $pagoExterior = $detalleCompras->appendChild($xml->createElement('pagoExterior'));
       $pagoExterior->appendChild($xml->createElement('pagoLocExt', $pagolocext));
       if ($pagolocext == '02')
       {
//            $tipreg = r_fiel('enti', $enti, 'tipreg');
//            $dobtri = r_fiel('enti', $enti, 'dobtri');
//            $retnor = r_fiel('enti', $enti, 'retnor');
            
           $tipreg = $aso_comp['enti_tipreg'];
           $dobtri = $aso_comp['enti_dobtri'];
           $retnor = $aso_comp['enti_retnor'];

           $dobtri = 'NO';
           $apliconvdobtrib = 'NO';
           $pagoextsujretnorleg = 'NO';

//            $paisefecpago = r_fiel('pais', $aso_comp['enti_pais'], 'pais_ats');
           $pais0=data_maes('pais',$aso_comp['enti_pais']);
           $paisefecpago=$pais0['pais_ats']; 

           $pagoExterior->appendChild($xml->createElement('tipoRegi', $tipreg));
           $pagoExterior->appendChild($xml->createElement('paisEfecPagoGen', $paisefecpago));
           $pagoExterior->appendChild($xml->createElement('paisEfecPago', $paisefecpago));
           $pagoExterior->appendChild($xml->createElement('aplicConvDobTrib', $apliconvdobtrib));
           if ($dobtri == 'NO')
           {
               $pagoExterior->appendChild($xml->createElement('pagExtSujRetNorLeg', $pagoextsujretnorleg));
           }
       }
       else
       {
           $pagoExterior->appendChild($xml->createElement('paisEfecPago', $paisefecpago));
           $pagoExterior->appendChild($xml->createElement('aplicConvDobTrib', $apliconvdobtrib));
           $pagoExterior->appendChild($xml->createElement('pagExtSujRetNorLeg', $pagoextsujretnorleg));
       }

       if ($tipocomp == '04')
       {
           $docModificado = $aso_comp['todocu'];
           $estabModificado = substr($aso_comp['toptoe'], 0, 3);
           $ptoEmiModificado = substr($aso_comp['toptoe'], 3, 3);
           $secModificado = $aso_comp['tonume'];
           $autModificado = $aso_comp['toatrz'];
           if (empty($autModificado))
           {
               $sql_auto = 'select * from comp1 ';
               $sql_auto.= 'where status not in("O","X") ';
               $sql_auto.= 'and docu="' . $docModificado . '" ';
               $sql_auto.= 'and ptoe="' . $estabModificado . $ptoEmiModificado . '" ';
               $sql_auto.= 'and numero="' . $secModificado . '" ';
               $sql_auto.= 'and enti like "' .substr($enti,0,10). '%" ';
               $res_auto = msql_query($sql_auto, $link_data);
               $autModificado = msql_result($res_auto, 0, 'autornum');
               if (empty($autModificado))
               {
                   $autModificado = msql_result($res_auto, 0, 'atrz');
               }
//                      $autModificado=$sql_auto;
           }
//            $docModificado = r_fiel('docu', $docModificado, 'tico');
           $docu02=data_maes('docu',$docModificado);
           $docModificado=$docu02['docu_tico'];

           $detalleCompras->appendChild($xml->createElement('docModificado', $docModificado));
           $detalleCompras->appendChild($xml->createElement('estabModificado', $estabModificado));
           $detalleCompras->appendChild($xml->createElement('ptoEmiModificado', $ptoEmiModificado));
           $detalleCompras->appendChild($xml->createElement('secModificado', $secModificado));
           $detalleCompras->appendChild($xml->createElement('autModificado', $autModificado));
       }

       if (mb_stristr2('.41.47.48', $tipocomp))
       {
           $reembolsos = $detalleCompras->appendChild($xml->createElement('reembolsos'));
           $reembolso = $reembolsos->appendChild($xml->createElement('reembolso'));
           $reembolso->appendChild($xml->createElement('tipoComprobanteReemb', '01'));
           $reembolso->appendChild($xml->createElement('tpIdProvReemb', '01'));
           $reembolso->appendChild($xml->createElement('idProvReemb', '0000000000000'));
           $reembolso->appendChild($xml->createElement('establecimientoReemb', '001'));
           $reembolso->appendChild($xml->createElement('puntoEmisionReemb', '001'));
           $reembolso->appendChild($xml->createElement('secuencialReemb', '000000001'));
           $reembolso->appendChild($xml->createElement('fechaEmisionReemb', '01/01/2017'));
           $reembolso->appendChild($xml->createElement('autorizacionReemb', '0000000000'));
           $reembolso->appendChild($xml->createElement('baseImponibleReemb', '0.00'));
           $reembolso->appendChild($xml->createElement('baseImpGravReemb', '0.00'));
           $reembolso->appendChild($xml->createElement('baseNoGraIvaReemb', '0.00'));
           $reembolso->appendChild($xml->createElement('baseImpExeReemb', '0.00'));
           $reembolso->appendChild($xml->createElement('montoIceRemb', '0.00'));
           $reembolso->appendChild($xml->createElement('montoIvaRemb', '0.00'));
       }

    //   if ($tipocomp != '04' and $total > 1000)
        
        if($numero==84249)
        {
//             echo '======'.$numero;
//             echo '======'.$tipocomp;
//             echo '======'.$total;
        }
        
       if ($tipocomp != '04' and $total > 500)
       {
           $formapago = $aso_comp['fpag'];
           if ($formapago == '-'){$formapago = '20';}
           if ($formapago == ''){$formapago = '20';}
           $formasdepago = $detalleCompras->appendChild($xml->createElement('formasDePago'));
           $formasdepago->appendChild($xml->createElement('formaPago', $formapago));
       }

       $sql_retp = 'select * ';
       $sql_retp .= 'from retp1 left join retp2 on idnum1=idnum2 ';
       $sql_retp = calc_fields('retp',$sql_retp);
       $sql_retp .= 'where ifnull(status,"")not in("O","X") ';
       $sql_retp .= 'and substring(cair,1,1)in(3,4,5) ';
       $sql_retp .= 'and docum like "FP%" ';
       $sql_retp .= 'and concat(docum,ptoem,numer,enti)="' . $docu . $estab . $ptoe . $numero . $enti . '" ';
       $sql_retp .= 'group by cair,puni';
       $res_retp = msql_query($sql_retp, $link_data);

//            explain_sql($sql_retp);

        if($numero==68)
        {
//              echo '<br> ==== '.$sql_retp;
//              echo '<br> ==== '.msql_num_rows($res_retp);
//              echo '<br> ==== '.$pagolocext;
        }
        
        
       if (msql_num_rows($res_retp) != 0)
       {
           if ($pagolocext == '02')
           {
               while ($aso_retp = msql_fetch_assoc($res_retp))
               {
                   $detalleCompras->appendChild($xml->createElement('estabRetencion1', substr($aso_retp['ptoe'], 0, 3)));
                   $detalleCompras->appendChild($xml->createElement('ptoEmiRetencion1', substr($aso_retp['ptoe'], 3, 3)));
                   $detalleCompras->appendChild($xml->createElement('secRetencion1', $aso_retp['numero']));
                   $detalleCompras->appendChild($xml->createElement('autRetencion1', $aso_retp['autornum']));
                   $detalleCompras->appendChild($xml->createElement('fechaEmiRet1', date('d/m/Y', strtotime($aso_retp['fecha']))));
               }
           }
           else
           {
               $air = $detalleCompras->appendChild($xml->createElement('air'));
               while ($aso_retp = msql_fetch_assoc($res_retp))
               {
                   $xcairb = $aso_retp['cair'];
//                    $xcairb = (int)$xcairb;
                   $detalleAir = $air->appendChild($xml->createElement('detalleAir'));
                   $detalleAir->appendChild($xml->createElement('codRetAir', $xcairb));
                   $detalleAir->appendChild($xml->createElement('baseImpAir', number_format($aso_retp['base_rta'], 2, '.', '')));
                   $detalleAir->appendChild($xml->createElement('porcentajeAir', number_format($aso_retp['puni'], 2, '.', '')));
                   $detalleAir->appendChild($xml->createElement('valRetAir', number_format($aso_retp['rete_rta'], 2, '.', '')));
               }

               // Actualizado el 23/jun/2020 MI FINCA
               {
                   $sql_retp = str_replace('group by cair,puni', 'group by idnum1 order by idnum1 desc limit 1', $sql_retp);
                   $res_retp = msql_query($sql_retp, $link_data);
                    
                    
                    
                   while ($aso_retp = msql_fetch_assoc($res_retp))
                   {
                        
                        
                       $autornum = $aso_retp['autornum'];
                        
                        
        if($numero==68)
        {
//              echo '<br> ==== '.$sql_retp;
//              echo '<br> ==== '.$autornum;
//              echo '<br> ==== '.substr($autornum, 23, 1);
        }
                        
                        
                       if (empty($autornum) or substr($autornum, 23, 1) == '1')
                       {
//                            $autornum = get_atrz0($aso_retp['docu'], $aso_retp['idnum1']);
                       }

                        
                        
                       $detalleCompras->appendChild($xml->createElement('estabRetencion1', substr($aso_retp['ptoe'], 0, 3)));
                       $detalleCompras->appendChild($xml->createElement('ptoEmiRetencion1', substr($aso_retp['ptoe'], 3, 3)));
                       $detalleCompras->appendChild($xml->createElement('secRetencion1', $aso_retp['numero']));
                       $detalleCompras->appendChild($xml->createElement('autRetencion1', $autornum));
                       $detalleCompras->appendChild($xml->createElement('fechaEmiRet1', date('d/m/Y', strtotime($aso_retp['fecha']))));
                   }
               }
           }
       }
        
//        else
        
        // no hay comprobante de retencion
          if(1==2)
       if (msql_num_rows($res_retp) == 0)
       {
           $sql_comp3 = 'select * ';
           $sql_comp3 .= 'from comp1 ';
           $sql_comp3 .= 'left join comp2 on idnum1=idnum2 ';
           $sql_comp3 .= 'left join docu0 on docu=docu_codigo ';
//            $sql_comp3 .= 'left join enti0 on enti=enti_codigo ';
           $sql_comp3 = calc_fields('comp',$sql_comp3);
           $sql_comp3 .= 'where idnum1="' . $idnum1 . '" ';
//            $sql_comp3 .= 'and cair in("332","312","344") ';
           $sql_comp3 .= 'and docu_tcel!="04" ';
           $sql_comp3 .= 'group by cair';
           $res_comp3 = msql_query($sql_comp3, $link_data);

           if (msql_num_rows($res_comp3) != 0)
           {
               $air = $detalleCompras->appendChild($xml->createElement('air'));
               while ($aso_comp3 = msql_fetch_assoc($res_comp3))
               {
                   $cair3 = trim($aso_comp3['cair']);
                   $stsubt = $aso_comp3['tsubt'] - $aso_comp3['tdcto'] +$aso_comp3['tprop'];
                   $porc3=$aso_comp3['prrta'];
                    
                   if($porc3>22){$porc3=0;}
                   if($cair3==332){$porc3=0;} 
                    
                    if(empty($porc3))
                    {
                         $cair0=data_maes('cair',$cair3);
                         $porc3=$cair0['cair_porc'];
                    }
                    
                    {
                         $valor3=0;
                         $detalleAir = $air->appendChild($xml->createElement('detalleAir'));
                         $detalleAir->appendChild($xml->createElement('codRetAir', $cair3));
                         $detalleAir->appendChild($xml->createElement('baseImpAir', number_format(abs($stsubt), 2, '.', '')));
                         $detalleAir->appendChild($xml->createElement('porcentajeAir', number_format(abs($porc3), 2, '.', '')));
                         $detalleAir->appendChild($xml->createElement('valRetAir', number_format(abs($valor3), 2, '.', '')));
//                          $detalleAir->appendChild($xml->createElement('idnum1',  $idnum1 ));
//                          $detalleAir->appendChild($xml->createElement('sqlq', $sql_cair  ));
                    }
               }
           }
       }
   }

   if (@msql_num_rows($res_vtas) != 0 and 1==2)
   {
     $ventas = $anexo->appendChild($xml->createElement('ventas'));
       msql_data_seek($res_vtas);  
       while ($aso_vtas = msql_fetch_assoc($res_vtas))
       {
           $enti = $aso_vtas['enti'];
           $enti_tipoid = $aso_vtas['enti_tipoid'];
           $denoclie = $aso_vtas['enti_descri'];
        //   $tipocomp = $aso_vtas['docu_tico'];
           $tipocomp = $aso_vtas['docu_tcel'];
           $tipoemi = $aso_vtas['tipoemi'];
           $numcomp = $aso_vtas['cidnum1'];

           $basenograiva = 0;
           $baseimponible = 0;
           $baseimpgrav = 0;
           $montoiva = 0;
           $montoice = 0;

           //       $basenograiva=$aso_vtas['stsubtiva0'];
           $baseimponible = $aso_vtas['stsubtiva0'];
           $baseimpgrav = $aso_vtas['stsubtiva'];
           $montoiva = $aso_vtas['stiva'];
           $montoice = $aso_vtas['stice'];
           $fpag = $aso_vtas['fpag'];

           $tpidclie = '00';
           $idclie = '00';
           if ($enti_tipoid == 'R')
           {
               $tpidclie = '04';
               $idclie = substr($enti, 0, 10) . '001';
           }
           if ($enti_tipoid == 'C')
           {
               $tpidclie = '05';
               $idclie = substr($enti, 0, 10);
           }
           if ($enti_tipoid == 'P')
           {
               $tpidclie = '06';
               $idclie = $aso_vtas['enti_pasaporte'];
           }
           if ($enti_tipoid == 'E')
           {
               $tpidclie = '06';
               $idclie = $aso_vtas['enti_idexterior'];
           }
           if ($enti_tipoid == 'F')
           {
               $tpidclie = '07';
               $idclie = $aso_vtas['enti'];
           }

           $detalleventas = $ventas->appendChild($xml->createElement('detalleVentas'));
           $detalleventas->appendChild($xml->createElement('tpIdCliente', $tpidclie));
           $detalleventas->appendChild($xml->createElement('idCliente', $idclie));
           if (mb_stristr2('.04.05.06', $tpidclie))
           {
               $detalleventas->appendChild($xml->createElement('parteRelVtas', 'NO'));
           }
           if (mb_stristr2('.06', $tpidclie))
           {
               $detalleventas->appendChild($xml->createElement('tipoCliente', '02'));
               $detalleventas->appendChild($xml->createElement('denoCli', $denoclie));
           }
           $detalleventas->appendChild($xml->createElement('tipoComprobante', $tipocomp));
           $detalleventas->appendChild($xml->createElement('tipoEmision', $tipoemi));
           $detalleventas->appendChild($xml->createElement('numeroComprobantes', number_format($numcomp, 0)));
           $detalleventas->appendChild($xml->createElement('baseNoGraIva', number_format($basenograiva, 2, '.', '')));
           $detalleventas->appendChild($xml->createElement('baseImponible', number_format($baseimponible, 2, '.', '')));
           $detalleventas->appendChild($xml->createElement('baseImpGrav', number_format($baseimpgrav, 2, '.', '')));
           $detalleventas->appendChild($xml->createElement('montoIva', number_format($montoiva, 2, '.', '')));
           $detalleventas->appendChild($xml->createElement('montoIce', number_format($montoice, 2, '.', '')));

           $sql_retc = 'select * ';
//            $sql_retc .= 'sum(brta) as sbrta,';
//            $sql_retc .= 'sum(biva) as sbiva,';
//            $sql_retc .= 'sum(rrta) as srrta,';
//            $sql_retc .= 'sum(riva) as sriva,';
//            $sql_retc .= 'status ';
           $sql_retc .= 'from retc1 ';
           $sql_retc .= 'left join retc2 on idnum1=idnum2 ';
          $sql_retc = calc_fields('retc',$sql_retc);
           $sql_retc .= 'where ifnull(status,"")not in ("O","X") ';
//                 $sql_retc .= 'and fanio="' . $panio . '" and fmes="' . $pmes . '" ';
           $sql_retc .= 'and left(fecha,7)>="'.$panio.'-'.$pmes1.'" and left(fecha,7)<="'.$panio.'-'.$pmes2.'" ';
           $sql_retc .= 'and substring(enti,1,10)="' . substr($enti, 0, 10) . '"';
           $res_retc = msql_query($sql_retc, $link_data);

           $valorretiva = msql_result($res_retc, 0, 'sriva');
           $valorretrta = msql_result($res_retc, 0, 'srrta');
           //         if(msql_num_rows($res_retc)!=0)

           {
               $detalleventas->appendChild($xml->createElement('valorRetIva', number_format($valorretiva, 2, '.', '')));
               $detalleventas->appendChild($xml->createElement('valorRetRenta', number_format($valorretrta, 2, '.', '')));
           }

           if ($tipocomp != '04')
           {
               $formasdepago = $detalleventas->appendChild($xml->createElement('formasDePago'));
               $formasdepago->appendChild($xml->createElement('formaPago', $fpag));
           }

       }

       $ventasestablecimiento = $anexo->appendChild($xml->createElement('ventasEstablecimiento'));
       while ($aso_vtase = msql_fetch_assoc($res_vtase))
       {
           $vtasestab = $aso_vtase['stsubtiva0'] + $aso_vtase['stsubtiva'];
           $ventaest = $ventasestablecimiento->appendChild($xml->createElement('ventaEst'));
           $ventaest->appendChild($xml->createElement('codEstab', substr($aso_vtase['ptoe'], 0, 3)));
           $ventaest->appendChild($xml->createElement('ventasEstab', number_format($vtasestab, 2, '.', '')));
       }

   }

   if (@msql_num_rows($res_vtaso) != 0 and 1==2)
   {
   $anulados = $anexo->appendChild($xml->createElement('anulados'));
       while ($aso_vtaso = msql_fetch_assoc($res_vtaso))
       {
           $autorizacion = $aso_vtaso['autorizacion'];
           $autornum = $aso_vtaso['autornum'];
           if ($autorizacion == '')
           {$autorizacion = $autornum;};
           $detalleanulados = $anulados->appendChild($xml->createElement('detalleAnulados'));
           $detalleanulados->appendChild($xml->createElement('tipoComprobante', $aso_vtaso['docu_tico']));
           $detalleanulados->appendChild($xml->createElement('establecimiento', substr($aso_vtaso['ptoe'], 0, 3)));
           $detalleanulados->appendChild($xml->createElement('puntoEmision', substr($aso_vtaso['ptoe'], 3, 3)));
           $detalleanulados->appendChild($xml->createElement('secuencialInicio', $aso_vtaso['numero']));
           $detalleanulados->appendChild($xml->createElement('secuencialFin', $aso_vtaso['numero']));
           $detalleanulados->appendChild($xml->createElement('autorizacion', $autorizacion));
       }
   }
     
//         echo '*/*/*/*/*/*/**';
     

     
     
     
//      $rutadoc='_doc/';  
     $rutadoc='-info/';  
     //    $rutadoc='../'.$empr0['empr_codigo'] .'/_doc/';  
//      $xml3 = $rutadoc . 'ATS_' . $panio . $pmes2 . '_' . $empr0['empr_codigo'] . '.xml';
     $xml3 = $rutadoc . 'ATS_' . $panio . $pmes2 . '_' . $empr0['empr_codigo'].'_'.$ptoenti. '.xml';
     @unlink($xml3);

     $xml->formatOut = true;
     $xml->save($xml3);

     
     $xmlfile=file_get_contents($xml3);

     $xmlfile = xml_chr13($xmlfile);
     file_put_contents($xml3, $xmlfile);

     
// echo '======================' ;    
     
   return;
}



function gen_anticipo($docu,$idnum)
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

     $empr0=data_maes('empr',$empr);
     $docu0=data_maes('docu',$docu);
     
     $tabla=$docu0['docu_tabla'];
     if(mb_stristr2('.caja.bcos.tsor',$tabla))
     {
          $tabla1=$tabla.'1';
          $tabla2=$tabla.'2';

//           $sql_docu='select * from '.$tabla1.' where docu="'.$docu.'" and idnum1="'.$idnum.'"';
          $sql_docu='select * from '.$tabla1.' left join '.$tabla2.' on idnum1=idnum2 ';
          $sql_docu.='where idnum2="'.$idnum.'" and docum in ("AC10","AP10") and ifnull(numer,0)=0 ';
          $res_docu=msql_query($sql_docu,$link_data);
        
          
          if(msql_num_rows($res_docu)==0){return;}

          $fecha0=date('Y-m-01',strtotime('-3 month'));
          
          if(date('Y-m-d')<='2025-04-30')
          if($_SESSION['user_codigo']==2)
          {$fecha0='2024-01-01';}
               
          if(msql_result($res_docu,0,'fecha')<=$fecha0){return;}

//           return;
//           if($docu=='EB13')
          {
               $docu1=data_docu($docu,$idnum);
               $docu2=msql_result($res_docu,0,'docum');
               if(substr($docu2,0,2)=='AC'){$tablad='dxco';}
               if(substr($docu2,0,2)=='AP'){$tablad='dxpa';}
               
               $newid=0;
               $newid=clon_docu($docu,$idnum,$docu2);
               
//                echo '===='.$docu2;

               if(!empty($newid))
               {
                    $sql_updt='update '.$tablad.'1 set ';
                    $sql_updt.='status="'.$docu1['status'].'" ';
                    $sql_updt.='where idnum1="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);
                    
                    $sql_updt='update '.$tablad.'2 set ';
                    $sql_updt.='docum="'.$docu1['docu'].'", ';
                    $sql_updt.='ptoem="'.$docu1['ptoe'].'", ';
                    $sql_updt.='numer="'.$docu1['numero'].'" ';
                    $sql_updt.='where idnum2="'.$newid.'"';
                    $res_updt=msql_query($sql_updt,$link_data);
                    
                    $sql_updt='update '.$tablad.'2 set ';
                    $sql_updt.='cant=0,puni=0 ';
                    $sql_updt.='where idnum2="'.$newid.'" ';
                    $sql_updt.='and docum not like "A%" ';
                    $res_updt=msql_query($sql_updt,$link_data);
               }

               $sql_updt='update '.$tablad.'1 set status="'.$docu1['status'].'" where idnum1="'.$newid.'"';
               $res_updt=msql_query($sql_updt,$link_data);


          }

     
          
     }
     
     
}



function gen_dtr1($cuenta, $fecha2 = "")
{
     if(empty($empr)){$empr=$_SESSION['empr_codigo'];}     
     if(empty($link_data)){$link_data=$_SESSION['link_data'];}

     $empr0=data_maes('empr',$_SESSION['empr_codigo']);
     
     if ($cuenta == ''){$cuenta = '306';}

//      $fecha1 = date('Y-01-01');
//      $fecha1 = strtotime('-1 year', strtotime($fecha1));
//      $fecha1 = date('Y-m-d', $fecha1);
     

     if(empty($fecha2))
     {
//        $fecha2 = date('Y-12-31');
//        $fecha2 = strtotime('-1 year', strtotime($fecha2));
//        $fecha2 = date('Y-m-d', $fecha2);
          $fecha2 = date('Y-12-31',strtotime('-1 year'));
          $fecha1 = date('Y-01-01',strtotime('-1 year'));
     }
     
     if(!empty($fecha2))
     {
          $fecha2 = date('Y-12-31', strtotime($fecha2));
          $fecha1 = date('Y-01-01', strtotime($fecha2));
     }

     
//      echo '====='.$fecha2;
     
     if(date('Y-m-d')<$fecha2){return;}

     $numero = '0' . str_replace('-', '', $fecha2);
     $ptoe = '001001';
     $concepto = 'TRANSFERENCIA DE RESULTADOS AL ' . $fecha2;
//      echo '<br>' . $concepto;

   $sql_cont = 'select * from cont1 ';
   $sql_cont .= 'where ifnull(status,"")not in ("O","X") ';
   $sql_cont .= 'and docu ="DTR1" ';
   $sql_cont .= 'and fecha="' . $fecha2 . '" ';
   $res_cont = msql_query($sql_cont, $link_data);

   if (msql_num_rows($res_cont) == 0)
   {
       $sql_idtr = 'insert into cont1(docu,numero,fecha,status,idate,iuser)value("DTR1","' . $numero . '","' . $fecha2 . '","-",now(),"'.$user_codigo.'")';
       $res_idtr = msql_query($sql_idtr, $link_data);
       $res_cont = msql_query($sql_cont, $link_data);
   }

   $idnum = msql_result($res_cont, 0, 'idnum1');

   $sql_idtr = 'update cont1 set ';
   $sql_idtr .= 'concepto="' . $concepto . '",';
   $sql_idtr .= 'udate=now(),';
   $sql_idtr .= 'status="-" ';
   $sql_idtr .= 'where idnum1=' . $idnum;
   $res_idtr = msql_query($sql_idtr, $link_data);

   $sql_ddtr = 'delete from cont2 where idnum2="' . $idnum . '"';
   $res_ddtr = msql_query($sql_ddtr, $link_data);

   $sql_dtr1 = 'select *, sum(cant) as tcant ';
   $sql_dtr1 .= 'from cont1 left join cont2 ';
   $sql_dtr1 .= 'on idnum1=idnum2 ';
   $sql_dtr1 .= 'where ifnull(status,"")not in ("O","X") ';
   $sql_dtr1 .= 'and left(ctas,1) in ("4","5","6","7","8","9") ';
   $sql_dtr1 .= 'and fecha>="' . $fecha1 . '" ';
   $sql_dtr1 .= 'and fecha<="' . $fecha2 . '" ';
   $sql_dtr1 .= 'group by ctas,csub ';
   $sql_dtr1 .= 'order by ctas,csub ';

   $iddet = 0;
   $total = 0;

   $iddet++;
   $sql_idtr = 'insert into cont2(idnum2,iddet)value("' . $idnum . '","' . $iddet . '")';
   $res_idtr = msql_query($sql_idtr, $link_data);

   $res_dtr1 = msql_query($sql_dtr1, $link_data);
   while ($aso_dtr1 = msql_fetch_assoc($res_dtr1))
   {
       if ($aso_dtr1['tcant'] != 0)
       {
           $iddet++;
           $sql_idtr = 'insert into cont2(idnum2,iddet)value("' . $idnum . '","' . $iddet . '")';
           $res_idtr = msql_query($sql_idtr, $link_data);

           $sql_idtr = 'update cont2 set ';
           $sql_idtr .= 'ctas="' . $aso_dtr1['ctas'] . '",';
           $sql_idtr .= 'cant=' . $aso_dtr1['tcant'] . '*(-1),';
           $sql_idtr .= 'iddet="' . $iddet . '" ';
           $sql_idtr .= 'where idnum2="' . $idnum . '" and iddet="' . $iddet . '"';
           $res_idtr = msql_query($sql_idtr, $link_data);
           $total += $aso_dtr1['tcant'];
//            echo '<br>' . $aso_dtr1['ctas'] . ' ' . number_format($aso_dtr1['tcant'], 2, '.', ',');
       }
   }

   $sql_idtr = 'update cont2 set ';
   $sql_idtr .= 'ctas="' . $cuenta . '",';
   $sql_idtr .= 'cant="' . $total . '",';
   $sql_idtr .= 'iddet=1 ';
   $sql_idtr .= 'where idnum2="' . $idnum . '" and iddet=1 ';
   $res_idtr = msql_query($sql_idtr, $link_data);

//    echo '<br>TOTAL:' . $total;

}


?>