<?php

// CAJA
{

function gen_ccxc($docu,$idnum)
{
     include('../_cfg/config.php');
     
}
     
     
function set_fechadepo()
{
     include('../_cfg/config.php');

     $sql_caja ='select * from caja1 ';
     $sql_caja.='where docu like "ICH%" and status not in("O","X") and (fechadepo="" or fechadepo is null) ';
     $sql_caja.='order by fecha';
     $res_caja=msql_query($sql_caja,$link_vcrx);
     while($aso_caja=msql_fetch_assoc($res_caja))
     {ich1_depo($aso_caja['docu'],$aso_caja['idnum1']);}
     
}
     
function sal_caja($codigo,$fecha1,$fecha2)
{
  include('../_cfg/config.php');
 
   $sql_sald='select caja12.*, ';
   $sql_sald.='sum(case when fecha<"'.$fecha1.'" then tcant end) as saldoi, ';
   $sql_sald.='sum(case when fecha>="'.$fecha1.'" and fecha<="'.$fecha2.'" then tdebito end) as stdebito, ';
   $sql_sald.='sum(case when fecha>="'.$fecha1.'" and fecha<="'.$fecha2.'" then tcredito end) as stcredito, ';
   $sql_sald.=' 1 as detalle ';
   $sql_sald.=' from caja12  ';
   $sql_sald.=' where status!="O" ';
   $sql_sald.=' and caja="'.$codigo.'" ';
   $res_sald=msql_query($sql_sald,$link_vcrx);
   
   $xsaldo=array();
   $xsaldo[1]=msql_result($res_sald,0,'saldoi');
   $xsaldo[2]=msql_result($res_sald,0,'stdebito');
   $xsaldo[3]=msql_result($res_sald,0,'stcredito');
   $xsaldo[4]=$xsaldo[1]+$xsaldo[2]-$xsaldo[3];
   
   return $xsaldo;
   
}
   
   
function get_cajaich1($numero,$enti,$fecha='',$cant=0)
{
  include('../_cfg/config.php');

   if(empty($fecha)){$fecha=date('Y-m-d');}
     
   $sql_caja ='select * from caja1 ';
   $sql_caja.='where docu="ICH1" ';
   $sql_caja.='and numero="'.$numero.'" ';
   $sql_caja.='and enti="'.$enti.'" ';
   $sql_caja.='and fecha<="'.$fecha.'" ';
   $sql_caja.='and status!="O" ';
   $sql_caja.='and status!="X" ';
   $sql_caja.='order by fecha desc ';
   $res_caja=msql_query($sql_caja,$link_vcrx);
   $caja=msql_result($res_caja,0,'caja');
   
   if(empty($caja))
   {
      $sql_caja ='select * from caja1 ';
      $sql_caja.='where docu="ICH1" ';
      $sql_caja.='and numero="'.$numero.'" ';
//       $sql_caja.='and enti="'.$enti.'" ';
      $sql_caja.='and fecha<="'.$fecha.'" ';
      $sql_caja.='and status!="O" ';
      $sql_caja.='and status!="X" ';
      $sql_caja.='order by fecha desc ';
      $res_caja=msql_query($sql_caja,$link_vcrx);
      $caja=msql_result($res_caja,0,'caja');
     
   }
      
   if(empty($caja))
   {
      $sql_caja ='select * from caja1 ';
      $sql_caja.='where docu="ICH1" ';
      $sql_caja.='and numero="'.$numero.'" ';
      $sql_caja.='and enti="'.$enti.'" ';
//       $sql_caja.='and fecha<="'.$fecha.'" ';
      $sql_caja.='and status!="O" ';
      $sql_caja.='and status!="X" ';
      $sql_caja.='order by fecha desc ';
      $res_caja=msql_query($sql_caja,$link_vcrx);
      $caja=msql_result($res_caja,0,'caja');
   }
      
   if(empty($caja))
   {
      $sql_caja ='select * from caja1 ';
      $sql_caja.='where docu="ICH1" ';
      $sql_caja.='and numero="'.$numero.'" ';
//       $sql_caja.='and enti="'.$enti.'" i';
//       $sql_caja.='and fecha<="'.$fecha.'" ';
      $sql_caja.='and status!="O" ';
      $sql_caja.='and status!="X" ';
      $sql_caja.='order by fecha desc ';
      $res_caja=msql_query($sql_caja,$link_vcrx);
      $caja=msql_result($res_caja,0,'caja');
   }

   if(empty($caja))
   {
//       $sql_caja ='select * from caja1 ';
//       $sql_caja.='left join caja2 on idnum1=idnum2 ';
//       $sql_caja.='where docu="ICH1" ';
//       $sql_caja.='and numero>0';
//       $sql_caja.='and enti="'.$enti.'" ';
//       $sql_caja.='and fecha<="'.$fecha.'" ';
//       $sql_caja.='and cant="'.$cant.'" ';
//       $sql_caja.='and status!="O" ';
//       $sql_caja.='and status!="X" ';
//       $sql_caja.='order by fecha desc ';
//       $res_caja=msql_query($sql_caja,$link_vcrx);
// //       $caja=msql_result($res_caja,0,'caja');
     
   }
      
      
     
     
   return $caja;
}
   
function ich1_depo($docu,$idnum)
{
     //asigna deposito al ich1
  if(!mb_stristr('ICH1',$docu)){return;}
  if($idnum==""){return;}
  include('../_cfg/config.php');

  $sql_caba='select * from caja1 where docu="'.$docu.'" and idnum1="'.$idnum.'"';
  $res_caba=msql_query($sql_caba,$link_vcrx);
  
  $docu=msql_result($res_caba,0,'docu');
  $numero=msql_result($res_caba,0,'numero');
  $fecha=msql_result($res_caba,0,'fecha');
  $numedepo=msql_result($res_caba,0,'numedepo');
  
  if(!mb_stristr('ICH1',$docu)){return;}
  if(!empty($numedepo)){return;}

  $sql_caba='select * from bcos12 ';
//   $sql_caba.='where docum="'.$docu.'" and numer="'.$numero.'" and fecha>="'.$fecha.'" ';
  $sql_caba.='where docum="ECH1" and numer="'.$numero.'" and fecha>="'.$fecha.'" ';
  $sql_caba.=' and status!="O" ';
  $sql_caba.=' order by fecha ';
  $res_caba=msql_query($sql_caba,$link_vcrx);
     
  

  if(msql_num_rows($res_caba)>0)
  {
//     $idnum_db10=msql_result($res_caba,0,'idnum1');
    $fechadepo=msql_result($res_caba,0,'fecha');
    $numedepo=msql_result($res_caba,0,'numero');
    $ctabdepo=msql_result($res_caba,0,'ctab');

       
//      echo '*/*/* '.$sql_caba;
//      echo '*/*/* '.$fechadepo;
//      echo '*/*/* '.$numedepo;
//      echo '*/*/* '.$ctabdepo;
//      return;
       
    $sql_updt='';
    $sql_updt.='update caja1 set ';
    $sql_updt.='fechadepo="'.$fechadepo.'", ';
    $sql_updt.='numedepo="'.$numedepo.'", ';
    $sql_updt.='ctabdepo="'.$ctabdepo.'", ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  
  
}
  
  
function ich1_ech1($docu,$idnum)
{
  return;
  if(!mb_stristr('ICH1',$docu)){return;}
  if($idnum==""){return;}
  include('../_cfg/config.php');
//   include('php_gene1.php');
//   include('php_session.php');

  $tabla='caja';
  $newtabla='caja';
  $newdocu='ECH1';    
  
  $sql_caba='select * from '.$tabla.'1 where idnum1="'.$idnum.'"';
  $res_caba=msql_query($sql_caba,$link_vcrx);
  
  $docu=msql_result($res_caba,0,'docu');
  $numero=msql_result($res_caba,0,'numero');
  if(!mb_stristr('ICH1',$docu)){return;}
  
  $fechadepo=msql_result($res_caba,0,'fechadepo');
  $numedepo=msql_result($res_caba,0,'numedepo');
  $ctabdepo=msql_result($res_caba,0,'ctabdepo');
  
  if($numedepo=='' or $ctabdepo==''){return;}

  $sql_caba='select * from '.$newtabla.'1 where docu='.$newdocu. ' and numero="'.$numero.'" order by idnum1 desc ';
  $res_caba=msql_query($sql_caba,$link_vcrx);
  $newidnum=@msql_result($res_caba,0,'idnum1');
  
  if($newidnum==0)
  {
    $sql_caba='select * from '.$newtabla.'1 where idfrom='.$idnum. ' and upper(mdfrom)="'.strtoupper($tabla).'" order by idnum1 desc';
    $res_caba=msql_query($sql_caba,$link_vcrx);
    $newidnum=@msql_result($res_caba,0,'idnum1');
  }

  if($newidnum==0)
  {
    $newidnum=clon_docu($docu,$idnum,$newdocu);
    $res_caba=msql_query($sql_caba,$link_vcrx);
  }
  $newidnum=@msql_result($res_caba,0,'idnum1');
  $newnumero=$numero;
  
  
  $sql_updt='';
  $sql_updt.='update '.$newtabla.'1 set ';
  $sql_updt.='docu="'.$newdocu.'", ';
  $sql_updt.='numero="'.$newnumero.'", ';
  $sql_updt.='fecha="'.$fechadepo.'", ';
  $sql_updt.='caba2="'.$ctabdepo.'", ';
  $sql_updt.='status=status ';
  $sql_updt.='where idnum1='.$newidnum;
  $res_updt=msql_query($sql_updt,$link_vcrx);
  
    
}
  
  
  
  
function iv10_iv11($docu,$idnum)
{
  if($idnum==""){return;}
  include('../_cfg/config.php');
  include('php_gene1.php');
  include('php_session.php');

  $tabla='caja';
  $newtabla='caja';

  $sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" ';
  $res_caba=msql_query($sql_caba,$link_vcrx);

  $newdocu='IV11';    

// 	$newtabla=r_fiel('docu',$newdocu,'tabla');
// 	$newptoe=r_fiel('caba',$caba2,'ptoe');

$sql_caba='select * from '.$newtabla.'1 where idfrom='.$idnum. ' and upper(mdfrom)="'.strtoupper($tabla).'" order by idnum1';
$res_caba=msql_query($sql_caba,$link_vcrx);

if(msql_num_rows($res_caba)==0)
{
  $newnumero=nume_docu($docu,$newptoe);
  $newidnum=clon_docu($docu,$idnum,$newdocu);
}



  $xnumero=

  $sql_info ='update bcos1,bcos2 ';
  $sql_info.='set ';
  $sql_info.='ptoem="001001" ';
  $sql_info.='numer="000000000" ';
  $sql_info.='where idnum1=idnum2 ';
  $sql_info.='and docu like "PR%" ';
  $sql_info.='and idnum2="'.$idnum.'"';
//     $res_info =msql_query($sql_info,$link_vcrx);

}
  
  
function gen_caba13($docu,$idnum)
{
//   return;
	include('../_cfg/config.php');
  
	$tabla=r_fiel('docu',$docu,'tabla');
  if($tabla!='caja' and $tabla!='bcos'){return;}

  $sql_cabo='select * from '.$tabla.'12 where idnum1='.$idnum.' order by numer';
  $res_cabo=msql_query($sql_cabo,$link_vcrx);
  if($tabla=='caja'){$caba1=@msql_result($res_cabo,0,'caja');}
  if($tabla=='bcos'){$caba1=@msql_result($res_cabo,0,'ctab');}
  $caba2=@msql_result($res_cabo,0,'caba2');  
  $fecha=@msql_result($res_cabo,0,'fecha');  
  $status=@msql_result($res_cabo,0,'status');  

    $sql_info ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_info.='set ctas=null ';
    $sql_info.='where idnum1=idnum2 ';
    $sql_info.='and caba2!="" and caba2 is not null ';
    $sql_info.='and ctas like "10101%"';
    $sql_info.='and idnum2="'.$idnum.'"';
    $res_info =msql_query($sql_info,$link_vcrx);

    $sql_info ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_info.='set caba2=null ';
    $sql_info.='where idnum1=idnum2 ';
    $sql_info.='and caba2!="" and caba2 is not null ';
    $sql_info.='and ctas!="" and ctas is not null';
    $sql_info.='and idnum2="'.$idnum.'"';
    $res_info =msql_query($sql_info,$link_vcrx);
  
    $sql_info ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_info.='set docum="ECH1" ';
    $sql_info.='where idnum1=idnum2 ';
    $sql_info.='and docu like "DB%" ';
    $sql_info.='and docum like "ICH%" ';
    $sql_info.='and idnum2="'.$idnum.'"';
    $res_info =msql_query($sql_info,$link_vcrx);
//      echo '*/*/*/'.$sql_info.msql_error($link_vcrx);
  
// 	$sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" order by ctas desc';
	$sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" order by numer desc';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
  $oriptoe=@msql_result($res_caba,0,'ptoe');
  $orinumero=@msql_result($res_caba,0,'numero');
  
  $oridocum=@msql_result($res_caba,0,'docum');
  $orinumer=@msql_result($res_caba,0,'numer');

  $oricaba2=@msql_result($res_caba,0,'caba2');
  
	$caba2=@msql_result($res_caba,0,'caba2');
	$status=@msql_result($res_caba,0,'status');
	$ctasdeta=@msql_result($res_caba,0,'ctas');

  if(mb_stristr('DB.IE',substr($docu,0,2)))
  {
    if(substr($caba2,0,1)=='B')
    {$newdocu='ND13'; if(mb_stristr($oridocum,'CH')){$newdocu='CH10';}}
    else
    {$newdocu='EE13'; if(mb_stristr($oridocum,'CH')){$newdocu='ECH1';}}
  }
    
  if(mb_stristr('CH.EE.ND',substr($docu,0,2)))
  {
    if(substr($caba2,0,1)=='B')
    {$newdocu='DB13';}
    else
    {$newdocu='IE13';}
  }

$newptoe=r_fiel('caba',$caba2,'ptoe');
     
  
	if(mb_stristr('CH10.ND13.EE13',$docu) and 1==2)
  {
    if($caba2=='')
    {
      $sql_doc2='select * from '.$tabla.'2 where idnum2='.$idnum.' and docum like "%13%"';
      $res_doc2=msql_query($sql_doc2,$link_vcrx);
      if(msql_num_rows($res_doc2)!=0)
      {
        $newdocu=msql_result($res_doc2,0,'docum');
        $sql_doc2='select * from '.$tabla.'12 where idnum2!='.$idnum.' and docum="'.$newdocu.'" and caba2!="" and caba2 is not null order by fecha desc';
//         $sql_doc2='select * from '.$tabla.'12 where idnum2!='.$idnum.' and docum like "'.substr($newdocu,0,2).'%" and caba2!="" and caba2 is not null order by fecha desc';
        $res_doc2=msql_query($sql_doc2,$link_vcrx);
        $caba2=msql_result($res_doc2,0,'caba2');
           

        $sql_udo2='update '.$tabla.'1 set caba2="'.$caba2.'" where idnum1="'.$idnum.'"';
        $res_udo2=msql_query($sql_udo2,$link_vcrx);
      }
    }
  }
  
//   if($orinumer!=''){return;}
  if($caba1=='' or $caba2=='' or $caba1==$caba2){return;}
	if(substr($docu,2,2)=='13' and $caba2==''){return;}

  if(mb_stristr('CH10.ND13.EE13',$docu))
  {
    $sql_elim='update caja1 set status="O" where idfrom="'.$idnum.'" and upper(mdfrom)="'.strtoupper($tabla).'"';
    $res_elim=msql_query($sql_elim,$link_vcrx);
    
    $sql_elim='update bcos1 set status="O" where idfrom="'.$idnum.'" and upper(mdfrom)="'.strtoupper($tabla).'"';
    $res_elim=msql_query($sql_elim,$link_vcrx);
  }
  
// echo '*/*/*/*'.$ctasdeta;
// echo '*/*/*/*'.$newdocu;
  
  if($ctasdeta!=''){return;}
	if($newdocu==''){return;}
	
	$newtabla=r_fiel('docu',$newdocu,'tabla');
	$newptoe=r_fiel('caba',$caba2,'ptoe');


     
  $fecha1=date('Y-m-d',strtotime($fecha.' -7 days'));
  
	$sql_caba='select * from '.$newtabla.'1 where ';
	$sql_caba.=' docu="'.$oridocum.'" ';
	$sql_caba.=' and numero="'.$orinumer.'" ';
     if($oridocum=='ECH1')
     {$sql_caba.=' and fecha>="'.$fecha1.'" ';}
	$sql_caba.=' and fecha<="'.$fecha.'" ';
	$sql_caba.=' and status!="X"';
	$sql_caba.=' order by idnum1 desc';
	$res_caba=msql_query($sql_caba,$link_vcrx);
     $newidnum=@msql_result($res_caba,0,'idnum1');
  
//      echo '<br>*/*/*/'.$sql_caba;
//      echo '<br>*/*/*/'.$newdocu;
//      echo '<br>*/*/*/'.$newidnum;
// //      return;
     
//  echo '<br>*/*/*/'.$newdocu;
//  echo '<br>*/*/*/'.$newptoe;
//      return;

     
	if($newidnum==0)
	{
          $sql_caba='select * from '.$newtabla.'1 where ';
          $sql_caba.=' idfrom='.$idnum. ' and upper(mdfrom)="'.strtoupper($tabla).'" ';
          $sql_caba.=' and status!="X"';
          $sql_caba.=' order by idnum1 desc';
          $res_caba=msql_query($sql_caba,$link_vcrx);
          $newidnum=@msql_result($res_caba,0,'idnum1');
      }
  
     if($newidnum==0)
     {
          
//   echo '<br>*/*/*/'.$newptoe;
          
//           $newnumero=nume_docu($docu,$newptoe);
          $newnumero=nume_docu($newdocu,$newptoe);
          
//   echo '<br>*/*/*/'.$docu;
//   echo '<br>*/*/*/'.$newptoe;
//   echo '<br>*/*/*/'.$newnumero;
//           return;
          
          $newidnum=clon_docu($docu,$idnum,$newdocu);
          
          $sql_ucaba ='update '.$newtabla.'1 set ';
          $sql_ucaba.='docu="'.$newdocu.'",';
          $sql_ucaba.='ptoe="'.$newptoe.'",';
          $sql_ucaba.='numero="'.$newnumero.'",';
          $sql_ucaba.='status=status ';
          $sql_ucaba.='where idnum1="'.$newidnum.'"';
          $res_ucaba=msql_query($sql_ucaba,$link_vcrx);
          
          
          $res_caba=msql_query($sql_caba,$link_vcrx);
          
//   echo '<br>*/*/*/'.$newptoe;
//   echo '<br>*/*/*/'.$sql_ucaba;
//           return;
//           die();
     }

//   echo '*/*/*/'.$newidnum;
  
  $newidnum=msql_result($res_caba,0,'idnum1');
  $newptoe=msql_result($res_caba,0,'ptoe');
  $newnumero=msql_result($res_caba,0,'numero');

     
     
  if(mb_stristr($oridocum,'CH')){$newnumero=$orinumer;}    
  
	$sql_caba='update '.$newtabla.'1 set ';
	$sql_caba.=' docu="'.$newdocu.'",';
	$sql_caba.=' ctab="'.$caba2.'",';
	$sql_caba.=' fecha="'.$fecha.'",';
	$sql_caba.=' ptoe="'.$newptoe.'",';
       if($newtabla=='caja'){$sql_caba.=' caja="'.$caba2.'",';}  
       if($newtabla=='bcos'){$sql_caba.=' ctab="'.$caba2.'",';}  
	$sql_caba.=' caba2="'.$caba1.'",';
	$sql_caba.=' status="'.$status.'"';
	$sql_caba.=' where idnum1='.$newidnum;
	$res_caba=msql_query($sql_caba,$link_vcrx);
// echo '<br>*/*/*'.$caba2;
// echo '<br>*/*/*'.$sql_caba;
  
	$sql_caba ='update '.$tabla.'2 set ';
	$sql_caba.='docum="'.$newdocu.'",';
	$sql_caba.='ptoem="'.$newptoe.'",';
	$sql_caba.='numer="'.$newnumero.'" ';
	$sql_caba.='where idnum2="'.$idnum.'"';
	$res_caba=msql_query($sql_caba,$link_vcrx);
     
	$sql_caba ='update '.$newtabla.'1 set ';
	$sql_caba.='docu="'.$newdocu.'",';
	$sql_caba.='ptoe="'.$newptoe.'",';
	$sql_caba.='numero="'.$newnumero.'",';
	$sql_caba.='status=status ';
	$sql_caba.='where idnum1="'.$newidnum.'"';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
//   echo '**/*/'.$sql_caba;
	$sql_caba ='update '.$newtabla.'2 set ';
	$sql_caba.='docum="'.$docu.'",';
	$sql_caba.='ptoem="'.$oriptoe.'",';
	$sql_caba.='numer="'.$orinumero.'" ';
	$sql_caba.='where idnum2="'.$newidnum.'"';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
  gen_contab($newdocu,$newidnum);
  return $newdocu.$newidnum;
}

function gen_caba13bak($docu,$idnum)
{
	include('../_cfg/config.php');


  // documnento de salida de dinero
	if(!mb_stristr('CH10.ND13.EE13',$docu)){return;}
  
	$tabla=r_fiel('docu',$docu,'tabla');
  if($tabla!='caja' and $tabla!='bcos'){return;}

//   if($tabla=='caja'){$caba1=r_fiel($tabla.'1',$idnum,'caja');}
//   if($tabla=='bcos'){$caba1=r_fiel($tabla.'1',$idnum,'ctab');}
  
  $sql_cabo='select * from '.$tabla.'12 where idnum1='.$idnum;
  $res_cabo=msql_query($sql_cabo,$link_vcrx);
  $status=@msql_result($res_cabo,0,'status');  

  if($tabla=='caja'){$caba1=@msql_result($res_cabo,0,'caja');}
  if($tabla=='bcos'){$caba1=@msql_result($res_cabo,0,'ctab');}

  
  
    $sql_info ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_info ='set ctas=null ';
    $sql_info.='where idnum1=idnum2 ';
    $sql_info.='and caba2!="" and caba2 is not null ';
    $sql_info.='and ctas like "10101%"';
    $sql_info.='and idnum2="'.$idnum.'"';
    $res_info =msql_query($sql_info,$link_vcrx);

    $sql_info ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_info ='set caba2=null ';
    $sql_info.='where idnum1=idnum2 ';
    $sql_info.='and caba2!="" and caba2 is not null ';
    $sql_info.='and ctas!="" and ctas is not null';
    $sql_info.='and idnum2="'.$idnum.'"';
    $res_info =msql_query($sql_info,$link_vcrx);
  
//     $sql_info ='update '.$tabla.'1 ';
//     $sql_info ='set caba2=null ';
//     $sql_info.='where  ';
//     $sql_info.='and caba2!="" and caba2 is not null ';
//     $sql_info.='and caba2!="" and caba2 is not null ';
// //     $sql_info.='and ctas!="" and ctas is not null';
//     $sql_info.='and idnum2="'.$idnum.'"';
//     $res_info =msql_query($sql_info,$link_vcrx);
  
  
  if(mb_stristr('IE13.DB13',$docu))
  {
    $sql_elim ='update '.$tabla.'1,'.$tabla.'2 ';
    $sql_elim.='set status="O" ';
    $sql_elim.='where idnum1=idnum2 and caba2!="" ';
    $sql_elim.='and ctas!="" and ctas is not null ';
    $sql_elim.='and idnum2="'.$idnum.'"';
    $res_elim=msql_query($sql_elim,$link_vcrx);
  }
    
  
	$sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" order by ctas desc';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
//   echo msql_error($link_vcrx);
  
  $oriptoe=@msql_result($res_caba,0,'ptoe');
  $orinumero=@msql_result($res_caba,0,'numero');
  $oricaba2=@msql_result($res_caba,0,'caba2');
  
	$caba2=@msql_result($res_caba,0,'caba2');
	$status=@msql_result($res_caba,0,'status');
	$ctasdeta=@msql_result($res_caba,0,'ctas');


	if(mb_stristr('CH10.ND13.EE13',$docu))
  {
    if(substr($caba2,0,1)=='B')
    {$newdocu='DB13';}
    else
    {$newdocu='IE13';}
    
    
    if($caba2=='')
    {
  //     $sql_doc2='select * from '.$tabla.'2 where idnum2='.$idnum.' and docum like "'.$newdocu.'"';
      $sql_doc2='select * from '.$tabla.'2 where idnum2='.$idnum.' and docum like "%13%"';
      $res_doc2=msql_query($sql_doc2,$link_vcrx);
      if(msql_num_rows($res_doc2)!=0)
      {
        $newdocu=msql_result($res_doc2,0,'docum');
//       echo 'a'.$newdocu;
//         $sql_doc2='select * from '.$tabla.'12 where idnum2!='.$idnum.' and docum="'.$newdocu.'" order by fecha desc';
        $sql_doc2='select * from '.$tabla.'12 where idnum2!='.$idnum.' and docum="'.$newdocu.'" and caba2!="" and caba2 is not null order by fecha desc';
        $res_doc2=msql_query($sql_doc2,$link_vcrx);
//         echo msql_error($link_vcrx).$sql_doc2;
        $caba2=msql_result($res_doc2,0,'caba2');

        $sql_udo2='update '.$tabla.'1 set caba2="'.$caba2.'" where idnum1="'.$idnum.'"';
        $res_udo2=msql_query($sql_udo2,$link_vcrx);
//         echo $sql_udo2;
      }
      
    }
  }
  
  if($caba1=='' or $caba2==''){return;}
	if(substr($docu,2,2)=='13' and $caba2==''){return;}
  
// 	$newdocu='';
  
	$sql_elim='update caja1 set status="O" where idfrom="'.$idnum.'" and upper(mdfrom)="'.strtoupper($tabla).'"';
	$res_elim=msql_query($sql_elim,$link_vcrx);
  
	$sql_elim='update bcos1 set status="O" where idfrom="'.$idnum.'" and upper(mdfrom)="'.strtoupper($tabla).'"';
	$res_elim=msql_query($sql_elim,$link_vcrx);
  
  if($ctasdeta!=''){return;}
	if($newdocu==''){return;}
//   echo $caba1.'/'.$caba2;
  
	
	$newtabla=r_fiel('docu',$newdocu,'tabla');
	$newptoe=r_fiel('caba',$caba2,'ptoe');
  
	$sql_caba='select * from '.$newtabla.'1 where idfrom='.$idnum. ' and upper(mdfrom)="'.strtoupper($tabla).'" order by idnum1';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
	if(msql_num_rows($res_caba)==0)
	{
    $newnumero=nume_docu($docu,$newptoe);
    $newidnum=clon_docu($docu,$idnum,$newdocu);
  }
// 	else
// 	{$newidnum=msql_result($res_caba,0,'idnum1');}
	$res_caba=msql_query($sql_caba,$link_vcrx);
  $newidnum=msql_result($res_caba,0,'idnum1');
  $newptoe=msql_result($res_caba,0,'ptoe');
  $newnumero=msql_result($res_caba,0,'numero');
	
	$sql_caba='update '.$newtabla.'1 set ';
	$sql_caba.=' ctab="'.$caba2.'",';
	$sql_caba.=' ptoe="'.$newptoe.'",';
//	$sql_caba.=' caba="'.$caba2.'",';
  if($newtabla=='caja')
  {$sql_caba.=' caja="'.$caba2.'",';}  

  if($newtabla=='bcos')
  {$sql_caba.=' ctab="'.$caba2.'",';}  

	$sql_caba.=' caba2="'.$caba1.'",';
	$sql_caba.=' status="'.$status.'"';
	$sql_caba.=' where idnum1='.$newidnum;
	$res_cab=msql_query($sql_caba,$link_vcrx);
  
//   echo $sql_caba;
  
	$sql_caba ='update '.$tabla.'2 set ';
	$sql_caba.='docum="'.$newdocu.'",';
	$sql_caba.='ptoem="'.$newptoe.'",';
	$sql_caba.='numer="'.$newnumero.'" ';
	$sql_caba.='where idnum2="'.$idnum.'"';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
	$sql_caba ='update '.$newtabla.'2 set ';
	$sql_caba.='docum="'.$docu.'",';
	$sql_caba.='ptoem="'.$oriptoe.'",';
	$sql_caba.='numer="'.$orinumero.'" ';
	$sql_caba.='where idnum2="'.$newidnum.'"';
	$res_caba=msql_query($sql_caba,$link_vcrx);
  
//   echo '<br>'.msql_error($link_vcrx);
//   echo '<br>'.$sql_caba;
  
  gen_contab($newdocu,$newidnum);
// echo '*/*/*'.$newdocu.$newidnum.$newtabla;  
  return $newdocu.$newidnum;
}


  
function gen_ap10fp90($docu,$idnum,$docu2)
{
     include('../_cfg/config.php');
     $tabla=r_fiel('docu',$docu,'tabla');
//      if($tabla!='caja' and $tabla!='bcos'){return;}
//      if(!mb_stristr('caja.bcos',$tabla)){return;}
     if(!mb_stristr('caja.bcos.dxco.dxpa',$tabla)){return;}

//      $sql_caba='update '.$tabla.'2 set ptoem="001001" where docum="AP10" and  idnum2="'.$idnum.'" ';
     $sql_caba='update '.$tabla.'2 set ptoem="001001" where docum in("AP10","AP11","AC10","AC11") and  idnum2="'.$idnum.'" ';
     $res_caba=msql_query($sql_caba,$link_vcrx);
     
//      echo '*/*/*/'.$sql_caba;

     $sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" ';
     $res_caba=msql_query($sql_caba,$link_vcrx);

     $newdocu=$docu2;
     $newtabla=r_fiel('docu',$newdocu,'tabla');
     $status=msql_result($res_caba,0,'status');

     $sql_comp='select * from '.$newtabla.'1 where docu="'.$newdocu.'" and idfrom="'.$idnum.'" and mdfrom="'.strtoupper($tabla).'" ';
     $res_comp=msql_query($sql_comp,$link_vcrx);
     $newidnum=@msql_result($res_comp,0,'idnum1');
     $newnumero=@msql_result($res_comp,0,'numero');

      if(!empty($newidnum))
      {
        $sql_updt='update '.$newtabla.'1 set status="'.$status.'" where idnum1="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='update '.$newtabla.'2 set item="9999999999" where idnum2="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='delete from '.$newtabla.'2 where cant=0 and puni=0 and idnum2="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
  
     @msql_data_seek($res_caba,0);      
     while($aso_caba=msql_fetch_assoc($res_caba))
     {
          $docum=$aso_caba['docum'];
          $ptoem=$aso_caba['ptoem'];
          $numer=$aso_caba['numer'];
          $fecha=$aso_caba['fecha'];
          $cant=$aso_caba['cant'];
          $puni=$aso_caba['puni'];
          $ctas=$aso_caba['ctas'];
          $detalle=$aso_caba['detalle'];
          $vnumer=$numer*1;
          
          $xcant=$cant*$puni;
          if(empty($xcant)){$xcant=$cant;}

          $newptoem=$aso_caba['ptoem'];
          $newptoe='001001';
          $iddet=$aso_caba['iddet'];

          if($docum==$newdocu)
          {
//           echo '<br>*/*/*/'.$docum.$newdocu;
               if($vnumer==0)
               {
                    if(empty($newidnum))
                    {
                         $newnumero=nume_docu($newdocu,$newptoe);
                         $newidnum=clon_docu($docu,$idnum,$newdocu);

                         $sql_updt ='update '.$newtabla.'1 set ';
                         $sql_updt.='numero="'.$newnumero.'", ';
                         $sql_updt.='ptoe="'.$newptoe.'", ';
                         $sql_updt.='fecha="'.$fecha.'", ';
                         $sql_updt.='status=status ';
                         $sql_updt.='where idnum1="'.$newidnum.'"';
                         $res_updt=msql_query($sql_updt,$link_vcrx);
                    }
                    //         else
                    {
                         $sql_inse='insert into '.$newtabla.'2(idnum2,iddet)value("'.$newidnum.'","'.$iddet.'")';
                         $res_inse=msql_query($sql_inse,$link_vcrx);
                    }
               }

//                      echo '<br>**'.$newidnum;

               if(!empty($newidnum))
               {
                    $sql_updt ='update '.$newtabla.'2 set ';
                    $sql_updt.='item="9999999999",';
                    $sql_updt.='detalle="'.$detalle.'" ';
                    $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
                    $res_updt=msql_query($sql_updt,$link_vcrx);

                    $sql_updt ='update '.$newtabla.'2 set ';
                    $sql_updt.='cant=1,';
//                     $sql_updt.='puni="'.$cant.'", ';
                    $sql_updt.='puni="'.$xcant.'", ';
                    $sql_updt.='ctas="'.$ctas.'", ';
                    $sql_updt.='detalle="'.$detalle.'" ';
                    $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
                    $res_updt=msql_query($sql_updt,$link_vcrx);

                    if(mb_stristr('caja.bcos',$newtabla))
                    {
                         $sql_updt ='update '.$newtabla.'2 set ';
                         if($newdocu=='AC11')
                         {
                              $sql_updt.='docum="AC10",';
                              $sql_updt.='numer="1",';
                         }
                         $sql_updt.='cant="'.$cant.'",';
                         $sql_updt.='puni=1,';
                         $sql_updt.='ctas="'.$ctas.'", ';
                         $sql_updt.='detalle="'.$detalle.'" ';
                         $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
                         $res_updt=msql_query($sql_updt,$link_vcrx);
                    }
                    
                    $sql_updt='update '.$tabla.'2 set docum="'.$newdocu.'",ptoem="'.$newptoem.'",numer="'.$newnumero.'" ';
                    $sql_updt.='where idnum2="'.$idnum.'" and iddet="'.$iddet.'"';
                    $res_updt=msql_query($sql_updt,$link_vcrx);
                    
                    if($newdocu=='AC11')
                    {
//                          $sql_updt='update '.$tabla.'2 set docum="AC10",ptoem="'.$newptoem.'",numer="'.$newnumero.'" ';
//                          $sql_updt.='where idnum2="'.$idnum.'" and iddet="'.$iddet.'"';
// //                          $res_updt=msql_query($sql_updt,$link_vcrx);
//                          echo $sql_updt;
                    }
               }

          }
          else
          {
               if(!empty($newidnum))
               {
               $sql_updt='update '.$newtabla.'2 set cant=0,puni=0,ctas=null ';
               $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
               $res_updt=msql_query($sql_updt,$link_vcrx);
               }
          }
     }
  
}  
  
function Xgen_ac10($docu,$idnum,$docu2)
{
	include('../_cfg/config.php');
  
 	$tabla=r_fiel('docu',$docu,'tabla');
  if($tabla!='caja' and $tabla!='bcos'){return;}
  
  $sql_caba='select * from '.$tabla.'12 where idnum1="'.$idnum.'" ';
  $res_caba=msql_query($sql_caba,$link_vcrx);
  
    $newdocu=$docu2;
    $newtabla=r_fiel('docu',$newdocu,'tabla');
    $status=msql_result($res_caba,0,'status');

      $sql_comp='select * from '.$newtabla.'1 where docu="'.$newdocu.'" and idfrom="'.$idnum.'" and mdfrom="'.strtoupper($tabla).'" ';
      $res_comp=msql_query($sql_comp,$link_vcrx);
      $newidnum=@msql_result($res_comp,0,'idnum1');
      $newnumero=@msql_result($res_comp,0,'numero');

      if(!empty($newidnum))
      {
        $sql_updt='update '.$newtabla.'1 set status="'.$status.'" where idnum1="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='update '.$newtabla.'2 set item="9999999999" where idnum2="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='delete from '.$newtabla.'2 where cant=0 and puni=0 and idnum2="'.$newidnum.'" ';
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
  
  
  @msql_data_seek($res_caba,0);      
  while($aso_caba=msql_fetch_assoc($res_caba))
  {
    $docum=$aso_caba['docum'];
    $ptoem=$aso_caba['ptoem'];
    $numer=$aso_caba['numer'];
    $fecha=$aso_caba['fecha'];
    $cant=$aso_caba['cant'];
    $ctas=$aso_caba['ctas'];
    $detalle=$aso_caba['detalle'];
    $vnumer=$numer*1;
    
    $iddet=$aso_caba['iddet'];

    if($docum==$newdocu)
    {
      if($vnumer==0)
      {
        if(empty($newidnum))
        {
          $newnumero=nume_docu($newdocu);
          $newidnum=clon_docu($docu,$idnum,$newdocu);
          
          $sql_updt='update '.$newtabla.'1 set numero="'.$newnumero.'" where idnum1="'.$newidnum.'"';
          $res_updt=msql_query($sql_updt,$link_vcrx);
          $sql_updt='update '.$newtabla.'1 set fecha="'.$fecha.'" where idnum1="'.$newidnum.'"';
          $res_updt=msql_query($sql_updt,$link_vcrx);
        }
//         else
        {
          $sql_inse='insert into '.$newtabla.'2(idnum2,iddet)value("'.$newidnum.'","'.$iddet.'")';
          $res_inse=msql_query($sql_inse,$link_vcrx);
        }
      }

//       echo '**'.$newidnum;
      
      if(!empty($newidnum))
      {
        $sql_updt ='update '.$newtabla.'2 set ';
        $sql_updt.='item="9999999999",';
        $sql_updt.='detalle="'.$detalle.'" ';
        $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt ='update '.$newtabla.'2 set ';
        $sql_updt.='cant=1,';
        $sql_updt.='puni="'.$cant.'", ctas="'.$ctas.'", ';
        $sql_updt.='detalle="'.$detalle.'" ';
        $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
//         echo msql_error($link_vcrx). $sql_updt;

        $sql_updt='update '.$tabla.'2 set docum="'.$newdocu.'",numer="'.$newnumero.'" ';
        $sql_updt.='where idnum2="'.$idnum.'" and iddet="'.$iddet.'"';
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
      
    }
    else
    {
      if(!empty($newidnum))
      {
        $sql_updt='update '.$newtabla.'2 set cant=0,puni=0,ctas=null ';
        $sql_updt.='where idnum2="'.$newidnum.'" and iddet="'.$iddet.'"';
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
    }
  }
  
}  
  
  
}


?>