<?php //session_start();?>
<?php
// VALIDAR
{

function user_login($user,$pass)
{
$sql_user='select * from user0 ';

if($cfg_tipo=='cong')
	{$sql_user.=' left join cong0 on user_cong=cong_codigo';}	
	$sql_user.=' where(lower(user_email)="'.$user.'" ';
	$sql_user.=' or lower(user_nickname)="'.$user.'" ';
	$sql_user.=' or user_celular="'.$user.'" ';
// 	$sql_user.=' or user_wsapp="'.$user.'" ';
	$sql_user.=' or user_cedula="'.$user.'" )';


if($user!='9999999999')
	{$sql_user.=' and user_clave="'.md5($pass).'"';}
	$sql_user.=' order by user_lused desc';

$res_user=msql_query($sql_user,$link_vcrx);
// echo $sql_user;
// echo msql_error();
	
  if(msql_num_rows($res_user)==0)
  {return false;}
  else
  {
    $user_codigo=msql_result($res_user,0,'user_codigo');
    $_SESSION['user_codigo']=msql_result($res_user,0,'user_codigo');	
    $_SESSION['user_email']=msql_result($res_user,0,'user_email');	
    $_SESSION['user_cedula']=msql_result($res_user,0,'user_cedula');	
    $_SESSION['user_celular']=msql_result($res_user,0,'user_celular');	
    $_SESSION['user_descri']=ucwords(strtolower(msql_result($res_user,0,'user_descri')));
    $_SESSION['user_tipo']=msql_result($res_user,0,'user_tipo');
    $_SESSION['user_ptov']=msql_result($res_user,0,'user_ptov');
    $_SESSION['user_caja']=msql_result($res_user,0,'user_caja');
    $_SESSION['user_bode']=msql_result($res_user,0,'user_bode');
    $_SESSION['user_empr']=msql_result($res_user,0,'user_empr');

    $_SESSION['user_mobile']=$mobile;
    $_SESSION['user_touchs']=$touchs;
    $_SESSION['osver']=$osver;

    $empr_sql='update empr0 set empr_ruc="'.$cfg_ruc.'" where empr_codigo="'.$cfg_empr.'"';
    $empr_res=msql_query($empr_sql,$link_vcrx);

    $empr_sql='select * from empr0 left join enti0 on empr_ruc=enti_codigo where empr_codigo="'.$cfg_empr.'"';
    $empr_res=msql_query($empr_sql,$link_vcrx);

    $_SESSION['empr_empr']=$cfg_empr;
    $_SESSION['empr_codigo']=$cfg_empr;
    $_SESSION['empr_ruc']=$cfg_ruc;
    $_SESSION['empr_tipo']=$cfg_tipo;

    $_SESSION['empr_descri']=msql_result($empr_res,0,'enti_descri');
    $_SESSION['empr_email']=msql_result($empr_res,0,'enti_email');

    $_SESSION['empr_comp']=msql_result($empr_res,0,'empr_comp');
    $_SESSION['empr_cbco']=msql_result($empr_res,0,'empr_cbco');
    $_SESSION['empr_caja']=msql_result($empr_res,0,'empr_caja');
    $_SESSION['empr_inve']=msql_result($empr_res,0,'empr_inve');
    $_SESSION['empr_cont']=msql_result($empr_res,0,'empr_cont');
    $_SESSION['empr_nomi']=msql_result($empr_res,0,'empr_nomi');
    $_SESSION['empr_prod']=msql_result($empr_res,0,'empr_prod');
    $_SESSION['empr_lote']=msql_result($empr_res,0,'empr_lote');

    $_SESSION['empr_color1']=msql_result($empr_res,0,'empr_color1');
    $_SESSION['empr_color2']=msql_result($empr_res,0,'empr_color2');
    $_SESSION['empr_color3']=msql_result($empr_res,0,'empr_color3');



    if($cfg_tipo=='cong')
    {
      if($user!='9999999999')
      {	
        $_SESSION['user_cong']=msql_result($res_user,0,'user_cong');
        $_SESSION['cong_codigo']=msql_result($res_user,0,'user_cong');
        $_SESSION['cong_descri']=msql_result($res_user,0,'cong_descri');

        $_SESSION['empr_descri']='JWIB';
      }
    }

    $sql_user='update user0 set user_ip="'.$_SERVER['REMOTE_ADDR'].'", user_login=now() where user_codigo="'.$user_codigo.'"';
    $res_user=msql_query($sql_user,$link_vcrx);
  return true;
  }
}

  
  
  
function vali_regidocu($docu,$idnum)
{
//   return;
//   echo '*/*/*/'.$docu.$idnum;
	include('../_cfg/config.php');
	include('php_session.php');
// 	if($empr_codigo!='ecgl' and $_SESSION['user_vcrx_empr']!='ecgl'){return;}
// 	$tabla=r_fiel('docu',$docu,'tabla');
     if(empty($docu)){return;}
     if(empty($idnum)){return;}
   $sql_docu='select * from docu0 where docu_codigo="'.$docu.'"';
   $res_docu=msql_query($sql_docu,$link_vcrx);
   $tabla=msql_result($res_docu,0,'docu_tabla');
     
     if(empty($tabla)){return;}
  
  $sql_docu='select * from '.$tabla.'12 where idnum1='.$idnum;
  $res_docu=msql_query($sql_docu,$link_vcrx);
  
  $fecha=@msql_result($res_docu,0,'fecha');
     
$fechadtr=get_fechadtr() ;
     if($fecha<=$fechadtr){return;}
     
  $enti=@msql_result($res_docu,0,'enti');
  $ptoe=@msql_result($res_docu,0,'ptoe');
  $numero=@msql_result($res_docu,0,'numero');
  $numfac=@msql_result($res_docu,0,'numfac');
  $caja=@msql_result($res_docu,0,'caja');
  $ctab=@msql_result($res_docu,0,'ctab');
  $vndd=@msql_result($res_docu,0,'vndd');
     
  $efectivo=@msql_result($res_docu,0,'efectivo');
  $compensa=@msql_result($res_docu,0,'compensa');

  $autocon=0;
  if($tabla=='vtas'){$autocon=r_fiel('ptov',$ptoe,'autocon');}
     

    
     
  $docum=@msql_result($res_docu,0,'docum');
  $ptoem=@msql_result($res_docu,0,'ptoem');
  $numer=@msql_result($res_docu,0,'numer');

  $todocu=@msql_result($res_docu,0,'todocu');
  $toptoe=@msql_result($res_docu,0,'toptoe');
  $tonume=@msql_result($res_docu,0,'tonume');

  $entidescri=@msql_result($res_docu,0,'enti_descri');
  $coesp=@msql_result($res_docu,0,'enti_coesp');
  $coesn=@msql_result($res_docu,0,'enti_coesn');
  $exiva=@msql_result($res_docu,0,'enti_exiva');
  $firmafec=@msql_result($res_docu,0,'firmafec');
  $autornum=@msql_result($res_docu,0,'autornum');
  
  $impor=@msql_result($res_docu,0,'impor');
  $impor2=@msql_result($res_docu,0,'impor2');
  $costoe1=@msql_result($res_docu,0,'costoe1');
  $seguro1=@msql_result($res_docu,0,'seguro1');
  $flete1=@msql_result($res_docu,0,'flete1');
  $costol1=@msql_result($res_docu,0,'costol1');
  $numero=vali_number($numero);
  $numero=fillzero($numero);
     
  $numfac=fillzero($numfac);
//   if($numero=='000000000'){$numero='999999999';}

  $idate=@msql_result($res_docu,0,'idate');

//   echo '<br>*/*/*/'.$numero;
  
//   if($numero*1>0)
  if((int)$numero>0)
  {
    $sql_updt='update '.$tabla.'1 set numero="'.$numero.'" where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }

  if((int)$numfac>0)
  {
    $sql_updt='update '.$tabla.'1 set numfac="'.$numfac.'" where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }

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

  if($entidescri=='')
  {
//     echo '*/*/*/'.$enti;
//     echo val_ruced($enti);
  }

  $sql_updt='update enti0 set enti_razsoc=concat(ifnull(enti_ape1,"")," ",ifnull(enti_ape2,"")," ",ifnull(enti_nom1,"")," ",ifnull(enti_nom2,"")) where enti_razsoc="" or enti_razsoc is null and enti_codigo like "'.substr($enti,0,10).'%"';
  $res_updt=msql_query($sql_updt,$link_vcrx);
     
     
     
//   $sql_updt='update '.$tabla.'1 set idate=now() where (idate="" or idate is null) and idnum1='.$idnum;
//   $res_updt=msql_query($sql_updt,$link_vcrx);
  
//   if(!mb_stristr('CH10.ICH1',$docu) and $fecha>$fechaa)
//      echo '*/*/*/'.$fecha.' - '.substr($idate,0,10);
  
//    if(mb_stristr('FP03.FP11',$docu)){gen_claveacc($docu,$idnum);}
//    if(mb_stristr('FC.NC.GR',substr($docu,0,2))){gen_claveacc($docu,$idnum);}
//    if(mb_stristr('PF.PC.PP',substr($docu,0,2))){gen_claveacc($docu,$idnum);}
  
  
  if(mb_stristr('ICH1',$docu) and substr($fecha,0,10)>substr($idate,0,10))
  {
//      echo 'POST';
    $sql_updt='update '.$tabla.'1 set fcobro=fecha where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
    $sql_updt='update '.$tabla.'1 set fecha=idate where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
     if(!mb_stristr('cont',$tabla))
  {
    $sql_updt='';
    $sql_updt.='update '.$tabla.'2 set ';
    $sql_updt.='cant=abs(cant), ';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum2='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  
	if(mb_stristr('cont',$tabla))
  {
    if(mb_stristr('pcs1.prs1',$cfg_empr) 
       and mb_stristr('DD.',substr($docu,0,2)) 
       and $fecha>"2022-01-01")
    {
      $sql_updt='';
      $sql_updt.='update '.$tabla.'2 set ';
      $sql_updt.='cant=0, ';
      $sql_updt.='detalle="*** CUENTA NO PERMITIDA", ';
      $sql_updt.='iddet=iddet ';
      $sql_updt.='where idnum2='.$idnum;
      $sql_updt.=' and (ctas="110201010001" ';
      $sql_updt.=' or   ctas="110201010002"';
      $sql_updt.=' or   ctas="210201010001"';
      if($cfg_empr=='pcs1')
      {$sql_updt.=' or   ctas="110204001003"';}
      $sql_updt.=' or   ctas="110201010001")';
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
// 210201010001
// 110201010002   
      
    }
  }
  

	if(mb_stristr('susa',$tabla))
  {
    $sql_updt='';
    $sql_updt.='update '.$tabla.'2 set ';
    $sql_updt.='cant=1, ';
    $sql_updt.='puni=sueldo, ';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum2='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }

	if(mb_stristr('dxco.dxpa',$tabla))
  {
    $sql_updt='';
    $sql_updt.='delete from '.$tabla.'2  ';
    $sql_updt.='where idnum2='.$idnum.' ';
    $sql_updt.='and cant*puni<=0 ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }

	if(mb_stristr('vtas.clie.inve',$tabla))
     {
          $sql_deta='select * from '.$tabla.'2 left join item0 on item=item_codigo where idnum2='.$idnum.' and item_descri like "%NUEVO EAN%" and trim(detalle)!="" and detalle is not null';
          $res_deta=msql_query($sql_deta,$link_vcrx);
          while($aso_deta=msql_fetch_assoc($res_deta))
          {
               $xitem=trim($aso_deta['item']);
               $xdescri=trim($aso_deta['detalle']);
               $sql_updt='update item0 set item_codigo=trim(item_codigo), item_descri="'.$xdescri.'" where trim(item_codigo)="'.$xitem.'"';
               $res_updt=msql_query($sql_updt,$link_vcrx);
          }
     }
  
  
	if(mb_stristr('caja.bcos',$tabla))
  {
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1,'.$tabla.'2 set ';
    $sql_updt.='ctas=null,';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum1=idnum2 ';
    $sql_updt.='and idnum2="'.$idnum.'" ';
    $sql_updt.='and substring(docum,1,2) in("FC","FP") ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
          
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1,'.$tabla.'2 set ';
    $sql_updt.='puni=1,';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum1=idnum2 ';
    $sql_updt.='and idnum2="'.$idnum.'"';
    $sql_updt.='and docu not in("ND13")';
    $res_updt=msql_query($sql_updt,$link_vcrx);
//           echo '*/*/*'.$sql_updt;

    $sql_updt='';
    $sql_updt.='update '.$tabla.'1,'.$tabla.'2 set ';
    $sql_updt.='enti=left(enti,10),';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum1=idnum2 ';
    $sql_updt.='and idnum2="'.$idnum.'" ';
    $sql_updt.='and docum in("FP03","FP11") ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
          
          
          
	if(mb_stristr('bcos',$tabla))
  {
          
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1,'.$tabla.'2 set ';
    $sql_updt.='docu="DC10",';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum1=idnum2 ';
    $sql_updt.='and idnum2="'.$idnum.'" ';
    $sql_updt.='and docu like "DB%" ';
    $sql_updt.='and substring(docum,1,2) in("PR") ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
     
    $sql_ich1='';
    $sql_ich1.='select * from caja1 ';
    $sql_ich1.='where status not in ("O","X") ';
    $sql_ich1.='and docu like "ICH%" ';
    $sql_ich1.='and enti like "'.substr($enti,0,10).'%" ';
    $sql_ich1.='and numero="'.$numer.'" ';
    $sql_ich1.='order by idnum1 desc';
    $res_ich1=msql_query($sql_ich1,$link_vcrx);
          
     if(msql_num_rows($res_ich1)!=0) 
     {
          
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1,'.$tabla.'2 set ';
    $sql_updt.='docum="ICH1",';
    $sql_updt.='iddet=iddet ';
    $sql_updt.='where idnum1=idnum2 ';
    $sql_updt.='and idnum2="'.$idnum.'" ';
    $sql_updt.='and docu like "PR10%" ';
    $sql_updt.='and substring(docum,1,2) in("PR") ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
//           echo $sql_updt;
     }
     }          
          
    
	if(mb_stristr('caja',$tabla))
  {
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1, caja0 set ';
    $sql_updt.='caja=caja_codigo,';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1="'.$idnum.'" ';
    $sql_updt.='and ptoe=caja_ptoe ';
//     $sql_updt.='and ptoe!="" ';
//     $sql_updt.='and ptoe is not null ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
//     echo '**/*/'.msql_error($link_vcrx).$sql_updt;
  }
    
    
    $sql_docu='select * from '.$tabla.'2 where idnum2='.$idnum;
    $res_docu=msql_query($sql_docu,$link_vcrx);
    while($aso_docu=msql_fetch_assoc($res_docu))
    {
      $xiddet=$aso_docu['iddet'];
      $xdocum=$aso_docu['docum'];
      $xnumer=$aso_docu['numer'];
      $xcant=$aso_docu['cant'];
      $xnumer=fillzero($xnumer);

      $sql_updt='';
      $sql_updt.='update '.$tabla.'2 set ';
      $sql_updt.='numer="'.$xnumer.'",';
      $sql_updt.='iddet=iddet ';
      $sql_updt.='where idnum2='.$idnum;
      $sql_updt.=' and iddet='.$xiddet;
      $res_updt=msql_query($sql_updt,$link_vcrx);
       
      if($docu=='DB10' and @mb_stristr('ICH1.ECH1',$xdocum))
      {
           
          if(1==2) 
          if(empty($numer))
          {
                $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 fecha>="'.date('Y-m-01',strtotime('-12 month')).'" ';
                $sql_caja.='and cant="'.$xcant.'" ';
                $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');
                $numer=msql_result($res_caja,0,'numero');
                $xnumer=$numer;

               
                $sql_updt='';
                $sql_updt.='update '.$tabla.'2 set ';
                $sql_updt.='numer="'.$xnumer.'",';
                $sql_updt.='iddet=iddet ';
                $sql_updt.='where idnum2='.$idnum;
                $sql_updt.=' and iddet='.$xiddet;
                $res_updt=msql_query($sql_updt,$link_vcrx);
               
               
          }
           
           
        
         $xcajaich1=get_cajaich1($numer,$enti,$fecha,$xcant);
         $sql_updt='update bcos1 set caba2="'.$xcajaich1.'" where idnum1="'.$idnum.'"';
         $res_updt=msql_query($sql_updt,$link_vcrx);
//          echo '*/*/*'.$numer;
//          echo '*/*/*'.$enti;
//          echo '*/*/*'.$fecha;
//          echo '*/*/*'.$xcajaich1;
//         echo '*/*/*/*/'.$sql_updt.msql_error($link_vcrx); 
      }
         
         
    }
  }

	if(mb_stristr('vtas',$tabla) and $autocon==1 and empty($autornum))
     {
          msql_data_seek($res_docu,0);
        while($aso_docu=msql_fetch_assoc($res_docu))
        {
             $xcosto=0;
             $xitem=$aso_docu['item'];
             $xidd=$aso_docu['iddet'];
             if($xcosto==0)
             {
//                   $sql_costo='select * from comp12 where item="'.$xitem.'" and status!="O" and docu like "FP%" order by fecha desc limit 1';
//                   $res_costo=msql_query($sql_costo,$link_vcrx);
//                   $xcosto=msql_result($res_costo,0,'puni');
//                   $xprove=msql_result($res_costo,0,'enti_descri');
             }
             
             if($xcosto==0)
             {
//                   $sql_costo='select * from inve12 where item="'.$xitem.'" and status!="O" and  (docu="IB10" or docu="IB15") order by fecha desc limit 1';
//                   $res_costo=msql_query($sql_costo,$link_vcrx);
//                   $xcosto=msql_result($res_costo,0,'puni');
             }
             
             if($xcosto==0)
             {
                  $sql_costo='select * from item0 where item_codigo="'.$xitem.'"';
                  $res_costo=msql_query($sql_costo,$link_vcrx);
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni5');}
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni4');}
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni3');}
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni2');}
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni1');}
                  if($xcosto==0){$xcosto=msql_result($res_costo,0,'puni');}
//                   if($xcosto==0){$xcosto=r_fiel('item',$xitem,'puni4');}
//                   if($xcosto==0){$xcosto=r_fiel('item',$xitem,'puni3');}
//                   if($xcosto==0){$xcosto=r_fiel('item',$xitem,'puni2');}
//                   if($xcosto==0){$xcosto=r_fiel('item',$xitem,'puni1');} //                   if($xcosto==0){$xcosto=r_fiel('item',$xitem,'puni');}
                  
             }
             
             
//              echo '<br>'.$xprove.'-'. $xcosto;
             if($xcosto>0)
             {
               $sql_updt='update vtas2 set puni="'.$xcosto.'" where idnum2="'.$idnum.'" and iddet="'.$xidd.'"';
               $res_updt=msql_query($sql_updt,$link_vcrx);
             }
        }
     }
     
     
	if(mb_stristr('vtas',$tabla))
	{
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 set ';
    $sql_updt.='enti=9999999999999, ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $sql_updt.=' and(enti="" or enti is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);
    
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 set ';
    $sql_updt.='fpag="20", ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $sql_updt.=' and(fpag="" or fpag is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);
      
    updt_vtaslote($docu,$idnum);
    
  }


	if(mb_stristr('vtas.clie',$tabla))
	{
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 left join enti0 on enti=enti_codigo ';
    $sql_updt.='set vndd=enti_vndd, ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum.' ';
    $sql_updt.='and(vndd="" or vndd is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);
    
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 left join user0 on iuser=user_codigo ';
    $sql_updt.='set vndd=user_cedula, ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum.' ';
    $sql_updt.='and(vndd="" or vndd is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);
    
    $sql_updt='';
    $sql_updt.='update enti0  ';
    $sql_updt.='set enti_vndd="'.$vndd.'", ';
    $sql_updt.='enti_status=enti_status ';
    $sql_updt.='where trim(enti_codigo) like "'.substr($enti,0,10).'%" ';
    $sql_updt.='and(enti_vndd="" or enti_vndd is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);
//           echo '*/*/'.$sql_updt.msql_error($link_vcrx);

//      if(strlen(trim($vndd))>=10)
     {
          
    $sql_updt='';
//     $sql_updt.='update enti0,vtas1,user0  ';
    $sql_updt.='update enti0, vtas1 ';
    $sql_updt.='left join user0 on vndd=user_cedula ';
//     $sql_updt.='left join user0 on vndd=user_cedula ';
    $sql_updt.='set enti_emailce=user_email, ';
    $sql_updt.='enti_status=enti_status ';
    $sql_updt.='where (enti_emailce="" or enti_emailce is null) ';
    $sql_updt.='and trim(enti_codigo) like "'.substr($vndd,0,10).'%" ';
    $sql_updt.='and vndd=user_cedula ';
    $sql_updt.='and idnum1='.$idnum.' ';
//     $res_updt=msql_query($sql_updt,$link_vcrx);
//           echo '*/*/'.$sql_updt.msql_error($link_vcrx);
     }
    
    
  }


     
     
	if(mb_stristr('vtas',$tabla) and substr($docu,0,2)=='NC')
	{
               
          
//           if($fecha==$fechaa)
          {
               $sql_tdoc='select * from vtas1 left join vtas2 on idnum1=idnum2 where docu like "FC%" and enti like "'.substr($enti,0,10).'%" and numero ="'.$tonume.'"and iva>0 order by idnum1 desc limit 1 ';
               $res_tdoc=msql_query($sql_tdoc,$link_vcrx);
               $ivafac=msql_result($res_tdoc,0,'iva');
//                echo '==='.$ivafac;
                    
               $sql_puni ='update '.$tabla.'2, item0 ';
               $sql_puni.='set iva=item_iva ';
               $sql_puni.='where idnum2="'.$idnum.'" ';
               $sql_puni.='and item=item_codigo ';
               $sql_puni.='and ifnull(iva,0)=0 ';
               $res_puni=msql_query($sql_puni,$link_vcrx);
               
               $sql_puni ='update '.$tabla.'2, item0 ';
               $sql_puni.='set iva="'.$ivafac.'" ';
               $sql_puni.='where idnum2="'.$idnum.'" ';
               $sql_puni.='and item=item_codigo ';
               $sql_puni.='and ifnull(iva,0)>0 ';
               $res_puni=msql_query($sql_puni,$link_vcrx);
               
               
          }
     }     
     
     
	if(mb_stristr('vtas.clie',$tabla) and substr($docu,0,2)!='NC')
	{
          $sql_puni ='update item0, '.$tabla.'2 ';
          $sql_puni.='set item_puni=puni ';
          $sql_puni.='where idnum2="'.$idnum.'" ';
          $sql_puni.='and item=item_codigo ';
          $sql_puni.='and (item_puni=0 or item_puni is null) ';
          $res_puni=msql_query($sql_puni,$link_vcrx);

          if($fecha==$fechaa)
          {
               $sql_puni ='update '.$tabla.'2, item0 ';
               $sql_puni.='set iva=item_iva ';
               $sql_puni.='where idnum2="'.$idnum.'" ';
               $sql_puni.='and item=item_codigo ';
               $sql_puni.='and (iva=0 or iva is null) ';
               $res_puni=msql_query($sql_puni,$link_vcrx);
          }
//     echo msql_error($link_vcrx).$sql_puni;
     }  
  
	if(mb_stristr('comp',$tabla) and $docu=='FP16')
	{
    $sql_updt='';
//     $sql_updt.='update '.$tabla.'2 set ';
    $sql_updt.='update comp1 left join comp2 on idnum1=idnum2 set ';
    $sql_updt.='iva=0 ';
//     $sql_updt.='status=status ';
    $sql_updt.='where docu="FP16" ';
    $sql_updt.='and idnum2='.$idnum.' ';
//     $sql_updt.='limit 10';
//     $sql_updt.=' and(ptov="-" or ptov="" or ptov is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);

  }
  
	if(mb_stristr('vtas',$tabla) and substr($docu,0,2)=='NC')
	{
    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 set ';
    $sql_updt.='ptov=ptoe, ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $sql_updt.=' and(ptov="-" or ptov="" or ptov is null)';
    $res_updt=msql_query($sql_updt,$link_vcrx);

    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 set ';
    $sql_updt.='todocu="FC10", ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $sql_updt.=' and(toptoe!="" and todocu="")';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
	if(mb_stristr('vtas.clie.carr.comp.prov',$tabla))
	{
    // solo cedula en liq.compra
    $sql_regi='update '.$tabla.'1 set enti=substring(enti,1,10) where (docu="FP03" or odcu="FP11") and idnum1='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);
          
    // VALIDA IVA
//     $sql_regi='update '.$tabla.'2 set iva=12 where iva>0 and idnum2='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);

          
//     $sql_regi='update '.$tabla.'2 set item=trim(item) where idnum2='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
          
//     $sql_regi='update '.$tabla.'1,'.$tabla.'2 set item="9999999999" where idnum1=idnum2 and docu="FP03" and ifnull(item,"")="" and idnum2='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
//           echo '*/*/'.$sql_regi;

          
          
    $sql_regi='update '.$tabla.'2 set iva=0 where iva<0 and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);

    $sql_regi='update '.$tabla.'2 set dcto=0 where dcto is null and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);

    $sql_regi='update '.$tabla.'2 set ice=0 where ice is null and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);

    $sql_regi='update '.$tabla.'2 set irbp=0 where irbp is null and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);

    $sql_regi='update '.$tabla.'2 set prop=0 where prop is null and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);

    $sql_regi='update '.$tabla.'2 set ssid=0 where ssid is null and idnum2='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);


    $sql_updt='';
    $sql_updt.='update '.$tabla.'1 set ';
    $sql_updt.='todocu="FP10", ';
    $sql_updt.='status=status ';
    $sql_updt.='where idnum1='.$idnum;
    $sql_updt.=' and(toptoe!="" and todocu="")';
    $res_updt=@msql_query($sql_updt,$link_vcrx);
    
    
    // APLICA DESCUENTO ABSOLUTO
    $sql_dcto='select sum(abs(tsubt)) as tsubt from '.$tabla.'12 where puni<0 and idnum1='.$idnum;
    $res_dcto=msql_query($sql_dcto,$link_vcrx);
    $tdcto=@msql_result($res_dcto,0,'tsubt');

    if($tdcto>0)
    {
      $sql_dcto='select sum(abs(tsubt)) as tsubt from '.$tabla.'12 where puni>0 and idnum1='.$idnum;
      $res_dcto=msql_query($sql_dcto,$link_vcrx);
      $tsubt=msql_result($res_dcto,0,'tsubt');
      
      $pdcto=$tdcto/$tsubt*100;
      $sql_dcto='delete from '.$tabla.'2 where puni<0 and idnum2='.$idnum;
      $res_dcto=msql_query($sql_dcto,$link_vcrx);

      $sql_dcto='update '.$tabla.'2 set dcto='.$pdcto.' where puni>0 and idnum2='.$idnum;
      $res_dcto=msql_query($sql_dcto,$link_vcrx);
    }
    
	}

    if(mb_stristr('vtas.clie',$tabla))
    if($fecha==$fechaa and $exiva==1)
    {
      $sql_puni ='update '.$tabla.'2 ';
      $sql_puni.='set iva=0 ';
      $sql_puni.='where idnum2="'.$idnum.'" ';
      $res_puni=msql_query($sql_puni,$link_vcrx);
    }
     
     
  
	if(mb_stristr('comp.prov.impo',$tabla))
	{
//     $sql_regi='update '.$tabla.'1,'.$tabla.'2 set impor2=impor where idnum1=idnum2 and (impor2="" or impor2 is null) and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
  }  

  if(mb_stristr('comp.prov',$tabla))
  {
    set_priva($docu,$idnum);
    set_uxpre($docu,$idnum);
    set_facon($docu,$idnum);
}
  
  
  if(mb_stristr('comp',$tabla))
  {
    
    $sql_regi='update '.$tabla.'1 set fpag="20" where docu="FP03" and (fpag="" or fpag is null) and idnum1='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="01" where docu="FP10" and suco="02" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="03" where docu="FP10" and suco="04" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="06" where docu="FP10" and suco="07" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="02" where docu!="FP10" and suco="01" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="04" where docu!="FP10" and suco="03" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);
    
//     $sql_regi='update '.$tabla.'1 set suco="07" where docu!="FP10" and suco="06" and idnum1='.$idnum;
//     $res_regi=msql_query($sql_regi,$link_vcrx);

    if(mb_stristr('imcp',$cfg_empr))
    {
//     $sql_updt='update '.$tabla.'2 set cair="332" where idnum2="'.$idnum.'"';
//     $res_updt=msql_query($sql_updt,$link_vcrx);
    }
       
    $sql_docu='select * from '.$tabla.'2 where idnum2='.$idnum;
    $res_docu=msql_query($sql_docu,$link_vcrx);
    while($aso_docu=msql_fetch_assoc($res_docu))
    {
      
      if($aso_docu['prrta']==0)
      {
        $lrrta=get_lrrta($aso_docu['enti'],$aso_docu['item'],$aso_docu['cair']);
        $sql_updt='update '.$tabla.'2 set prrta="'.$lrrta.'" where idnum2='.$idnum.' and iddet='.$aso_docu['iddet'];
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
      if($aso_docu['priva']==0)
      {
        $lriva=0;
        if($coesp!=1 or empty($coesn))
        {$lriva=get_lriva($aso_docu['enti'],$aso_docu['item']);}
        $sql_updt='update '.$tabla.'2 set priva="'.$lriva.'" where idnum2='.$idnum.' and iddet='.$aso_docu['iddet'];
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
      
      if($aso_docu['priva']!=0 and $coesp==1)
      {
        $lriva=0;
//         if($coesp!=1 or empty($coesn))
//         {$lriva=get_lriva($aso_docu['enti'],$aso_docu['item']);}
        $sql_updt='update '.$tabla.'2 set priva="'.$lriva.'" where idnum2='.$idnum.' and iddet='.$aso_docu['iddet'];
        $res_updt=msql_query($sql_updt,$link_vcrx);
//         echo '*/*/*'.msql_error($link_vcrx).$sql_updt;
      }
      
      $xcair=trim($aso_docu['cair']);
      $xitem=trim($aso_docu['item']);
      $xiddet=trim($aso_docu['iddet']);
      if($xcair!='' and substr($xitem,0,4)=='9900')
      {
        $sql_item ='select * from item0 ';
        $sql_item.='where item_status!="X" ';
        $sql_item.='and item_cair like "'.$xcair.'%" ';
        $sql_item.='and item_codigo like "9900%" ';
        $sql_item.='order by item_cair, item_codigo desc';
        $res_item=msql_query($sql_item,$link_vcrx);
        $xitem=@msql_result($res_item,0,'item_codigo');
          
        if($xitem!='')
        {
          $sql_updt='update comp2 set item="'.$xitem.'" where idnum2="'.$idnum.'" and iddet="'.$xiddet.'"';
          $res_updt=msql_query($sql_updt,$link_vcrx);
        }
        
      }
      
      
      
      
    }
    
  }
  
  if(mb_stristr('retp',$tabla))
  {
    $sql_docu='select * from '.$tabla.'12 where idnum2='.$idnum;
    $res_docu=msql_query($sql_docu,$link_vcrx);

   $sql_updt='update '.$tabla.'2 set docum="FP10" where idnum2='.$idnum.' and docum="FP01"';
   $res_updt=msql_query($sql_updt,$link_vcrx);
       
    $xcair='-';
    $prrta=0;
    $priva=0;
    while($aso_docu=msql_fetch_assoc($res_docu))
    {
      $xcair=trim($aso_docu['cair']);
      if($xcair!='-'){$prrta=$aso_docu['puni'];$cair=$xcair; }
      if($xcair=='-'){$priva=$aso_docu['puni'];}
      $autornum=$aso_docu['autornum'];
      
      if($xcair=='-' and empty($firmafec) and $coesp==1 and $coesn*1>0 and empty($autornum))
      {
        $sql_updt='update '.$tabla.'2 set puni=0 where idnum2='.$idnum.' and iddet='.$aso_docu['iddet'];
        $res_updt=msql_query($sql_updt,$link_vcrx);
      }
    }
    
    $sql_docu ='select * from comp12 ';
    $sql_docu.='where status!="X" and docu="'.$docum.'" and numero="'.$numer.'" and enti like "'.substr($enti,0,10).'%"  ';
//     $sql_docu.='group by idnum1, cair order by fecha desc';
    $sql_docu.='group by fecha,idnum1,cair order by fecha desc';
    $res_docu=msql_query($sql_docu,$link_vcrx);
//       echo msql_error($link_vcrx).$sql_docu;
    
      $fechacomp=@msql_result($res_docu,0,'fecha');
    if(msql_num_rows($res_docu)==1)
    {
        $idcomp=msql_result($res_docu,0,'idnum1');
        $sql_updt='update comp2 set cair="'.$cair.'", prrta="'.$prrta.'", priva="'.$priva.'" where idnum2='.$idcomp.'';
        $res_updt=msql_query($sql_updt,$link_vcrx);
//          echo '*/*/*'.$sql_updt;
       
    }
//      if($fechacomp>$fecha and !empty($fechacomp) )
     if($fechacomp>$fecha and !empty($fechacomp) and empty($autornum))
     {
        $sql_updt='update '.$tabla.'1 set fecha="'.$fechacomp.'" where idnum1='.$idnum.'';
        $res_updt=msql_query($sql_updt,$link_vcrx);
     }
    
  }
  
  if(mb_stristr('retc',$tabla))
  {
    if($docu=="RCLI")
    {
//       $sql_docu='select * from '.$tabla.'2 where idnum2='.$idnum.' and cair in ("323B1","323E","344A","4580")';
      $sql_docu='select * from '.$tabla.'2 where idnum2='.$idnum.' and cair in ("323B1","323E","4580")';
      $res_docu=msql_query($sql_docu,$link_vcrx);
      if(msql_num_rows($res_docu)>0)
      {
          $sql_cabe='update '.$tabla.'1 set ';
          $sql_cabe.='docu="RBCO",';
          $sql_cabe.='status=status ';
          $sql_cabe.=' where idnum1="'.$idnum.'"';
          $res_cabe=msql_query($sql_cabe,$link_vcrx);
      }
         
         
      $sql_docu='select * from '.$tabla.'1 left join '.$tabla.'2 on idnum1=idnum2 where idnum1='.$idnum.' ';
      $res_docu=msql_query($sql_docu,$link_vcrx);
//       if(msql_num_rows($res_docu)>0)
         while($res_docu=msql_fetch_assoc($res_docu))
      {
           $sql_fact ='select * from vtas1 ';
           $sql_fact.='where status!="X" ';
           $sql_fact.='and enti like "'.substr($res_docu['enti'],0,10).'%" ';
           $sql_fact.='and docu like "FC%" ';
           $sql_fact.='and numero='.$res_docu['numer'].' ';
           $sql_fact.='order by idnum1 desc';
           $res_fact=msql_query($sql_fact,$link_vcrx);
//                 echo '*****'.$sql_fact.msql_error($link_vcrx);
           if(msql_result($res_fact,0,'status')=='O' )
           {
               $sql_cabe='update '.$tabla.'1 ';
               $sql_cabe.='set status="O" ';
               $sql_cabe.='where idnum1="'.$idnum.'" ';
               $sql_cabe.='and fecha>="20210901" ';
               $res_cabe=msql_query($sql_cabe,$link_vcrx);
           }
      }
         
    }
    
    $sql_updt='update retc2 set cair="1" where puni=30 and idnum2="'.$idnum.'"';
    $res_updt=msql_query($sql_updt,$link_vcrx);
    
    if($cfg_empr=='imcp')
    {
         $sql_updt='update retc2 set cair="346" where docu="RCLI" and puni<20 and idnum2="'.$idnum.'"';
         $res_updt=msql_query($sql_updt,$link_vcrx);
    }
    
  }
  
  if(mb_stristr('inve',$tabla))
  {
    if($docu=='IB00')
    {
      $sql_inve='update inve1 set enti="'.$cfg_ruc.'" where idnum1="'.$idnum.'"';
      $res_inve=msql_query($sql_inve,$link_vcrx);
    }

       
    $sql_inve='select * from '.$tabla.'12 where idnum1="'.$idnum.'"';
    // compra produccion impor consigna
//        echo '*/*/*/'.$docu;
    if(mb_stristr('IB10.IB14.IB15.IB16',$docu))
    {
//        echo '*/*/*/'.$item;
//        echo '*/*/*/'.$fecha;
//        echo '*/*/*/'.$bode;
         $sql_inve='';
//         $xcospro= cost_prom($item,$fecha,$bode);
    }
    else
    {
      $res_inve=msql_query($sql_inve,$link_vcrx);
      $fecha=@msql_result($res_inve,0,'fecha');
      $bode =@msql_result($res_inve,0,'bode');
    
      @msql_data_seek($res_inve,0);
      while($aso_inve=@msql_fetch_assoc($res_inve))
      {
        $item=$aso_inve['item'];
        $xcospro= cost_prom($item,$fecha,$bode);
           //echo '<br>+++'.$xcospro;
      }
    }
    
//     $sql_inve='update inve2 set puni=1/10000 where puni=0 and idnum2="'.$idnum.'"';
//     $res_inve=msql_query($sql_inve,$link_vcrx);
  }
  
  if(mb_stristr('ICH1.IV10',$docu))
  {
    $sql_ctab ='select * from bcos1 ';
    $sql_ctab.='where docu like "DB%" and status!="O" and status!="X" ';
    $sql_ctab.='and fecha>="'.$fecha.'"';
    $sql_ctab.='order by fecha desc limit 1';
    $res_ctab=msql_query($sql_ctab,$link_vcrx);
    $xctab=msql_result($res_ctab,0,'ctab');
    
    if($xctab=='')
    {
      $sql_ctab=str_replace('DB%','DC%',$sql_ctab);
      $res_ctab=msql_query($sql_ctab,$link_vcrx);
      $xctab=msql_result($res_ctab,0,'ctab');
    }
    
    $sql_updt='update '.$tabla.'1 set caba2=null where idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
//     echo '*/**/*'.$sql_updt.msql_error($link_vcrx);

//     $sql_updt='update '.$tabla.'1 set fechadepo=fecha where (fechadepo is null or fechadepo<=fecha) and idnum1='.$idnum;
//     $res_updt=msql_query($sql_updt,$link_vcrx);

    $sql_updt='update '.$tabla.'1 set fechadepo=fecha where fechadepo<=fecha and fcobro is null and idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);

    $sql_updt='update '.$tabla.'1 set ctabdepo="'.$xctab.'" where (ctabdepo is null or ctabdepo="") and idnum1='.$idnum;
    $res_updt=msql_query($sql_updt,$link_vcrx);
//     echo $sql_updt;
    
  }

//   if(mb_stristr('ICH1',$docu)){ich1_ech1($docu,$idnum);}
  
  if(mb_stristr('AC11.AP11',substr($docu,0,4)))
  {
     if($numero*1==0)
     {
        $numero=nume_docu($docu,$caja);
        $sql_updt='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idnum.'"';
        $res_updt=msql_query($sql_updt,$link_vcrx);
     }
  }
  
  
//   if(mb_stristr('IE.IC.DC',substr($docu,0,2)))
  if(mb_stristr('IE.IC.DC.XC',substr($docu,0,2)))
  {
    gen_ap10fp90($docu,$idnum,'AC10');
  }
  
  if(mb_stristr('NC',substr($docu,0,2)))
  {
           $sql_fact ='select * from vtas1 ';
           $sql_fact.='where status!="X" ';
           $sql_fact.='and enti like "'.substr($enti,0,10).'%" ';
           $sql_fact.='and docu like "FC%" ';
           $sql_fact.='and numero='.$tonume.' ';
           $sql_fact.='order by idnum1 desc';
           $res_fact=msql_query($sql_fact,$link_vcrx);
       
       $saldoc=sal_docu(msql_result($res_fact,0,'docu'),msql_result($res_fact,0,'idnum1'));
       
       if($saldoc<(-0.01))
       {
               $newdocu='AC10';
               $newtabla=r_fiel('docu',$newdocu,'tabla');
          $sql_dxco='select * from dxco1 where docu ="AC10" and idfrom="'.$idnum.'" and status!="X" order by idnum1 desc';
            $res_dxco=msql_query($sql_dxco,$link_vcrx);
            
            $newidnum=msql_result($res_dxco,0,'idnum1');
            $newnumero=msql_result($res_dxco,0,'numero');
            if(empty($newidnum))
            {
               $newnumero=nume_docu($newdocu,'001001');
               $newidnum=clon_docu($docu,$idnum,$newdocu);
//             echo '========'.$newnumero;
            }
//             echo '*/*/*/*/*/*/'.$newidnum;
            
            if($newidnum>0)
            {
                 $sql_updt='update '.$newtabla.'1 set ptoe="001001", numero="'.$newnumero.'", fecha="'.$fecha.'" where idnum1="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
                 
                 $sql_updt='delete from  '.$newtabla.'2  where idnum2="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
                 
                 $sql_updt='insert into '.$newtabla.'2 (idnum2,iddet,docum,ptoem,numer,cant,puni,idate2) ';
                 $sql_updt.='value("'.$newidnum.'",1,"'.$docu.'","'.$ptoe.'","'.$numero.'",1,"'.abs($saldoc).'",now())   ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
//                  echo '<br>*/*/*'.$sql_updt.msql_error($link_vcrx);
                 
            }
       }
  }
  
	if(mb_stristr('vtas',$tabla) and $autocon==1)
  {
       $saldoc=sal_docu($docu,$idnum);
          $compensa=abs($saldoc);
          
        $sql_saldoautocon='select sum(total) as total from vtas12 where idnum2="'.$idnum.'"';
        $res_saldoautocon=msql_query($sql_saldoautocon,$link_vcrx);
        $saldoautocon=msql_result($res_saldoautocon,0,'total');
       
       if($saldoc!=0 and $compensa!=0)
       {
            $newdocu='CC19';
            if(abs($compensa)>0.001)
            {
//        echo '*/*/*'.$newdocu;
            
          $newtabla=r_fiel('docu',$newdocu,'tabla');
          $sql_dxco='select * from '.$newtabla.'1 where docu ="'.$newdocu.'" and idfrom="'.$idnum.'" and status!="X" order by idnum1 desc';
          $res_dxco=msql_query($sql_dxco,$link_vcrx);

          $newidnum=msql_result($res_dxco,0,'idnum1');
          $newnumero=msql_result($res_dxco,0,'numero');
                 
            if(empty($newidnum))
            {
//                  echo '*/*/*/* CLON';
               $newnumero=nume_docu($newdocu,'001001');
               $newidnum=clon_docu($docu,$idnum,$newdocu);
//        echo '*/*/*'.$newidnum;
            }
            if($newidnum>0)
            {
                 $sql_updt='update '.$newtabla.'1 set ptoe="001001", numero="'.$newnumero.'", fecha="'.$fecha.'" where idnum1="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);

                 $sql_updt='delete from  '.$newtabla.'2  where idnum2="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);

                 $sql_updt='insert into '.$newtabla.'2 (idnum2,iddet,docum,ptoem,numer,cant,puni,idate2) ';
//                  $sql_updt.='value("'.$newidnum.'",1,"'.$docu.'","'.$ptoe.'","'.$numero.'",1,'.abs($compensa).',now())   ';
                 $sql_updt.='value("'.$newidnum.'",1,"'.$docu.'","'.$ptoe.'","'.$numero.'",1,'.abs($saldoautocon).',now())   ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
//                            echo '<br>*/*/*'.$sql_updt.msql_error($link_vcrx);

            }
                 
            }

       }
                 
  }


  if(mb_stristr('FC.FP',substr($docu,0,2)) and ($efectivo!=0 or $compensa!=0))
  {
       $saldoc=sal_docu($docu,$idnum);
       $saldoc0=0.01;
       
       if($saldoc!=0 and $compensa!=0)
       {
          $compensa=abs($saldoc);
          if($saldoc>0 and substr($docu,0,2)=='FC'){$newdocu='CC15';}
          if($saldoc<0 and substr($docu,0,2)=='FC'){$newdocu='XC15';}
          if($saldoc>0 and substr($docu,0,2)=='FP'){$newdocu='CP15';}
          if($saldoc<0 and substr($docu,0,2)=='FP'){$newdocu='XP15';}

            if(abs($compensa)>0.001)
            {
          $newtabla=r_fiel('docu',$newdocu,'tabla');
          $sql_dxco='select * from '.$newtabla.'1 where docu ="'.$newdocu.'" and idfrom="'.$idnum.'" and status!="X" order by idnum1 desc';
          $res_dxco=msql_query($sql_dxco,$link_vcrx);

          $newidnum=msql_result($res_dxco,0,'idnum1');
          $newnumero=msql_result($res_dxco,0,'numero');
            if(empty($newidnum))
            {
//                  echo '*/*/*/* CLON';
               $newnumero=nume_docu($newdocu,'001001');
               $newidnum=clon_docu($docu,$idnum,$newdocu);
                 $sql_updt='update '.$newtabla.'1 set ptoe="001001", numero="'.$newnumero.'", fecha=now() where idnum1="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
            }
                 
            if($newidnum>0)
            {
                 $sql_updt='update '.$newtabla.'1 set status="-" where idnum1="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);

                 $sql_updt='delete from  '.$newtabla.'2  where idnum2="'.$newidnum.'" ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);

                 $sql_updt='insert into '.$newtabla.'2 (idnum2,iddet,docum,ptoem,numer,cant,puni,idate2) ';
                 $sql_updt.='value("'.$newidnum.'",1,"'.$docu.'","'.$ptoe.'","'.$numero.'",1,'.abs($compensa).',now())   ';
                 $res_updt=msql_query($sql_updt,$link_vcrx);
//                            echo '<br>*/*/*'.$sql_updt.msql_error($link_vcrx);

            }
                 
            }

       }
                 
  }
  
     
     
     
     
     
     
  if(mb_stristr('EE.CH.DP',substr($docu,0,2)))
  {
//     gen_fp90($docu,$idnum);
    gen_ap10fp90($docu,$idnum,'AP10');
    gen_ap10fp90($docu,$idnum,'FP90');
    gen_ap10fp90($docu,$idnum,'AC11');
//     gen_ap10fp90($docu,$idnum,'AC10');
  }

  if(mb_stristr('DB10',substr($docu,0,2)))
  {
    gen_ap10fp90($docu,$idnum,'AP11');
  }

  if(mb_stristr('DP.',substr($docu,0,2)))
	{
		$sql_vali ='update '.$tabla.'1 ';
		$sql_vali.=' set caba2="" ';
		$sql_vali.=' where  ';
		$sql_vali.=' idnum1="'.$idnum.'"';
		$res_vali=msql_query($sql_vali,$link_vcrx);
    
		$sql_vali ='update '.$tabla.'2 ';
		$sql_vali.=' set docum="FP10" ';
		$sql_vali.=' where docum like "FC%" ';
		$sql_vali.=' and idnum2="'.$idnum.'"';
		$res_vali=msql_query($sql_vali,$link_vcrx);
	}
  
	if(mb_stristr('IE.IC.IV.DC.',substr($docu,0,2)))
	{
		$sql_vali ='update '.$tabla.'2 ';
		$sql_vali.=' set docum="FC10" ';
		$sql_vali.=' where docum like "FP%" ';
		$sql_vali.=' and idnum2="'.$idnum.'"';
		$res_vali =msql_query($sql_vali,$link_vcrx);
    
		$sql_vali ='update '.$tabla.'2 ';
		$sql_vali.=' set docum="'.$docu.'", ptoem="'.$ptoe.'", numer="'.$numero.'" ';
		$sql_vali.=' where 1=1 ';
		$sql_vali.=' and (docum like "'.$docu.'%" or docum like "FC%")';
		$sql_vali.=' and ctas like "2%"';
		$sql_vali.=' and idnum2="'.$idnum.'"';
		$res_vali =msql_query($sql_vali,$link_vcrx);
//     echo msql_error().$sql_vali;
	}
  
  
  //aqui deposito cheques
	if(mb_stristr('DB.',substr($docu,0,2)))
	{
    $sql_bcos='select * from '.$tabla.'12 where idnum1="'.$idnum.'"';
    $res_bcos=msql_query($sql_bcos,$link_vcrx);
    
    while($aso_bcos=msql_fetch_assoc($res_bcos))
    {
      $xdocum=$aso_bcos['docum'];
      $xptoem=$aso_bcos['ptoem'];
      $xnumer=$aso_bcos['numer'];
         
      // actualiza el ingreso del cheque con la fecha del deposito   
      if($xdocum=='ICH1')
      {
         $sql_docu='select * from docu0 where docu_codigo="'.$xdocum.'"';
         $res_docu=msql_query($sql_docu,$link_vcrx);
         $tabdoc=msql_result($res_docu,0,'docu_tabla');
         
        $sql_docum='select * from '.$tabdoc.'1 ';
        $sql_docum.='where status!="O" ';
        $sql_docum.='and docu ="'.$xdocum.'" ';
        $sql_docum.='and ptoe ="'.$xptoem.'" ';
        $sql_docum.='and numero ="'.$xnumer.'" ';
        $sql_docum.='order by fecha desc ';
        $sql_docum.='limit 1 ';
        $res_docum=msql_query($sql_docum,$link_vcrx);
        $xcaja=msql_result($res_docum,0,'caja');
        $xidnum=msql_result($res_docum,0,'idnum1');

//            echo '*/*/*/ '.$xcaja.$xidnum;
           
//         $sql_caja ='update '.$tabdoc.'1 ';
//         $sql_caja.=' set fechadepo="'.$fecha.'"';
//         $sql_caja.=' where idnum1="'.$xidnum.'"';
//         $res_caja=msql_query($sql_caja,$link_vcrx);
           
//         $sql_caja ='update '.$tabdoc.'1 ';
//         $sql_caja.=' set ctabdepo="'.$ctab.'"';
//         $sql_caja.=' where idnum1="'.$xidnum.'"';
//         $res_caja=msql_query($sql_caja,$link_vcrx);
        
//         $sql_caja ='update '.$tabdoc.'1 ';
//         $sql_caja.=' set numedepo="'.$numero.'"';
//         $sql_caja.=' where idnum1="'.$xidnum.'"';
//         $res_caja=msql_query($sql_caja,$link_vcrx);
        
        
      }
    }

      $sql_bcos ='update '.$tabla.'1 ';
      $sql_bcos.=' set caba2="'.$xcaja.'"';
      $sql_bcos.=' where idnum1="'.$idnum.'"';
      $sql_bcos.=' and (caba2="" or caba2 is null)';
      $res_bcos=msql_query($sql_bcos,$link_vcrx);
    
      $sql_bcos ='update '.$tabla.'1 ';
      $sql_bcos.=' set docum="EE10"';
      $sql_bcos.=' where idnum1="'.$idnum.'"';
      $sql_bcos.=' and (docum like "DB%")';
      $res_bcos=msql_query($sql_bcos,$link_vcrx);
    
	}
  

//   if(mb_stristr('FP10',$docu))
//   {
//   }  

  if(mb_stristr('DA16',$docu))
  {
//     $xfechai=date('Y-m-01',strtotime('-180 days'));   
//     $sql_vali='update comp1,comp2 set impor2=impor where idnum1=idnum2 and ifnull(impor2,"")="" and fecha>="'.$xfechai.'" ';
//     $res_vali=msql_query($sql_vali,$link_vcrx);
//        echo '==== '.$sql_vali;
  }        
     
  if(mb_stristr('FP10.NP10',$docu))
  {
    $sql_vali='update '.$tabla.'1 set enti=concat(substr(enti,1,10),"001") where enti not like "99%" and idnum1='.$idnum;
    $res_vali=msql_query($sql_vali,$link_vcrx);

//     $sql_vali='update '.$tabla.'1,'.$tabla.'2 set impor2=impor where idnum1=idnum2 and idnum2='.$idnum.' and (impor2="" or impor2 is null)';
//     $res_vali=msql_query($sql_vali,$link_vcrx);
       
    $sql_vali='update '.$tabla.'1,'.$tabla.'2 set impor2=impor where idnum1=idnum2 and idnum2='.$idnum.' and ifnull(impor2,"")="" ';
    $res_vali=msql_query($sql_vali,$link_vcrx);
       
    $sql_vali='update '.$tabla.'1,'.$tabla.'2 set impor2=impor where idnum1=idnum2 and idnum2='.$idnum.' and impor like "%999%" ';
    $res_vali=msql_query($sql_vali,$link_vcrx);
       
       
//     echo msql_error($link_vcrx).$sql_vali;
  }

     
  if($docu=='FP11')
  {
    $sql_vali='update '.$tabla.'1 set enti=substr(enti,1,10) where idnum1='.$idnum;
    $res_vali=msql_query($sql_vali,$link_vcrx);
  }
  
//   if($docu=='FP12')
  if(mb_stristr('FP12.FP90',$docu))
  {
    $sql_vali='update '.$tabla.'2 set iva=0 where idnum2='.$idnum;
    $res_vali=msql_query($sql_vali,$link_vcrx);
  }
  
  if($docu=='FP15')
  {
    $sql_vali='update '.$tabla.'2 set iva=0 where idnum2='.$idnum;
    $res_vali=msql_query($sql_vali,$link_vcrx);
  }
  
     
  $maxdaysimpo=90; 
//   $maxdaysimpo=330; 
//      echo '==== '.$maxdaysimpo;
  if(mb_stristr('FPX16.DA16',$docu) )
  {
      $sql_dele='delete from '.$tabla.'2 where (cant=0 or cant is null) and idnum2='.$idnum;
      $res_dele=msql_query($sql_dele,$link_vcrx);
       
        $pfecha2=date('Ymd');
        $xdays=days_diff($fecha,$pfecha2);
       
//        echo '<br>*/*/*'.$fecha;
//        echo '<br>*/*/*'.$pfecha2;
//        echo '<br>*/*/*'.$xdays;
//        echo '<br>*/*/*'.$maxdaysimpo;
    
      $sql_impo='select * from comp12 ';
      $sql_impo.=' where status!="O" and docu like "FP15" and impor like "'.$impor.'%" ';
//       $sql_impo.=' order by fecha desc, iddet ';
      $sql_impo.=' order by idnum1,iddet ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
      $valor=msql_result($res_impo,0,'stsubt');
       
      msql_data_seek($res_impo,0);
       $xiddet=0;
      while($aso_impo=msql_fetch_assoc($res_impo))
      {
//         $xiddet=$aso_impo['iddet'];
           $xiddet++;
//            echo '*/*/*/'.$xiddet;
        $sql_inse ='insert into '.$tabla.'2(idnum2,iddet)value('.$idnum.','.$xiddet.')';
        $res_inse=msql_query($sql_inse,$link_vcrx);
        
        $sql_updt='';
        $sql_updt.='update '.$tabla.'2 set '; 
        $sql_updt.='item="'.$aso_impo['item'].'",'; 
        $sql_updt.='itemce="'.$aso_impo['itemce'].'",'; 
        $sql_updt.='cant="'.$aso_impo['cant'].'",'; 
        $sql_updt.='puni="'.$aso_impo['puni'].'",'; 
        $sql_updt.='detalle="'.$aso_impo['detalle'].'",'; 
        $sql_updt.='iddet=iddet '; 
        $sql_updt.='where idnum2='.$idnum.' and iddet='.$xiddet;
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='';
        $sql_updt.='update '.$tabla.'2 set '; 
        $sql_updt.='peso="'.$aso_impo['peso'].'",'; 
        $sql_updt.='iddet=iddet '; 
        $sql_updt.='where idnum2='.$idnum.' and iddet='.$xiddet;
        $sql_updt.=' and (peso="" or peso is null)';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        $sql_updt='';
        $sql_updt.='update '.$tabla.'2 set '; 
        $sql_updt.='arcl="'.$aso_impo['arcl'].'",'; 
        $sql_updt.='iddet=iddet '; 
        $sql_updt.='where idnum2='.$idnum.' and iddet='.$xiddet;
        $sql_updt.=' and (arcl="" or arcl is null)';
        $res_updt=msql_query($sql_updt,$link_vcrx);
        
        if($xdays<=$maxdaysimpo)
        {

          $sql_updt='';
          $sql_updt.='update '.$tabla.'1,'.$tabla.'2, arcl0 set '; 
          $sql_updt.='isdi=arcl_isd,'; 
          $sql_updt.='iddet=iddet '; 
          $sql_updt.='where idnum1=idnum2 and arcl=arcl_codigo ' ;
          $sql_updt.=' and idnum2='.$idnum.' and iddet='.$xiddet;
          $res_updt=msql_query($sql_updt,$link_vcrx);
        }
        
      }
    
    if($costoe1==0 and 1==2)
    {
      $sql_impo='select *, sum(tsubt) as stsubt from comp12 ';
      $sql_impo.=' where status!="O" and docu like "FP15" and impor like "'.$impor.'%" ';
      $sql_impo.=' order by fecha desc ';
      $sql_impo.=' limit 1';
      $res_impo=msql_query($sql_impo,$link_vcrx);
      $valor=msql_result($res_impo,0,'stsubt');
      
      $sql_vali='update '.$tabla.'1 set costoe1='.$valor.' where idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);
    }
    
//     if($seguro1==0)
     if($xdays<=$maxdaysimpo)
    {
      $sql_impo='select *, sum(tsubt) as stsubt, sum(tiva) as stiva  from comp12 ';
      $sql_impo.=' where status!="O" ';
      $sql_impo.=' and docu like "FP%" ';
      $sql_impo.=' and docu not in ("FP15","FP16") ';
      $sql_impo.=' and impor2 like "'.$impor.'%"  ';
      $sql_impo.=' and detalle like "%SEGURO%"  ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
      $valor=msql_result($res_impo,0,'stsubt');
      $sql_vali='update '.$tabla.'1 set seguro1='.$valor.' where idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);
    }
       
//     if($costol1==0)
     if($xdays<=$maxdaysimpo)
    {
          
      $sql_fp15='select * from comp1 where docu="FP15" and fecha<="'.$fecha.'" and impor="'.$impor.'" and status!="X" and status!="O" order by fecha desc';
      $res_fp15=msql_query($sql_fp15,$link_vcrx);
      $enti15=msql_result($res_fp15,0,'enti');
         
      $sql_impo=' update comp1 left join comp2 on idnum1=idnum2 set impor2=impor where impor2="" or impor2 is null   ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
         
      $sql_impo=' update comp1 left join comp2 on idnum1=idnum2 set impor2=impor where impor like "00%"   ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
         
      $sql_impo=' update comp1 left join comp2 on idnum1=idnum2 set detalle="" where detalle is null  ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
         
         
      $sql_impo='select *, sum(tsubt) as stsubt, sum(tiva) as stiva  from comp12 ';
      $sql_impo.=' where status!="O" ';
      $sql_impo.=' and docu like "FP%" ';
      $sql_impo.=' and docu not in ("FP15","FP16") ';
      $sql_impo.=' and impor2 like "'.$impor.'%"  ';
      $sql_impo.=' and concepto not like "%FLETE%"  ';
      $sql_impo.=' and detalle not like "%FLETE%"  ';
      $sql_impo.=' and concepto not like "%SEGURO%"  ';
      $sql_impo.=' and detalle not like "%SEGURO%"  ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
      $valor=msql_result($res_impo,0,'stsubt');
      
      $sql_impo='select *, sum(tsubt) as stsubt, sum(tiva) as stiva  from comp12 ';
      $sql_impo.=' where status!="O" ';
      $sql_impo.=' and docu like "NP%" ';
      $sql_impo.=' and impor2 like "'.$impor.'%"  ';
      $sql_impo.=' and concepto not like "%FLETE%"  ';
      $sql_impo.=' and detalle not like "%FLETE%"  ';
      $sql_impo.=' and concepto not like "%SEGURO%"  ';
      $sql_impo.=' and detalle not like "%SEGURO%"  ';
      $res_impo=msql_query($sql_impo,$link_vcrx);
      $valornp=msql_result($res_impo,0,'stsubt');
      
      $valor=$valor-abs($valornp);    
          
      
      $sql_vali='update '.$tabla.'1 set costol1='.$valor.' where idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);
//       echo '<br>*/*/*/*'.$sql_vali;
    }

      $sql_vali='update '.$tabla.'1 set costoe1d=2 where (costoe1d is null or costoe1d=0) and idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);

      $sql_vali='update '.$tabla.'1 set seguro1d=2 where (seguro1d is null or seguro1d=0) and idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);

      $sql_vali='update '.$tabla.'1 set flete1d=2 where (flete1d is null or flete1d=0) and idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);

      $sql_vali='update '.$tabla.'1 set costol1d=2 where (costol1d is null or costol1d=0) and idnum1='.$idnum;
      $res_vali=msql_query($sql_vali,$link_vcrx);

       if($cfg_empr=='imcp' and $fecha>="2021-12-01")
       {
           $sql_vali='update '.$tabla.'1 set costoe1d=2 where idnum1='.$idnum;
           $res_vali=msql_query($sql_vali,$link_vcrx);
//             echo '<br>*/*/*/'.$sql_vali;

           $sql_vali='update '.$tabla.'1 set seguro1d=2 where idnum1='.$idnum;
           $res_vali=msql_query($sql_vali,$link_vcrx);
//             echo '<br>*/*/*/'.$sql_vali;
//             return;
            

           $sql_vali='update '.$tabla.'1 set flete1d=2 where idnum1='.$idnum;
           $res_vali=msql_query($sql_vali,$link_vcrx);
//             echo '<br>*/*/*/'.$sql_vali;

           $sql_vali='update '.$tabla.'1 set costol1d=2 where idnum1='.$idnum;
           $res_vali=msql_query($sql_vali,$link_vcrx);
//             echo '<br>*/*/*/'.$sql_vali;
           
       }
    
//        if($cfg_empr=='imcp' and $fecha>="2022-07-01")
//        {
//            $sql_vali='update '.$tabla.'1 set costoe1d=1 where idnum1='.$idnum;
//            $res_vali=msql_query($sql_vali,$link_vcrx);
// //             echo '<br>*/*/*/'.$sql_vali;

//            $sql_vali='update '.$tabla.'1 set seguro1d=1 where idnum1='.$idnum;
//            $res_vali=msql_query($sql_vali,$link_vcrx);
// //             echo '<br>*/*/*/'.$sql_vali;
// //             return;
            

//            $sql_vali='update '.$tabla.'1 set flete1d=1 where idnum1='.$idnum;
//            $res_vali=msql_query($sql_vali,$link_vcrx);
// //             echo '<br>*/*/*/'.$sql_vali;

//            $sql_vali='update '.$tabla.'1 set costol1d=1 where idnum1='.$idnum;
//            $res_vali=msql_query($sql_vali,$link_vcrx);
// //             echo '<br>*/*/*/'.$sql_vali;
           
//        }
    
  }

     
       if($docu=='DA16')
       {
      $sql_dele='delete from '.$tabla.'2 where (item not like "20%") and idnum2='.$idnum;
      $res_dele=msql_query($sql_dele,$link_vcrx);
            //echo $sql_dele;
       }
     
	if(mb_stristr('GR.',substr($docu,0,2)))
	{
    
    $sql_guia='update '.$tabla.'1 set plazo=0 where plazo is null and idnum1='.$idnum;
    $res_guia=msql_query($sql_guia,$link_vcrx);

    $sql_guia='update '.$tabla.'1 set fecha1=fecha where fecha1 is null and idnum1='.$idnum;
    $res_guia=msql_query($sql_guia,$link_vcrx);

    $sql_guia='update '.$tabla.'1 set fecha2=adddate(fecha1,plazo) where (fecha2="" or fecha2<=fecha1 or fecha2 is null) and idnum1='.$idnum;
    $res_guia=msql_query($sql_guia,$link_vcrx);

    $sql_guia='update '.$tabla.'1 set fecha=fecha1 where fecha!=fecha1 and fecha!="" and fecha1 is not null and idnum1='.$idnum;
    $res_guia=msql_query($sql_guia,$link_vcrx);

    $sql_guia='delete from  '.$tabla.'2 where item is null and idnum2='.$idnum;
    $res_guia=msql_query($sql_guia,$link_vcrx);
    
    
    $sql_regi='select * from '.$tabla.'1 where idnum1='.$idnum;
    $res_regi=msql_query($sql_regi,$link_vcrx);
    
    $placa=msql_result($res_regi,0,'placa');
    $cedula1=msql_result($res_regi,0,'cedula1');
    $cedula2=msql_result($res_regi,0,'cedula2');
    $nombre1=msql_result($res_regi,0,'nombre1');
    $nombre2=msql_result($res_regi,0,'nombre2');
    $punto1=msql_result($res_regi,0,'punto1');
    $punto2=msql_result($res_regi,0,'punto2');
//     $propietario=r_fiel('vhcl',$placa,'propietario');
    
    if($cedula1=='')
    {
      $cedula1=r_fiel('empr',$cfg_empr,'ruc');
      $sql_vali ='update '.$tabla.'1 set cedula1="'.$cedula1.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }
    if($nombre1=='')
    {
      $nombre1=r_fiel('enti',$cedula1);
      $sql_vali ='update '.$tabla.'1 set nombre1="'.$nombre1.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }
    if($punto1=='')
    {
      $punto1=r_fiel('enti',$cedula1,'matriz');
      $sql_vali ='update '.$tabla.'1 set punto1="'.$punto1.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }
    
    if($cedula2=='')
    {
      $cedula2=msql_result($res_regi,0,'enti');
      $sql_vali ='update '.$tabla.'1 set cedula2="'.$cedula2.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }
    if($nombre2=='')
    {
      $nombre2=r_fiel('enti',$cedula2);
      $sql_vali ='update '.$tabla.'1 set nombre2="'.$nombre2.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }
    if($punto2=='')
    {
      $punto2=r_fiel('enti',$cedula2,'matriz');
      $sql_vali ='update '.$tabla.'1 set punto2="'.$punto2.'" where idnum1="'.$idnum.'"';
      $res_vali =msql_query($sql_vali,$link_vcrx);
    }

//       $sql_vali ='update '.$tabla.'2 set puni=1 where idnum2="'.$idnum.'"';
//       $res_vali =msql_query($sql_vali,$link_vcrx);
    
	}
  
	if(mb_stristr('RP.RC',substr($docu,0,2)))
  {
    if(substr($docu,0,2)=='RP'){$tabla='retp';$table='comp';}
    if(substr($docu,0,2)=='RC'){$tabla='retc';$table='vtas';}

    $tabla1=$tabla.'1';
    $tabla2=$tabla.'2';
    $table1=$table.'1';
    $table2=$table.'2';

    if($tabla=='retc'){$sql_ret2 ='update '.$tabla.'2 set docum="FC10" where docum like "R%" and idnum2="'.$idnum.'"';}
    if($tabla=='retp'){$sql_ret2 ='update '.$tabla.'2 set docum="FP10" where docum like "R%" and idnum2="'.$idnum.'"';}
    $res_ret2=msql_query($sql_ret2,$link_vcrx);
    
    $sql_rete='update '.$tabla2;
    $sql_rete.=' set cair="-" ';
    $sql_rete.=' where idnum2='.$idnum;
    $sql_rete.=' and puni>=70';
    $res_rete=msql_query($sql_rete,$link_vcrx);
    
    $sql_rete='update ';
    $sql_rete.=$tabla1.','.$tabla2.','.$table1.','.$table2 ;
    $sql_rete.=' set '.$tabla2.'.cair='.$table2.'.cair, ';
    $sql_rete.=$tabla1.'.status='.$tabla1.'.status';
    $sql_rete.=' where';
    $sql_rete.=' substring('.$tabla1.'.enti,1,10)=substring('.$table1.'.enti,1,10) ';
    $sql_rete.=' and '.$tabla1.'.idnum1='.$tabla2.'.idnum2 ';
    $sql_rete.=' and '.$table1.'.idnum1='.$table2.'.idnum2 ';
    $sql_rete.=' and '.$tabla2.'.docum='.$table1.'.docu ';
    $sql_rete.=' and '.$tabla2.'.numer='.$table1.'.numero ';
  // 	$sql_rete.=' and '.$tabla2.'.puni='.$table1.'.prrta ';
    $sql_rete.=' and '.$tabla2.'.puni>0 ';
    $sql_rete.=' and '.$tabla2.'.puni<=10 ';
    $sql_rete.=' and '.$table1.'.status!="O" ';
    $sql_rete.=' and '.$table1.'.status!="X" ';
    $sql_rete.=' and '.$tabla2.'.cair not like "3%"';
    $sql_rete.=' and '.$tabla2.'.cair not like "4%"';
    $sql_rete.=' and '.$tabla2.'.idnum2='.$idnum.' ';
//     $res_rete=msql_query($sql_rete,$link_vcrx);

    if(substr($docu,0,2)=='RP')
    {
      $sql_rete='update retp1,retp2 ';
      $sql_rete.=' set enti=concat(substring(enti,1,10),"001")' ;
      $sql_rete.=' where idnum1='.$idnum.' ';
      $sql_rete.=' and idnum1=idnum2';
      $sql_rete.=' and (docum="FP10" or docum="FP14")';
      $res_rete=msql_query($sql_rete,$link_vcrx);

      $sql_rete='update retp1,retp2 ';
      $sql_rete.=' set enti=concat(substring(enti,1,10),"")' ;
      $sql_rete.=' where idnum1='.$idnum.' ';
      $sql_rete.=' and idnum1=idnum2';
      $sql_rete.=' and docum="FP11"';
      $res_rete=msql_query($sql_rete,$link_vcrx);

      $sql_rete='update retp2 ';
      $sql_rete.=' set puni=0' ;
      $sql_rete.=' where idnum2='.$idnum.' ';
      $sql_rete.=' and cair like "332%"';
      $res_rete=msql_query($sql_rete,$link_vcrx);

    }

    if($autornum=='' and substr($docu,0,2)=='RP')
    {
      $sql_rete='select * from '.$tabla.'2 where idnum2='.$idnum;
      $res_rete=msql_query($sql_rete,$link_vcrx);
      while($aso_rete=msql_fetch_assoc($res_rete))
      {
        $xnumer=vali_number($aso_rete['numer']);
  //       $xcair=vali_number($aso_rete['cair']);
        $xcair=trim($aso_rete['cair']);
        $xnumer=fillzero($xnumer,9);
        $xiddet=$aso_rete['iddet'];
        $sql_updt='update '.$tabla.'2 set numer="'.$xnumer.'" where idnum2='.$idnum.' and iddet='.$xiddet;
        $res_updt=msql_query($sql_updt,$link_vcrx);

        $xporc=get_porcair($xcair,$fecha);
         //echo '*/*/*/ Valor : '.$fecha.'-'.$xcair.'-'.$xporc;
        if($xporc>0)
        {
          $sql_updt='update '.$tabla.'2 set puni="'.$xporc.'" where idnum2='.$idnum.' and iddet='.$xiddet;
          $res_updt=msql_query($sql_updt,$link_vcrx);
        }
      }
      
    }
  }
  
	if(mb_stristr('NC.NP',substr($docu,0,2)))
  {
    if(substr($docu,0,2)=='NC')
    {$sql_ncre='update '.$tabla.'1 set todocu="FC10" where idnum1='.$idnum.' and todocu like "FP10%"';}
    if(substr($docu,0,2)=='NP')
    {$sql_ncre='update '.$tabla.'1 set todocu="FP10" where idnum1='.$idnum.' and todocu like "FC10%"';}
    
    $res_ncre=msql_query($sql_ncre,$link_vcrx);
    
  }

  if(mb_stristr('EB13',substr($docu,0,4)))
  {
    $sql_inve='update '.$tabla.'1 set bode2=tobode where tobode is not null and (bode2 is null or bode2="") and idnum1='.$idnum.' ';
    $res_inve=msql_query($sql_inve,$link_vcrx);
//       echo '*/*/*/'.msql_error($link_vcrx);
  }

  
  if(mb_stristr('EB10',substr($docu,0,4)))
  {
//     echo '------'.$numfac;
    if($numfac=='')
    {
      $idvtas=get_idvtas($docu,$idnum);
      $vnumfac=r_fiel('vtas1',$idvtas,'numero');
      r_fiel('inve1',$idnum,'numfac',$vnumfac);
    }
    if(mb_stristr($enti,'9999999999'))
    {
      $idvtas=get_idvtas($docu,$idnum);
      $venti=r_fiel('vtas1',$idvtas,'enti');
//        echo '*/*/*/'.$venti;
      r_fiel('inve1',$idnum,'enti',$venti);
    }
  } 
  
  if(mb_stristr('IB15',substr($docu,0,4)))
  {
    $sql_ib15='select * from '.$tabla.'12 where idnum1="'.$idnum.'"';
//     $sql_ib15='select * from '.$tabla.'1 where idnum1="'.$idnum.'"';
    $res_ib15=msql_query($sql_ib15,$link_vcrx);
//     $enti=msql_result($res_ib15,0,'enti');
    $impor=msql_result($res_ib15,0,'impor');
    $fecha=msql_result($res_ib15,0,'fecha');
    
    if($impor=='')
    {
      $sql_da16='select * from prov1 where docu="DA16" and fecha<="'.$fecha.'" and status!="X" and status!="O" order by fecha desc';
      $res_da16=msql_query($sql_da16,$link_vcrx);
      $impor=msql_result($res_da16,0,'impor');
      r_fiel('inve1',$idnum,'impor',$impor);
    }
    
//     echo '*/*/*/*'.$impor;
    if($impor!='')
    {
      $sql_fp15='select * from comp1 where docu="FP15" and fecha<="'.$fecha.'" and impor="'.$impor.'" and status!="X" and status!="O" order by fecha desc';
      $res_fp15=msql_query($sql_fp15,$link_vcrx);
      $enti15=msql_result($res_fp15,0,'enti');
      r_fiel('inve1',$idnum,'enti',$enti15);
      
//       echo $sql_fp15;
//       echo '*/*/*'.$enti15;
//       echo $sql_ib15;
      
      msql_data_seek($res_ib15,0);
      while($aso_ib15=msql_fetch_assoc($res_ib15))
      {
        $iddet=$aso_ib15['iddet'];
        $item=$aso_ib15['item'];
//         echo $iddet;
        $sql_da16='select * from prov12 where status not in("O","X") and impor="'.$impor.'" and item="'.$item.'"';
        $res_da16=msql_query($sql_da16,$link_vcrx);
        $cuni=msql_result($res_da16,0,'cuni');
        if($cuni>0)
        {
          $sql_updt='update inve2 set puni="'.$cuni.'" where idnum2="'.$idnum.'" and iddet="'.$iddet.'"';
          $res_updt=msql_query($sql_updt,$link_vcrx);
//           echo '*/*/*/'.$sql_updt;
        }
      }
         
         
    }
    
    
  }
  
  if(mb_stristr('IB17.EB17.IB13.EB13',$docu))
  {
    $sql_inve='update '.$tabla.'1 set enti="'.$cfg_ruc.'" where idnum1='.$idnum.' ';
    $res_inve=msql_query($sql_inve,$link_vcrx);
  }

  
  if(mb_stristr('vtas',$tabla) and mb_stristr('vare.tgck.',$cfg_empr))
  {
    $sql_updt='update '.$tabla.'1,'.$tabla.'2 set iva=12 where idnum1=idnum2 and idnum2='.$idnum.' and autornum is null';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  if(mb_stristr('clie',$tabla) and mb_stristr('orel.',$cfg_empr))
  {
    $sql_updt='update '.$tabla.'1,'.$tabla.'2 set iva=12 where idnum1=idnum2 and idnum2='.$idnum.' ';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  if(mb_stristr('vtas',$tabla) and mb_stristr('mzlj.',$cfg_empr))
  {
    $sql_vtas ='select * from vtas1 ';
    $sql_vtas.='where idnum1!="'.$idnum.'" ';
    $sql_vtas.='and docu="'.$docu.'" ';
    $sql_vtas.='and fecha<="'.$fecha.'" ';
    $sql_vtas.='and enti like "'.substr($enti,0,10).'%" ';
    $sql_vtas.='and status not in("O","X") ';
    $sql_vtas.='and plazo>0 ';
    $sql_vtas.='order by fecha desc, idnum1 desc ';
    $sql_vtas.='limit 1 ';
    $res_vtas=msql_query($sql_vtas,$link_vcrx);
    
//     explain_sql($sql_vtas);
    $xplazo=@msql_result($res_vtas,0,'plazo');

    $sql_updt='update '.$tabla.'1 set plazo='.$xplazo.' where plazo=0 and idnum1='.$idnum.'';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  if(mb_stristr('PC19',$docu) )
  {
    $sql_updt='update '.$tabla.'1 set ptoe="001101" where idnum1='.$idnum.'';
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
    
  if($cfg_empr=='cpc1')
  {
	  if(mb_stristr('RBCO',$docu))
    {
      $sql_updt='update '.$tabla.'1,'.$tabla.'2 set ctab="B002" where idnum1=idnum2 and idnum2='.$idnum.' and cair like "323%"';
      $res_updt=msql_query($sql_updt,$link_vcrx);
    }
  }
  
  
//   gmny_op10($docu,$idnum);
  
//       echo '*/*/*/=== '.$docu.$idnum;

  
	return ;
	
}

 
function vali_number($pnumber)
{
  $xlong=strlen(trim($pnumber));
  $xnumber='';
  for($xind=0;$xind<$xlong;$xind++)
  {
    $xcar=substr($pnumber,$xind,1);
    if(mb_stristr('0123456789',$xcar)){$xnumber.=$xcar;}
  }
  return $xnumber;
}
  
function val_guia($docu,$idnum)
{
//   if(substr($docu,0,2)!="GR"){return;}
  
     include('../_cfg/config.php');
     $tabla='guia';

     $sql_guia='select * from guia1 where idnum1="'.$idnum.'"';
     $res_guia=msql_query($sql_guia,$link_vcrx);
     
     $fecha=msql_result($res_guia,0,'fecha');
     $todocu=msql_result($res_guia,0,'todocu');
     $toptoe=msql_result($res_guia,0,'toptoe');
     $tonume=msql_result($res_guia,0,'tonume');
     $fechamin=date('Y-m-d',strtotime($fecha.' -1 week'));
     if(substr($todocu,0,1)=='F'){$tablao='vtas'; $motivo='VENTA';}
     if(substr($todocu,0,1)=='E'){$tablao='inve'; $motivo='TRANSFERENCIA';}
     
//      $sql_docuo='select * from '.$tablao.'1 left join '.$tablao.'2 on idnum1=idnum2 where fecha>="'.$fechamin.'" and docu="'.$todocu.'" and numero="'.$tonume.'"';     
     $sql_docuo='select * from '.$tablao.'1 where fecha>="'.$fechamin.'" and docu="'.$todocu.'" and numero="'.$tonume.'"';     
     $res_docuo=msql_query($sql_docuo,$link_vcrx);
     
     if(msql_num_rows($res_docuo)>1)
     {
          $sql_docuo.=' and ptoe="'.$toptoe.'"';
          $res_docuo=msql_query($sql_docuo,$link_vcrx);
     }
//      echo '*/*/*'.$t;
//           echo '*/*/*/'.$sql_docuo;
//           echo '*/*/*/'.msql_num_rows($res_docuo);
     
     if(msql_num_rows($res_docuo)==1)
     {
          $idfrom=msql_result($res_docuo,0,'idnum1');
          $bode1=msql_result($res_docuo,0,'bode');
          $bode2=msql_result($res_docuo,0,'bode2');

               
          $sql_docuo='select * from '.$tablao.'1 left join '.$tablao.'2 on idnum1=idnum2 where idnum1="'.$idfrom.'" ';     
          $res_docuo=msql_query($sql_docuo,$link_vcrx);
          
          $sql_updt='update guia1 set motivo="'.$motivo.' /'.$todocu.'-'.$tonume.'" where idnum1="'.$idnum.'"';
          $res_updt=msql_query($sql_updt,$link_vcrx);
          
          if($todocu=='EB13')
          {
               $direcc1=r_fiel('bode',$bode1,'direccion');
               $direcc2=r_fiel('bode',$bode2,'direccion');

               $sql_updt='update guia1 set punto1="'.$direcc1.'",punto2="'.$direcc2.'" where idnum1="'.$idnum.'"';
               $res_updt=msql_query($sql_updt,$link_vcrx);
          }
          
          $sql_dele='delete from guia2 where idnum2="'.$idnum.'"';
          $res_dele=msql_query($sql_dele,$link_vcrx);
          
//           echo '*/*/*/'.$sql_docuo;
//           echo '*/*/*/'.msql_num_rows($res_docuo);
          $ciddet=1;
          while ($aso_docuo=msql_fetch_assoc($res_docuo))
          {
               $sql_inse='insert into guia2(idnum2,iddet,item,cant,puni,detalle)';
               $sql_inse.='value("'.$idnum.'","'.$aso_docuo['iddet'].'","'.$aso_docuo['item'].'","'.$aso_docuo['cant'].'","'.$aso_docuo['puni'].'","'.$aso_docuo['detalle'].'")';
               $res_inse=msql_query($sql_inse,$link_vcrx);
//                echo '<br>*/*/*/'.$sql_inse;
          }
          
     }
     
     

}  
  
  

function val_rete($docu,$idnum)
{
	include('../_cfg/config.php');
	$tabla='';
	$table='';
// 	if(substr($docu,0,2)=='RP')
//   {
//     $tabla='retp';
//     $table='comp';
//   }
// 	if(substr($docu,0,2)=='RC')
//   {
//     $tabla='retc';
//     $table='vtas';
//   }
// 	if($table==''){return;}

//   $tabla1=$tabla.'1';
// 	$tabla2=$tabla.'2';
// 	$table1=$table.'1';
// 	$table2=$table.'2';

// 	$sql_rete='update '.$tabla2;
// 	$sql_rete.=' set cair="-" ';
// 	$sql_rete.=' where idnum2='.$idnum;
// 	$sql_rete.=' and puni>=70';
// 	$res_rete=msql_query($sql_rete,$link_vcrx);
  
// 	$sql_rete='update ';
// 	$sql_rete.=$tabla1.','.$tabla2.','.$table1.','.$table2 ;
// 	$sql_rete.=' set '.$tabla2.'.cair='.$table2.'.cair, ';
// //   if(substr($docu,0,2)=='RP')
// //   {$sql_rete.=$tabla1.'.enti='.$table1.'.enti,';}
// //   {$sql_rete.=$tabla1.'.enti=concat(substring('.$table1.'.enti,1,10),"001"),';}
// 	$sql_rete.=$tabla1.'.status='.$tabla1.'.status';
// 	$sql_rete.=' where';
// 	$sql_rete.=' substring('.$tabla1.'.enti,1,10)=substring('.$table1.'.enti,1,10) ';
// 	$sql_rete.=' and '.$tabla1.'.idnum1='.$tabla2.'.idnum2 ';
// 	$sql_rete.=' and '.$table1.'.idnum1='.$table2.'.idnum2 ';
// 	$sql_rete.=' and '.$tabla2.'.docum='.$table1.'.docu ';
// 	$sql_rete.=' and '.$tabla2.'.numer='.$table1.'.numero ';
// // 	$sql_rete.=' and '.$tabla2.'.puni='.$table1.'.prrta ';
// 	$sql_rete.=' and '.$tabla2.'.puni<=10 ';
// 	$sql_rete.=' and '.$table1.'.status!="O" ';
// 	$sql_rete.=' and '.$table1.'.status!="X" ';
//   $sql_rete.=' and '.$tabla2.'.cair not like "3%"';
//   $sql_rete.=' and '.$tabla2.'.cair not like "4%"';
// 	$sql_rete.=' and '.$tabla2.'.idnum2='.$idnum.' ';
// 	$res_rete=msql_query($sql_rete,$link_vcrx);
// //   echo $sql_rete;
// //   echo '*/*/*/'.msql_error();
  
// 		if(substr($docu,0,2)=='RP')
//     {
//     	$sql_rete='update retp1,retp2 ';
// 	    $sql_rete.=' set enti=concat(substring(enti,1,10),"001")' ;
//     	$sql_rete.=' where idnum1='.$idnum.' ';
//     	$sql_rete.=' and idnum1=idnum2';
//     	$sql_rete.=' and (docum="FP10" or docum="FP14")';
//     	$res_rete=msql_query($sql_rete,$link_vcrx);

//     	$sql_rete='update retp1,retp2 ';
// 	    $sql_rete.=' set enti=concat(substring(enti,1,10),"")' ;
//     	$sql_rete.=' where idnum1='.$idnum.' ';
//     	$sql_rete.=' and idnum1=idnum2';
//     	$sql_rete.=' and docum="FP11"';
//     	$res_rete=msql_query($sql_rete,$link_vcrx);
      
//     }

}

  
  
  
function val_dctoabs($docu,$idnum)
{
// 	include('../_cfg/config.php');
// 	$tabla=r_fiel('docu',$docu,'tabla');
//   $sql_dcto='select sum(abs(tsubt)) as tsubt from '.$tabla.'12 where puni>0 and idnum1='.$idnum;
//   $res_dcto=msql_query($sql_dcto,$link_vcrx);
//   $tsubt=msql_result($res_dcto,0,'tsubt');

//   $sql_dcto='select sum(abs(tsubt)) as tsubt from '.$tabla.'12 where puni<0 and idnum1='.$idnum;
//   $res_dcto=msql_query($sql_dcto,$link_vcrx);
//   $tdcto=msql_result($res_dcto,0,'tsubt');
  
//   if($tdcto>0)
//   {
//     $pdcto=$tdcto/$tsubt*100;
//     $sql_dcto='delete from '.$tabla.'2 where puni<0 and idnum2='.$idnum;
//     $res_dcto=msql_query($sql_dcto,$link_vcrx);
    
//     $sql_dcto='update '.$tabla.'2 set dcto='.$pdcto.' where puni>0 and idnum2='.$idnum;
//     $res_dcto=msql_query($sql_dcto,$link_vcrx);
    
//   }
  
  
}  
  
  
  
function val_email($email)
{
//    $exp = "^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$";
//    if(eregi($exp,$email))
   $exp = "/^[a-z\'0-9]+([._-][a-z\'0-9]+)*@([a-z0-9]+([._-][a-z0-9]+))+$/i";
   if (preg_match($exp,$email))
   {if(checkdnsrr(array_pop(explode("@",$email)),"MX")){return true;}else{return false;}}
   else{return false;}    
}

//El formato utilizado seria así: 000 000 0000,(000)-000-0000. Donde los primeros 3 números serian el código de tu País.

function val_telefono($numero)
{
//   $reg = '#^\(?\d{3}\)? [\s\.-] ?\d{3} [\s\.-] ?\d{4}$#';
  $reg = '#^\(?\d{3}\)? [\s\.-] ?\d{2} [\s\.-] ?\d{8}$#';
  return preg_match($reg, $numero);
}
  
function val_mod10($pstring,$pverif=false)
{
	$xalgo=10;
	$dchek='-';
	$pstring=trim($pstring);
	$pstring1=$pstring;
	if($pverif)
	{$pstring1=substr($pstring,0,strlen($pstring)-1);}
	$xcoef=substr(str_repeat('12',strlen($pstring1)),strlen($pstring1)*-1);
	$xsuma=0;
	$xprod=0;
	for($xcco=0; $xcco<strlen($pstring1); $xcco++ )
	{
		$xprod=substr($pstring1,$xcco,1)*substr($xcoef,$xcco,1);
		while($xprod>9){$xprod-=9;}
		$xsuma+=$xprod;
	}
	$xresi=$xsuma % $xalgo;
	$xveri=$xalgo-$xresi;
	if($xresi==0){$xveri=0;}
	$dchek=$xveri;

	if($pverif)
	{
		$dchek=false;
		if($xveri==substr($pstring,-1)){$dchek=true;}
	}
	return $dchek;	
}

function val_mod11($pstring,$pverif=false)
{
	$xalgo=11;
	$dchek='-';
	$pstring=trim($pstring);
	$pstring1=$pstring;
	if($pverif)
	{$pstring1=substr($pstring,0,strlen($pstring)-1);}
	$xcoef=substr(str_repeat('765432',strlen($pstring1)),strlen($pstring1)*-1);
	$xsuma=0;
	$xprod=0;
	for($xcco=0; $xcco<strlen($pstring1); $xcco++ )
	{
          $xfactor1=substr($pstring1,$xcco,1);
          $xfactor2=substr($xcoef,$xcco,1);
		$xprod=(int)$xfactor1*(int)$xfactor2;
		$xsuma+=$xprod;
	}
	$xresi=$xsuma % $xalgo;
	$xveri=$xalgo-$xresi;
	if($xresi==0){$xveri=0;}
	
	if($xveri==10){$xveri=1;}
	if($xveri==11){$xveri=0;}
	$dchek=$xveri;

	if($pverif)
	{
		$dchek=false;
		if($xveri==substr($pstring,-1)){$dchek=true;}
	}
	return $dchek;	
}

function val_ean($pstring,$pverif=false)
{
	$xalgo=10;
  $xfactor='13';
	$dchek='-';
	$pstring=trim($pstring);
  $pstring=str_replace(' ','',$pstring);
  $pstring=str_replace('-','',$pstring);
  $pstring=str_replace('.','',$pstring);
  $pstring=str_replace('\t','',$pstring);
	$pstring1=$pstring;

	if($pstring==''){return '';}
  if(strlen($pstring)==10){return '';}
  
  if(!ctype_digit($pstring)){return '';}
  
  if(!mb_stristr('0123456789',substr($pstring,0,1))){return '';}
  if(!mb_stristr('0123456789',substr($pstring,-1,1))){return '';}

	if($pverif){$pstring1=substr($pstring,0,strlen($pstring)-1);}
	$xcoef=substr(str_repeat($xfactor,strlen($pstring1)),strlen($pstring1)*-1);
	$xsuma=0;
	$xprod=0;
 
	for($xcco=0; $xcco<strlen($pstring1); $xcco++ )
	{
		$xprod=substr($pstring1,$xcco,1)*substr($xcoef,$xcco,1);
		$xsuma+=$xprod;
	}
	$xresi=$xsuma % $xalgo;
	$xveri=$xalgo-$xresi;
	if($xresi==0){$xveri=0;}
	$dchek=$xveri;

//   echo 'VAL:'.$pstring;
//   echo 'DCHECK:'.$dchek;
	if($pverif)
	{
		$dchek=false;
		if($xveri==substr($pstring,-1)){$dchek=true;}
    
    include('php_session.php');
    if(@mb_stristr('sist.supe.admi.oper',$user_tipo))
    {
      if($dchek)
      {
        include('../_cfg/config.php');
        $sql_ean1='insert into item0(item_codigo,item_descri,item_status,item_idate,item_lused)value("'.$pstring.'","*** NUEVO EAN","-",now(),now())';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        

        $sql_ean1='update item0 set item_ean="'.$pstring.'" where item_codigo="'.$pstring.'"';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_tipo="-" where item_codigo="'.$pstring.'" and (item_tipo="" or item_tipo is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_codigov="'.$pstring.'" where item_codigo="'.$pstring.'" and (item_codigov="" or item_codigov is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_mrca="GENE" where item_codigo="'.$pstring.'" and (item_mrca="" or item_mrca is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_lsub="GENE-GENE" where item_codigo="'.$pstring.'" and (item_lsub="" or item_lsub is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_umdd="UNID" where item_codigo="'.$pstring.'" and (item_umdd="" or item_umdd is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_iuser="'.$user_codigo.'" where item_codigo="'.$pstring.'" and (item_iuser="" or item_iuser is null)';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_dcto=0 where item_codigo="'.$pstring.'" and item_dcto is null';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_ice=0 where item_codigo="'.$pstring.'" and item_ice is null';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_iva=0 where item_codigo="'.$pstring.'" and item_iva is null';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        $sql_ean1='update item0 set item_irbp=0 where item_codigo="'.$pstring.'" and item_irbp is null';
        $res_ean1=msql_query($sql_ean1,$link_vcrx);
        
      }
    }
	}

	if(strlen($pstring)<4){$dchek='';}

	return $dchek;	
}

  
function val_vhcl($pplak) 
{
	include('../_cfg/config.php');

// Azuay	A	Galápagos	W	Orellana	Q
// Bolívar	B	Guayas	G	Pastaza	S
// Cañar	U	Imbabura	I	Pichincha	P
// Carchi	C	Loja	L	Santa Elena	Y
// Chimborazo	H	Los Ríos	R	Santo Domingo de los Tsáchilas	J
// Cotopaxi	X	Manabí	M	Sucumbíos	K
// El Oro	O	Morona Santiago	V	Tungurahua	T
// Esmeraldas	E	Napo	N	Zamora Chinchipe	Z

// Vehículos comerciales (como taxis o autobuses)	A, U, Z	Naranja	AAB-0123	Matrícula Ecuador Comercial.svg
// Vehículos gubernamentales	E	Oro	PEB-0001	Matrícula Ecuador Estado.svg
// Vehículos de uso oficial	X	Oro	GXA-0100	Matrícula Ecuador Oficial.svg
// Vehículos de los Gobiernos Autónomos Descentralizados 
// (Regiones, Provincias, Cantones, Parroquias)	M	Verde limón	LMA-0010	Matrícula Ecuador Municipal.svg
// Vehículo particular (privado)	Cualquiera menos
// las anteriores	Blanco-plateado	EBA-0234	Matrícula Ecuador Particular.svg

//FT FN FA fuerza terrestre naval aerea  
  
  
  $pplak=str_replace('"','',$pplak);	
  $pplak=str_replace("'","",$pplak);	
  $pplak=str_replace("-","",$pplak);	
  $descri='';	
  $pplak=strtoupper(trim($pplak));

  if(strlen($pplak)!=6 and strlen($pplak)!=7){return;}
  if(substr($pplak,0,1)=='F' and !mb_stristr('TNA',substr($pplak,1,1))){return;}
  
  
  $placa_2l=substr($pplak,0,2);
  $placa_3l=substr($pplak,0,3);
  $placa_1r=substr($pplak,-1,1);
  
  $placa_num=$pplak;  
  for($ccont=65; $ccont<=90; $ccont++)
  {$placa_num=str_replace(chr($ccont),'',$placa_num);}

  $numero1='';
  $numero2='';
  $placa_ok=0;
  
  
  if(
         mb_stristr('ABC-E.FGHIJ.KLMNO.PQRST.UVWXY.Z',substr($pplak,0,1))
     and mb_stristr('ABCDE.FGHIJ.KLMNO.PQRST.UVWXY.Z',substr($pplak,1,1))
     and mb_stristr('0123456789',substr($pplak,3,1))
     and mb_stristr('0123456789',substr($pplak,4,1))
    )
  {
    
    // autos
    if(mb_stristr('0123456789',$placa_1r) and mb_stristr('ABCDE.FGHIJ.KLMNO.PQRST.UVWXY.Z',substr($pplak,2,1)))
    {
      $placa_num=fillzero($placa_num,4);
      $pplak=$placa_3l.$placa_num;

      $sql_vhcl='select * from vhcl0 where vhcl_codigo like "'.$placa_2l.'%" order by vhcl_codigo';
      $res_vhcl=msql_query($sql_vhcl,$link_vcrx);
      if(msql_num_rows($res_vhcl))
      {
        $numero1=substr(msql_result($res_vhcl,0,'vhcl_codigo'),-4,4);
        $sql_vhcl='select * from vhcl0 where vhcl_codigo like "'.$placa_2l.'%" order by vhcl_codigo desc';
        $res_vhcl=msql_query($sql_vhcl,$link_vcrx);
        $numero2=substr(msql_result($res_vhcl,0,'vhcl_codigo'),-4,4);
//         if($placa_num>=$numero1 and $placa_num<=$numero2){$placa_ok=1;}
      }
      $placa_ok=1;
    }

    // motos
    if(mb_stristr('0123456789',substr($pplak,2,1)) and mb_stristr('ABCDE.FGHIJ.KLMNO.PQRST.UVWXY.Z',$placa_1r))
    {
      $placa_num=fillzero($placa_num,3);
      $pplak=$placa_2l.$placa_num.$placa_1r;
       
      $sql_vhcl='select * from vhcl0 where vhcl_codigo like "'.$placa_2l.'%" order by vhcl_codigo';
      $res_vhcl=msql_query($sql_vhcl,$link_vcrx);
      if(msql_num_rows($res_vhcl))
      {
        $numero1=substr(msql_result($res_vhcl,0,'vhcl_codigo'),-4,3);
        $sql_vhcl='select * from vhcl0 where vhcl_codigo like "'.$placa_2l.'%" order by vhcl_codigo desc';
        $res_vhcl=msql_query($sql_vhcl,$link_vcrx);
        $numero2=substr(msql_result($res_vhcl,0,'vhcl_codigo'),-4,3);
//         if($placa_num>=$numero1 and $placa_num<=$numero2){$placa_ok=1;}
      }
      $placa_ok=1;
    }

   	$numero1=floor($numero1/10)*10;
   	$numero2=ceil($numero2/10)*10;
    
    if($placa_num>=$numero1 and $placa_num<=$numero2){$placa_ok=1;}
    if($placa_ok==1)
    {
      $sql_vhcl='insert into vhcl0(vhcl_codigo,vhcl_idate,vhcl_status)value("'.$pplak.'",now(),"-")';
      $res_vhcl=msql_query($sql_vhcl,$link_vcrx);
//       echo '*/*/*/'.$sql_vhcl;
    }
    
  }
  return $pplak;  
}
  
function val_ruced($pnumruc,$web=0)
{
     $pnumruc=str_replace(' ','',$pnumruc);
     $pnumruc=str_replace('-','',$pnumruc);
     $pnumruc=trim($pnumruc);
  
	$xruced='0';
     
     //   if(!ctype_digit($pnumruc)){return '0';}
     if(strlen($pnumruc)<10 or strlen($pnumruc)>13){return $xruced;}
  
	$pnumruc=substr($pnumruc,0,10);
	if(strlen($pnumruc)==10 and substr($pnumruc,0,2)>='01' and substr($pnumruc,0,2)<='30')
	{
		if(substr($pnumruc,2,1)<=5)
			{if(val_mod10(substr($pnumruc,0,10),true)){$xruced='N';}}
		if(substr($pnumruc,2,1)==6)
			{if(val_mod11(substr($pnumruc,0,9),true)){$xruced='P';}}
		if(substr($pnumruc,2,1)==9)
			{if(val_mod11(substr($pnumruc,0,10),true)){$xruced='J';}}
          
          if($xruced==0)
          {if(substr($pnumruc,2,1)==6){if(val_mod10(substr($pnumruc,0,10),true)){$xruced='N';}}}
          if($xruced==0)
          {if(substr($pnumruc,2,1)==9){{$xruced='J';}}}
               
	}
     
     if(strlen($pnumruc)==10 and substr($pnumruc,0,2)=='99'){return 'N';}

     if($xruced=='0'){get_ruc1($pnumruc);}
     if($xruced=='0'){get_ruczip($pnumruc);}
     
//      echo '*/*/*/*'.$xruced;
     
     @include('../_cfg/config.php');
	if($xruced=='N')
	{$sql_ruc1='insert into enti0(enti_codigo,enti_descri,enti_status,enti_idate)value("'.$pnumruc.'","*** NUEVA CEDULA","-",now())';}
  
	if($xruced=='P' or $xruced=='J')
	{$sql_ruc1='insert into enti0(enti_codigo,enti_descri,enti_status,enti_idate)value("'.$pnumruc.'001","*** NUEVO RUC","-",now())';}	
  
	$res_ruc1=@msql_query($sql_ruc1,$link_vcrx);
  
	return $xruced;	
}

function val_itemce($pidnum)
{
	include('../_cfg/config.php');
	
	if(!mb_stristr('demo.vare.jore.',$cfg_empr)){return false;}
	
//	$sql_comp='select * from comp12 where idnum1="'.$pidnum.'"';
		// 1790016919 FAVORITA SUPERMAXI
	$supermaxi="1790016919";
	$sql_comp ='select distinct enti,itemce,detalle from comp12 ';
	$sql_comp.='where enti like "'.$supermaxi.'%" ';
	$sql_comp.='and item like "9999%" ';
	$sql_comp.='and itemce not like "0%" ';
	$sql_comp.='and (length(itemce)=12 or length(itemce)=13) ';
	$sql_comp.='order by itemce ';
	$res_comp=msql_query($sql_comp,$link_vcrx);
// 	echo explain_sql($sql_comp);
	
	while($aso_comp=msql_fetch_assoc($res_comp))
	{
// 		$idnum=$aso_comp['idnum1'];
// 		$iddet=$aso_comp['iddet'];
		$enti=substr($aso_comp['enti'],0,10);
		$itemce=$aso_comp['itemce'];
		
		$detalle=$aso_comp['detalle'];
		$detalle=str_replace('/'.$itemce,'',$detalle);

		// 1790016919 FAVORITA SUPERMAXI
// 		if(mb_stristr($supermaxi,$enti) and strlen($itemce)==12)
		{
			$itemcodi=$itemce;
			if(strlen($itemce)==12)
			{$itemcodi=$itemce.val_ean($itemce);}
			
			val_ean($itemcodi,true);

			if($detalle!='')
			{
				$sql_item='update item0 set item_descri="'.$detalle.'" where item_codigo="'.$itemcodi.'"';
				$res_item=msql_query($sql_item,$link_vcrx);
				
				$sql_item='update comp2 set item="'.$itemcodi.'" where itemce="'.$itemce.'"';
				$res_item=msql_query($sql_item,$link_vcrx);
        
//         echo '*/*/*/'.$sql_item.msql_error($link_vcrx);
				
// 				$sql_item='update comp1,comp2 set detalle="" where enti like "'.$supermaxi.'%"  and itemce="'.$itemce.'"';
// 				$res_item=msql_query($sql_item,$link_vcrx);
			}
		}

	}
	
	return true;
}

  
  
  
  
  
  
}
?>