<?php //session_start();?>
<?php
// setlocale(LC_ALL, 'es_ES');
// msql_select_db($cfg_data,$link_vcrx);
// msql_select_db('vcrxol_vare',$link_vcrx);
// echo date("Y-m-d H:i:s");

// {
// include('../_cfg/config.php');
// }

date_default_timezone_set('America/Guayaquil');

$ver=substr(phpversion(),0,1);
$phpver=substr(phpversion(),0,1);
{include('php_msql1.php');}
// if($ver<=5)
// if($ver>=7)
// {include('../../php_msql2.php');
//  if(file_exists('../php_msql2.php')){echo 'SI';}else{echo 'NO';}
// }



include_once('php_vali1.php'); 
include_once('php_gets1.php'); 
include_once('php_cele1.php'); 
include_once('php_cont1.php'); 
include_once('php_caja1.php'); 
include_once('php_bcos1.php'); 
include_once('php_nomi1.php'); 
include_once('php_inve1.php'); 
include_once('php_vtas1.php'); 
include_once('php_comp1.php'); 
include_once('php_prnt1.php'); 
include_once('php_info1.php'); 
include_once('php_espe1.php'); 
include_once('php_jwib1.php'); 
include_once('php_tfle1.php'); 


include('fpdf.php');
// include('fpdf2.php');
// die();
// GENERALES


{


/**
 * QR_BarCode - Barcode QR Code Image Generator
 * @author CodexWorld
 * @url http://www.codexworld.com
 * @license http://www.codexworld.com/license/
 */
     
     {
          
// include "QR_BarCode.php"; 

// // QR_BarCode object 
// $qr = new QR_BarCode(); 

// // create text QR code 
// $qr->text('Programacion.net'); 

// // display QR code image
// $qr->qrCode();
// El anterior ejemplo genera y muestra un código QR según los parámetros que le hayamos pasado. Si quieres guardar la imagen de tu código QR, utiliza la clase QR_BarCode de este modo:

// <?php
// // save QR code image
// $qr->qrCode(350,'images/cw-qr.png');
// La clase QR_BarCode genera diferentes tipos de códigos QR en PHP.

// <?php
// // create url QR code 
// $qr->url('URL');

// // create text QR code 
// $qr->text('textContent');

// // create email QR code 
// $qr->email('emailAddress', 'subject', 'message');

// // create phone QR code 
// $qr->phone('phoneNumber');

// // create sms QR code 
// $qr->sms('phoneNumber', 'message');

// // create contact QR code 
// $qr->contact('name', 'address', 'phone', 'email');

// // create content QR code 
// $qr->content('type', 'size', 'content');     
     }     
     
     
class QR_BarCode{
    // Google Chart API URL
    private $googleChartAPI = 'http://chart.apis.google.com/chart';
    // Code data
    private $codeData;
    
    /**
     * URL QR code
     * @param string $url
     */
    public function url($url = null){
        $this->codeData = preg_match("#^https?://#", $url) ? $url : "http://{$url}";
    }
    
    /**
     * Text QR code
     * @param string $text
     */
    public function text($text){
        $this->codeData = $text;
    }
    
    /**
     * Email address QR code
     *
     * @param string $email
     * @param string $subject
     * @param string $message
     */
    public function email($email = null, $subject = null, $message = null) {
        $this->codeData = "MATMSG:TO:{$email};SUB:{$subject};BODY:{$message};;";
    }
    
    /**
     * Phone QR code
     * @param string $phone
     */
    public function phone($phone){
        $this->codeData = "TEL:{$phone}";
    }
    
    /**
     * SMS QR code
     *
     * @param string $phone
     * @param string $text
     */
    public function sms($phone = null, $msg = null) {
        $this->codeData = "SMSTO:{$phone}:{$msg}";
    }
    
    /**
     * VCARD QR code
     *
     * @param string $name
     * @param string $address
     * @param string $phone
     * @param string $email
     */
    public function contact($name = null, $address = null, $phone = null, $email = null) {
        $this->codeData = "MECARD:N:{$name};ADR:{$address};TEL:{$phone};EMAIL:{$email};;";
    }
    
    /**
     * Content (gif, jpg, png, etc.) QR code
     *
     * @param string $type
     * @param string $size
     * @param string $content
     */
    public function content($type = null, $size = null, $content = null) {
        $this->codeData = "CNTS:TYPE:{$type};LNG:{$size};BODY:{$content};;";
    }
    
    /**
     * Generate QR code image
     *
     * @param int $size
     * @param string $filename
     * @return bool
     */
    public function qrCode($size = 200, $filename = null) {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $this->googleChartAPI);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, "chs={$size}x{$size}&cht=qr&chl=" . urlencode($this->codeData));
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, false);
        curl_setopt($ch, CURLOPT_TIMEOUT, 30);
        $img = curl_exec($ch);
        curl_close($ch);
    
        if($img) {
            if($filename) {
                if(!preg_match("#.png$#i", $filename)) {
                    $filename .= ".png";
                }
                
                return file_put_contents($filename, $img);
            } else {
                header("Content-type: image/png");
                print $img;
                return true;
            }
        }
        return false;
    }
}

     
     
     
     
     
     
     
     
     
     
     
function guia_remi($enti,$premi=0)
{
  
}
  
function num_prdo($pfecha)
{
  
}
  
  
function decimaldigit($pnumero)
{
  $decidigi=0;
  $pnumero=$pnumero*1;
  $strnum=$pnumero;
  if(mb_stristr($strnum,'.'))
  {
    $strnum=substr($strnum,strpos($strnum,'.')+1);
    while(substr($strnum,-1)=='0')
    {$strnum=substr($strnum,0,strlen($strnum)-1);}
    $decidigi=strlen($strnum);
  }
  return $decidigi;
}

   
function csvtojson($file,$delimiter)
{
    if (($handle = fopen($file, "r")) === false)
    {die("can't open the file.");}

    $csv_headers = fgetcsv($handle, 4000, $delimiter);
    $csv_json = array();

    while ($row = fgetcsv($handle, 4000, $delimiter))
    {$csv_json[] = array_combine($csv_headers, $row);}

    fclose($handle);
    return json_encode($csv_json);
}


   
   
function get_puniempr($pitem,$pempr,$puni='puni')
{
  $pitem=trim($pitem);
  $puni='item_'.$puni;
  $_SESSION['link_vcrx']='';
  include('../../'.$pempr.'/_cfg/config.php');
  $sql_item='select * from item00 where item_codigo like "'.$pitem.'%" order by '.$puni.' desc ';
  $res_item=msql_query($sql_item,$link_vcrx);

  $xpuni=msql_result($res_item,0,$puni);
  return $xpuni;  
}
  
  
function xml_chr13($xmlfile)
{
     $xmlfile=str_replace('<',chr(13).'<',$xmlfile);
     $xmlfile=str_replace(chr(13).'</','</',$xmlfile);
     if(substr($xmlfile,0,1)==chr(13))
     {$xmlfile=substr($xmlfile,1);}
     return $xmlfile;  
}

function sql_cnx($psrvr,$puser,$ppwd,$pdata)
{
  
  $psrvr='192.185.41.206';
  $puser=''.$cfg_dnam.'_'.$cfg_empr.'full';
  $ppwd='vicore1976';
  $pdata=''.$cfg_dnam.'_'.$cfg_empr;
  
  $link_vcrx=$_SESSION['link_vcrx'];
  $link_test=@msql_query('select * from empr0',$link_vcrx);

  if(!$link_test)
  {
      $link_test.=$_SESSION['link_vcrx'].' *** NEW CNX ***';
      $link_vcrx=@msql_connect($psrvr,$puser,$ppwd,true);
  }

  if (!$link_vcrx){die('Could not connect: ' . msql_error($link_vcrx));}

  $_SESSION['link_vcrx']=$link_vcrx;
  msql_select_db($pdata,$link_vcrx);
  
  return $link_vcrx;
}
  
  
  
  
function add_clie($docu,$enti,$item,$cant)
{
	include('../_cfg/config.php');
  include('php_session.php');
  
  if(empty($docu)){return;}
  if(empty($enti)){return;}
  if(empty($item)){return;}
//   if(empty($vndd)){return;}
  if(empty($cant)){$cant=1;}
  
  $ptoe='001101';
  
  $tabla='clie';
  $sql_clie='select * from '.$tabla.'1 ';
  $sql_clie.=' where status not in("O","X") ';
  $sql_clie.=' and docu="'.$docu.'"';
  $sql_clie.=' and enti="'.$enti.'"';
  $sql_clie.=' and fecha="'.$fechaa.'"';
  $sql_clie.=' and stfin!=1';
  $sql_clie.=' order by fecha desc limit 1';
  $res_clie=msql_query($sql_clie,$link_vcrx);

  if(msql_num_rows($res_clie)==0)
  {
    $xnumero=nume_docu($docu,$ptoe);
    $sql_inse='insert into '.$tabla.'1(docu,ptoe,numero,enti,fecha,status,stfin) ';
    $sql_inse.='value("'.$docu.'","'.$ptoe.'","'.$xnumero.'","'.$enti.'",now(),"-",0) ';
    $res_inse=msql_query($sql_inse,$link_vcrx);
    
    $res_clie=msql_query($sql_clie,$link_vcrx);
  }
  
  
  $xidnum=msql_result($res_clie,0,'idnum1');
  
  if($xidnum!=0)
  {
    $sql_item='select * from item0 where item_codigo like "'.trim($item).'%" order by item_codigo';
    $res_item=msql_query($sql_item,$link_vcrx);
    $item=@msql_result($res_item,0,'item_codigo');
    
    $xiddet=get_iddet($docu,$xidnum);
    $sql_inse='insert into '.$tabla.'2(idnum2,iddet,item,cant,puni) ';
    $sql_inse.='value("'.$xidnum.'","'.$xiddet.'","'.$item.'","'.$cant.'",now()) ';
    $res_inse=msql_query($sql_inse,$link_vcrx);
    
    $xvndd=r_fiel('user',$user_codigo,'cedula');
    $sql_updt ='update '.$tabla.'1 set ';
    $sql_updt.='vndd="'.$xvndd.'" ';
    $sql_updt.='where idnum1="'.$xidnum.'"';
    $res_updt=msql_query($sql_updt,$link_vcrx);
    
    $sql_updt ='update '.$tabla.'2, item0  ';
    $sql_updt.='set puni=item_puni ';
    $sql_updt.='where idnum2="'.$xidnum.'" ';
    $sql_updt.='and item=item_codigo ';
//     echo $sql_updt;
    $res_updt=msql_query($sql_updt,$link_vcrx);
  }
  
  return;
    
  
}

function fecha_modu($modu)
{
  
	include('../_cfg/config.php');
  
  $modu=strtolower($modu);
  if($modu=='cont')
  {$sql_modu='select * from cont1 where (docu like "DD%" or docu like "DI%") and status not in("O","X") order by fecha limit 1';}
  
  if($modu=='caja')
  {$sql_modu='select * from caja1 where docu like "IE%" and status not in("O","X") order by fecha limit 1';}
  
  if($modu=='bcos')
  {$sql_modu='select * from bcos1 where docu like "DB%" and status not in("O","X") order by fecha limit 1';}
  
  if($modu=='inve')
  {$sql_modu='select * from inve1 where docu like "IB00%" and status not in("O","X") order by fecha limit 1';}
  
  if($modu=='cxco')
  {$sql_modu='select * from dxco1 where docu like "XC00%" and status not in("O","X") order by fecha limit 1';}
//   {$sql_modu='select * from dxco1 where docu like "CC00%" and status not in("O","X") order by fecha limit 1';}
  
  if($modu=='cxpa')
  {$sql_modu='select * from dxpa1 where docu like "XP00%" and status not in("O","X") order by fecha limit 1';}
//   {$sql_modu='select * from dxpa1 where docu like "CP00%" and status not in("O","X") order by fecha limit 1';}
  
  $res_modu=@msql_query($sql_modu,$link_vcrx);
  $xfecha=@msql_result($res_modu,0,'fecha');
  $xdocu=@msql_result($res_modu,0,'docu');
 
//    echo '****'.$xfecha;
   
  if($xfecha==''){$xfecha='2010-01-01';}
  
  if(substr($xdocu,2,2)!='00')
  {$xfecha=date('Y-m-01',strtotime($xfecha));}
  
  return $xfecha;
}
  
function get_nomi($enti,$fiel,$fecha='')
{
	include('../_cfg/config.php');
//   include('php_session.php');
  $valor='';
  if(empty($enti)){return;}
  if(empty($fiel)){$fiel='sueldo';}
  if(empty($fecha)){$fecha=date('Y-m-d');}
  $sel_susa='select * from susa12 where enti like "'.$enti.'%" and fecha<="'.$fecha.'" order by fecha desc, idnum1 desc';
  $res_susa=msql_query($sel_susa,$link_vcrx);
  if(msql_num_rows($res_susa)!=0)
  {$valor=@msql_result($res_susa,0,$fiel);}
  return $valor;
  
}

function get_susa($enti,$fiel='',$fecha='')
{
	include('../_cfg/config.php');
//   include('php_session.php');
  $valor='';
  if(empty($enti)){return;}
  if(empty($fiel)){$fiel='sueldo';}
  if(empty($fecha)){$fecha=date('Y-m-d');}
  $sel_susa='select * from susa12 where enti like "'.$enti.'%" and fecha2<="'.$fecha.'" order by fecha2 desc, idnum1 desc';
  $res_susa=msql_query($sel_susa,$link_vcrx);
  if(msql_num_rows($res_susa)!=0)
  {$valor=@msql_result($res_susa,0,$fiel);}
  return $valor;
  
}

function sql_total($tabla)
{
  include('php_session.php');
  
  $sql_total=''; 
  $sql_total.='count(distinct idnum1) as cidnum1,'; 
//   $sql_total.='count(distinct enti) as centi,'; 
	$sql_total.='max(concepto) as mconcepto,';
	$sql_total.='max(detalle) as mdetalle,';
	$sql_total.='sum(abs(tcant)) as stcant,';
// 	$sql_total.='sum(abs(tsubt)) as stsubt,';
	$sql_total.='sum((tsubt)) as stsubt,';
  $sql_total.='max(length(detalle)) as ldetalle, ';
	$sql_total.='max(length(concepto)) as lconcepto, ';
// 	$sql_total.='case when status!="O" then count(idnum1) end as docuok, ';

//   if($docuiimp==1)
	if(@mb_stristr('vtas.comp.clie.prov.carr',$tabla))
	{
    $sql_total.='max(length(trim(item_descri))) as litemdescri, ';
		$sql_total.='sum(tsubtiva0) as stsubtiva0,';
		$sql_total.='sum(tsubtiva) as stsubtiva,';
		$sql_total.='sum(tsubtice) as stsubtice,';
		$sql_total.='sum(tdcto) as stdcto,';
		$sql_total.='sum(tprop) as stprop,';
		$sql_total.='avg(puni) as apuni,';

	if(@mb_stristr('vtas.clie.carr',$tabla))
	{
		$sql_total.='avg(cuni) as acuni,';
		$sql_total.='sum(tcuni) as stcuni,';
		$sql_total.='sum(tutil) as stutil,';
  }  
    
	if(@mb_stristr('inve.prod.tfin',$tabla))
	{
		$sql_total.='avg(pvta) as apvta,';
		$sql_total.='sum(tpvta) as stpvta,';
		$sql_total.='sum(tutil) as stutil,';
  }  
    
		$sql_total.='sum(tice) as stice,';
		$sql_total.='sum(tiva) as stiva,';
		$sql_total.='sum(tirbp) as stirbp,';
    $sql_total.='sum(abs(tbien)) as stbien,';
//     $total_sql.='sum(abs(tserv)) as stserv,';
//     if(mb_stristr('vtas.comp',$tabla))
//     {$sql_total.='sum(tssid) as stssid,';}

		$sql_total.='max(dcto) as pdcto,';
		$sql_total.='max(prop) as pprop,';
		$sql_total.='max(ice) as pice,';
		$sql_total.='max(iva) as piva,';
		$sql_total.='max(irbp) as pirbp,';
	}
  
	if(@mb_stristr('comp.prov.impo',$tabla))
	{
		$sql_total.='sum(rrta) as srrta,';
		$sql_total.='sum(riva) as sriva,';
    $sql_total.='max(ctas) as mctas,';
    if($empr_impo==1)
    {
      $sql_total.='max(impor) as mimpor,';
      $sql_total.='max(arcl) as marcl,';
		  $sql_total.='sum(peso) as speso,';
		  $sql_total.='sum(adva) as sadva,';
		  $sql_total.='sum(espe) as sespe,';
		  $sql_total.='sum(dump) as sdump,';
		  $sql_total.='sum(fodi) as sfodi,';
		  $sql_total.='sum(icei) as sicei,';
		  $sql_total.='sum(ivai) as sivai,';
		  $sql_total.='sum(isdi) as sisdi,';
		  $sql_total.='max(isdi) as misdi,';
    }
	}
  
	if(@mb_stristr('vtas.clie.inve.prod.tfin',$tabla))
	{
      if($empr_lote==1)
      {$sql_total.='max(lote) as mlote,';}
	}
   
	if(@mb_stristr('inve.prod.tfin',$tabla))
	{
      $sql_total.='max(numserie) as mserie,';
	}
  
	if(@mb_stristr('inve',$tabla))
	{
      if($empr_impo==1)
      {$sql_total.='max(impor) as mimpor,';}
	}
  
	if(@mb_stristr('retc.retp.rete',$tabla))
	{
		$sql_total.='max(cair*1) as mcair,';
		$sql_total.='sum(brta) as sbrta,';
		$sql_total.='max(prta) as sprta,';
		$sql_total.='sum(rrta) as srrta,';
		$sql_total.='sum(biva) as sbiva,';
		$sql_total.='max(piva) as spiva,';
		$sql_total.='sum(riva) as sriva,';
		$sql_total.='sum(cant) as scant,';
		$sql_total.='sum(total) as stotal,';
// 		$sql_total.='case when cair*1=0 then concat("IVA_",round(puni,0)) else cair end as ccair,';
	}

  if(@mb_stristr('vtas',$tabla) and mb_stristr('pcs1.prs1',$cfg_empr))
  {
    $sql_total.='sum(cntn) as scntn,';
    $sql_total.='max(cntn) as mcntn,';
  }

  if(@mb_stristr('vtas',$tabla) and mb_stristr('tgck',$cfg_empr))
  {
    $sql_total.='sum(vhcl) as svhcl,';
    $sql_total.='max(vhcl) as mvhcl,';
  }
  
  if(@mb_stristr('vtas.clie.inve.prod',$tabla) and mb_stristr('gmny.gnya',$cfg_empr))
  {
    $sql_total.='max(item_clor) as mclor,';
    $sql_total.='max(item_tlla) as mtlla,';
//     echo '*/*/*/';
  }
  
  if(@mb_stristr('vtas',$tabla) and mb_stristr('ecgl',$cfg_empr))
  {
    $total_sql.='sum(case when item_descri like "VIDR%" then (lmns) else 0 end) as stlmn,';
    $total_sql.='sum(case when item_descri like "VIDR%" then (lmns*(mm_l*2+mm_a*2)/1000) else 0 end) as stmt1,';
    $total_sql.='sum(case when item_descri like "VIDR%" then (lmns*mm_l*mm_a/1000000) else 0 end) as stmt2,';
  }
  
  if(@mb_stristr('cont',$tabla))
  {
    $sql_total.='sum(tdebito) as stdebito,';
    $sql_total.='sum(tcredito) as stcredito,';
    $sql_total.='sum(diferencia) as sdiferencia,';
    $sql_total.='max(csub) as mcsub, ';
    $sql_total.='max(cair*1) as mcair, ';
    $sql_total.='max(item) as mitem, ';
  }  
  
  if(@mb_stristr('susa',$tabla))
  {
    $sql_total.='max(sueldo) as msueldo, ';
  }  
  
  if(@mb_stristr('nomi.empl',$tabla))
  {
    $sql_total.='sum(case when nvdd_tipo like "1%" then (tingreso) else 0 end) as stingreso,';
    $sql_total.='sum(case when nvdd_tipo like "2%" then (tegreso) else 0 end) as stegreso,';
    $sql_total.='sum(case when nvdd_tipo like "3%" then (tprovis) else 0 end) as stprovis,';
    $sql_total.='sum(case when nvdd_tipo like "1%" or nvdd_tipo like "2%" then (abs(tingreso)-abs(tegreso)) else 0 end) as stnetoreci,';
    $sql_total.='sum(case when nvdd_tipo like "1%" or nvdd_tipo like "2%" then (abs(tingreso)-abs(tegreso)) else 0 end) as stpercibir,';
//     $sql_total.='sum(abs(tingreso)-abs(tegreso)+abs(tprovis)) as stneto,';
    $sql_total.='sum(abs(tingreso)-abs(tegreso)) as stneto,';
  }  
  
  
//    echo '<msgalert>';
//        echo '*/*/*/'.$tabla;
//    echo '*/*/*/*'.$sql_total;
//    echo '</msgalert>';
   
   
// 	$sql_total.='sum(abs(total)) as stotal ';
	$sql_total.='max(fecha) as mfecha, ';
	$sql_total.='sum(total) as stotal ';

  
  return $sql_total;
  
}
  
  
function get_carr($docu='CAR1',$tipo=0)  
{
	include('../_cfg/config.php');
  include('php_session.php');
  
  if($user_codigo==''){return ;}
  
  $tabla=r_fiel('docu',$docu,'tabla');
  if($tabla!='carr'){return;}
  
  $sql_carr='select * from '.$tabla.'1 where docu="'.$docu.'" and iuser="'.$user_codigo.'" order by fecha desc limit 1';
  $res_carr=msql_query($sql_carr,$link_vcrx);
  if(msql_num_rows($res_carr)==0)
  {
    $sql_icarr ='insert into '.$tabla.'1(docu,fecha,iuser,idate,status)';
    $sql_icarr.='value("'.$docu.'",now(),"'.$user_codigo.'",now(),"-")';
    $res_icarr=msql_query($sql_icarr,$link_vcrx);
    $res_carr=msql_query($sql_carr,$link_vcrx);
  }
  $idcarr=msql_result($res_carr,0,'idnum1');  
//   $sql_carr='update carr1 set ptov="001101" where idnum1="'.$idcarr.'" and ptov is null';
//   $res_carr=msql_query($sql_carr,$link_vcrx);
//   $sql_carr='update carr1 set ptoe="001101" where idnum1="'.$idcarr.'" and ptoe is null';
//   $res_carr=msql_query($sql_carr,$link_vcrx);
 
  
 $xcarrito=$idcarr;
 if($tipo==1)
 {
	$sql_idet='select *,sum(cant) as stcant, sum(total) as stotal from '.$tabla.'12 where idnum1="'.$idcarr.'" ';
	$res_idet=msql_query($sql_idet,$link_vcrx);

//    echo '<msgalert>';
//    echo $sql_idet;
//    echo '</msgalert>';
   
  $xcarrito=array();
  $xcarrito[1]=$idcarr;
  $xcarrito[2]=msql_result($res_idet,0,'ptoe');
  $xcarrito[3]=msql_result($res_idet,0,'numero');
  $xcarrito[4]=msql_result($res_idet,0,'stcant');
  $xcarrito[5]=msql_result($res_idet,0,'stotal');
 }
  
  return $xcarrito ;
}
  

function get_clie($docu='PC10',$tipo=0,$enti='')  
{
	include('../_cfg/config.php');
  include('php_session.php');
  
  if($user_codigo==''){return ;}
  if(strlen(trim($enti))<10)
  {
    echo '<result>';
    echo '<msgalert>';
    echo '*** Error en CLIENTE *** '.$enti;
    echo '</msgalert>';
    echo '</result>';
    return;
  }
  
  $tabla=r_fiel('docu',$docu,'tabla');
  if($tabla!='clie'){return;}
  
  $sql_carr ='select * from '.$tabla.'1 ';
  $sql_carr.='where docu="'.$docu.'"  ';
  $sql_carr.='and fecha="'.$fechaa.'"  ';
  $sql_carr.='and enti="'.$enti.'"  ';
  $sql_carr.='and status not in("O","X","R","F")  ';
//   $sql_carr.='and iuser="'.$user_codigo.'" ';
  $sql_carr.='order by fecha desc limit 1';
  $res_carr=msql_query($sql_carr,$link_vcrx);
  
  $ptoe=r_fiel('user',$user_codigo,'user_ptov');
  if(empty($ptoe)){$ptoe='001101';}

     
     
  if(msql_num_rows($res_carr)==0)
  {
    $sql_icarr ='insert into '.$tabla.'1(docu,fecha,enti,iuser,idate,status)';
    $sql_icarr.='value("'.$docu.'",now(),"'.$enti.'","'.$user_codigo.'",now(),"-")';
    $res_icarr=msql_query($sql_icarr,$link_vcrx);
//     function nume_docu($docu,$ptoe="",$enti="")
//     $numero=nume_docu($docu,$ptoe);
    $res_carr=msql_query($sql_carr,$link_vcrx);
  }
  $idcarr=msql_result($res_carr,0,'idnum1');  
  $numero=msql_result($res_carr,0,'numero');  
  if($numero*1==0){$numero=nume_docu($docu,$ptoe);}
  
  $sql_carr='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idcarr.'" and numero is null or numero=""';
  $res_carr=msql_query($sql_carr,$link_vcrx);
  $sql_carr='update '.$tabla.'1 set ptov="'.$ptoe.'" where idnum1="'.$idcarr.'" and ptov is null';
  $res_carr=msql_query($sql_carr,$link_vcrx);
  $sql_carr='update '.$tabla.'1 set ptoe="'.$ptoe.'" where idnum1="'.$idcarr.'" and ptoe is null';
  $res_carr=msql_query($sql_carr,$link_vcrx);
 
  
 $xcarrito=$idcarr;
 if($tipo==1)
 {
	$sql_idet='select *,sum(cant) as stcant, sum(total) as stotal from carr12 where idnum1="'.$idcarr.'" ';
	$res_idet=msql_query($sql_idet,$link_vcrx);

//    echo '<msgalert>';
//    echo $sql_idet;
//    echo '</msgalert>';
   
  $xcarrito=array();
  $xcarrito[1]=$idcarr;
  $xcarrito[2]=msql_result($res_idet,0,'ptoe');
  $xcarrito[3]=msql_result($res_idet,0,'numero');
  $xcarrito[4]=msql_result($res_idet,0,'stcant');
  $xcarrito[5]=msql_result($res_idet,0,'stotal');
 }
  
  return $xcarrito ;
}
  
  
  
  
function limpiahtml($codigo)
{
//  return;    
//     $patronInicio = "/^\s*/";
//     $patronFin = "/\s*$/";
//     $codigo = preg_replace( $patronInicio, "", $codigo );
//     $codigo = preg_replace( $patronFin, "", $codigo );  
  
//   return($codigo);
  $buscar = array('/\>[^\S ]+/s','/[^\S ]+\</s','/(\s)+/s');
  $reemplazar = array('>','<','\\1');
//   $codigo = preg_replace($buscar, $reemplazar, $codigo);
  $codigo = preg_replace($buscar, $reemplazar, $codigo, -1, $sustituciones);
  $codigo = str_replace("> <", "><", $codigo);
  $codigo = str_replace("> ", ">", $codigo);
  $codigo = str_replace(" <", "<", $codigo);
  $codigo = str_replace("{ ", "{", $codigo);
  $codigo = str_replace(" }", "}", $codigo);

  $codigo = str_replace("  ", " ", $codigo);
  $codigo = preg_replace('/;\t/', ';', $codigo);  
  $codigo = preg_replace('/"\t/', '"', $codigo);  
  $codigo = preg_replace('/}\t/', '}', $codigo);  
  $codigo = preg_replace('/>\t/', '>', $codigo);  
//   $codigo = str_replace("\r", "", $codigo);
//   $codigo = str_replace("\n", "", $codigo);
  
  return $codigo;
}
  
  
function hms_horas($phoras)
{
  
}


function menu_tipo()
{
	include('../_cfg/config.php');
  
//   echo 'AQUIII';
  $sql_menu='update menu0 set menu_tipo=""';
  $res_menu=msql_query($sql_menu,$link_vcrx);

  $sql_menu='update menu0 set menu_tipo="M" where length(trim(menu_codigo))=2';
  $res_menu=msql_query($sql_menu,$link_vcrx);

  $sql_menu='update menu0 set menu_tipo="O" where length(trim(menu_codigo))=4';
  $res_menu=msql_query($sql_menu,$link_vcrx);

//   $sql_menu ='update menu0 set menu_tipo="S"';
//   $sql_menu =' where length(trim(menu_codigo))=4 ';
//   $sql_menu.=' and smenu_codigo in(select substring(menu_codigo,1,4) as opciones from menu0 menux where length(trim(menu_codigo))=6)';
//   $res_menu=msql_query($sql_menu,$link_vcrx);
  
  
  $sql_menu='select * from menu0 where length(trim(menu_codigo))=4';
  $res_menu=msql_query($sql_menu,$link_vcrx);

  while ($aso_menu=msql_fetch_assoc($res_menu))
  {
    $sql_menu2='select * from menu0 where menu_codigo like "'.trim($aso_menu['menu_codigo']).'%"';
    $res_menu2=msql_query($sql_menu2,$link_vcrx);
    if(msql_num_rows($res_menu2)>1)
    {
      $sql_menu2='update menu0 set menu_tipo="S" where menu_codigo="'.$aso_menu['menu_codigo'].'"';
      $res_menu2=msql_query($sql_menu2,$link_vcrx);
    }
  }
  
  

  $sql_menu='update menu0 set menu_tipo="O" where length(trim(menu_codigo))=6';
  $res_menu=msql_query($sql_menu,$link_vcrx);


}
  
function days_diff($pfecha1,$pfecha2='')
{
  // dias desde fecha1 hasta fecha2
   if($pfecha2==''){$pfecha2=date('Y-m-d');}
   $xdays=date_diff(date_create($pfecha1),date_create($pfecha2));
   $xdays=$xdays->format('%a');
   return $xdays;
}  
  
function hora_diff($hora1,$hora2='')
{
   if($hora2==''){$hora2=time();}
   $xhoras=date_diff(date_create($hora1),date_create($hora2));
   $xhoras=$xhoras->format('%s'); 
   return $xhoras;
}  
  
  
 function sema_ini($fecha='')
 {
    if(empty($fecha)){$fecha=date('Y-m-d');}
    $diaInicio="Monday";
    $strFecha = strtotime($fecha);
    $fechaInicio = date('Y-m-d',strtotime('last '.$diaInicio,$strFecha));
    if(date("l",$strFecha)==$diaInicio){$fechaInicio= date("Y-m-d",$strFecha);}
   return $fechaInicio;
} 
  
 function sema_fin($fecha)
 {
    $diaFin="Sunday";
    $strFecha = strtotime($fecha);
    $fechaFin = date('Y-m-d',strtotime('next '.$diaFin,$strFecha));
//     $fechaFin = date('Y-m-d',strtotime($strFecha.' next '.$diaFin));
    if(date("l",$strFecha)==$diaFin){$fechaFin= date("Y-m-d",$strFecha);}
   return $fechaFin;
} 
  
function fecha_ini($anio,$sema)
{
  $fecha_ini=date('Y-m-d', strtotime($anio.'-01-01 '.($sema-1).' weeks'));
  $fecha_ini=sema_ini($fecha_ini);
  return $fecha_ini;
} 
  
function fecha_fin($anio,$sema)
{
  $fecha_fin=date('Y-m-d', strtotime($anio.'-01-01 '.($sema-1).' weeks'));
  $fecha_fin=sema_fin($fecha_fin);
  return $fecha_fin;
} 
  
  
  
  
function getMacLinux()
{
  
// $mac = shell_exec("arp -a ".escapeshellarg($_SERVER['REMOTE_ADDR'])." | grep -o -E '(:xdigit:{1,2}:){5}:xdigit:{1,2}'");
// return $mac;  
  
  exec('netstat -ie', $result);
   if(is_array($result))
   {
    $iface = array();
    foreach($result as $key => $line)
    {
      if($key > 0)
      {
        $tmp = str_replace(" ", "", substr($line, 0, 10));
        if($tmp <> "")
        {
          $macpos = strpos($line, "HWaddr");
          if($macpos !== false)
          {$iface[] = array('iface' => $tmp, 'mac' => strtolower(substr($line, $macpos+7, 17)));}
        }
      }
    }
    return $iface[0]['mac'];
  } else {
    return "notfound";
  }
}  
  
  
  
function gen_clave($plong=8)
{
  $password = substr( md5(microtime()),1,$plong);
  return $password;
}
  
  
function uplcolor()
{
  return;
	include('../_cfg/config.php');
  

  $sql_dele='delete from clor0 where clor_codigo>0';
  $res_dele=msql_query($sql_dele,$link_vcrx);


//       $sql_inse='insert into clor0(clor_codigo,clor_descri,clor_tipo,clor_status,clor_hexa)value("00","UNICO","","-","#FFFFFF")';
      $sql_inse='insert into clor0(clor_codigo,clor_descri,clor_tipo,clor_status,clor_hexa)value("00","N/A","","-","#FFFFFF")';
      $res_inse=msql_query($sql_inse,$link_vcrx);
  
//       $sql_inse='insert into clor0(clor_codigo,clor_descri,clor_tipo,clor_status,clor_hexa)value("99","ESTAMPADO","","-","#FFFFFF")';
//       $res_inse=msql_query($sql_inse,$link_vcrx);
  
  
  
$clor_codigo=10;
$page=file_get_contents('../../_lib/colores.html');

$matices=split('<h2>',$page);


// echo '**/*/*'.count($matices);
// var_dump($matices);

for($cmat=2; $cmat<count($matices)-1; $cmat++)
{
//   echo '<br>';
//   echo '<br>*************';
  $matizdes=$matices[$cmat];
  $matizdes=trim($matizdes);
  $matizdes=substr($matizdes,strpos($matizdes,($cmat-1).'</span>')+9,30);
  $matizdes=substr($matizdes,0,strpos($matizdes,'<'));
  $matizdes=trim($matizdes);
//   $matizdes=substr($matizdes,0,strpos($matizdes,' '));
  
//   echo '<br>'.$matizdes;
  
  $color=$matices[$cmat];
  $colores=split('<tr>',$color);

  
  for($ccol=2; $ccol<=count($colores); $ccol++)
  {
    $color=$colores[$ccol];
    $colorcod=substr($color,strpos($color,'#')+1,6);
    
    if($colorcod!='')
    {
      $clor_codigo++;
      
      $sql_inse='insert into clor0(clor_codigo)value('.$clor_codigo.')';
      $res_inse=msql_query($sql_inse,$link_vcrx);

      $tds=$color;
      $td=split('<td',$tds);
      
//       echo '<br>'.$clor_codigo.' / '.$colorcod;
      for($ctds=2; $ctds<=count($td); $ctds++)
      {
        $valor=$td[$ctds];
        $valor=substr($valor,strpos($valor,'>')+1);
        $valor=substr($valor,0,strpos($valor,'<'));
        if(mb_stristr($valor,'('))
        {$valor=substr($valor,0,strpos($valor,'('));}
//         echo ' - '.$valor;
        $valor=trim($valor);
        
        if($ctds==2){$xrgb1=$valor;}
        if($ctds==3){$xrgb2=$valor;}
        if($ctds==4){$xrgb3=$valor;}
        if($ctds==5){$xdescri=$valor;}
        
      }
      
      $sql_updt='update clor0 set clor_tipo="'.$matizdes.'" where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
//       echo '<br>'.$sql_updt.msql_error($link_vcrx);
      
      $sql_updt='update clor0 set clor_descri="'.$xdescri.'" where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
      $sql_updt='update clor0 set clor_hexa="#'.$colorcod.'" where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
//       echo $sql_updt.msql_error($link_vcrx);
      
      $sql_updt='update clor0 set clor_rgb1='.$xrgb1.' where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
      $sql_updt='update clor0 set clor_rgb2='.$xrgb2.' where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
      $sql_updt='update clor0 set clor_rgb3='.$xrgb3.' where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
      $sql_updt='update clor0 set clor_status="-" where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
      $sql_updt='update clor0 set clor_idate=now() where clor_codigo='.$clor_codigo;
      $res_updt=msql_query($sql_updt,$link_vcrx);
      
    }
    
  }
  
  
}

      $sql_updt='update clor0 set clor_descri=upper(clor_descri), clor_tipo=upper(clor_tipo), clor_hexa=upper(clor_hexa)';
      $res_updt=msql_query($sql_updt,$link_vcrx);
  
//       $sql_updt='update clor0 set clor_tipo="BLNE" where clor_tipo="BLAN"';
//       $res_updt=msql_query($sql_updt,$link_vcrx);

      $sql_updt='update clor0 set clor_tipo="BNBN" where clor_tipo="BLAN"';
      $res_updt=msql_query($sql_updt,$link_vcrx);

   
         
//       $codigo='01';
//       $descri='Concho d.Vino';
//       $matiz='ROJO';
//       $hexa='#8B0000';
//       $rgb1=139;
//       $rgb2=0;
//       $rgb3=0;
   
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
   
//       $codigo='02';
//       $descri='Coral';
//       $matiz='ROJO';
//       $hexa='#F88379';
//       $rgb1=248;
//       $rgb2=131;
//       $rgb3=121;
   
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
   
//       $codigo='03';
//       $descri='Terracota';
//       $matiz='NARANJA';
//       $hexa='#D26341';
//       $rgb1=210;
//       $rgb2=99;
//       $rgb3=65;
   
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   


   
   
//       $codigo='90';
//       $descri='Blanco Estamp.';
//       $matiz='BNBN';
//       $hexa='#FFFFFF';
//       $rgb1=255;
//       $rgb2=255;
//       $rgb3=255;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='91';
//       $descri='Amarillo Estamp.';
//       $matiz='AMAR';
//       $hexa='#FFFF00';
//       $rgb1=255;
//       $rgb2=233;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='92';
//       $descri='Verde Estamp.';
//       $matiz='VERDE';
//       $hexa='#00FF00';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='93';
//       $descri='Azul Estamp.';
//       $matiz='AZUL';
//       $hexa='#0000FF';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='94';
//       $descri='Violeta Estamp.';
//       $matiz='VIOL';
//       $hexa='#8C004B';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='95';
//       $descri='Rojo Estamp.';
//       $matiz='ROJO';
//       $hexa='#FF0000';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='96';
//       $descri='Naranja Estamp.';
//       $matiz='NARANJA';
//       $hexa='#FF6600';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='97';
//       $descri='Cafe Estamp.';
//       $matiz='CAFE';
//       $hexa='#A18262';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='98';
//       $descri='Blanco Estamp.';
//       $matiz='';
//       $hexa='#';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
//       $codigo='99';
//       $descri='Negro Estamp.';
//       $matiz='BNBN';
//       $hexa='#000000';
//       $rgb1=0;
//       $rgb2=0;
//       $rgb3=0;
//       {
//          $sql_inse='insert into clor0(clor_codigo)value("'.$codigo.'")';
//          $res_inse=msql_query($sql_inse,$link_vcrx);

//          $sql_updt ='update clor0 set ';
//          $sql_updt.='clor_descri="'.$descri.'",';
//          $sql_updt.='clor_tipo="'.$matiz.'",';
//          $sql_updt.='clor_hexa="'.$hexa.'",';
//          $sql_updt.='clor_rgb1="'.$rgb1.'",';
//          $sql_updt.='clor_rgb2="'.$rgb2.'",';
//          $sql_updt.='clor_rgb3="'.$rgb3.'",';
//          $sql_updt.='clor_status="-" ';
//          $sql_updt.=' where clor_codigo ="'.$codigo.'" ';
//          $res_updt=msql_query($sql_updt,$link_vcrx);
//       }
   
   

      $sql_updt='update clor0 set clor_descri0=clor_descri where clor_descri0="" or clor_descri is null';
      $res_updt=msql_query($sql_updt,$link_vcrx);
   
  
}
  
  
function uplctasuper()
{
	include('../_cfg/config.php');
// 	$sctas=file_get_contents('../../ctas1super.txt');
	$sctas=file_get_contents('../../_lib/ctas1super.txt');
// 	echo $sctas;
	$lista2 = array();
	$data= explode("\r", $sctas);
	foreach ($data as $row)
	{
		echo '<br>';
// 		echo $row;
		$row=trim($row);
		$codigo=intval($row);
		$descri=str_replace($codigo,'',$row);
		$descri=trim(substr($descri,0,-5));
		$otro=trim(substr($row,-5));
		$signo=0;
		if(substr($otro,0,1)=='P'){$signo=1;}
		if(substr($otro,0,1)=='N'){$signo=(-1);}
    if(mb_stristr($descri,'(-)')){$signo=(-1);}

		$sql_ctas='insert into ctas0(ctas_codigo)value("'.$codigo.'")';
		$res_ctas=msql_query($sql_ctas,$link_vcrx);
		
		$sql_ctas='update ctas0 set ctas_descri="'.$descri.'" where ctas_codigo="'.$codigo.'" and (ctas_descri="" or ctas_descri is null)';
		$res_ctas=msql_query($sql_ctas,$link_vcrx);
		
		$sql_ctas='update ctas0 set ctas_super="1" where ctas_codigo="'.$codigo.'"';
		$res_ctas=msql_query($sql_ctas,$link_vcrx);
		
		$sql_ctas='update ctas0 set ctas_signo="'.$signo.'" where ctas_codigo="'.$codigo.'"';
		$res_ctas=msql_query($sql_ctas,$link_vcrx);
		
		$sql_ctas='update ctas0 set ctas_tipo="'.substr($otro,2,1).'" where ctas_codigo="'.$codigo.'"';
		$res_ctas=msql_query($sql_ctas,$link_vcrx);
		
	}	
	$sql_ctas='delete from ctas0 where ctas_codigo="" or ctas_codigo is null';
	$res_ctas=msql_query($sql_ctas,$link_vcrx);
	return;
}
	
	
function set_osver($osver1){$_SESSION['osver']=trim($osver1);}	
function set_orient($orient){$_SESSION['orient']=trim($orient);}	
	

function send_wsapp1($pnumero,$pmensaje,$ptoken='')
{
   
// salto de linea chr(10)   
   
// chat api
// own number
//   $39/month
//   $399/year
//   6000 msgs/day
//   no images until may 2018
//  send any number / not require register  
  
    // Receivers phone
    // Message

//    $pnumero=substr($pnumero,0,strpos($pnumero,'@'));
  $pnumero=str_replace(' ','',$pnumero);
  $pnumero=str_replace('-','',$pnumero);
   
//    echo 'nn'.$pnumero;
   
  if(empty($token)){$token='kcwgm3bej7ry3yqp';}
  
  $data = ['phone' => $pnumero,'body' => $pmensaje,];
  $json = json_encode($data); // Encode data to JSON
   
   $url='https://api.chat-api.com/instance124026/message?token='.$token;
   
   // qr code
//    $url='https://api.chat-api.com/instance124026/qr_code?token='.$token;
         
  // Make a POST request
  $options = stream_context_create(['http' => [
          'method'  => 'POST',
          'header'  => 'Content-type: application/json',
          'content' => $json
          ]
          ]);
  // Send a request
  $result = file_get_contents($url, false, $options);  
  return $result;
}
  

function send_wsapp1file($pnumero,$pmensaje,$ptoken='',$pfile='')
{
// chat api
// own number
//   $39/month
//   $399/year
//   6000 msgs/day
//   no images until may 2018
//  send any number / not require register  
  
    // Receivers phone
    // Message
  $pfile='https://vare.vcrxol.com/_doc/FC10_000000555.html';
   $pfile='https://vcrxol.com/_cel/202009/0209202001099311998900120011010000000803297491711.pdf';
   
  $pnumero=str_replace(' ','',$pnumero);
  $pnumero=str_replace('-','',$pnumero);
   
  if(empty($token)){$token='kcwgm3bej7ry3yqp';}
  
   
   
   
  $data = ['phone' => $pnumero,'body' => $pmensaje,'filename' => $pfile,'caption' => 'Caption de Prueba',];
  $json = json_encode($data); // Encode data to JSON
   
   $url='https://api.chat-api.com/instance124026/sendFile?token='.$token;
   
   // qr code
//    $url='https://api.chat-api.com/instance124026/qr_code?token='.$token;
         
  // Make a POST request
  $options = stream_context_create(['http' => [
          'method'  => 'POST',
          'header'  => 'Content-type: application/json',
          'content' => $json
          ]
          ]);
  // Send a request
  $result = file_get_contents($url, false, $options);  
  return $result;
}
  
function send_wsapp2($pnumero,$pmensaje,$ptoken='')
{
//   whatsmate
//  not own number  
//   100 msg/day
//   $10.79 /month
//   $108 /year
//   yes images
//  require register
  
//    WhatsApp Gateway Number: +852 5243 2313
//    Gateway Instance ID: 16
//    Client ID: vicore@hotmail.com
//    Client Secret: ea89d9ec8fd745cc8cc802186ef6d22b
//    Expiry Date: 2018-06-18  

  $pnumero=str_replace(' ','',$pnumero);
  $pnumero=str_replace('-','',$pnumero);

$INSTANCE_ID = '16';  // TODO: Replace it with your gateway instance ID here
$CLIENT_ID = "vicore@hotmail.com";  // TODO: Replace it with your Forever Green client ID here
$CLIENT_SECRET = "ea89d9ec8fd745cc8cc802186ef6d22b";   // TODO: Replace it with your Forever Green client secret here
$postData = array(
  'number' => $pnumero,  // TODO: Specify the recipient's number here. NOT the gateway number
  'message' => $pmensaje
);
$headers = array(
  'Content-Type: application/json',
  'X-WM-CLIENT-ID: '.$CLIENT_ID,
  'X-WM-CLIENT-SECRET: '.$CLIENT_SECRET
);
$url = 'http://api.whatsmate.net/v3/whatsapp/single/text/message/' . $INSTANCE_ID;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($postData));
$response = curl_exec($ch);
echo "Response: ".$response;
curl_close($ch);
}

function send_wsapp3($pnumero,$pmensaje,$ptoken='')
{
	include('../_cfg/config.php');
  
//   API WHA
//   own number
//   unlimit message
//   5000 msg/hour
//   $5 = 72 hours = 3 days
//   no images
//  no require register    
  
  $apikey='20NTP3KAKXXFKI6N81JH';
//   $apikey='907EKUTY7YWH6RFEFO4V';

  $pnumero=str_replace(' ','',$pnumero);
  $pnumero=str_replace('-','',$pnumero);
  
  $my_apikey = $apikey; 
  $destination = $pnumero; 
  $message = $pmensaje; 
  $api_url = "http://panel.apiwha.com/send_message.php"; 
  $api_url .= "?apikey=". urlencode ($my_apikey); 
  $api_url .= "&number=". urlencode ($destination); 
  $api_url .= "&text=". urlencode ($message); 
  $my_result_object = json_decode(file_get_contents($api_url, false)); 
  echo '<br>'.$api_url;
  echo "<br>Result: ". $my_result_object->success; 
  echo "<br>Description: ". $my_result_object->description; 
  echo "<br>Code: ". $my_result_object->result_code; 
  
  
  
  return $result;

}
  
 
function read_wsapp($pnumero1,$pnumero2='',$pmark="0",$pget="0")
{
  $apiKey='20NTP3KAKXXFKI6N81JH';
//   $apikey='907EKUTY7YWH6RFEFO4V';
  
  $my_apikey = $apikey; 
  $number =$pnumero2; //"" "[DESTINATION]"; 
  $type = ""; //"[TYPE OF MESSAGE: IN or OUT]";
  $markaspulled = $pmark; 
  $getnotpulledonly = $pget; 
  $api_url  = "http://panel.apiwha.com/get_messages.php"; 
  $api_url .= "?apikey=". urlencode ($my_apikey); 
  $api_url .=	"&number=". urlencode ($number); 
  $api_url .= "&type=". urlencode ($type); 
  $api_url .= "&markaspulled=". urlencode ($markaspulled); 
  $api_url .= "&getnotpulledonly=". urlencode ($getnotpulledonly); 
  $my_json_result = file_get_contents($api_url, false); 
  $my_php_arr = json_decode($my_json_result); 
  foreach($my_php_arr as $item) 
  { 
    $from_temp = $item->from; 
    $to_temp = $item->to; 
    $text_temp = $item->text; 
    $type_temp = $item->type; 
    echo "<br>". $from_temp ." -> ". $to_temp ." (". $type_temp ."): ". $text_temp; 
    // Do something 
  }	  
}
  

function msql2xls($psql)
{
  include('../_cfg/config.php');
  
  /***** EDIT BELOW LINES *****/
//   $DB_Server = "localhost"; // MySQL Server
//   $DB_Username = "username"; // MySQL Username
//   $DB_Password = "password"; // MySQL Password
//   $DB_DBName = "databasename"; // MySQL Database Name
//   $DB_TBLName = "tablename"; // MySQL Table Name
  
  $xls_filename = 'export_'.date('Y-m-d').'.xls'; // Define Excel (.xls) file name
   
  /***** DO NOT EDIT BELOW LINES *****/
  // Create MySQL connection
//   $sql = "Select * from $DB_TBLName";
//   $Connect = @msql_connect($DB_Server, $DB_Username, $DB_Password) or die("Failed to connect to MySQL:<br />" . msql_error($link_vcrx) . "<br />" . msql_errno());
  // Select database
//   $Db = @msql_select_db($DB_DBName, $Connect) or die("Failed to select database:<br />" . msql_error($link_vcrx). "<br />" . msql_errno());
  // Execute query
//   $result = @msql_query($sql,$Connect) or die("Failed to execute query:<br />" . msql_error($link_vcrx). "<br />" . msql_errno());
 
  $result=msql_query($psql,$link_vcrx);
  
  // Header info settings
  header("Content-Type: application/xls");
  header("Content-Disposition: attachment; filename=$xls_filename");
  header("Pragma: no-cache");
  header("Expires: 0");
   
  /***** Start of Formatting for Excel *****/
  // Define separator (defines columns in excel &amp; tabs in word)
  $sep = "\t"; // tabbed character
   
  // Start of printing column names as names of MySQL fields
  for ($i = 0; $i<msql_num_fields($result); $i++)
  {echo msql_field_name($result, $i)."\t";}
  print("\n");
  // End of printing column names
   
  // Start while loop to get data
  while($row = msql_fetch_row($result))
  {
    $schema_insert = "";
    for($j=0; $j<msql_num_fields($result); $j++)
    {
      if(!isset($row[$j]))
      {$schema_insert .= "NULL".$sep;}
      elseif ($row[$j] != "")
      {$schema_insert .= "$row[$j]".$sep;}
      else
      {$schema_insert .= "".$sep;}
    }
    $schema_insert = str_replace($sep."$", "", $schema_insert);
    $schema_insert = preg_replace("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
    $schema_insert .= "\t";
    print(trim($schema_insert));
    print "\n";
  }
  
}
  
  
  
  
function send_sms1($pnumero,$pmensaje)
{
// 	$pnumero='59396030568';
	
// 	$api_usage = "https://selectpdf.com/api2/usage/?key=".$selectpdfkey."&get_history=True";
// // 	echo $api_usage;
// 	$pdf_usage=file_get_contents($api_usage);
  
  
	$apikey="sMehrrXtS3G7kdDmZMn_0g==";
	$apiurl ='https://platform.clickatell.com/messages/http/send';
	$apiurl.='?apiKey='.$apikey;
	$apiurl.='&to='.$pnumero;
	$apiurl.='&content='.$pmensaje.rand();

// 	$aa=file_get_contents($apiurl);
// 	echo '/*/*/*/'.$aa;
$ch = curl_init($url);
curl_exec($ch);
curl_close($ch);
	echo $apiurl;

// Get the PHP helper library from https://twilio.com/docs/libraries/php
// require_once '/path/to/vendor/autoload.php'; // Loads the library
// use Twilio\Rest\Client;

/// Instantiate a client using your API key and secret - but then, you'll need to
// manually specify your main account (or subaccount) SID when making a request
$accountSid = 'AC81607730dcdc12d479812c74c0510ef3';
$apiKey = '93b56837ed80158f8f0a6f066a17bedd';
$apiSecret = 'your_api_secret';
$client = new Client($apiKey, $apiSecret, $accountSid);

// Send a message for the main account
$message = $client->messages->create(
    $pnumero, // destination phone number
    array(
        'from' => '+15017122661', // twilio number in your account
        'body' => 'Never gonna give you up.'
    )
);

echo $message->sid;
	
	
	
// 	$curl = curl_init();
// 	curl_setopt($curl, CURLOPT_URL, $apiurl);
// 	curl_setopt($curl, CURLOPT_HEADER, 0);

// 	curl_setopt_array($curl, array(
// 		CURLOPT_URL => "http://api.infobip.com/sms/1/text/single",
// 		CURLOPT_RETURNTRANSFER => true,
// 		CURLOPT_ENCODING => "",
// 		CURLOPT_MAXREDIRS => 10,
// 		CURLOPT_TIMEOUT => 30,
// 		CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
// 		CURLOPT_CUSTOMREQUEST => "POST",
// 		CURLOPT_POSTFIELDS => "{ \"from\":\"InfoSMS\", \"to\":\"41793026727\", \"text\":\"Test SMS.\" }",
// 		CURLOPT_HTTPHEADER => array(
// 			"accept: application/json",
// 			"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
// 			"content-type: application/json"
// 		),
// 	));

	$response = curl_exec($curl);
	$err = curl_error($curl);
	curl_close($curl);

	if ($err) {
		echo "cURL Error #:" . $err;
	} else {
		echo $response;
	}	
	
	
	
	
	
	
	
	
	
	// INFOBIP.COM	
// 	$curl = curl_init();

// 	curl_setopt_array($curl, array(
// 		CURLOPT_URL => "http://api.infobip.com/sms/1/text/single",
// 		CURLOPT_RETURNTRANSFER => true,
// 		CURLOPT_ENCODING => "",
// 		CURLOPT_MAXREDIRS => 10,
// 		CURLOPT_TIMEOUT => 30,
// 		CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
// 		CURLOPT_CUSTOMREQUEST => "POST",
// 		CURLOPT_POSTFIELDS => "{ \"from\":\"InfoSMS\", \"to\":\"41793026727\", \"text\":\"Test SMS.\" }",
// 		CURLOPT_HTTPHEADER => array(
// 			"accept: application/json",
// 			"authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
// 			"content-type: application/json"
// 		),
// 	));

// 	$response = curl_exec($curl);
// 	$err = curl_error($curl);

// 	curl_close($curl);

// 	if ($err) {
// 		echo "cURL Error #:" . $err;
// 	} else {
// 		echo $response;
// 	}	
	
	
	
}

  
function set_impo0()
{
   include('../_cfg/config.php');
	  msql_query('delete from item0 where item_codigo like "9911%"',$link_vcrx);
  
   set_impo("9911010000","DAU - ARANCEL AD-VALOREM");
   set_impo("9911020000","DAU - ARANCEL ESPECIFICO");
   set_impo("9911030000","DAU - ANTIDUMPING");
   set_impo("9911040000","DAU - FODINFA");
   set_impo("9911050000","DAU - ICE AD-VALOREM");
   set_impo("9911060000","DAU - ICE ESPECIFICO");
   set_impo("9911070000","DAU - IVA");
   set_impo("9911080000","DAU - SALVAGUARDIA");
   set_impo("9911090000","DAU - SALVAGUARDIA ESPECIFICA");
   set_impo("9911100000","DAU - TASA VIGILANCIA ADUANERA");
   set_impo("9911110000","DAU - INTERESES");
   set_impo("9911120000","DAU - MULTAS");
   set_impo("9911130000","DAU - OTROS");
}  

  
function set_impo($pcodigo,$pdescri='')
{
   include('../_cfg/config.php');
	msql_query('insert into item0(item_codigo)value("'.$pcodigo.'")',$link_vcrx);
  $sql_updt ='update item0 set ';
  $sql_updt.='item_descri="'.$pdescri.'", ';
  $sql_updt.='item_tipo="IMPO",  ';
  $sql_updt.='item_lused=now(),  ';
  $sql_updt.='item_status="-" ';
  $sql_updt.='where item_codigo="'.$pcodigo.'"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
  if($pdescri=='X')  
  {msql_query('update item0 set item_status="X" where item_codigo="'.$pcodigo.'"',$link_vcrx);}
}  

function set_f1040()
{
   include('../_cfg/config.php');
   set_f104("401","65","Ventas locales (excluye activos fijos) gravadas tarifa diferente de cero.");
   set_f104("411","66","");
   set_f104("421","67","");
   set_f104("405","87","");
   set_f104("415","88","");
   set_f104("500","147","");
   set_f104("510","148","");
   set_f104("520","149","");
   set_f104("508","3979","");
   set_f104("518","194","");
}

function set_f104($pcodigo,$pconcep,$pdescri='')
{
  include('../_cfg/config.php');
	msql_query('insert into f1040(f104_codigo)value("'.$pcodigo.'")',$link_vcrx);
	msql_query('update f1040 set f104_descri="'.$pdescri.'", f104_tipo='.$pconcep.' where f104_codigo="'.$pcodigo.'"',$link_vcrx);
  if($pdescri=='X')  
  {msql_query('update f1040 set f104_status="X" where f104_codigo="'.$pcodigo.'"',$link_vcrx);}
}
  
  
function set_cair0()
  {
//      return;
   include('../_cfg/config.php');
   set_cair("302",0,"EN REL.DEPEN.Q.SUP O NO BASE DESGRAVADA");
   set_cair("303",10,"HONO.PROFESIONALES.");
   set_cair("303A",3,"SERV.PROFESIONALES.SOC.RESIDENTES");
   set_cair("304",10,"PREDOM. INTELECTO");
   set_cair("304B",10,"PAG.NOTARIOS REG.PROP.Y MERCANTIL");
   set_cair("307",2,"PREDOM. MANO OBRA");
   set_cair("308",10,"UTIL.APROVECH IMAGEN.RENOMBRE");
   set_cair("309",1,"PUBLIC.Y COMUNIC.");
   set_cair("310",1,"TRANSP.PRIV.PASAJ. O SERV.PUBL. O PRIV.CARGA");
   set_cair("311",2,"A TRAVES LIQ.COMPRA");
   set_cair("312",1.75,"TRANSF.BIENES.MUEBLES."); 
   set_cair("312A",1,"COMPRA BIENES ORIGEN AGRI, AVI, API, CUNI, PECUARIO, BIOACU Y FORESTAL"); 
   set_cair("314",8,"REGALIAS, DER.AUTOR MARCA PATENTE");
   set_cair("319",1,"ARRE.MERCANTIL");
   set_cair("320",10,"ARRE.BIENES INMUEBLES");
   set_cair("322",1.75,"SEGUROS Y REASEGUROS");
   set_cair("323",2,"REND.FINANCIEROS");
   set_cair("323B1",2,"REND.FINANCIEROS");
   set_cair("324",1,"REND.FINANC.INSTIT.SIST.FINAN.");
   set_cair("325",0,"EN REL.DEPEN.Q SUPERA O NO BASE DESGRAVADA");
   set_cair("326",0,"DIVID.DISTRIB. ART.27 LRTI");
   set_cair("327",0,"DIVID.DISTRIB. PER.NAT.RESID.");
   set_cair("328",0,"DIVID.DISTRIB. SOC.RESID.");
   set_cair("332",0,"BIEN.SERV. NO SUJ.RET.");
   set_cair("334",1,"ENAJ. DERECHOS REPRES. CAPITAL");
   set_cair("335",15,"LOTERIA RIFAS SIMILARES");
   set_cair("336",0.3,"COMBUSTIBLE DISTRIBUIDOR");
   set_cair("336",0.2,"COMBUSTIBLE COMERCIALIZADORA");
   set_cair("337",0.3,"REEMB. DE GASTO - COMPRA DE QUIEN ASUME EL GASTO");
                                                      
   set_cair("340",0,"");
   set_cair("341",0,"");
   set_cair("342",0,"");
   set_cair("343",1,"OTRAS RET. APLICABLES 1%");
   set_cair("344",2,"OTRAS RET. APLICABLES 2%");
   set_cair("3440",2.75,"OTRAS RET. APLICABLES 2.75%");
   set_cair("344A",2,"PAGO LOC.T/C");
   set_cair("345",8,"OTRAS RET. APLICABLES 8%");
   set_cair("346",0,"OTRAS RET. APLICABLES OTROS %");
   set_cair("351",1.75,"REGIMEN MICROEMPRESARIAL");
   set_cair("422",0,"PAGO NO RESID. SIN CONV. OTROS CONCEPTOS");
   set_cair("441",0,"TRANSFERENCIAS NO OBJETO O EXENTA DE IVA");
   set_cair("4580",0,"IMP. SALIDA DIVISAS");
   set_cair("501",0,"PAGO NO RESID.- Benefic/Serv. Empresariales");
   set_cair("501A",0,"PAGO NO RESID. - Serv TECNICOS, Admin o de consultoría y regalías");
   set_cair("541",0,"ADQUISICIONES NO OBJETO DE IVA");
   set_cair("520",0,"LIQ.IMP.VTA.LOCAL BANANO PROPIO");
//    set_cair("421",22,"SERVICIOS TECNICOS ADMINISTRATICOS O DE CONSULTORIAS Y REGALIAS");

     
  }

function set_cair($pcodigo,$pporc=0,$pdescri='')
{
  include('../_cfg/config.php');
	msql_query('insert into cair0(cair_codigo)value("'.$pcodigo.'")',$link_vcrx);
	msql_query('update cair0 set cair_descri="'.$pdescri.'", cair_porc='.$pporc.' where cair_codigo="'.$pcodigo.'"',$link_vcrx);
  if($pdescri=='X')  
  {msql_query('update cair0 set cair_status="X" where cair_codigo="'.$pcodigo.'"',$link_vcrx);}
}
  
  
  
  
function set_ini1()
{
include('../_cfg/config.php');
// $fecha1=date('Y-m-01',strtotime ('today')); 
$fecha1=date('Y-m-01',strtotime ('-1 month')); 
	
	

msql_query('update caja1 set caba=caja where caba="" or caba is null',$link_vcrx);
msql_query('update bcos1 set caba=ctab where caba="" or caba is null',$link_vcrx);
	
msql_query('update vtas2 set prop=0 where prop is null',$link_vcrx);
msql_query('update comp2 set prop=0 where prop is null',$link_vcrx);
msql_query('update clie2 set prop=0 where prop is null',$link_vcrx);
msql_query('update prov2 set prop=0 where prop is null',$link_vcrx);
msql_query('update carr2 set prop=0 where prop is null',$link_vcrx);
	
	
// regulariza items bienes	
$sql_item ='update item0 set item_bser=1 ';
$sql_item.=' where item_codigo in(select item from inve1 left join inve2 on idnum1=idnum2 where status!="O" and status!="X" and left(docu,2)="IB")';
$res_item=msql_query($sql_item,$link_vcrx);
	
	
$sql_pant ='update comp2,cair0 set prrta=cair_porc where cair=cair_codigo ';
$sql_pant.=' and (prrta is null or prrta=0)';
// $sql_pant.=' and fecha>="'.$fecha1.'"';
// $sql_pant.= 'and (cair is null or cair=0 or cair>10)';
$res_pant=msql_query($sql_pant,$link_vcrx);
// echo $sql_pant;	


	
vrsetcolu('empr0','empr_website','varchar(50)');

vrsetcolu('item0','item_prop','decimal(5,2)');
vrsetcolu('comp2','prop','decimal(5,2)');

vrsetcolu('comp2','prrta','decimal(5,2)');
vrsetcolu('comp2','priva','decimal(5,2)');
	
vrsetcolu('prov2','prrta','decimal(5,2)');
vrsetcolu('prov2','priva','decimal(5,2)');
	
vrsetcolu('clie2','prrta','decimal(5,2)');
vrsetcolu('clie2','priva','decimal(5,2)');
	
vrsetcolu('vtas2','prrta','decimal(5,2)');
vrsetcolu('vtas2','priva','decimal(5,2)');
	
vrsetcolu('carr2','prrta','decimal(5,2)');
vrsetcolu('carr2','priva','decimal(5,2)');
	
vrsetcolu('clte2','prrta','decimal(5,2)');
vrsetcolu('clte2','priva','decimal(5,2)');
	
vrsetcolu('comp2','prta','X');
vrsetcolu('comp2','piva','X');
	
vrsetcolu('prov2','prta','X');
vrsetcolu('prov2','piva','X');
	
vrsetcolu('clie2','prta','X');
vrsetcolu('clie2','piva','X');
	
vrsetcolu('vtas2','prta','X');
vrsetcolu('vtas2','piva','X');
	
vrsetcolu('carr2','prta','X');
vrsetcolu('carr2','piva','X');
	
	
	
{
// $cont_sql='alter table empr0 add column empr_color1 varchar(20);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table empr0 add column empr_color2 varchar(20);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table empr0 add column empr_color3 varchar(20);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table acce0 add column acce_regi smallint(1);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table empr0 add column empr_regi smallint(1);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table enti0 add column enti_huellas varchar(10);';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table clac0 add column clac_upldfec datetime';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table enti0 add column enti_actividad varchar(200)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table enti0 add column enti_logo1 varchar(200)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

	
// $cont_sql='alter table enti0 add column enti_logo2 varchar(200)';
// $cont_res=msql_query($cont_sql,$link_vcrx);
// $cont_sql='alter table enti0 add column enti_logoce varchar(200)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table docu0 add column docu_ppsize char(4)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table docu0 add column docu_pporient char(1)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table docu0 add column docu_width char(4)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table docu0 add column docu_height char(4)';
// $cont_res=msql_query($cont_sql,$link_vcrx);

// $cont_sql='alter table docu0 add column docu_doble char(4)';
// $cont_res=msql_query($cont_sql,$link_vcrx);
// $cont_sql='alter table docu0 add column docu_orient char(4)';
// $cont_res=msql_query($cont_sql,$link_vcrx);


// $cont_sql='alter table empr0 add column empr_comp char(1)';
// $cont_res=msql_query($cont_sql,$link_vcrx);
// $cont_sql='alter table empr0 add column empr_caja char(1)';
// $cont_res=msql_query($cont_sql,$link_vcrx);
// $cont_sql='alter table empr0 add column empr_cont char(1)';
// $cont_res=msql_query($cont_sql,$link_vcrx);
// $cont_sql='update empr0 set empr_cont=1 where empr_codigo="PCS1"';
// $cont_res=msql_query($cont_sql,$link_vcrx);
$cont_sql='alter table acce0 add column acce_crea varchar(1)';
$cont_res=msql_query($cont_sql,$link_vcrx);

	
$sql_pant ='update inve1 set bode2=tobode where bode2 is null or bode2=""';
$res_pant=msql_query($sql_pant,$link_vcrx);
// $sql_pant ='update caja1 set caja2=tocaja where caja2 is null or caja2=""';
// $res_pant=msql_query($sql_pant,$link_vcrx);
// $sql_pant ='update caja1 set ctab2=toctab where ctab2 is null or ctab2=""';
// $res_pant=msql_query($sql_pant,$link_vcrx);
// $sql_pant ='update bcos1 set caja2=tocaja where caja2 is null or caja2=""';
// $res_pant=msql_query($sql_pant,$link_vcrx);
// $sql_pant ='update bcos1 set ctab2=toctab where ctab2 is null or ctab2=""';
// $res_pant=msql_query($sql_pant,$link_vcrx);


$sql_pant ='update comp2,cair0 set prrta=cair_porc where cair=cair_codigo ';
$sql_pant.=' and (prrta is null or prrta=0)';
// $sql_pant.=' and fecha>="'.$fecha1.'"';
// $sql_pant.= 'and (cair is null or cair=0 or cair>10)';
$res_pant=msql_query($sql_pant,$link_vcrx);

$sql_pant ='update comp2,cair0 set priva=0';
$res_pant=msql_query($sql_pant,$link_vcrx);
	
	
}

if($empr_tipo=='cont' or $empr_tipo=='pyme')
{
  $cont_sql='select * from empr0 ';
  $cont_res=msql_query($cont_sql,$link_vcrx);
	
	$empr_caja=msql_result($cont_res,0,'empr_caja');
	$empr_inve=msql_result($cont_res,0,'empr_inve');
	$empr_cont=msql_result($cont_res,0,'empr_cont');
	$empr_nomi=msql_result($cont_res,0,'empr_nomi');

	$cont_sql='insert into docu0(docu_codigo,docu_descri,docu_tabla,docu_tipo)value("PF10","PROFORMA","clie","CLIE")';
  $cont_res=msql_query($cont_sql,$link_vcrx);
}

// vrsetcolu('inve1','bode2','varchar(4)');
// vrsetcolu('caja1','caja2','varchar(4)');
// vrsetcolu('caja1','ctab2','varchar(4)');
// vrsetcolu('bcos1','caja2','varchar(4)');
// vrsetcolu('bcos1','ctab2','varchar(4)');
	
	
$cont_sql='update empr0 set empr_idate=now()';
$cont_res=msql_query($cont_sql,$link_vcrx);
	
	
	
}


function set_ini2()
{
include('../_cfg/config.php');
// $fecha1=date('Y-m-01',strtotime ('today')); 
$fecha1=date('Y-m-01',strtotime ('-1 month')); 

// ACTUALIZA CAIR
if(date('d',strtotime('today'))<=5)  
{set_cair0();}
  
  
  
if($cfg_empr=='jwib')	
{	
  $sql_item ='update user0 set user_tipo="user"';
  $sql_item.=' where user_tipo="invi" ';
  $sql_item.=' and (user_mmae=1 or user_dpub=1 or user_vida=1 or user_estu=1 or user_asem=1 or user_vari=1)';
  $res_item=msql_query($sql_item,$link_vcrx);
}
	
if($cfg_empr=='gnya')	
{	
  $sql_item ='';
  $sql_item.='update user0 set user_tipo="clie"';
  $sql_item.=' where user_tipo="invi" ';
  // $sql_item.=' and (user_mmae=1 or user_dpub=1 or user_vida=1 or user_estu=1 or user_asem=1 or user_vari=1)';
  $res_item=msql_query($sql_item,$link_vcrx);
}


// CABA0	
{
	
	msql_query('insert into caba0(caba_codigo) select caja_codigo from caja0 where caja_codigo not like "-%"',$link_vcrx);
	msql_query('insert into caba0(caba_codigo) select ctab_codigo from ctab0 where ctab_codigo not like "-%"',$link_vcrx);

	$sql_upd='update caba0 join tabl0 on caba_codigo=tabl_codigo set caba_campo=tabl_campo ';
	$sql_caja=str_replace('tabl','caja',$sql_upd);
	$sql_ctab=str_replace('tabl','ctab',$sql_upd);
	
	msql_query(str_replace('campo','descri',$sql_caja),$link_vcrx);
	msql_query(str_replace('campo','descri',$sql_ctab),$link_vcrx);

	msql_query(str_replace('campo','status',$sql_caja),$link_vcrx);
	msql_query(str_replace('campo','status',$sql_ctab),$link_vcrx);

	msql_query(str_replace('campo','ctacont',$sql_caja),$link_vcrx);
	msql_query(str_replace('campo','ctacont',$sql_ctab),$link_vcrx);


}	
	
		
// msql_query('update enti0 left join user0 on left(enti_codigo,10)=left(user_cedula,10) set enti_telefono=user_telefono where enti_telefono is null or enti_telefono=""',$link_vcrx);
// msql_query('update enti0 left join user0 on left(enti_codigo,10)=left(user_cedula,10) set enti_telefono=user_celular where enti_telefono is null or enti_telefono=""',$link_vcrx);
// msql_query('update enti0 left join user0 on left(enti_codigo,10)=left(user_cedula,10) set enti_email=user_email where enti_email is null or enti_email not like "%@%"',$link_vcrx);
// msql_query('update enti0 left join user0 on left(enti_codigo,10)=left(user_cedula,10) set enti_emailce=user_email where enti_emailce is null or enti_emailce not like "%@%"',$link_vcrx);

// msql_query('update enti0,cdad0 set enti_ciudad=cdad_descri where enti_cdad=cdad_codigo and (enti_ciudad="" or enti_ciudad is null)',$link_vcrx);

// msql_query('update ptov0 set ptov_ptoe="001001" where ptov_ptoe ="" or ptov_ptoe is null',$link_vcrx);
msql_query('update ptov0 set ptov_caja="C001" where ptov_caja ="" or ptov_caja is null',$link_vcrx);
msql_query('update ptov0 set ptov_bode="B001" where ptov_bode ="" or ptov_bode is null',$link_vcrx);
// msql_query('update ptov0 set ptov_bode="B001" where ptov_bode ="" or ptov_bode is null',$link_vcrx);

$sql_color='update empr0 set empr_color1="#09C" where empr_color1="" or empr_color1 is null';
$res_color=msql_query($sql_color,$link_vcrx);

$sql_color='update empr0 set empr_color2="#D8D8D8" where empr_color2="" or empr_color2 is null';
$res_color=msql_query($sql_color,$link_vcrx);

$sql_color='update empr0 set empr_color3="white" where empr_color3="" or empr_color3 is null';
$res_color=msql_query($sql_color,$link_vcrx);
	
}	

  
  
  
function fillzero($pnum,$plong=9,$pfill="0")
{
  $signo='';
  if($pnum<0){$signo='-';}
  $numfz=str_pad($pnum, $plong, $pfill, STR_PAD_LEFT);
  $numfz=$signo.str_replace('-','0',$numfz);
  return $numfz;
}

	
function loginOK()
{if($_SESSION['user_codigo']==''){return '0';}else{return '1';}}

	

	
	
function gath_idnum($docu,$idnum)
{
	include('../_cfg/config.php');
	$tabla=r_fiel('docu',$docu,'tabla');
	
	$sql_docu ='select * from '.$tabla.'1  ';
	$sql_docu.=' where idnum1="'.$idnum.'" ';
	$res_docu=msql_query($sql_docu,$link_vcrx);
	ob_start();
	echo '<resultado>';
// echo $sql_docu;
	if(msql_num_rows($res_docu)!=0)
	{
		$sql_stru1='describe '.$tabla.'1';
		$res_stru1=msql_query($sql_stru1,$link_vcrx);
		while ($aso_stru1=msql_fetch_assoc($res_stru1))
		{echo '<'.$aso_stru1['Field'].'>'.msql_result($res_docu,0,$aso_stru1['Field']).'</'.$aso_stru1['Field'].'>';}
	}
	echo '</resultado>';
	$result=ob_get_clean();
	return $result;
}
	
function val_usercodigo()
{if($_SESSION['user_codigo']=='')
	{
	$expiro='*** Su sesión ha EXPIRADO ***';
	$expiro='<msgalert>'.$expiro.'</msgalert>';
	$expiro='<br>'.$expiro;
	$expiro='<b>'.$expiro.'</b	>';
	$expiro='<font color="red">'.$expiro.'</color>';
	$expiro='<a href="?">'.$expiro.'</a>';
	$expiro='<pant1>'.$expiro.'</pant1>';
	$expiro='<pant11>'.$expiro.'</pant11>';
	die($expiro);
	}
}
	

function msql_query2($cadena)
{
	msql_query($cadena);
	return $cadena;
}

function strtoupper2($cadena='')
{
//   echo $cadena;
	$cadena=strtoupper($cadena);
	$cadena=str_replace('á','A',$cadena);
	$cadena=str_replace('é','E',$cadena);
	$cadena=str_replace('í','I',$cadena);
	$cadena=str_replace('ó','O',$cadena);
	$cadena=str_replace('ú','U',$cadena);
	$cadena=str_replace('ñ','Ñ',$cadena);

	$cadena=str_replace('Á','A',$cadena);
	$cadena=str_replace('É','E',$cadena);
	$cadena=str_replace('Í','I',$cadena);
	$cadena=str_replace('Ó','O',$cadena);
	$cadena=str_replace('Ú','U',$cadena);
	$cadena=str_replace('Ñ','Ñ',$cadena);

	return $cadena;
}

function strtolower2($cadena)
{
	$cadena=strtolower($cadena);
	$cadena=str_replace('Á','á',$cadena);
	$cadena=str_replace('É','é',$cadena);
	$cadena=str_replace('Í','í',$cadena);
	$cadena=str_replace('Ó','ó',$cadena);
	$cadena=str_replace('Ú','ú',$cadena);
	$cadena=str_replace('Ñ','ñ',$cadena);

	return $cadena;
}



function ucfirst2($cadena)
{
	$cadena=strtolower($cadena);
	$cadena=ucfirst($cadena);
	$cadena=str_replace('Á','á',$cadena);
	$cadena=str_replace('É','é',$cadena);
	$cadena=str_replace('Í','í',$cadena);
	$cadena=str_replace('Ó','ó',$cadena);
	$cadena=str_replace('Ú','ú',$cadena);
	$cadena=str_replace('Ñ','ñ',$cadena);
	return $cadena;
}

function ucwords2($cadena)
{
	$cadena=strtolower($cadena);
	$cadena=ucwords($cadena);
	$cadena=str_replace('Á','á',$cadena);
	$cadena=str_replace('É','é',$cadena);
	$cadena=str_replace('Í','í',$cadena);
	$cadena=str_replace('Ó','ó',$cadena);
	$cadena=str_replace('Ú','ú',$cadena);
	$cadena=str_replace('Ñ','ñ',$cadena);
	return $cadena;
}

function escape($cadena)
{
  $cadena=str_replace('"','\"');
}
  
function alltrim($cadena,$trimfull=2)
{
//   return ;
	$cadena=trim($cadena);
	$cadena=str_replace(' ;',';',$cadena);
	$cadena=str_replace(';;',';',$cadena);
	$cadena=str_replace(';','; ',$cadena);
	$cadena=str_replace(';  ','; ',$cadena);
	
// 	$cadena=str_replace(' ,',',',$cadena);
// 	$cadena=str_replace(',,',',',$cadena);
// 	$cadena=str_replace(',',', ',$cadena);
// 	$cadena=str_replace(',  ',', ',$cadena);
	
	$cadena=str_replace('="'."\n",'="',$cadena);
	$cadena=str_replace('}'."\n",'}',$cadena);
	$cadena=str_replace('{'."\n",'{',$cadena);
	$cadena=str_replace(')'."\n",')',$cadena);
	$cadena=str_replace('('."\n",'(',$cadena);
	$cadena=str_replace("\t","",$cadena);
	$cadena=str_replace("\n".";",";",$cadena);
// 	while(mb_stristr($cadena,"  ")){$cadena=str_replace("  "," ",$cadena);}
// 	while(mb_stristr($cadena," ;")){$cadena=str_replace(" ;",";",$cadena);}
// 	while(mb_stristr($cadena,";;")){$cadena=str_replace(";;",";",$cadena);}
// 	while(mb_stristr($cadena,"\t"."\t")){$cadena=str_replace("\t"."\t","\t",$cadena);}
// 	while(mb_stristr($cadena,"\n"."\n")){$cadena=str_replace("\n"."\n","\n",$cadena);}
	$cadena=str_replace(";"."\n",";",$cadena);
	$cadena=str_replace(";"."\t",";",$cadena);

  if($trimfull==2)
  {while(mb_stristr($cadena,'  ')){$cadena=str_replace('  ',' ',$cadena);}}

  if(mb_stristr($cadena,'</'))
  {
    $cadena=str_replace("\n"."\n"."\n"."\n","\n",$cadena);
    $cadena=str_replace("\n"."\n"."\n","\n",$cadena);
    $cadena=str_replace("\n"."\n","\n",$cadena);
    $cadena=str_replace("\n"."\n","\n",$cadena);

    $cadena=str_replace("\r"."\r"."\r"."\r","\r",$cadena);
    $cadena=str_replace("\r"."\r"."\r","\r",$cadena);
    $cadena=str_replace("\r"."\r","\r",$cadena);
    $cadena=str_replace("\r"."\r","\r",$cadena);
  }
	return $cadena;
}

  
function nospace($cadena,$xspac='')  
{
  $cadena=alltrim($cadena,2);
  $cadena=str_replace(' ',$xspac,$cadena);
  return $cadena;
}
	
function gen_bcod($cadena,$color='negro')
{
  if($cadena==''){return;}
// 	include('../_cfg/config.php');
// 	$cadena=substr($cadena,0,13);
	include('php_session.php');

// 	$ttfont = '../_font/BarcodeFont.ttf';
// 	if(strlen($cadena)==13){$ttfont = '../_font/EAN13_36.ttf';}// ean 13

	$ttfont = '../../_font/BarcodeFont.ttf';
	if(strlen($cadena)==13){$ttfont = '../../_font/EAN13_36.ttf';}// ean 13

	$longi=strlen(trim($cadena));
	$psize=72;
	
	if(mb_stristr($cadena,'_')){$longi++;$longi++;}
	
	$alto=$psize*1.8;
	$alto=floor($alto/10)*10;
	
	$ancho=($longi*$psize/4);
// 	$ancho=floor($ancho/100)*100;
	$ancho=ceil($ancho/100)*100;
	
	$xaxis=10;
	$yaxis=$alto-10;

	$xfname=$rutabcod.$cadena.'.jpg';
	$gfile=$xpname.$xfname;

// 	echo'*/*/'.$cadena;
// 	echo'*/*/'.$longi;
// 	echo '*/*/'.$ancho;
// 	echo '*/*/'.$alto;
	$lienzo = imagecreatetruecolor($ancho, $alto);
	$negro = imagecolorallocate($lienzo, 0, 0, 0);
	$blanco = imagecolorallocate($lienzo, 255, 255, 255);

	imageFill($lienzo,0,0,$blanco);
	imagefttext($lienzo, $psize, 0, $xaxis, $yaxis, $negro, $ttfont,$cadena);
	imagejpeg($lienzo,$gfile);
	imagedestroy($lienzo); 
	
	return;
}
	
function captcha()
{
//  	session_start();
return;	
	include('../_cfg/config.php');

	$ancho=160;
	$alto=50;
	$ttfont = '../../_css/cour.ttf';
	
	$lienzo = imagecreatetruecolor($ancho, $alto);
	
	$negro = imagecolorallocate($lienzo, 0, 0, 0);
	$blanco = imagecolorallocate($lienzo, 255, 255, 255);

	$rojo = imagecolorallocate($lienzo, 255, 0, 0);
	$azul = imagecolorallocate($lienzo, 0, 0, 255);
	$azul = imagecolorallocate($lienzo, 102, 102, 255);
	
	$rosa = imagecolorallocate($lienzo, 255, 105, 180);
	$verde = imagecolorallocate($lienzo, 180, 255, 180);
	$celeste = imagecolorallocate($lienzo, 77, 195, 246);
	$amarillo = imagecolorallocate($lienzo, 255, 255, 102);
	$gris = imagecolorallocate($lienzo, 100, 100, 100);

	$fondo=imagecolorallocate($lienzo,255,255,255);
	
	ImageFill($lienzo,0,0,$fondo);

	$captcha='';
	$ang=0;
	for ($cc = 0; $cc <= 5; $cc++)
	{
		
		$lcar=rand(1,2);
		if($lcar==1){$car=rand(0,9);}
		if($lcar==2){$car=chr(rand(65,90));}
// 		if($lcar==3){$car=chr(rand(97,122));}

		$px = 15+$cc*25;
		$ang=rand(0,360);
		$ang=rand(-90,90);
// 		$ang=90;
		imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,$car);
		imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,$car);
		
		if($car=='0')
		{
			imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,'/');
			imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,'/');
		}
		if(mb_stristr('69MWmwPdNZ',$car))
		{
			imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,'_');
			imagefttext($lienzo, 15, $ang, $px, 25, $negro, $ttfont,'_');
		}
		$captcha.=$car;
	}
	
	
	if(!file_exists('kapt')){mkdir('kapt');}
	
	$xpname='../../_kap/';
	$xpname='';
	$xfname='kapt/kcha'.date('s').'.jpg';
	$gfile=$xpname.$xfname;
	
// $im = imagecreatetruecolor(300, 100);
// $rojo = imagecolorallocate($im, 0xFF, 0x00, 0x00);
// $negro = imagecolorallocate($im, 0x00, 0x00, 0x00);
// imagefilledrectangle($im, 0, 0, 299, 99, $rosa);
// imagejpeg($lienzo,"demo".$vu.".png");
	imagejpeg($lienzo,$gfile);
	imagedestroy($lienzo); 

	$_SESSION['captcha']=$captcha;

// 	echo 'lib/'.$xfname;
	return 'lib/'.$xfname;	
}

function vrsetcolu($tabla,$colu,$tipo,$after="",$defa="")
{
// 		include('cfg/config.php');
	include('../_cfg/config.php');
	include('php_session.php');
	
  if(substr($tabla,4,1)!=2)
  {
    $after='';
    $defa='';
  }
  
	$colu1=$colu;
  if (substr($tabla,-1,1)=='0')
		{if (substr($colu,4,1)!='_'){$colu=substr($tabla,0,4).'_'.$colu; }}
																 //substr($colu,4,20);

	if($tipo==='X')
  {
    $colu_sql='alter table '.$tabla.' drop column '.$colu;
    msql_query($colu_sql,$link_vcrx);
		$colu=$after;
  }
  else
  {
    $colu_sql='alter table '.$tabla.' add column '.$colu.' '.$tipo;
    msql_query($colu_sql,$link_vcrx);
//     if (msql_query($colu_sql,$link_vcrx)==1){echo "\n";echo ' --> ADD OK '.$tabla.'-'.$colu;}
    if (msql_query($colu_sql,$link_vcrx)==1)
		{}

		
    $colu_sql='alter table '.$tabla.' change column '.$colu.' '.$colu.' '.$tipo;
		if($after!="")
		{
// 			$sql_sche ='select ordinal_position,column_type from information_schema.columns ';
// 			$sql_sche.='where table_schema="'.$cfg_dnam.'_'.$cfg_empr.'"';
// 			$sql_sche.=' and table_name="'.$tabla.'"';
// 			$sql_sche.=' and column_name="'.$colu.'"';
// 	    $res_sche=msql_query($sql_sche,$link_vcrx);
// 			$posi_colu=msql_result($res_sche,0,'ordinal_position');
// 			$type_colu=msql_result($res_sche,0,'column_type');

// 			$sql_sche ='select ordinal_position,column_type from information_schema.columns ';
// 			$sql_sche.='where table_schema="'.$cfg_dnam.'_'.$cfg_empr.'"';
// 			$sql_sche.=' and table_name="'.$tabla.'"';
// 			$sql_sche.=' and column_name="'.$after.'"';
// 	    $res_sche=msql_query($sql_sche,$link_vcrx);
// 			$posi_after=msql_result($res_sche,0,'ordinal_position');

      
			$sql_sche ='select ordinal_position,column_type from information_schema.columns ';
			$sql_sche.='where table_schema="'.$cfg_dnam.'_'.$cfg_empr.'"';
			$sql_sche.=' and table_name="'.$tabla.'"';
			$sql_sche.=' and (column_name="'.$colu.'"';
			$sql_sche.=' or column_name="'.$after.'")';
			$sql_sche.=' order by ordinal_position desc';
    
      $res_sche=msql_query($sql_sche,$link_vcrx);
			$posi_colu=msql_result($res_sche,0,'ordinal_position');
			$type_colu=msql_result($res_sche,0,'column_type');
			$posi_after=msql_result($res_sche,1,'ordinal_position');
      
      
      
			unset($res_sche);

			if(($posi_after+1)!=$posi_colu)
			{
				echo '<br>'.$tabla.'-->'.$colu.' ('.$after.')';
				$colu_sql.=' after '.$after;
			}

		};
		
    msql_query($colu_sql,$link_vcrx);
// 			echo 'S:'.date('H:i:s',strtotime('now'));
		
    if (msql_query($colu_sql,$link_vcrx)==1)
		{
// 			echo "<br>".$tabla.'.'.$colu.'-->'; echo '  OK  ';
		}
		else
		{
			echo "<br>".$tabla.'.'.$colu.'-->'; echo ' *** ERROR *** '.msql_error($link_vcrx).'   --> '.$colu1;
		}

	}

//   echo '*/*/*/'.$defa;
//  DEFAULT	
  if ($defa!="" )
  {
    $colu_sql='alter table '.$tabla.' alter column '.$colu.' drop default ';
    msql_query($colu_sql,$link_vcrx);

    $colu_sql='alter table '.$tabla.' alter column '.$colu.' set  default "'.$defa.'"';
    msql_query($colu_sql,$link_vcrx);
//       if (msql_query($colu_sql,$link_vcrx)!=1){echo "\n";echo ' *** ERROR *** '.$colu_sql;}

    $colu_sql='update '.$tabla.' set '.$colu.'="'.$defa.'" where '.$colu.' is null or '.$colu.' =""';
    msql_query($colu_sql,$link_vcrx);
		
//     $colu_sql='update '.$tabla.' set '.$colu.'="'.$defa.'" where '.$colu.' =""';
//     msql_query($colu_sql,$link_vcrx);

//     $colu_sql='insert into '.$colu.'0('.$colu.'_codigo,'.$colu.'_descri)value("'.$defa.'","_DEFAULT")';
//     msql_query($colu_sql,$link_vcrx);
//       if (msql_query($colu_sql,$link_vcrx)==1){echo "\n";echo ' --> DEFA OK '.$tabla.'-'.$colu.'->'.$defa;}
// 		echo "\n";echo $colu_sql;
  }

  return $colu;
}

function exist_table($ptabla)
{
// 	@include('../_cfg/config.php');
	include('../_cfg/config.php');
// 	include('php_session.php');
	$sql_tabla='select * from '.$ptabla.' limit 1';
	$res_tabla=msql_query($sql_tabla,$link_vcrx);
     
//      echo '<br>*/*/*/*'.$res_tabla;
//      echo '<br>*/*/*/*'.$sql_tabla;
//      echo '<br>*/*/*/*'.msql_errno($res_tabla);
//      echo '<br>*/*/*/*'.msql_num_rows($link_vcrx);
	if(msql_errno($link_vcrx)==0){$exist=true;}
	else{$exist=false;}
// 	unset($res_tabla);
     
	return $exist;
}


function get_idnum($docu,$ptoe,$numero,$enti)
{
	include('../_cfg/config.php');
	$iddoc='000000000';
  if($docu=='' or $ptoe=='' or $numero==''){return $iddoc;}

  $tabla=r_fiel('docu',$docu,'tabla');
	$numero=str_pad(($numero*1),9,'0',STR_PAD_LEFT);

    $sql_docu ='select * from '.$tabla.'1  ';
    $sql_docu.=' where status!="X" ';
    $sql_docu.=' and docu="'.$docu.'"';
    $sql_docu.=' and numero="'.$numero.'"';
    $sql_docu.=' and ptoe="'.$ptoe.'"';
	
    $xptoe=$ptoe*1;
		if($xptoe<1000)
		{
			if(mb_stristr('vtas.clie',$tabla)){$sql_docu=str_replace('ptoe=','ptov=',$sql_docu);}
			if(mb_stristr('inve.prod.tfin',$tabla)){$sql_docu=str_replace('ptoe=','bode=',$sql_docu);}
			if(mb_stristr('caja',$tabla)){$sql_docu=str_replace('ptoe=','caja=',$sql_docu);}
			if(mb_stristr('bcos',$tabla)){$sql_docu=str_replace('ptoe=','ctab=',$sql_docu);}
			if(mb_stristr('cbco',$tabla)){$sql_docu=str_replace('ptoe=','cbco=',$sql_docu);}
		}

    if(mb_stristr('FP.NP.RC.IC',substr($docu,0,2)))
    {if(substr($enti,0,10)!='9999999999'){$sql_docu.=' and enti like "'.substr($enti,0,10).'%"';}}
  
  	$res_docu=msql_query($sql_docu,$link_vcrx);
  	if(@msql_num_rows($res_docu)!=0)
    {$iddoc=@msql_result($res_docu,0,'idnum1');}
	  
//   echo '<result><msgalert>'.$sql_docu.'</msgalert></result>';
//   echo '<result><msgalert>'.msql_error($link_vcrx).'</msgalert></result>';
  
	  return $iddoc;
}
	
  
  
function get_iddet($docu,$idnum)
{
	include('../_cfg/config.php');
	$tabla=r_fiel('docu',$docu,'tabla');
	$iddet=0;
	$sql_iddet='select max(iddet) as iddet from '.$tabla.'2 where idnum2 ="'.$idnum.'"';
	$res_iddet=msql_query($sql_iddet,$link_vcrx);
//   echo '***'.$docu.'+++++'.$idnum;
//   echo '***'.$sql_iddet;
//   echo '***'.$sql_iddet.'+++++'.msql_error($link_vcrx);
	if(msql_num_rows($res_iddet)!=0)
  {$iddet=msql_result($res_iddet,0,'iddet');}
	$iddet++;
  if($iddet==0){$iddet=1;}
	return $iddet;
}
	
	
function r_iddet($tabla,$idnum)
{
	include('../_cfg/config.php');
	$iddet=0;
	$tabla=substr($tabla,0,4);
	$sql_tabla='select max(iddet) as iddet from '.$tabla.'2 where idnum2="'.$idnum.'"';
	$res_tabla=msql_query($sql_tabla,$link_vcrx);
	if(msql_num_rows($res_tabla)!=0){$iddet=msql_result($res_tabla,0,'iddet');}
	$iddet++;
	return $iddet;
}

function r_teki($item,$dato,$valor="")
{
	@include('../_cfg/config.php');
  $xvalor=0;
  $sql_teki='select * from teki0 where teki_item like "'.$item.'%" and teki_dato="'.$dato.'" ';
  $res_teki=msql_query($sql_teki,$link_vcrx);
  $xvalor=msql_result($res_teki,0,'teki_valor');
  
//   $xvalor= $item.$dato;
  return $xvalor;
}   
  
  
function r_fiel($tabla,$codigo,$campo="descri",$valor="")
{
  if($codigo==''){return '';}
     include('../_cfg/config.php');
   $blog='../../blog/blog_'.date('Ymd_H').'.txt';

// $datacnx ='';
// $datacnx.='<log>';  
// $datacnx.='<time>';  
// $datacnx.=date('Y-m-d H:i:s');
// $datacnx.='</time>';  
// $datacnx.='<empr>';  
// $datacnx.=$cfg_empr;
// $datacnx.='</empr>';  
// $datacnx.='<test>';  
// $datacnx.=$link_test;
// $datacnx.='</test>';  
// $datacnx.='<link1>';  
// $datacnx.=$_SESSION['link_vcrx'].'*';
// $datacnx.='</link1>';  
// $datacnx.='<link2>';  
// $datacnx.=$link_vcrx;
// $datacnx.='</link2>';  
// $datacnx.='<IP>';  
// $datacnx.=$_SERVER['REMOTE_ADDR'];
// $datacnx.='</IP>';  
// $datacnx.='<user>';  
// $datacnx.=$_SESSION['user_codigo'].'- '.$_SESSION['user_descri'];
// $datacnx.='</user>';  
// $datacnx.='<error>';  
// $datacnx.=msql_error($link_vcrx);
// $datacnx.='</error>';  
  
// $datacnx.='</log>';  
// $datacnx.=chr(13);
// @file_put_contents($blog, $datacnx, FILE_APPEND);
  

   	   $msc = (microtime(true));


	if(substr($tabla,-1,1)!='0' and substr($tabla,-1,1)!='1' and substr($tabla,-1,1)!='2')
	{
		if(exist_table($tabla.'0')){$tabla.='0';}
		if(exist_table($tabla.'1')){$tabla.='1';}
		if(exist_table($tabla.'2')){$tabla.='2';}
	}
	
	$field='';
	$res_tabla='';
     
	if(substr($tabla,-1,1)=='0')
	{
		$prefix=substr($tabla,0,strlen($tabla)-1).'_';
		$_campo=$campo;
		if(substr($campo,0,strlen($tabla))!=$prefix){$_campo=$prefix.$campo;}
		
		if($valor=="")
		{	
			$sql_tabla='select * from '.$tabla.' where '.$prefix.'codigo="'.$codigo.'" and '.$_campo.'!="" and '.$_campo.' is not null';
       if($tabla=='enti0')
       {$sql_tabla='select * from '.$tabla.' where '.$prefix.'codigo like "'.trim($codigo).'%" and '.$_campo.'!="" and '.$_campo.' is not null order by '.$prefix.'codigo';}
         
			$res_tabla=msql_query($sql_tabla,$link_vcrx);
//                echo $sql_tabla;
			if(@msql_num_rows($res_tabla)==0)
			{
				$sql_tabla=str_replace($tabla,$tabla.'0',$sql_tabla);
				$res_tabla=msql_query($sql_tabla,$link_vcrx);
			}
			if(!msql_error($link_vcrx))
			{
                    if(msql_num_rows($res_tabla)!=0){$field=msql_result($res_tabla,0,$_campo);}
                    if($campo=='descri' and msql_result($res_tabla,0,$tabla.'_status')=='I')
                    {$field.=' (INACTIVO)';}
               }
			
		}
		else
		{
			$sql_tabla='update '.$tabla.' set '.$_campo.'="'.$valor.'" where '.$prefix.'codigo="'.$codigo.'"';
			$res_tabla=msql_query($sql_tabla,$link_vcrx);
      
//       echo '<msgalert>';
//       echo '*/*/*'.$sql_tabla;
//       echo '</msgalert>';
      
		}
	}
	
	if(substr($tabla,-1,1)=='1')
	{
		if($valor=="")
		{	
			$sql_tabla='select * from '.$tabla.' where idnum1="'.$codigo.'" and '.$campo.'!="" and '.$campo.' is not null';
			$res_tabla=msql_query($sql_tabla,$link_vcrx);
			if(@msql_num_rows($res_tabla)==0)
			{
				$sql_tabla=str_replace($tabla,$tabla.'1',$sql_tabla);
				$res_tabla=msql_query($sql_tabla,$link_vcrx);
			}
			if(msql_num_rows($res_tabla)!=0){$field=msql_result($res_tabla,0,$campo);}
		}
		else
		{
			$sql_tabla='update '.$tabla.' set '.$campo.'="'.$valor.'" where idnum1="'.$codigo.'"';
			$res_tabla=msql_query($sql_tabla,$link_vcrx);
		}
		
	}

	if(substr($tabla,-1,1)=='2')
	{
		if($valor=="")
		{	
			$sql_tabla='select * from '.$tabla.' where concat(idnum2,"-",iddet)="'.$codigo.'" and '.$campo.'!="" and '.$campo.' is not null';
			$res_tabla=@msql_query($sql_tabla,$link_vcrx);
//       echo '*/*/*/'.$sql_tabla;
			if(@msql_num_rows($res_tabla)==0)
			{
				$sql_tabla=str_replace($tabla,$tabla.'1',$sql_tabla);
				$res_tabla=@msql_query($sql_tabla,$link_vcrx);
			}
			if(@msql_num_rows($res_tabla)!=0)
               {$field=msql_result($res_tabla,0,$campo);}
		}
		else
		{
			$sql_tabla='update '.$tabla.' set '.$campo.'="'.$valor.'" where concat(idnum2,"-",iddet)="'.$codigo.'"';
			$res_tabla=msql_query($sql_tabla,$link_vcrx);
		}
		
	}
	unset($res_tabla);
  
	return $field;
}


function uplfile($pfile,$pname,$ppath,$ptype,$psize)
{

  if(empty($ppath)){$ppath='uploads/';}

  $ppath = "uploads/";
  $pname = $ppath . basename($_FILES["fileToUpload"]["name"]);
  $uploadOk = 1;
  $imageFileType = pathinfo($pname,PATHINFO_EXTENSION);

  // Check if image file is a actual image or fake image
  if(isset($_POST["submit"]))
  {
      $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
      if($check !== false) {
          echo "File is an image - " . $check["mime"] . ".";
          $uploadOk = 1;
      } else {
          echo "File is not an image.";
          $uploadOk = 0;
      }
  }

  // Check if file already exists
  if (file_exists($pname))
  {
      echo "Sorry, file already exists.";
      $uploadOk = 0;
  }

  // Check file size
  if ($_FILES["fileToUpload"]["size"] > 500000)
  {
      echo "Sorry, your file is too large.";
      $uploadOk = 0;
  }

  // Allow certain file formats
  if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" )
  {
      echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
      $uploadOk = 0;
  }
  // Check if $uploadOk is set to 0 by an error
  if ($uploadOk == 0)
  {
      echo "Sorry, your file was not uploaded.";
  // if everything is ok, try to upload file
  } else {
      if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $pname)) {
          echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
      } else {
          echo "Sorry, there was an error uploading your file.";
      }
  }

	
}

function setting0()
{
	msql_query('update item0 set item_dcto=0 where item_dcto is null',$link_vcrx);
	msql_query('update item0 set item_ice=0 where item_ice is null',$link_vcrx);
	msql_query('update item0 set item_iva=0 where item_iva is null',$link_vcrx);
	msql_query('update item0 set item_irbp=0 where item_irbp is null',$link_vcrx);
	
	msql_query('update item0 set item_puni=0 where item_puni is null',$link_vcrx);
	msql_query('update item0 set item_pvp=0 where item_pvp is null',$link_vcrx);
	msql_query('update item0 set item_pvp =(item_puni*(1-item_dcto/100)*(1+item_ice/100)*(1+item_iva/100))+item_irbp where item_pvp=0',$link_vcrx);
	msql_query('update item0 set item_puni=(item_pvp-item_irbp)/(1+item_iva/100)/(1+item_ice/100)/(1-item_dcto/100)  where item_puni=0',$link_vcrx);
}




function num2let($xcifra)
{
//------    CONVERTIR NUMEROS A LETRAS         ---------------
//------    Máxima cifra soportada: 18 dígitos con 2 decimales
//------    999,999,999,999,999,999.99
// NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE BILLONES
// NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE MILLONES
// NOVECIENTOS NOVENTA Y NUEVE MIL NOVECIENTOS NOVENTA Y NUEVE PESOS 99/100 M.N.
//------    Creada por:                        ---------------
//------             ULTIMINIO RAMOS GALÁN     ---------------
//------            uramos@gmail.com           ---------------
//------    10 de junio de 2009. México, D.F.  ---------------
//------    PHP Version 4.3.1 o mayores (aunque podría funcionar en versiones anteriores, tendrías que probar)
$xarray = array(0 => "Cero",
        1 => "UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE",
        "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE",
        "VEINTI", 30 => "TREINTA", 40 => "CUARENTA", 50 => "CINCUENTA", 60 => "SESENTA", 70 => "SETENTA", 80 => "OCHENTA", 90 => "NOVENTA",
        100 => "CIENTO", 200 => "DOSCIENTOS", 300 => "TRESCIENTOS", 400 => "CUATROCIENTOS", 500 => "QUINIENTOS",
				600 => "SEISCIENTOS", 700 => "SETECIENTOS", 800 => "OCHOCIENTOS", 900 => "NOVECIENTOS"
    );
//
//if($xmoneda=="")
//{$xmoneda="DOLAR";}

    $xcifra = trim($xcifra);
    $xlength = strlen($xcifra);
    $xpos_punto = strpos($xcifra, ".");
    $xaux_int = $xcifra;
    $xdecimales = "00";
    if (!($xpos_punto === false)) {
        if ($xpos_punto == 0) {
            $xcifra = "0" . $xcifra;
            $xpos_punto = strpos($xcifra, ".");
        }
        $xaux_int = substr($xcifra, 0, $xpos_punto); // obtengo el entero de la cifra a covertir
        $xdecimales = substr($xcifra . "00", $xpos_punto + 1, 2); // obtengo los valores decimales
    }
 
    $XAUX = str_pad($xaux_int, 18, " ", STR_PAD_LEFT); // ajusto la longitud de la cifra, para que sea divisible por centenas de miles (grupos de 6)
    $xcadena = "";
    for ($xz = 0; $xz < 3; $xz++) {
        $xaux = substr($XAUX, $xz * 6, 6);
        $xi = 0;
        $xlimite = 6; // inicializo el contador de centenas xi y establezco el límite a 6 dígitos en la parte entera
        $xexit = true; // bandera para controlar el ciclo del While
        while ($xexit) {
            if ($xi == $xlimite) { // si ya llegó al límite máximo de enteros
                break; // termina el ciclo
            }
 
            $x3digitos = ($xlimite - $xi) * -1; // comienzo con los tres primeros digitos de la cifra, comenzando por la izquierda
            $xaux = substr($xaux, $x3digitos, abs($x3digitos)); // obtengo la centena (los tres dígitos)
            for ($xy = 1; $xy < 4; $xy++) { // ciclo para revisar centenas, decenas y unidades, en ese orden
                switch ($xy) {
                    case 1: // checa las centenas
                        if (substr($xaux, 0, 3) < 100) { // si el grupo de tres dígitos es menor a una centena ( < 99) no hace nada y pasa a revisar las decenas
                             
                        } else {
                            $key = (int) substr($xaux, 0, 3);
                            if (TRUE === array_key_exists($key, $xarray)){  // busco si la centena es número redondo (100, 200, 300, 400, etc..)
                                $xseek = $xarray[$key];
                                $xsub = num2let_sf($xaux); // devuelve el num2let_sf correspondiente (Millón, Millones, Mil o nada)
                                if (substr($xaux, 0, 3) == 100)
                                    $xcadena = " " . $xcadena . " CIEN " . $xsub;
                                else
                                    $xcadena = " " . $xcadena . " " . $xseek . " " . $xsub;
                                $xy = 3; // la centena fue redonda, entonces termino el ciclo del for y ya no reviso decenas ni unidades
                            }
                            else { // entra aquí si la centena no fue numero redondo (101, 253, 120, 980, etc.)
                                $key = (int) substr($xaux, 0, 1) * 100;
                                $xseek = $xarray[$key]; // toma el primer caracter de la centena y lo multiplica por cien y lo busca en el arreglo (para que busque 100,200,300, etc)
                                $xcadena = " " . $xcadena . " " . $xseek;
                            } // ENDIF ($xseek)
                        } // ENDIF (substr($xaux, 0, 3) < 100)
                        break;
                    case 2: // checa las decenas (con la misma lógica que las centenas)
                        if (substr($xaux, 1, 2) < 10) {
                             
                        } else {
                            $key = (int) substr($xaux, 1, 2);
                            if (TRUE === array_key_exists($key, $xarray)) {
                                $xseek = $xarray[$key];
                                $xsub = num2let_sf($xaux);
                                if (substr($xaux, 1, 2) == 20)
                                    $xcadena = " " . $xcadena . " VEINTE " . $xsub;
                                else
                                    $xcadena = " " . $xcadena . " " . $xseek . " " . $xsub;
                                $xy = 3;
                            }
                            else {
                                $key = (int) substr($xaux, 1, 1) * 10;
                                $xseek = $xarray[$key];
                                if (20 == substr($xaux, 1, 1) * 10)
                                    $xcadena = " " . $xcadena . " " . $xseek;
                                else
                                    $xcadena = " " . $xcadena . " " . $xseek . " Y ";
                            } // ENDIF ($xseek)
                        } // ENDIF (substr($xaux, 1, 2) < 10)
                        break;
                    case 3: // checa las unidades
                        if (substr($xaux, 2, 1) < 1) { // si la unidad es cero, ya no hace nada
                             
                        } else {
                            $key = (int) substr($xaux, 2, 1);
                            $xseek = $xarray[$key]; // obtengo directamente el valor de la unidad (del uno al nueve)
                            $xsub = num2let_sf($xaux);
                            $xcadena = " " . $xcadena . " " . $xseek . " " . $xsub;
                            if(substr($xcadena,-3)=="UN "){$xcadena=trim($xcadena)."O";}
                        } // ENDIF (substr($xaux, 2, 1) < 1)
                        break;
                } // END SWITCH
            } // END FOR
            $xi = $xi + 3;
        } // ENDDO
 
        if (substr(trim($xcadena), -5, 5) == "ILLON") // si la cadena obtenida termina en MILLON o BILLON, entonces le agrega al final la conjuncion DE
            $xcadena.= " DE";
 
        if (substr(trim($xcadena), -7, 7) == "ILLONES") // si la cadena obtenida en MILLONES o BILLONES, entoncea le agrega al final la conjuncion DE
            $xcadena.= " DE";
 
        // ----------- esta línea la puedes cambiar de acuerdo a tus necesidades o a tu país -------
        if (trim($xaux) != "") {
            switch ($xz) {
                case 0:
                    if (trim(substr($XAUX, $xz * 6, 6)) == "1")
                        $xcadena.= "UN BILLON ";
                    else
                        $xcadena.= " BILLONES ";
                    break;
                case 1:
                    if (trim(substr($XAUX, $xz * 6, 6)) == "1")
                        $xcadena.= "UN MILLON ";
                    else
                        $xcadena.= " MILLONES ";
                    break;
                case 2:
                    if ($xcifra < 1) {
                        //$xcadena = "CERO PESOS $xdecimales/100 M.N.";
                        $xcadena = "CERO $xdecimales/100 ";
                    }
                    if ($xcifra >= 1 && $xcifra < 2) {
                        //$xcadena = "UN PESO $xdecimales/100 M.N. ";
                        $xcadena = "UNO  $xdecimales/100  ";
                    }
                    if ($xcifra >= 2) {
                        //$xcadena.= " PESOS $xdecimales/100 M.N. "; //
                        $xcadena.= "  $xdecimales/100  "; //
                    }
                    break;
            } // endswitch ($xz)
        } // ENDIF (trim($xaux) != "")
        // ------------------      en este caso, para México se usa esta leyenda     ----------------
        $xcadena = str_replace("VEINTI ", "VEINTI", $xcadena); // quito el espacio para el VEINTI, para que quede: VEINTICUATRO, VEINTIUN, VEINTIDOS, etc
        $xcadena = str_replace("  ", " ", $xcadena); // quito espacios dobles
        $xcadena = str_replace("UN UN", "UN", $xcadena); // quito la duplicidad
        $xcadena = str_replace("UN UNO", "UN", $xcadena); // quito la duplicidad
        $xcadena = str_replace("UNOUN", "UN", $xcadena); // quito la duplicidad
        $xcadena = str_replace("  ", " ", $xcadena); // quito espacios dobles
        $xcadena = str_replace("BILLON DE MILLONES", "BILLON DE", $xcadena); // corrigo la leyenda
        $xcadena = str_replace("BILLONES DE MILLONES", "BILLONES DE", $xcadena); // corrigo la leyenda
        $xcadena = str_replace("DE UN", "UN", $xcadena); // corrigo la leyenda
        //echo substr($xcadena,-2);
        //if(substr(trim($xcadena),-2)=="UN")
        //{$xcadena=$cadena."O";}
        
    } // ENDFOR ($xz)
    return trim($xcadena);
}
 
 
function num2let_sf($xx)
{ // esta función regresa un num2let_sf para la cifra
    $xx = trim($xx);
    $xstrlen = strlen($xx);
    if ($xstrlen == 1 || $xstrlen == 2 || $xstrlen == 3)
        $xsub = "";
    //
    if ($xstrlen == 4 || $xstrlen == 5 || $xstrlen == 6)
        $xsub = "MIL";
    //
    return $xsub;
}
 

function new_ctas($pnewctas, $pnewdescri='')
{
	include('../_cfg/config.php');
     
	$sql_maes ='insert into ctas0(ctas_codigo,ctas_descri,ctas_status,ctas_iuser,ctas_idate)';
	$sql_maes.='value('.$pnewctas.',"'.$pnewdescri.'","-","'.$user_codigo.'",now())';
	$res_maes=msql_query($sql_maes,$link_vcrx);

	$sql_maes ='update ctas0 set ';
	$sql_maes.='ctas_descri="'.$pnewdescri.'",';
	$sql_maes.='ctas_idate=now(),';
	$sql_maes.='ctas_status="-"';
	$sql_maes.='where ctas_codigo="'.$pnewctas.'"';
	$sql_maes.='and ctas_status="X"';
	$res_maes=msql_query($sql_maes,$link_vcrx);
     
	return $pnewctas;
}

function new_atrz($pnewatrz, $pnewenti)
{
	include('../_cfg/config.php');

  $pnewatrz=$pnewatrz*1;
  if(strlen($pnewatrz)<10)
  {
    echo '<msgalert>';
    echo ' *** AUTORIZACION INCORRECTA *** ';
    echo '</msgalert>';
    return;
  }
  $entidescri=r_fiel('enti',$pnewenti);
  if(empty($entidescri)){return;}
  
  $pnewenti=substr($pnewenti,0,10).'001';
  $caduca=date('Y-m-t');

	$sql_maes ='insert into atrz0(atrz_codigo,atrz_enti,atrz_status,atrz_iuser,atrz_idate,atrz_caduca)';
	$sql_maes.='value('.$pnewatrz.',"'.$pnewenti.'","-","'.$user_codigo.'",now(),"'.$caduca.'")';
	$res_maes=msql_query($sql_maes,$link_vcrx);
//     echo '<msgalert>';
//     echo $sql_maes;
//     echo msql_error($link_vcrx);
//     echo '</msgalert>';

   
	return $pnewatrz;
}

   
   
   
function new_enti()
{
	include('../_cfg/config.php');

	
// 	echo 'AQUII NEW_ENTI';
	$anioa=date('y');
	$sql_maes ='select enti_codigo from enti0 ';
	$sql_maes.='where enti_codigo like "99'.$anioa.'%" ';
	$sql_maes.='and length(trim(enti_codigo))=10';
	$sql_maes.=' order by enti_codigo desc ';
	$sql_maes.=' limit 1 ';
	$res_maes=msql_query($sql_maes,$link_vcrx);

// 	explain_sql($sql_maes);
// 	$newsec='0';
	$newsec='10001';
	if(msql_num_rows($res_maes)!=0){$newsec=substr(msql_result($res_maes,0,'enti_codigo'),4,5)+1;}
// 	$newsec=str_pad($newsec,5,'0',STR_PAD_LEFT);
  $newsec=fillzero($newsec,5);
	$xnewcod ='99';
	$xnewcod.=$anioa;
	$xnewcod.=$newsec;
	$xnewcod.=val_mod10($xnewcod);
// 	$xnewcod.=str_pad(date('z'),3,'0',STR_PAD_LEFT);

	$sql_maes ='insert into enti0(enti_codigo,enti_descri,enti_status,enti_iuser,enti_idate)';
	$sql_maes.='value('.$xnewcod.',"*** NUEVA ENTIDAD","-","'.$_SESSION['user_cedula'].'",now())';
	$res_maes=msql_query($sql_maes,$link_vcrx);

// 	$sql_maes ='update enti0 set enti_zsub="'.$xnewean.'" where enti_codigo ="'.$xnewcod.'"';
	$sql_maes ='update enti0 set enti_zsub="GENE-GENE" where enti_codigo ="'.$xnewcod.'"';
	$res_maes=msql_query($sql_maes,$link_vcrx);

	return $xnewcod;
}

function new_pasaporte($penti,$pdescri,$pdirecc="")
{
	include('../_cfg/config.php');
  $codigo=new_enti();
  $sql_updt ='update enti0 set';
  $sql_updt.=' enti_pasaporte="'.$penti.'",';
  $sql_updt.=' enti_descri="'.$pdescri.'",';
  $sql_updt.=' enti_direccion="'.$pdirecc.'",';
  $sql_updt.=' enti_status="-"';
  $sql_updt.=' where enti_codigo="'.$codigo.'"';
  $res_updt=msql_query($sql_updt,$link_vcrx);
  return $codigo;
}
  
function new_idexterior($penti,$pdescri,$pdirecc="")
{
	include('../_cfg/config.php');
  $codigo=new_enti();
  $sql_updt ='update enti0 set';
  $sql_updt.=' enti_idexterior="'.$penti.'",';
  $sql_updt.=' enti_descri="'.$pdescri.'",';
  $sql_updt.=' enti_direccion="'.$pdirecc.'",';
  $sql_updt.=' enti_status="-"';
  $sql_updt.=' where enti_codigo="'.$codigo.'"';
  $res_updt=msql_query($sql_updt,$link_vcrx);
  return $codigo;
}
  
function new_nvdd($tipo='1')
{
	include('../_cfg/config.php');

//   11 Novedades
	$anioa=date('y');
	$sql_maes ='select max(item_codigo) as item_codigo from item0 ';
// 	$sql_maes.='where item_codigo like "99'.$anioa.'%" ';
	$sql_maes.='where 1=1 ';
	$sql_maes.='and (item_codigo like "111%"  or item_codigo like "112%" or item_codigo like "113%") ';
	$sql_maes.='and length(trim(item_codigo))=10';
	$res_maes=msql_query($sql_maes,$link_vcrx);

	$newsec='0';
	if(msql_num_rows($res_maes)!=0){$newsec=substr(msql_result($res_maes,0,'item_codigo'),4,5)+1;}
	$newsec=str_pad($newsec,5,'0',STR_PAD_LEFT);

  $xnewcod ='11';
	$xnewcod.=$anioa;
	$xnewcod.=$newsec;
// 	$xnewcod.=val_ean($xnewcod);
	$xnewcod.=val_mod10($xnewcod);

	$xnewean =$xnewcod.'00';
 	$xnewean.=val_ean($xnewcod);

	$sql_maes ='insert into item0(item_codigo,item_descri,item_status,item_iuser,item_idate)';
	$sql_maes.='value('.$xnewcod.',"*** NUEVA NOVEDAD","-","'.$_SESSION['user_id'].'",now())';
	$res_maes=msql_query($sql_maes,$link_vcrx);

// 	if(msql_error($link_vcrx)=="")
	if(!msql_error($link_vcrx))
	{
		$sql_maes ='update item0 set item_ean="'.$xnewean.'" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
// 		$sql_maes ='update item0 set item_codigov="'.substr($xnewcod,-6).'" where item_codigo ="'.$xnewcod.'"';
// 		$res_maes=msql_query($sql_maes,$link_vcrx);
		$sql_maes ='update item0 set item_ctanomi="520101" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
	}
	else
	{$xnewcod='';}
	
	return $xnewcod;
}

  
  
  

function new_item($ptipo,$pean=8,$pcopy=1)
{
	include('../_cfg/config.php');
	include('php_session.php');
     // 	$ptipo='88';
     // 200 - 299 ean13 uso interno
     // 98 materia prima
     // 99 bienes y servicios  ** no funka
     // 88 
  if(empty($ptipo)){$ptipo='20';}
  if(empty($pean)){$pean=8;}
  if(empty($pcopy)){$pcopy=1;}
  
  if(!mb_stristr('sist.supe.admi.oper',$user_tipo)){return false;}
  
  if(mb_stristr('pcs1.imcp.orel',$empr_codigo)){$pean=10;}
//   if(mb_stristr('imcp.orel',$empr_codigo)){$pean=10;}

//   if(mb_stristr('pcs1',$empr_codigo)){$pcopy=100;}
//    echo '*/*/*/*/'.$pean;  
//    echo '*/*/*/*/'.$pcopy;  
     $lencod=5;
  
  $anioa='';
  if($pean>8){$anioa=date('y');}

//   $pcopy=2;
    for($idx=1; $idx<=$pcopy; $idx++)
  {
    
  // 	$newsec='0';
    $newsec='10001';

    $sql_maes ='select item_codigo from item0 ';
    $sql_maes.='where 1=1 ';
    $sql_maes.=' and (item_codigo like "'.$ptipo.$anioa.'%") ';
  // 	$sql_maes.=' and length(trim(item_codigo))='.$pean;
  // 	$sql_maes.=' and length(trim(item_codigo))='.strlen($ptipo.$anioa.$lencod)+1.' ';
    $sql_maes.=' and length(trim(item_codigo))='.$pean;
    $sql_maes.=' and item_status!="X"';
    $sql_maes.=' order by item_codigo desc ';
    $sql_maes.=' limit 1';
    $res_maes=msql_query($sql_maes,$link_vcrx);
  // echo $sql_maes.msql_error($link_vcrx);
  //   explain_sql($sql_maes);
    $last_item=msql_result($res_maes,0,'item_codigo');

    if(msql_num_rows($res_maes)!=0)
    {$newsec=substr($last_item,strlen($ptipo.$anioa),$lencod)+1;}

    $newsec=fillzero($newsec,$lencod);

    $xnewcod ='';
    $xnewcod.=$ptipo;
    $xnewcod.=$anioa;
    $xnewcod.=$newsec;

    $verif=val_ean($xnewcod,false);
    $xnewcod.=$verif;

    $xcodigov=substr($xnewcod,-6);

  // 	$xnewean =$xnewcod.'00'.'00';
    $xnewean =substr($xnewcod.'0000',0,12);
    $verif=val_ean($xnewean,false);
    $xnewean.=$verif;


    $xnewcoddescri="*** NUEVO ITEM ***";

    if(substr($xnewean,0,2)=='77')
    {$xnewcoddescri="*** NUEVO SERVICIO";}

    if(substr($xnewean,0,2)=='99')
    {$xnewcoddescri="*** NUEVO GASTO";}

    $sql_maes ='insert into item0(item_codigo,item_descri,item_status,item_iuser,item_idate)';
  // 	$sql_maes.='value('.$xnewcod.',"'.$xnewcoddescri.'","-","'.$_SESSION['user_cedula'].'",now())';
    $sql_maes.='value('.$xnewcod.',"'.$xnewcoddescri.'","-","'.$user_codigo.'",now())';
    $res_maes=msql_query($sql_maes,$link_vcrx);

//     echo '*/*/*/'.$sql_maes.msql_error($link_vcrx);
//     if(msql_error($link_vcrx)=="")
    if(!msql_error($link_vcrx))
    {
  //     $xmdlo=substr($xnewcod,0,9);
  //     $xmdlo=substr($xnewcod,2,7);
      $sql_maes ='update item0 set item_ice=0 where item_codigo ="'.$xnewcod.'" and item_ice is null';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_iva=0 where item_codigo ="'.$xnewcod.'" and item_iva is null';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_irbp=0 where item_codigo ="'.$xnewcod.'" and item_irbp is null';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_dcto=0 where item_codigo ="'.$xnewcod.'" and item_dcto is null';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_prop=0 where item_codigo ="'.$xnewcod.'" and item_prop is null';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_mdlo="'.$xmdlo.'" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_ean="'.$xnewean.'" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_codigov="'.$xcodigov.'" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_cair="312" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_lsub="GENE-GENE" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_mrca="GENE" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_umdd="UNID" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_umdd="SERV" where item_codigo ="'.$xnewcod.'" and left(item_codigo,2)="77"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_ctainve="10103" where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);

      $sql_maes ='update item0 set item_mdlo=substring(item_codigo,1,'.$pean.') where item_codigo ="'.$xnewcod.'"';
      $res_maes=msql_query($sql_maes,$link_vcrx);
    }
    else
    {$xnewcod='';}
  }
	
	return $xnewcod;
}

  
  
  
// function new_item($ptipo='88')
function new_itemX($ptipo='20')
{
	include('../_cfg/config.php');
	include('php_session.php');
// 	$ptipo='88';
  // 200 - 299 ean13 uso interno
	// 98 materia prima
	// 99 bienes y servicios  ** no funka
	// 88 
  if(!mb_stristr('sist.supe.admi.oper',$user_tipo)){return false;}
  
	$anioa=date('y');
	$sql_maes ='select item_codigo from item0 ';
	$sql_maes.='where 1=1 ';
// 	$sql_maes.='and (item_codigo like "881%"  or item_codigo like "882%" or item_codigo like "883%") ';
// 	$sql_maes.='and (item_codigo like "'.$ptipo.'1%"  or item_codigo like "'.$ptipo.'2%" or item_codigo like "'.$ptipo.'3%") ';
	$sql_maes.='and (item_codigo like "'.$ptipo.$anioa.'%") ';
	$sql_maes.='and length(trim(item_codigo))=10 ';
	$sql_maes.='and item_status!="X"';
	$sql_maes.=' order by item_codigo desc ';
	$sql_maes.=' limit 1';
	$res_maes=msql_query($sql_maes,$link_vcrx);
// echo $sql_maes.msql_error($link_vcrx);
//   explain_sql($sql_maes);
	$newsec='0';
	$newsec='10001';
  $last_item=msql_result($res_maes,0,'item_codigo');

  if(msql_num_rows($res_maes)!=0){$newsec=substr($last_item,4,5)+1;}

  $newsec=fillzero($newsec,5);

  $xnewcod ='';
  $xnewcod.=$ptipo;
	$xnewcod.=$anioa;
	$xnewcod.=$newsec;
  
// 	$xnewcod.=val_mod10($xnewcod);
	$verif=val_ean($xnewcod,false);
	$xnewcod.=$verif;

  $xcodigov=substr($xnewcod,-6);
  
	$xnewean =$xnewcod.'00';
  $verif=val_ean($xnewean,false);
 	$xnewean.=$verif;

  
  $xnewcoddescri="*** NUEVO ITEM";
  if(substr($xnewean,0,2)=='77')
  {$xnewcoddescri="*** NUEVO SERVICIO";}
  if(substr($xnewean,0,2)=='99')
  {$xnewcoddescri="*** NUEVO GASTO";}
  
	$sql_maes ='insert into item0(item_codigo,item_descri,item_status,item_iuser,item_idate)';
// 	$sql_maes.='value('.$xnewcod.',"'.$xnewcoddescri.'","-","'.$_SESSION['user_cedula'].'",now())';
	$sql_maes.='value('.$xnewcod.',"'.$xnewcoddescri.'","-","'.$user_codigo.'",now())';
	$res_maes=msql_query($sql_maes,$link_vcrx);

//   echo $sql_maes.msql_error($link_vcrx);
// 	if(msql_error($link_vcrx)=="")
	if(!msql_error($link_vcrx))
	{
//     $xmdlo=substr($xnewcod,0,9);
    $xmdlo=substr($xnewcod,2,7);
		$sql_maes ='update item0 set item_ice=0 where item_codigo ="'.$xnewcod.'" and item_ice is null';
		$res_maes=msql_query($sql_maes,$link_vcrx);

		$sql_maes ='update item0 set item_iva=0 where item_codigo ="'.$xnewcod.'" and item_iva is null';
		$res_maes=msql_query($sql_maes,$link_vcrx);

		$sql_maes ='update item0 set item_irbp=0 where item_codigo ="'.$xnewcod.'" and item_irbp is null';
		$res_maes=msql_query($sql_maes,$link_vcrx);

		$sql_maes ='update item0 set item_mdlo="'.$xmdlo.'" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);

		$sql_maes ='update item0 set item_ean="'.$xnewean.'" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
    
		$sql_maes ='update item0 set item_codigov="'.$xcodigov.'" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);

    $sql_maes ='update item0 set item_cair="312" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);

    $sql_maes ='update item0 set item_lsub="GENE-GENE" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
    
		$sql_maes ='update item0 set item_mrca="GENE" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
    
		$sql_maes ='update item0 set item_umdd="UNID" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
    
		$sql_maes ='update item0 set item_umdd="SERV" where item_codigo ="'.$xnewcod.'" and left(item_codigo,2)="77"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
    
		$sql_maes ='update item0 set item_ctainve="10103" where item_codigo ="'.$xnewcod.'"';
		$res_maes=msql_query($sql_maes,$link_vcrx);
	}
	else
	{$xnewcod='';}
	
	return $xnewcod;
}

function new_item2($pitem,$paux='')
{
	include('../_cfg/config.php');
  include('php_session.php');
	$pitem=trim($pitem);
	$pitem10=substr($pitem,0,10);

	if(strlen($pitem)<10){return false;}
	if(substr($pitem,0,2)!='88'){return false;}

  $pauxv=$paux;
  $sql_item ='select * from item0 ';
  $sql_item.='where item_codigo like "'.$pitem10.'%" ';
  $sql_item.='and item_status!="X" ';
  $sql_item.='order by item_codigo ';
  $res_item=msql_query($sql_item,$link_vcrx);
  if(msql_num_rows($res_item)==0){return false;}
  $codigov=msql_result($res_item,0,'item_codigov');

  $sql_item.='desc ';
  $res_item=msql_query($sql_item,$link_vcrx);
  
  $laux=substr(msql_result($res_item,0,'item_codigo'),10,2);
  
  if(strlen($paux)==1 and ord($paux)>=65 and ord($paux)<=90)
  {$paux=ord($paux);}

  if($paux=='')
	{$paux=fillzero($laux+1,2);}
// 	{$paux=str_pad($laux+1,2,'0',STR_PAD_LEFT);}
  
	$xnewcod=$pitem10.$paux;
 	$xnewean=$xnewcod.val_ean($xnewcod);
  if($codigov==''){$codigov=substr($xnewcod,-8);}
	
	$sql_maes ='insert into item0(item_codigo,item_descri,item_status,item_iuser,item_idate)';
	$sql_maes.='value('.$xnewcod.',"*** NUEVO SUB-ITEM","-","'.$_SESSION['user_id'].'",now())';
	$res_maes=msql_query($sql_maes,$link_vcrx);
	
	$sql_maes ='update item0 set item_ean="'.$xnewean.'" where item_codigo ="'.$xnewcod.'"';
	$res_maes=msql_query($sql_maes,$link_vcrx);
	$sql_maes ='update item0 set item_codigov="'.$codigov.$pauxv.'" where item_codigo ="'.$xnewcod.'"';
	$res_maes=msql_query($sql_maes,$link_vcrx);

  sub_item($pitem);	
	return $xnewcod;
}

function sub_item($pitem)
{
	include('../_cfg/config.php');

  $pitem=trim($pitem);
	$pitem10=substr($pitem,0,10);

	if(strlen($pitem)<10){return false;}
// 	if(substr($pitem,0,2)!='99'){return false;}
	if(substr($pitem,0,2)!='88'){return false;}
	
	$sql_item ='select * from item0 ';
	$sql_item.='where item_codigo like "'.$pitem10.'%"';
	$sql_item.='order by item_codigo ';
	$res_item=msql_query($sql_item,$link_vcrx);

  if(msql_num_rows($res_item)==0){return false;}

  $sql_updt ='update item0 set item_descri="'.msql_result($res_item,0,'item_descri').'" ';
  $sql_updt.='where item_codigo like "'.$pitem10.'%" and (item_descri like "***%" or item_descri="" or item_descri is null)';
	$res_updt=msql_query($sql_updt,$link_vcrx);
  
  $sql_updt ='update item0 set item_descri2="'.msql_result($res_item,0,'item_descri2').'" ';
  $sql_updt.='where item_codigo like "'.$pitem10.'%" and (item_descri2="" or item_descri2 is null)';
	$res_updt=msql_query($sql_updt,$link_vcrx);
    
    
  $sql_updt='update item0 set item_lsub="'.msql_result($res_item,0,'item_lsub').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_mrca="'.msql_result($res_item,0,'item_mrca').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
//   echo '***'.$sql_updt;
//   echo msql_error($link_vcrx);
	$sql_updt='update item0 set item_umdd="'.msql_result($res_item,0,'item_umdd').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_cair="'.msql_result($res_item,0,'item_cair').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_ctainve="'.msql_result($res_item,0,'item_ctainve').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);

	$sql_updt='update item0 set item_puni="'.msql_result($res_item,0,'item_puni').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_dcto="'.msql_result($res_item,0,'item_dcto').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_ice="'.msql_result($res_item,0,'item_ice').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_iva="'.msql_result($res_item,0,'item_iva').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
	$sql_updt='update item0 set item_irbp="'.msql_result($res_item,0,'item_irbp').'" where item_codigo like "'.$pitem10.'%"';
	$res_updt=msql_query($sql_updt,$link_vcrx);
  
  
  // COLORES
	$sql_updt ='update item0 set item_clor=substring(item_codigo,11,2) ';
	$sql_updt.='where item_codigo like "'.$pitem10.'%"';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
	$sql_updt.=' and (substring(item_codigo,11,2) between 50 and 79) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);

  $sql_updt ='update item0,clor0 set item_descri=concat("'.trim(msql_result($res_item,0,'item_descri')).'"," /",clor_descri)';
	$sql_updt.='where item_codigo like "'.$pitem10.'%"';
	$sql_updt.=' and item_clor is not null';
	$sql_updt.=' and item_clor!=""';
	$sql_updt.=' and item_clor=clor_codigo ';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
	$sql_updt.=' and (substring(item_codigo,11,2) between 50 and 79) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);
    
  $sql_updt ='update item0, clor0 set item_codigov=concat("'.substr($pitem10,4,6).'",substring(clor_descri,1,3)) ';
  $sql_updt.='where item_codigo like "'.$pitem10.'%" ';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
  $sql_updt.=' and clor_codigo=substring(item_codigo,11,2)';
  $sql_updt.=' and (item_codigov="" or item_codigov is null)';
	$sql_updt.=' and (substring(item_codigo,11,2) between 50 and 79) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);
  
  // TALLAS
	$sql_updt ='update item0 set item_tlla=substring(item_codigo,11,2) ';
	$sql_updt.='where item_codigo like "'.$pitem10.'%"';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
	$sql_updt.=' and (substring(item_codigo,11,2) between 80 and 99) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);

  $sql_updt ='update item0,tlla0 set item_descri=concat("'.trim(msql_result($res_item,0,'item_descri')).'"," /",tlla_descri)';
	$sql_updt.='where item_codigo like "'.$pitem10.'%"';
	$sql_updt.=' and item_tlla is not null';
	$sql_updt.=' and item_tlla!=""';
	$sql_updt.=' and item_tlla=tlla_codigo ';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
	$sql_updt.=' and (substring(item_codigo,11,2) between 80 and 99) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);

  $sql_updt ='update item0, tlla0 set item_codigov=concat("'.substr($pitem10,4,6).'",substring(tlla_descri,1,3)) ';
  $sql_updt.='where item_codigo like "'.$pitem10.'%" ';
	$sql_updt.=' and length(trim(item_codigo))=12 ';
  $sql_updt.=' and tlla_codigo=substring(item_codigo,11,2)';
  $sql_updt.=' and (item_codigov="" or item_codigov is null)';
	$sql_updt.=' and (substring(item_codigo,11,2) between 80 and 99) ';
	$res_updt=msql_query($sql_updt,$link_vcrx);
  
}


function char_escape($cadena)
{
	$cadena=str_replace('&','Y',$cadena);
// 	$cadena=str_replace('<','&lt',$cadena);
// 	$cadena=str_replace('>','&gt',$cadena);
// 	$cadena=str_replace('"','&quot',$cadena);
// 	$cadena=str_replace("'","&apos",$cadena);
	return $cadena;
	
}


function gen_usrdoc($usuario="")
{
	include('../_cfg/config.php');

	$sql_usrd='create table usrdoc1(user varchar(10)) engine=innodb';
	$res_usrd=msql_query($sql_usrd,$link_vcrx);

//   msql_query('create table '.$tabla0.' ('.$tabla.'_codigo char('.$codigo.')not null)engine=innodb',$link_vcrx);
  msql_query('alter table usrdoc1 engine=innodb, default character set=latin1 collate=latin1_spanish_ci',$link_vcrx);
	
	$colafter=vrsetcolu('usrdoc1','codigo', 'int',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','cedula', 'varchar(10)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','email', 'varchar(30)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','wsapp', 'varchar(15)',$colafter,'');
// 	$colafter=vrsetcolu('usrdoc1','cedula', 'X',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','docu', 'varchar(4)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','full', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','nuev', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','modi', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','apro', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','proc', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','anul', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','elim', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','cons', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','info', 'varchar(1)',$colafter,'');
	$colafter=vrsetcolu('usrdoc1','espe', 'varchar(1)',$colafter,'');
	
	$sql_user='select * from user0,docu0 where user_tipo in ("sist","admi","supe","oper","user")';
// 	if($usuario!="")
// 	{$sql_user.=' and user_cedula="'.$usuario.'" or user_codigo="'.$usuario.'"';}
// 	$usuario=39;
	if($usuario!="")
	{$sql_user.=' and user_codigo="'.$usuario.'"';}

	$res_user=msql_query($sql_user,$link_vcrx);
	while($aso_user=msql_fetch_assoc($res_user))
	{
// 		$sql_acce='insert into usrdoc1(user,codigo,docu)value("'.$aso_user['user_cedula'].'","'.$aso_user['user_codigo'].'","'.$aso_user['docu_codigo'].'")';
		$sql_acce ='insert into usrdoc1(user,codigo,docu)';
		$sql_acce.='value("'.$aso_user['user_codigo'].'","'.$aso_user['user_codigo'].'","'.$aso_user['docu_codigo'].'")';
		$res_acce=msql_query($sql_acce,$link_vcrx);
// 		echo $sql_acce;
// 		echo msql_error($link_vcrx);
	}
		$sql_acce ='update usrdoc1, user0 set cedula=user_cedula, email=user_email, wsapp=user_wsapp  ';
		$sql_acce.='where user=user_codigo';
		$res_acce=msql_query($sql_acce,$link_vcrx);
  
  
}	

function gen_acce($usuario="")
{
	include('../_cfg/config.php');
	$sql_user='select * from user0,docu0 where user_tipo in ("sist","admi","supe","oper","user")';
	if($usuario!="")
	{$sql_user.=' where user_codigo="'.$usuario.'"';}
	$res_user=msql_query($sql_user,$link_vcrx);
	while($aso_user=msql_fetch_assoc($res_user))
	{
		$sql_acce='insert into acce0(acce_user,acce_docu)value("'.$aso_user['user_codigo'].'","'.$aso_user['docu_codigo'].'")';
		$res_acce=msql_query($sql_acce,$link_vcrx);
	}
}	

function num_docu($docu,$ptoe="001001")
{
	include('../_cfg/config.php');
	
	$autonum=r_fiel('docu',$docu,'autonum');
	if(mb_stristr('IB.EB.IE.EE.OP.PF.PC.GR')){$autonum=1;}
// 	if(mb_stristr('FC.NC.RP')){$autonum=1;}
	
	if($autonum!=1){return 0;}
		 
	$fecha=date('Ymd',strtotime('360 days'));
	$numero=1;
	$tabla=r_fiel('docu',$docu,'tabla');
	$sql_nume='select max(numero) as numero from '.$tabla.'1 where docu="'.$docu.'" ptoe="'.$ptoe.'" fecha<="'.$fecha.'"';
	$res_nume=msql_query($sql_nume,$link_vcrx);
	if(msql_num_rows($res_nume)!=0){$numero=msql_result($res_nume,0,'numero')+1;}
//   echo '---'.$numero;
	return $numero;
}	


// 	$res_user=msql_query($sql_user,$link_vcrx);
// 	while($aso_user=msql_fetch_assoc($res_user))
// 	{
// 		$sql_acce='insert into usrdoc1(user,docu)value("'.$aso_user['user_cedula'].'","'.$aso_user['docu_codigo'].'")';

function updt_ipip()
{
	include('../_cfg/config.php');
	include('php_session.php');
	
	$ipip=$_SERVER['REMOTE_ADDR'];
	
	$ipip_sql='insert into ipip0(ipip_codigo,ipip_idate)value("'.$ipip.'",now())';
	$ipip_res=msql_query($ipip_sql,$link_vcrx);
	
	$ipip_sql='update ipip0 set ';
	$ipip_sql.='ipip_user="'.$user_mail.'",';
	$ipip_sql.='ipip_descri="'.$_SERVER['REMOTE_PORT'].'",';
	$ipip_sql.='ipip_lused=now(),';
	$ipip_sql.='ipip_status=ipip_status ';
	$ipip_sql.='where ipip_codigo="'.$ipip.'"';
	$ipip_res=msql_query($ipip_sql,$link_vcrx);
	
	$ipip_sql='update user0 set user_ip="'.$_SERVER['REMOTE_PORT'].'" where user_codigo="'.$user_codigo.'"';
	$ipip_res=msql_query($ipip_sql,$link_vcrx);
	
return $ipip;	
}



function explain_sql($pstring,$para=0)
{
	include('../_cfg/config.php');
	include('php_session.php');
	
  $pstring=trim($pstring);
  
  if(substr(strtolower($pstring),0,6)=='update')
  {if(!mb_stristr(strtolower($pstring),'where')){$pstring=$pstring.' where ***';}}  

  if(substr(strtolower($pstring),0,6)=='delete')
  {if(!mb_stristr(strtolower($pstring),'where')){$pstring=$pstring.' where ***';}}  

  echo '<br>'.str_repeat('*',30);	
  echo '<br>';	
  echo date('H:i:s');
	$msc = microtime(true);
	$res_expl=msql_query($pstring,$link_vcrx);
	$msc = microtime(true)-$msc;
  echo '<br>';	
  echo date('H:i:s');
  echo '<br>';	
	if(msql_errno($link_vcrx)!=0)
	{
		echo 'ERROR : ' .msql_error($link_vcrx); ;
		echo '<br>';
		echo $pstring;
		echo '<br>';
	}
	else
	{
    $res_data=msql_query('select database() as data',$link_vcrx);
		echo '<br>';
		echo 'DBASE : '.msql_result($res_data,0,'data');
		echo '<br>';
		echo 'QUERY : '.$pstring;
		echo '<br>';
		echo 'NSEC : '.number_format(round($msc * 1000,2),2) . ' ms'; // in millseconds	
		echo '<br>';
		echo 'RECORDS: ' .@msql_num_rows($res_expl). ' / '.@msql_affected_rows($res_expl); 
    echo '<br>';

		if($para==1)
		{
    echo '<br>';
      $pstring1=$pstring;
      if(substr($pstring,0,6)=='update')
      {
        $pstring1 =substr($pstring,0,strpos($pstring,'set'));
        $pstring1 =str_replace('update','select * from ',$pstring1);
        $pstring1.=substr($pstring,strpos($pstring,'where'));
      }
        
      if(substr($pstring1,0,6)=='select')
      {
        $res_string1=msql_query($pstring1,$link_vcrx);
//         msql_data_seek($res_string,0);
        $field = @msql_num_fields($res_string1);
      
        echo  '<table border="1" cellspacing="1" cellpadding="1" style="border-collapse:collapse; ">';
        
        echo  '<thead >';
        echo  '<tr style="border:solid 2px;">';
          for ( $i = 0; $i < $field; $i++ )
          {
            $camp = msql_field_name($res_string1, $i); 
            echo '<th>';
            echo $camp;
            echo '</th>';
          }
        echo  '</tr>';
        echo  '</thead>';

        echo  '<tbody>';
                    
        $ccol=0;                    
                  
        while($consulta = @msql_fetch_array($res_string1))
        {
          $ccol++;
          $border='';
          if($ccol%5==0){$border='border-bottom:dotted 1px;';}
          echo '<tr style="'.$border.'">';
          for($f=0; $f < $field; $f++)
          {
            echo '<td valign="top" >';
            echo $consulta[$f]; 
            echo '</td>';
          }
                    
                    
        }
        echo '</tr>';
      
        echo  '</tbody>';
        echo  '</table>';
       } 
		}
		

    
    echo '<br>';
    echo $pstring;
    echo '<table>';
			echo '<tr>';
			echo '<th>'.'Id'.'</th>';
			echo '<th>'.'Select_type'.'</th>';
			echo '<th>'.'Table'.'</th>';
			echo '<th>'.'Type'.'</th>';
			echo '<th>'.'Posible_keys'.'</th>';
			echo '<th>'.'Key'.'</th>';
			echo '<th>'.'Key_len'.'</th>';
			echo '<th>'.'Ref'.'</th>';
			echo '<th>'.'Rows'.'</th>';
			echo '<th>'.'Extras'.'</th>';
			echo '</tr>';
		
		$res_expl=msql_query('explain '.$pstring.'',$link_vcrx);
		while($aso_expl=msql_fetch_assoc($res_expl))
		{
			echo '<tr>';
			foreach($aso_expl as $field){echo '<td>|' . htmlspecialchars($field) . '</td>';}
			echo '</tr>';
		}
		echo '</table>';
		
	}
  echo '<br>'.str_repeat('*',30);	
  echo '<br>';	
}	

function imgi_defa($pcodigo="")
{
	include('../_cfg/config.php');
	include('php_session.php');
// 	$ptabla=substr($pcodigo,0,4);
// 	$pcodigo=trim(substr($pcodigo,4,200));
// 	$ptabla='imgi';
	if($pcodigo==''){return;}

	$sql_defai='select * from imgi0 where imgi_codigo ="'.$pcodigo.'"';
	$res_defai=msql_query($sql_defai,$link_vcrx);
	$pitem=trim(msql_result($res_defai,0,'imgi_item'));
	
	$sql_defai='select * from item0 where item_codigo ="'.$pitem.'"';
	$res_defai=msql_query($sql_defai,$link_vcrx);
	$pidem=trim(msql_result($res_defai,0,'item_idem'));

	$sql_defai='update imgi0 set imgi_defa ="" where imgi_item like "'.$pidem.'%"';
	$res_defai=msql_query($sql_defai,$link_vcrx);
	
	$sql_defai='update imgi0 set imgi_defa ="1" where imgi_codigo ="'.$pcodigo.'"';
	$res_defai=msql_query($sql_defai,$link_vcrx);
	
	return;
}

function imgi_dele($pcodigo="")
{
	include('../_cfg/config.php');
	include('php_session.php');
	if($pcodigo==''){return;}

	$sql_defai='update imgi0 set imgi_status ="X" where imgi_codigo = "'.$pcodigo.'"';
	$res_defai=msql_query($sql_defai,$link_vcrx);
	
	return;
}



function newnumdoc($docu,$ptoe="",$enti="")
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($docu)){return;}

	$tabla=r_fiel('docu',$docu,'tabla');
	$ptov='';
	$caja='';
	$bode='';
	
	if(empty($ptoe))
	{
		$sql_user='select * from user0 where user_codigo = "'.$user_codigo.'"' ;
		$res_user=msql_query($sql_user,$link_vcrx);
		if(mb_stristr('FC.PF.PC',substr($docu,0,2)))
		{
			$ptov=msql_result($res_user,0,'user_ptov');
			$ptoe=r_fiel('ptov',$ptov,'ptoe');
		}

		if(mb_stristr('IB.EB.',substr($docu,0,2)))
		{
			$bode=msql_result($res_user,0,'user_bode');
			$ptoe=r_fiel('bode',$bode,'ptoe');
		}

		if(mb_stristr('IE.EE',substr($docu,0,2)))
		{
			$caja=msql_result($res_user,0,'user_caja');
			$ptoe=r_fiel('caja',$caja,'ptoe');
		}
		
		if(mb_stristr('CH.',substr($docu,0,2)))
		{
			$caja=msql_result($res_user,0,'user_ctab');
			$ptoe=r_fiel('ctab',$caja,'ptoe');
		}
		
// 		if(empty($ptoe)){$ptoe='001001';}
// 		if(strlen(trim($ptoe))!=6){$ptoe='001001';}
	}

  if(strlen(trim($ptoe))!=6)
  {
		if(mb_stristr('FC.PF.PC',substr($docu,0,2)))
		{$ptoe=r_fiel('ptov',$ptoe,'ptoe');}

		if(mb_stristr('IB.EB.',substr($docu,0,2)))
		{$ptoe=r_fiel('bode',$ptoe,'ptoe');}

		if(mb_stristr('IE.EE',substr($docu,0,2)))
		{$ptoe=r_fiel('caja',$ptoe,'ptoe');}
		
		if(mb_stristr('CH.',substr($docu,0,2)))
		{$ptoe=r_fiel('ctab',$ptoe,'ptoe');}
		
// 		if(strlen(trim($ptoe))!=6){$ptoe='001001';}
	}

  
	$newnumero=1;
	$sql_docu='select max(numero) as maxnumero from '.$tabla.'1 where docu like "'.$docu.'"';
  if(strlen(trim($ptoe))!=6)
  {$sql_docu.=' and ptoe="'.$ptoe.'"' ;}
// 	$sql_docu.=' and fecha="'.$ptoe.'"' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);

	if(msql_num_rows($res_docu)>0)
	{$newnumero=msql_result($res_docu,0,'maxnumero');}
	$newnumero++;
	$newnumero=fillzero($newnumero);
	return $newnumero;
}

function ptoe_enti($docu,$ptoe="001001")
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($docu)){return;}
	if($docu!='FP10'){return;}

	$tabla=r_fiel('docu',$docu,'tabla');
	$ptov='';
	$caja='';
	$bode='';
	
// 	if(empty($ptoe))
// 	{
// 		$sql_user='select * from user0 where user_codigo = "'.$user_codigo.'"' ;
// 		$res_user=msql_query($sql_user,$link_vcrx);
// 		if(mb_stristr('FC.PF.PC.NC',substr($docu,0,2)))
// 		{
// 			$ptov=msql_result($res_user,0,'user_ptov');
// 			$ptoe=r_fiel('ptov',$ptov,'ptoe');
// 		}

// 		if(mb_stristr('IB.EB.',substr($docu,0,2)))
// 		{
// 			$bode=msql_result($res_user,0,'user_bode');
// 			$ptoe=r_fiel('bode',$bode,'ptoe');
// 		}

// 		if(mb_stristr('IE.EE',substr($docu,0,2)))
// 		{
// 			$caja=msql_result($res_user,0,'user_caja');
// 			$ptoe=r_fiel('caja',$caja,'ptoe');
// 		}
		
// // 		if(empty($ptoe)){$ptoe='001001';}
// 		if(strlen(trim($ptoe))!=6){$ptoe='001001';}
// 	}
	
	$newnumero='';
	$sql_docu='select docu,ptoe,enti from '.$tabla.'1 ';
// 	$sql_docu='select docu,numero,ptoe,enti,fecha,status,numero as maxnumero from '.$tabla.'1';
	$sql_docu.=' where docu like "'.$docu.'"';
	$sql_docu.=' and ptoe="'.$ptoe.'"' ;
	$sql_docu.=' and status!="X"' ;
	$sql_docu.=' order by fecha desc' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);

	if(msql_num_rows($res_docu)>0)
	{$newnumero=msql_result($res_docu,0,'enti');}

// 	if(msql_num_rows($res_docu)==0)
// 	{
// 		if(mb_stristr('FC.PF.PC.NC',substr($docu,0,2)))
// 		{
// 			$sql_ptoe='select * from ptov0 where ptov_ptoe="'.$ptoe.'" ';
// 			$sql_ptoe.=' and ptov_status!="X"';
// 			$sql_ptoe.=' and ptov_status!="O"';
// 			$sql_ptoe.=' order by ptov_numero desc ';
// 			$sql_ptoe.=' and ptoe="'.$ptoe.'"' ;
// 			$res_ptoe=msql_query($sql_ptoe,$link_vcrx);
// 			if(msql_num_rows($res_ptoe)>0){$newnumero=msql_result($res_ptoe,0,'numero');}
// 		}
		
// 		if(mb_stristr('IB.EB',substr($docu,0,2)))
// 		{
// 			$sql_ptoe='select * from bode0 where bode_ptoe="'.$ptoe.'" ';
// 			$sql_ptoe.=' and bode_status!="X"';
// 			$sql_ptoe.=' and bode_status!="O"';
// 			$sql_ptoe.=' order by bode_numero desc ';
// 			$sql_ptoe.=' and ptoe="'.$ptoe.'"' ;
// 			$res_ptoe=msql_query($sql_ptoe,$link_vcrx);
// 			if(msql_num_rows($res_ptoe)>0){$newnumero=msql_result($res_ptoe,0,'numero');}
// 		}
		
		
// 	}
	
// 	$newnumero++;
// 	$newnumero=fillzero($newnumero);
	return $newnumero;
}



function nume_docu($docu,$ptoe="",$enti="")
{
  // utilizado en clon_user
	include('../_cfg/config.php');
	include('php_session.php');

  
	if(empty($docu)){return;}
     
//  if(mb_stristr('FP.NP.RC.IC',substr($docu,0,2)) and $enti=='' and $docu!='FP90')
  if(mb_stristr('FP.NP.RC.IC',substr($docu,0,2)) and $enti=='' and $docu!='FP90' and $docu!='FP03')
  {return '000000000';}
  
  
  $fecha1="2010-01-01";
	$tabla=r_fiel('docu',$docu,'tabla');
	$ptov='';
	$caja='';
	$bode='';

  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='cpc1')
  {$fecha1="2018-05-04"; $ptoe="001002";}

  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='stp1')
  {$fecha1="2018-04-02"; $ptoe="001002";}

  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='flmn')
  {$fecha1="2018-07-01"; $ptoe="002001";}

  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='pcs1')
  {$fecha1="2018-05-01"; $ptoe='001101';}
  
  if(mb_stristr('GR',substr($docu,0,2)) and $cfg_empr=='groo')
  {$fecha1="2018-05-01"; $ptoe='001101';}
  
  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='amin')
  {$ptoe="001100";}
  
  if(mb_stristr('FC',substr($docu,0,2)) and $cfg_empr=='gmny')
  {$ptoe="003101";}
  
  if(mb_stristr('RP',substr($docu,0,2)) and $cfg_empr=='pec1')
  {$fecha1='2024-07-01'; $ptoe="001101";}
  
//   if(mb_stristr('FC',substr($docu,0,2)) and $cfg_empr=='imcp')
//   {$ptoe="003101";}
  
  if($ptoe=='')
	{
		$sql_user='select * from user0 where user_codigo = "'.$user_codigo.'"' ;
		$res_user=msql_query($sql_user,$link_vcrx);
		if(mb_stristr('FC.PF.PC.NC',substr($docu,0,2)))
		{
			$ptov=msql_result($res_user,0,'user_ptov');
			$ptoe=r_fiel('ptov',$ptov,'ptoe');
		}

		if(mb_stristr('IB.EB.',substr($docu,0,2)))
		{
			$bode=msql_result($res_user,0,'user_bode');
			$ptoe=r_fiel('bode',$bode,'ptoe');
		}

		if(mb_stristr('IE.EE',substr($docu,0,2)))
		{
			$caja=msql_result($res_user,0,'user_caja');
			$ptoe=r_fiel('caja',$caja,'ptoe');
		}
	}
  
	if(strlen(trim($ptoe))!=6)
  {
		if(mb_stristr('FC.PF.PC.NC',substr($docu,0,2)))
		{
			$ptov=$ptoe;
			$ptoe=r_fiel('ptov',$ptov,'ptoe');
		}
		if(mb_stristr('IB.EB',substr($docu,0,2)))
		{
			$bode=$ptoe;
			$ptoe=r_fiel('bode',$bode,'ptoe');
		}
		if(mb_stristr('IE.EE',substr($docu,0,2)))
		{
			$caja=$ptoe;
			$ptoe=r_fiel('caja',$caja,'ptoe');
		}
		if(mb_stristr('CH',substr($docu,0,2)))
		{
			$ctab=$ptoe;
			$ptoe=r_fiel('ctab',$ctab,'ptoe');
		}
  }
	
	if(strlen(trim($ptoe))!=6)
  {$ptoe='001001';}
	
     if($ptabla=='cont'){$fecha1=date('Y-01-01');}
     
	$newnumero=0;
	$sql_docu='select (numero) as maxnumero from '.$tabla.'1 ';
	$sql_docu.=' where docu like "'.$docu.'"';
	$sql_docu.=' and fecha>="'.$fecha1.'"' ;
	$sql_docu.=' and ptoe="'.$ptoe.'"' ;
	$sql_docu.=' and numero*1<100000 ' ;
	$sql_docu.=' and fecha is not null' ;
	$sql_docu.=' and numero is not null' ;
	if($enti!='' and substr($enti,0,10)!='9999999999' and ($docu=='FP10' or mb_stristr('NP.RC',substr($docu,0,2))))
	{$sql_docu.=' and left(enti,10)="'.substr($enti,0,10).'"' ;}
	$sql_docu.=' and status!="X"' ;
     
     $xorder=' order by date_format(fecha,"%Y") desc,numero desc' ;
//      $xorder=' order by fecha desc, numero desc' ;
     if(mb_stristr('cont.inve.',$tabla))
     {$xorder=' order by numero desc' ;}
     if(mb_stristr('EE10.AP11.AC11',$docu))
     {$xorder=' order by numero desc' ;}
//      if(mb_stristr('DP10',$docu))
//      {$xorder=' order by numero desc' ;}
     
	$sql_docu.=$xorder;
	$sql_docu.=' limit 10' ;

  $res_docu=msql_query($sql_docu,$link_vcrx);
  
//   echo '<msgalert>';
//   echo '<br>++++++'.$sql_docu;
//   echo '/<msgalert>';
  
	if(msql_num_rows($res_docu)>0)
	{$newnumero=msql_result($res_docu,0,'maxnumero'); }
  
	$newnumero++;
	$newnumero=fillzero($newnumero);
	return $newnumero;
}

function clon_docu($docu1,$idnum,$docu2)
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($idnum)){return;}
	if(empty($docu1)){return;}
	if(empty($docu2)){$docu2=$docu1;}
  
  
  $docuacce=$docu2;  
  include('php_useracce.php');
//   if($docu2=='PC19'){$user_nuev=1;}
  
  if(mb_stristr('supe.sist',$user_tipo)){$user_nuev=1;}  

//   if($user_nuev!=1){return '<idnum><msgerror>NO TIENE ACCESO</msgerror></idnum>';}
  

	$sql_docu='select * from docu0 where docu_codigo like "'.$docu1.'%"' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);
	$tablao=msql_result($res_docu,0,'docu_tabla');
		
	$sql_docu='select * from docu0 where docu_codigo like "'.$docu2.'"' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);
	$tablad=msql_result($res_docu,0,'docu_tabla');
		
	$sql_docu1='select * from '.$tablao.'1 where idnum1="'.$idnum.'"' ;
	$res_docu1=msql_query($sql_docu1,$link_vcrx);
  $ptoe=msql_result($res_docu1,0,'ptoe');
  $status=msql_result($res_docu1,0,'status');
  $concepto=msql_result($res_docu1,0,'concepto');
  $numero=msql_result($res_docu1,0,'numero');
  $concepto2=trim($concepto);
  if($docu1!=$docu2)
  {$concepto2.=' /'.$docu1.'-'.$numero;}
  
  if($docu1!=$docu2)
  {
    $sql_docud='select * from '.$tablad.'1 ' ;
    $sql_docud.='where status!="X" ' ;
    $sql_docud.='and docu="'.$docu2.'" ' ;
    $sql_docud.='and ptoe!="" ' ;
    $sql_docud.='and ptoe is not null ' ;
       if(mb_stristr('vtas',$tablad))
       {$sql_docud.='and ptoe="'.$ptoe.'" ' ;}
       if(mb_stristr('CH',substr($docu2,0,2)))
       {$sql_docud.='and ptoe="'.$ptoe.'" ' ;}
    $sql_docud.='order by fecha desc, idnum1 desc limit 1' ;
    $res_docud=msql_query($sql_docud,$link_vcrx);
    $ptoed=@msql_result($res_docud,0,'ptoe');
    if($ptoed!=''){$ptoe=$ptoed;}
  }
  
  if($status=='O' and $docu2!=''){return '<idnum><msgerror>DOCUMENTO ESTA ANULADO</msgerror></idnum>';}
  if($status=='X' and $docu2!=''){return '<idnum><msgerror>DOCUMENTO ESTA ELIMINADO</msgerror></idnum>';}
  if($status=='R' and $docu1!=$docu2){return '<idnum><msgerror>DOCUMENTO YA PROCESADO</msgerror></idnum>';}
  if($status=='F' and substr($docu2,0,2)=='FC'){return '<idnum><msgerror>DOCUMENTO YA FACTURADO</msgerror></idnum>';}
  
  $cnumero=nume_docu($docu2,$ptoe);

	$sql_ndocu='insert into '.$tablad.'1(docu,iuser,idate)value("'.$docu2.'","'.$user_codigo.'",now())' ;
	$res_ndocu=msql_query($sql_ndocu,$link_vcrx);
	$idnum2=msql_insert_id($link_vcrx);
	
	$sql_stru1='describe '.$tablao.'1';
	$res_stru1=msql_query($sql_stru1,$link_vcrx);
	while ($aso_stru1=msql_fetch_assoc($res_stru1))
	{
// 		if($aso_stru1['Field']!='idnum1')
// 		if($aso_stru1['Field']!='idnum1' and $aso_stru1['Field']!='idate')
		if(!mb_stristr('idnum1.iuser.idate',trim($aso_stru1['Field'])))
		{
           $sql_updt ='update '.$tablad.'1 set '.$aso_stru1['Field'].'="'.msql_result($res_docu1,0,$aso_stru1['Field']).'" ';
           $sql_updt.='where idnum1="'.$idnum2.'"';
           $res_updt=msql_query($sql_updt,$link_vcrx);
		}
	}

//     $sql_updt ='update '.$tablad.'1 set iuser="'.$user_codigo.'",idate=now(),udate=now() ';
//     $sql_updt.='where idnum1="'.$idnum2.'"';
//     $res_updt=msql_query($sql_updt,$link_vcrx);
  
  if($ptoed!='')
  {
      $sql_updt ='update '.$tablad.'1 set ptoe="'.$ptoed.'" ';
      $sql_updt.='where idnum1="'.$idnum2.'"';
      $res_updt=msql_query($sql_updt,$link_vcrx);
  }
	
	$sql_docu2='select * from '.$tablao.'2 where idnum2="'.$idnum.'" order by iddet' ;
	$res_docu2=msql_query($sql_docu2,$link_vcrx);
	$crow=0;
	while ($aso_docu2=msql_fetch_assoc($res_docu2))
	{
		$crow++;
		if($crow>1000){echo '************* BREAK'; die();}
		$sql_ndocu='insert into '.$tablad.'2(idnum2,iddet)value("'.$idnum2.'",'.$aso_docu2['iddet'].')' ;
		$res_ndocu=msql_query($sql_ndocu,$link_vcrx);
		
		$sql_stru2='describe '.$tablao.'2';
		$res_stru2=msql_query($sql_stru2,$link_vcrx);

		while ($aso_stru2=msql_fetch_assoc($res_stru2))
		{
			if($aso_stru2['Field']!='idnum2')
			{
				$sql_updt ='update '.$tablad.'2 set '.$aso_stru2['Field'].'="'.$aso_docu2[$aso_stru2['Field']].'" ';
				$sql_updt.='where idnum2="'.$idnum2.'" and iddet='.$aso_docu2['iddet'].'';
				$res_updt=msql_query($sql_updt,$link_vcrx);
			}
		}
	}
	
	
	$sql_docu2 ='update '.$tablad.'1 set ' ;
	$sql_docu2.='docu="'.$docu2.'",' ;
     $sql_docu2.='concepto="'.$concepto2.'",' ;
	$sql_docu2.='iuser="'.$user_codigo.'",' ;
	$sql_docu2.='idate=now(),' ;
	$sql_docu2.='idfrom="'.$idnum.'",' ;
	$sql_docu2.='mdfrom="'.$tablao.'",' ;
	$sql_docu2.='stfin="0",' ;
	$sql_docu2.='status="-"' ;
	$sql_docu2.='where idnum1="'.$idnum2.'"' ;
	$res_docu2=msql_query($sql_docu2,$link_vcrx);

	$sql_docu2 ='update '.$tablad.'1 set ' ;
	$sql_docu2.='claveacc=null,' ;
	$sql_docu2.='firmafec=null,' ;
	$sql_docu2.='recepmsj=null,' ;
	$sql_docu2.='recepfec=null,' ;
	$sql_docu2.='autornum=null,' ;
	$sql_docu2.='autormsj=null,' ;
	$sql_docu2.='autorfec=null,' ;
	$sql_docu2.='emailfec=null,' ;
	$sql_docu2.='status="-"' ;
	$sql_docu2.='where idnum1="'.$idnum2.'"' ;
	$res_docu2=@msql_query($sql_docu2,$link_vcrx);

  if($docu1==$docu2)
  {
    $sql_docu2 ='update '.$tablad.'1 set ' ;
    $sql_docu2.='idfrom=null,' ;
    $sql_docu2.='mdfrom=null,' ;
    $sql_docu2.='status="-"' ;
    $sql_docu2.='where idnum1="'.$idnum2.'"' ;
    $res_docu2=msql_query($sql_docu2,$link_vcrx);
  }
  
//   if($docu1==$docu2)
  {
    $sql_docu2 ='update '.$tablad.'1 set ' ;
    $sql_docu2.='fecha=now(),' ;
    $sql_docu2.='numero="'.$cnumero.'",' ;
    $sql_docu2.='status="-" ' ;
    $sql_docu2.='where idnum1="'.$idnum2.'"' ;
    $res_docu2=msql_query($sql_docu2,$link_vcrx);
  }  

//   echo $docu1.$docu2;
     
     
  if(substr($docu2,0,2)=='FC')
  {
     $ptov=r_fiel('user',$user_codigo,'user_ptov');
       if(!empty($ptov))
       {
         $sql_docu2 ='update '.$tablad.'1 set ' ;
         $sql_docu2.='ptov="'.$ptov.'",' ;
         $sql_docu2.='status="-" ' ;
         $sql_docu2.='where idnum1="'.$idnum2.'"' ;
         $res_docu2=msql_query($sql_docu2,$link_vcrx);
       }
  }
     
  if(substr($docu2,0,2)=='FC')
  {
    if($docu1!=$docu2)
    {
      $sql_docu2 ='update '.$tablao.'1 set ' ;
      $sql_docu2.='status="F" ' ;
      $sql_docu2.='where idnum1="'.$idnum.'"' ;
      $res_docu2=msql_query($sql_docu2,$link_vcrx);
//       echo $sql_docu2;
//       if(msql_errno($link_vcrx)>0){return  '<idnum><msgerror>'.msql_error($link_vcrx).'</msgerror></idnum>';}
    }
  }
  
  
	return $idnum2;	
}


  
function clon_maes($maes,$codigo1,$codigo2)
{
	include('../_cfg/config.php');
	include('php_session.php');
  $codigo1=trim($codigo1);
  $codigo2=trim($codigo2);
  $maes=substr($maes,0,4);

	if(empty($maes)){return;}
	if(empty($codigo1)){return;}
	if(empty($codigo2)){return;}
  
  if(!mb_stristr($codigo2,$codigo1)){return;}
  
    $maes0=$maes.'0';

	$sql_docu='select * from '.$maes0.' where '.$maes.'_codigo = "'.$codigo1.'"' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);
  
  $field=$maes.'_descri';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
		
  $field=$maes.'_tipo';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
		
  $field=$maes.'_lsub';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_mrca';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_mdlo';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
//   $field=$maes.'_rfer';
//   $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
//   $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_umdd';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_cair';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_ctainve';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_kldd';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
   
  $field=$maes.'_composi';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
   
   
//   echo '<msgsistemas>';
//    echo '*/*/*/'.$sql_updt;
//   echo '</msgsistemas>';
  
  $field=$maes.'_zsub';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
		
  $field=$maes.'_matriz';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%"';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
		

  $field=$maes.'_puni';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%" and ('.$field.'=0 or '.$field.' is null)';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_iva';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%" and ('.$field.'=0 or '.$field.' is null)';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_ice';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%" and ('.$field.'=0 or '.$field.' is null)';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_irbp';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%" and ('.$field.'=0 or '.$field.' is null)';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  
  $field=$maes.'_pvp';
  $sql_updt='update '.$maes0.' set '.$field.'="'.msql_result($res_docu,0,$field).'" where '.$maes.'_codigo like "'.$codigo2.'%" and ('.$field.'=0 or '.$field.' is null)';
  $res_updt=@msql_query($sql_updt,$link_vcrx);
  

  
  
	return ;	
}

function crea_docu($docu,$ptoe="001001",$numero='',$enti='')
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($docu)){return;}
// 	if(empty($ptoe)){return;}
  
  $numero=$numero*1;
//   if($numero==0){$numero=99999;}
  
  $sql_acce ='select * from acce12 where numero = "'.$user_codigo.'" ' ;
  $sql_acce.='and docum = "'.$docu.'"' ;
  $res_acce=msql_query($sql_acce,$link_vcrx);
  
  $nuev=@msql_result($res_acce,0,'nuev');
  $full=@msql_result($res_acce,0,'full');
  
//   echo $sql_acce;
  if(mb_stristr('supe.sist',$user_tipo)){$nuev=1;}  
  if($nuev==0 and $full==0){die('<r><msgalert>NO tiene acceso para NUEVO</msgalert></r>');}  
    
  $sql_docu='select * from docu0 where docu_codigo like "'.trim($docu).'%" order by docu_codigo' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);

  $tabla=msql_result($res_docu,0,'docu_tabla');
	$autonum=msql_result($res_docu,0,'docu_autonum');
// 	$autofec=msql_result($res_docu,0,'docu_autofec');
  $idnum1='';
  
  if(mb_stristr('clie.prov.inve.prod.tfin',$tabla))
  {$autonum=1;}
  
  $sql_udocu='select * from '.$tabla.'1 where docu like "'.$docu.'%"';
  if($ptoe!='')
  {
//     if(mb_stristr('vtas.clie.carr',$tabla))
//     {$sql_udocu.=' and ptov="'.$ptoe.'"';}
//     if(mb_stristr('caja',$tabla))
//     {$sql_udocu.=' and caba="'.$ptoe.'"';}
//     if(mb_stristr('bcos',$tabla))
//     {$sql_udocu.=' and caba="'.$ptoe.'"';}
  }
  $sql_udocu.=' and iuser="'.$user_codigo.'" ';
  $sql_udocu.=' and status!="X" ';
//   $sql_udocu.=' and idnum1!='.$idnum1;
  $sql_udocu.=' order by idnum1 desc';
  $sql_udocu.=' limit 1';
	$res_udocu=msql_query($sql_udocu,$link_vcrx);

  $ptoe=@msql_result($res_udocu,0,'ptoe');
  $ptov=@msql_result($res_udocu,0,'ptov');
  $caja=@msql_result($res_udocu,0,'caja');
  $ctab=@msql_result($res_udocu,0,'ctab');
  $caba=@msql_result($res_udocu,0,'caba');
  $caba2=@msql_result($res_udocu,0,'caba2');
  $bode=@msql_result($res_udocu,0,'bode');
  
  if($ptoe==''){$ptoe='001001';}
  if($ptov==''){$ptov='V001';}
  if($caja==''){$caja='C001';}
  if($ctab==''){$ctab='B001';}
  if($caba==''){$caba='C001';}
  if($caba2==''){$caba2='C001';}
  if($bode==''){$bode='B001';}
  if($proc==''){$proc='P001';}
  
	$sql_ndocu='insert into '.$tabla.'1(docu,fecha,ptoe,numero,enti,status,idate,iuser)' ;
	$sql_ndocu.='value("'.$docu.'",now(),"001001","999999999","9999999999999","-",now(),"'.$user_codigo.'")' ;
// 	$sql_ndocu.='value("'.$docu.'",now(),"001001","","-",now(),"'.$user_codigo.'")' ;
	$res_ndocu=msql_query($sql_ndocu,$link_vcrx);
	$idnum1=msql_insert_id($link_vcrx);

  $sql_docu1='update '.$tabla.'1 set ptoe="'.$ptoe.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  $sql_docu1='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  if(mb_stristr('clie.vtas',$tabla))
  {
    $sql_docu1='update '.$tabla.'1 set ptov="'.$ptov.'" where idnum1="'.$idnum1.'"' ;
    $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }

  if(mb_stristr('inve.prod.tfin',$tabla))
  {
    $sql_docu1='update '.$tabla.'1 set bode="'.$bode.'" where idnum1="'.$idnum1.'"' ;
    $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }

  if(mb_stristr('caja',$tabla))
  {
    $sql_docu1='update '.$tabla.'1 set caja="'.$caja.'" where idnum1="'.$idnum1.'"' ;
    $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }

  if(mb_stristr('bcos',$tabla))
  {
    $sql_docu1='update '.$tabla.'1 set ctab="'.$ctab.'" where idnum1="'.$idnum1.'"' ;
    $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }

  if(mb_stristr('caja.bcos',$tabla))
  {
    $sql_docu1='update '.$tabla.'1 set caba="'.$caba.'" where idnum1="'.$idnum1.'"' ;
    $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }  

  if($autonum==1 or $numero==0)
  {
    $newnumero='';
    $newnumero=nume_docu($docu,$ptoe);
    $numero=$newnumero;
  }
    $numero=fillzero($numero);
  
   $sql_docu1='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idnum1.'"' ;
   $res_docu1=msql_query($sql_docu1,$link_vcrx);
  
	return $idnum1;	
}

function crea_docuX($docu,$ptoe='001001',$numero='',$enti='')
{
	include('../_cfg/config.php');
	include('php_session.php');
  
	if(empty($docu)){return;}
	if(empty($ptoe)){return;}

  $sql_acce ='select * from acce12 where numero = "'.$user_codigo.'" ' ;
  $sql_acce.='and docu = "'.$docu.'"' ;
  $res_acce=msql_query($sql_acce,$link_vcrx);
  
  $nuev=@msql_result($res_acce,0,'nuev');
  $full=@msql_result($res_acce,0,'full');
    
  $sql_docu='select * from docu0 where docu_codigo like "'.$docu.'%" order by docu_codigo' ;
	$res_docu=msql_query($sql_docu,$link_vcrx);

  $docu=msql_result($res_docu,0,'docu_codigo');
  $tabla=msql_result($res_docu,0,'docu_tabla');
	$autonum=msql_result($res_docu,0,'docu_autonum');
  
  $fecha1=date('Y-m-d',strtotime ('+1 month')); 
  $fecha2=date('Y-m-01',strtotime ('+1 month')); 
  $fecha2=date('Y-m-d',strtotime ($fecha2.' -1 day')); 
  $fecha2=date('Y-m-d'); 
 
  $idnum1='';
  
  if(mb_stristr('clie.prov.inve.retc.nomi.tfin',$tabla))
  {$autonum=1;}

//   if($autonum==1)
//   {$numero=nume_docu($docu,$ptoe);}    
//   echo '-'.$numero;
  
  $sql_udocu='select * from '.$tabla.'1 where docu like "'.$docu.'%"';
  if($ptoe!='')
  {
//     if(mb_stristr('vtas.clie.carr',$tabla))
//     {$sql_udocu.=' and ptov="'.$ptoe.'"';}
//     if(mb_stristr('caja',$tabla))
//     {$sql_udocu.=' and caba="'.$ptoe.'"';}
//     if(mb_stristr('bcos',$tabla))
//     {$sql_udocu.=' and caba="'.$ptoe.'"';}
  }
  $sql_udocu.=' and iuser="'.$user_codigo.'" ';
  $sql_udocu.=' and status!="X" ';
//   $sql_udocu.=' and idnum1!='.$idnum1;
  $sql_udocu.=' order by idnum1 desc';
  $sql_udocu.=' limit 1';
	$res_udocu=msql_query($sql_udocu,$link_vcrx);

  $ptoe=@msql_result($res_udocu,0,'ptoe');
  $ptov=@msql_result($res_udocu,0,'ptov');
  $caja=@msql_result($res_udocu,0,'caja');
  $ctab=@msql_result($res_udocu,0,'ctab');
  $caba=@msql_result($res_udocu,0,'caba');
  $bode=@msql_result($res_udocu,0,'bode');

  
//  	$sql_ndocu='insert into '.$tablad.'1(docu,idate)value("'.$docu2.'",now())' ;
// 	$res_ndocu=msql_query($sql_ndocu,$link_vcrx);
// 	$idnum2=msql_insert_id();
	if(strlen(trim($ptoe))!=6){$ptoe='001001';}
 
  
	$sql_ndocu='insert into '.$tabla.'1(docu,ptoe,numero,status,idate,iuser)' ;
	$sql_ndocu.='value("'.$docu.'","'.$ptoe.'","999999999","-",now(),"'.$user_codigo.'")' ;
	$res_ndocu=msql_query($sql_ndocu,$link_vcrx);
	$idnum1=msql_insert_id($link_vcrx);
//   echo '*/*/'.$idnum1;
//   echo $sql_ndocu;
//   echo msql_error($link_vcrx);

  $sql_docu1='update '.$tabla.'1 set ptoe="'.$ptoe.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  $sql_docu1='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);
//   echo $sql_docu1;
  
  $sql_docu1='update '.$tabla.'1 set fecha="'.$fecha2.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);
//   echo $sql_docu1;

  $sql_docu1='update '.$tabla.'1 set ptov="'.$ptov.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  $sql_docu1='update '.$tabla.'1 set bode="'.$bode.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  $sql_docu1='update '.$tabla.'1 set caja="'.$caja.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);
  
  $sql_docu1='update '.$tabla.'1 set ctab="'.$ctab.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);
  
  $sql_docu1='update '.$tabla.'1 set caba="'.$caba.'" where idnum1="'.$idnum1.'"' ;
  $res_docu1=msql_query($sql_docu1,$link_vcrx);

  if($autonum==1)
  {
//     $sql_docu1='update '.$tabla.'1 set numero="'.$numero.'" where idnum1="'.$idnum1.'"' ;
//     $res_docu1=msql_query($sql_docu1,$link_vcrx);
  }
	return $idnum1;	
}



function apro_docu($docu,$idnum,$iddet=0)
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($idnum)){return;}
	if(empty($docu)){return;}
	
	$tabla=strtolower(r_fiel('docu',$docu,'tabla'));
  $tabla1=$tabla.'1';
  $tabla2=$tabla.'2';
	$sql_apro='select * from '.$tabla1.' where idnum1="'.$idnum.'"';
	$res_apro=msql_query($sql_apro,$link_vcrx);
	if(msql_num_rows($res_apro)==1)
	{
		$numero=msql_result($res_apro,0,'numero');
		$msgalert='<div style="display:none;">';
		$msgalert.='<msgalert>';
    
     if(mb_stristr('-',msql_result($res_apro,0,'status')))
     {
      if($iddet==0)
      {
        $sql_apro='update '.$tabla1.' set status="A" where idnum1="'.$idnum.'"';
        $res_apro=msql_query($sql_apro,$link_vcrx);
        $sql_apro='update '.$tabla1.' set adate=now() where idnum1="'.$idnum.'"';
        $res_apro=msql_query($sql_apro,$link_vcrx);
        $sql_apro='update '.$tabla1.' set auser="'.$user_codigo.'" where idnum1="'.$idnum.'"';
        $res_apro=msql_query($sql_apro,$link_vcrx);
        $msgalert.='DOCUMENTO '.$docu.'-'.$numero.' APROBADO';
      }
      else
      {
//         $sql_apro='delete from '.$tabla2.' where idnum2="'.$idnum.'" and iddet="'.$iddet.'" limit 1';
//         $res_apro=msql_query($sql_apro,$link_vcrx);
      }  
     }
     else
     {$msgalert.='DOCUMENTO '.$docu.'-'.$numero.' NO PUEDE SER APROBADO';}
    
		$msgalert.='</msgalert>';
		$msgalert.='</div>';
		echo $msgalert;
	}
}

function anul_docu($docu,$idnum,$iddet=0)
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($idnum)){return;}
	if(empty($docu)){return;}
	
	$tabla=strtolower(r_fiel('docu',$docu,'tabla'));
  $tabla1=$tabla.'1';
  $tabla2=$tabla.'2';
	$sql_dele='select * from '.$tabla1.' where idnum1="'.$idnum.'"';
	$res_dele=msql_query($sql_dele,$link_vcrx);
	if(msql_num_rows($res_dele)==1)
	{
		$numero=msql_result($res_dele,0,'numero');
		$msgalert='<div style="display:none;">';
		$msgalert.='<msgalert>';
    
		if(!mb_stristr('RX',msql_result($res_dele,0,'status')))
		{
      if($iddet==0)
      {
        $sql_dele='update '.$tabla1.' set status="O" where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $sql_dele='update '.$tabla1.' set odate=now() where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $sql_dele='update '.$tabla1.' set ouser="'.$user_codigo.'" where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $msgalert.='DOCUMENTO '.$docu.'-'.$numero.' ANULADO';
      }
      else
      {
        $sql_dele='delete from '.$tabla2.' where idnum2="'.$idnum.'" and iddet="'.$iddet.'" limit 1';
        $res_dele=msql_query($sql_dele,$link_vcrx);
      }  
		}
		else
		{$msgalert.='DOCUMENTO '.$docu.'-'.$numero.' NO PUEDE SER ANULADO';}
    
		$msgalert.='</msgalert>';
		$msgalert.='</div>';
		echo $msgalert;
	}
}

function elim_docu($docu,$idnum,$iddet=0)
{
	include('../_cfg/config.php');
	include('php_session.php');

	if(empty($idnum)){return;}
	if(empty($docu)){return;}
	
	$tabla=strtolower(r_fiel('docu',$docu,'tabla'));
  $tabla1=$tabla.'1';
  $tabla2=$tabla.'2';
	$sql_dele='select * from '.$tabla1.' where idnum1="'.$idnum.'"';
	$res_dele=msql_query($sql_dele,$link_vcrx);
	if(msql_num_rows($res_dele)==1)
	{
		$numero=msql_result($res_dele,0,'numero');
		$msgalert='<div style="display:none;">';
		$msgalert.='<msgalert>';
    
    $elimok=1;
    if(mb_stristr('R',msql_result($res_dele,0,'status')))
    {$elimok=0; $msgalert.='DOCUMENTO '.$docu.'-'.$numero.' PROCESADO NO PUEDE SER ELIMINADO';}
    
    $autonum=@msql_result($res_dele,0,'autornum');
    if($autonum!='')
    {$elimok=0; $msgalert.='DOCUMENTO '.$docu.'-'.$numero.' AUTORIZADO NO PUEDE SER ELIMINADO';}
    
		if($elimok==1)
		{
      if($iddet==0)
      {
        $sql_dele='update '.$tabla1.' set status="X" where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $sql_dele='update '.$tabla1.' set xdate=now() where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $sql_dele='update '.$tabla1.' set xuser="'.$user_codigo.'" where idnum1="'.$idnum.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
        $msgalert.='DOCUMENTO '.$docu.'-'.$numero.' ELIMINADO';
      }
      else
      {
        $sql_dele='delete from '.$tabla2.' where idnum2="'.$idnum.'" and iddet="'.$iddet.'"';
        $res_dele=msql_query($sql_dele,$link_vcrx);
      }  
		}
    
		$msgalert.='</msgalert>';
		$msgalert.='</div>';
		echo $msgalert;
		
	}
}


function updt_userenti($enti,$overw=0)
{
	include('../_cfg/config.php');
	include('php_session.php');
	$overw=1;
  
  val_ruced($enti);

	$sql_orig ='update enti0 left join user0 on left(enti_codigo,10)=left(user_cedula,10) ';
	$sql_orig.='set enti_columna1=user_columna1 ';
	$sql_orig.='where 1=1 ';
	if($overw==0)
	{$sql_orig.='and (enti_columna1="" or enti_columna1 is null or enti_columna1 like "NUEV%" or enti_columna1 like "***%") ';}
	$sql_orig.='and enti_codigo like "'.substr($enti,0,10).'%"';

	$sql_user=str_replace('columna1','descri',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','telefono',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','celular',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','referidox',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','calle1',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','calle2',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','calle3',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','callen',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','telefono',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','wsapp',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','pais',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','ciudad',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user=str_replace('columna1','postal',$sql_orig);
	$res_user=msql_query($sql_user,$link_vcrx);
	
	$sql_user ='update enti0 set enti_direccion=concat(enti_calle1," /",enti_calle2," (",enti_callen,")")';
	$sql_user.='where 1==1 ';
	if($overw==0)
	{$sql_user.='and (enti_direccion="" or enti_direccion is null) ';}
	$sql_user.='and enti_codigo like "'.substr($enti,0,10).'%"';
	$res_user=msql_query($sql_user,$link_vcrx);
	

}




function json2xml($json)
{
    $a = json_decode($json);
    $d = new DOMDocument();
    $c = $d->createElement("root");
    $d->appendChild($c);
    $t = function($v) {
        $type = gettype($v);
        switch($type) {
            case 'integer': return 'number';
            case 'double':  return 'number';
            default: return strtolower($type);
        }
    };
    $f = function($f,$c,$a,$s=false) use ($t,$d) {
        $c->setAttribute('type', $t($a));
        if ($t($a) != 'array' && $t($a) != 'object') {
            if ($t($a) == 'boolean') {
                $c->appendChild($d->createTextNode($a?'true':'false'));
            } else {
                $c->appendChild($d->createTextNode($a));
            }
        } else {
            foreach($a as $k=>$v) {
                if ($k == '__type' && $t($a) == 'object') {
                    $c->setAttribute('__type', $v);
                } else {
                    if ($t($v) == 'object') {
                        $ch = $c->appendChild($d->createElementNS(null, $s ? 'item' : $k));
                        $f($f, $ch, $v);
                    } else if ($t($v) == 'array') {
                        $ch = $c->appendChild($d->createElementNS(null, $s ? 'item' : $k));
                        $f($f, $ch, $v, true);
                    } else {
                        $va = $d->createElementNS(null, $s ? 'item' : $k);
                        if ($t($v) == 'boolean') {
                            $va->appendChild($d->createTextNode($v?'true':'false'));
                        } else {
                            $va->appendChild($d->createTextNode($v));
                        }
                        $ch = $c->appendChild($va);
                        $ch->setAttribute('type', $t($v));
                    }
                }
            }
        }
    };
    $f($f,$c,$a,$t($a)=='array');
    return $d->saveXML($d->documentElement);
}

function xml2json($xml)
{
    $a = dom_import_simplexml(simplexml_load_string($xml));
    $t = function($v) {
        return $v->getAttribute('type');
    };
    $f = function($f,$a) use ($t) {
        $c = null;
        if ($t($a)=='null') {
            $c = null; 
        } else if ($t($a)=='boolean') {
            $b = substr(strtolower($a->textContent),0,1);
            $c = in_array($b,array('1','t'));
        } else if ($t($a)=='number') {
            $c = $a->textContent+0; 
        } else if ($t($a)=='string') {
            $c = $a->textContent;
        } else if ($t($a)=='object') {
            $c = array();
            if ($a->getAttribute('__type')) {
                $c['__type'] = $a->getAttribute('__type');
            }
            for ($i=0;$i<$a->childNodes->length;$i++) {
                $v = $a->childNodes[$i];
                $c[$v->nodeName] = $f($f,$v);
            }
            $c = (object)$c;
        } else if ($t($a)=='array') {
            $c = array();
            for ($i=0;$i<$a->childNodes->length;$i++) {
                $v = $a->childNodes[$i];
                $c[$i] = $f($f,$v);
            }
        }
        return $c;
    };
    $c = $f($f,$a);
    return json_encode($c,64);//64=JSON_UNESCAPED_SLASHES
}


function number_format2($pnumber,$pdeci)
{
  $xnumberformat=str_replace('.','.<sup>',number_format($pnumber,$pdeci)).'</sup>';
  return $xnumberformat;
}



?>


<?php

function regi_user($tipo,$email,$clave='vico1976')
{
	@include('../_cfg/config.php');
//   $val_fono=val_telefono($email);
//   if($val_fono){return '*** SI ***';}else{return '*** NO ***';}
//   return '****';
  
  $val_email=val_email($email);
// 	if(!val_email($email)){return '*** E-Mail NO VALIDO ***';}
//            echo 'AQUIIIIIIIxxx'.$val_email;
	if(!$val_email){return '*** E-Mail NO VALIDO ***';}
	
	$nickname=substr($email,0,strpos($email,'@')); 
	$domain=substr($email,strpos($email,'@')+1); 
	$pin=rand(100000,999999);

	$emailbcc='vicore@hotmail.com';
	if(mb_stristr('gmny.gnya',$cfg_empr)){$emailbcc='germanyasa2020@hotmail.com,vicore@hotmail.com,vicore1976@gmail.com';}
  
  $cfg_dcom2='vcrxol.com';
  $cfg_sopor='soporte@'.$cfg_empr.'.'.$cfg_dcom2;
  
  ini_set("SMTP","mail.".$cfg_empr.".".$cfg_dcom2);
  ini_set("smtp_port","25");
  ini_set("username","soporte@".$cfg_empr.".".$cfg_dcom2);
  ini_set("password","soportegabine");
  
	$headers = 'MIME-Version: 1.0' . "\r\n";
	$headers.= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
	$headers.= 'From: '.$cfg_dcom.' - '.$cfg_descri.' <'.$cfg_sopor.'>'. "\r\n";
	$headers.= 'Bcc:'.$emailbcc. "\r\n";
	$headers.= 'Return-Path: Soporte '.$cfg_descri.' {'.$cfg_sopor.'};';
?>

<?php	
	if($tipo=='registra' and $clave!="")
	{
		if(strlen($clave)<8){return 'Clave debe tener MINIMO 8 Caracteres';}

		$sql_regis='select * from user0 where user_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		if(msql_num_rows($res_regis)!=0){echo 'E-Mail YA CONFIRMADO'; return;}

		$sql_regis='select * from usrt0 where usrt_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		if(msql_num_rows($res_regis)!=0)
		{
			echo 'E-Mail YA REGISTRADO'; 
			regi_user('reenviar',$email);
			return;
		}
// 		else
		{
		$sql_regis='insert into usrt0(usrt_email,usrt_idate,usrt_status)value("'.$email.'",now(),"-")';
		$res_regis=msql_query($sql_regis,$link_vcrx);

		$sql_regis ='update usrt0 set ';
		$sql_regis.='usrt_descri="'.$nickname.'",';
		$sql_regis.='usrt_email="'.$email.'",';
		$sql_regis.='usrt_nickname="'.$nickname.'",';
		$sql_regis.='usrt_pin="'.$pin.'",';
		$sql_regis.='usrt_clave=md5("'.$clave.'"),';
		$sql_regis.='usrt_tipo="invi",';
		$sql_regis.='usrt_idate=now(),';
		$sql_regis.='usrt_status=usrt_status ';
		$sql_regis.='where usrt_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		}
?>
		<?php //$subject='Registro de Usuario en '.$cfg_descri; ?>
		<?php $subject='Registro de Usuario en '.$cfg_descri.' - '.$cfg_empr; ?>
		<?php ob_start() ?>
		<html>
		<head>
				<title><?php echo  'Registro de Usuario en '.$cfg_descri; ?></title>
		</head>
		<div>
			<?php echo 'Registro de Usuario en '.$cfg_descri; ?>
		</div>
		<hr>
		<div>
			<?php echo 'Usted se ha registrado en nuestro sistema, para activar su registro de click en el siguiente enlace :';?>
			<br>
			<a href="<?php echo 'https://'.$cfg_empr;?>.vcrxol.com?regis=confirma&email=<?php echo $email;?>&codigo=<?php echo $pin; ?>">
			<?php echo 'CODIGO DE CONFIRMACION '.$pin; ?>
			</a>
		</div>
		<br>
		<div>
			<?php echo 'Si el enlace no funciona, copie y pegue el siguiente enlace en su navegador:';?>
			<br>
			<?php //echo $cfg_empr.'.vcrxol.com?regis=confirma&email='.$email.'&codigo='.$pin; ?>
			<?php echo 'https://'.$cfg_empr.'.vcrxol.com?regis=confirma&email='.$email.'&codigo='.$pin; ?>
		</div>
		<br>
		<br>
		<div>
			<?php echo 'Si usted no ha solicitado este registro, ignore este mensaje';?>
		</div>
		<div>
			<?php echo 'Fecha : '.date('d/M/Y - H:i:s',strtotime('now'));?>
		</div>
		</html>
		<?php $docuhtml = ob_get_clean(); ?>
		<?php $docuhtml=alltrim($docuhtml); ?>
		<?php $mailok=mail($email,$subject,$docuhtml,$headers); ?>
<?php		
	}
?>

<?php
	if($tipo=='reenviar')
	{
// 		if(strlen($clave)<8){return 'Clave debe tener MINIMO 8 Caracteres';}

		$sql_regis='select * from user0 where user_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		if(msql_num_rows($res_regis)!=0){echo 'E-Mail YA CONFIRMADO'; return;}

		$sql_regis='select * from usrt0 where usrt_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		if(msql_num_rows($res_regis)!=0)
		{
			$usrt_codigo=msql_result($res_regis,0,'usrt_codigo');
     	$pin=rand(100000,999999);
    
  		$sql_regis='update usrt0 set usrt_pin="'.$pin.'" where usrt_email="'.$email.'"';
	  	$res_regis=msql_query($sql_regis,$link_vcrx);
		}
?>
		<?php $subject='Solicitud de Código de Confirmación'.$cfg_descri; ?>
		<?php ob_start() ?>
		<html>
		<head>
				<title><?php echo  'Solicitud de Código de Confirmación de Usuario en '.$cfg_descri; ?></title>
		</head>
		<div>
			<?php echo 'Solicitud de Codigo en '.$cfg_descri; ?>
		</div>
		<hr>
		<div>
			<?php echo 'Usted ha solicitado el código de confirmación, para activar su registro de click en el siguiente enlace :';?>
			<br>
			<a href="<?php echo 'https://'.$cfg_empr;?>.vcrxol.com?regis=confirma&email=<?php echo $email;?>&codigo=<?php echo $pin; ?>">
			<?php echo 'CODIGO DE CONFIRMACION '.$pin; ?>
			</a>
		</div>
		<br>
		<div>
			<?php echo 'Si el enlace no funciona, copie y pegue el siguiente enlace en su navegador:';?>
			<br>
			<?php //echo $cfg_empr.'.vcrxol.com?regis=confirma&email='.$email.'&codigo='.$pin; ?>
			<?php echo 'https://'.$cfg_empr.'.vcrxol.com?regis=confirma&email='.$email.'&codigo='.$pin; ?>
		</div>
		<br>
		<br>
		<div>
			<?php echo 'Si ustde no ha solicitado este registro, ignore este mensaje';?>
		</div>
		<div>
			<?php echo 'Fecha : '.date('d/M/Y - H:i:s',strtotime('now'));?>
		</div>
		</html>
		<?php $docuhtml = ob_get_clean(); ?>
		<?php $docuhtml=alltrim($docuhtml); ?>
		<?php $mailok=mail($email,$subject,$docuhtml,$headers); ?>
<?php		
	}
?>

<?php	
	if($tipo=='confirma' and $clave!="")
	{
		$sql_regis='select * from user0 where user_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
    $user_pin=@msql_result($res_regis,0,'user_pin');
		if(msql_num_rows($res_regis)!=0)
		{
			if($clave==$user_pin)
			{
				$sql_confi ='update user0 set ';
				$sql_confi.='user_clave=user_clave2,';
				$sql_confi.='user_pin="",';
				$sql_confi.='user_status=user_status ';
				$sql_confi.='where user_email="'.$email.'"';
				$res_confi=msql_query($sql_confi,$link_vcrx);
				echo '<a href="/?usuario='.$email.'">';
        echo '<aceptada>';
				echo 'Cambio de Clave ACEPTADA';
        echo '</aceptada>';
				echo '</a>';
				
		?>
		<?php $subject='Cambio de Clave ACEPTADA en '.$cfg_descri; ?>
		<?php ob_start() ?>
		<html>
		<head>
				<title><?php echo  'Cambio de Clave ACEPTADA en '.$cfg_descri; ?></title>
		</head>
		<div>
			<?php echo 'Cambio de Clave ACEPTADA en '.$cfg_descri; ?>
		</div>
			<hr>
		<div>
			<?php echo 'Usted ha cambiado la clave en nuestro sistema.';?>
			<br>
			</a>
		</div>
			<br>
		<div>
			<?php echo 'Fecha : '.date('d/M/Y - H:i:s',strtotime('now'));?>
		</div>
		</html>
		<?php $docuhtml = ob_get_clean(); ?>
		<?php $docuhtml=alltrim($docuhtml); ?>
<?php		$mailok=mail($email,$subject,$docuhtml,$headers); ?>
<?php
			}
			else
			{
        if($user_pin!='')
        {echo '<msgalert>Código de Confirmación INCORRECTO.</msgalert>';}
				return;
			}
		}
		else
		{
			$sql_regis='select * from usrt0 where usrt_email="'.$email.'"';
			$res_regis=msql_query($sql_regis,$link_vcrx);

			if(msql_num_rows($res_regis)==0){echo  'E-Mail NO REGISTRADO'; return;}
			if($clave!=msql_result($res_regis,0,'usrt_pin')){echo 'Código de Confirmación INCORRECTO';return;}
	
			if($clave==msql_result($res_regis,0,'usrt_pin'))
			{
				// confirmando
				$sql_confi='insert into user0(user_email)value("'.$email.'")';
				$res_confi=msql_query($sql_confi,$link_vcrx);
				
				$sql_confi ='update user0 set ';
				$sql_confi.='user_descri="'.$nickname.'",';
				$sql_confi.='user_nickname="'.$nickname.'",';
				$sql_confi.='user_clave="'.msql_result($res_regis,0,'usrt_clave').'",';
				$sql_confi.='user_pin="",';
				$sql_confi.='user_idate=now(),';
				$sql_confi.='user_tipo="invi",';
				$sql_confi.='user_status=user_status ';
				$sql_confi.='where user_email="'.$email.'"';
				$res_confi=msql_query($sql_confi,$link_vcrx);

				$sql_confi ='update usrt0 set ';
				$sql_confi.='usrt_pin="",';
				$sql_confi.='usrt_status=usrt_status ';
				$sql_confi.='where usrt_email="'.$email.'"';
				$res_confi=msql_query($sql_confi,$link_vcrx);
        
        $sql_user='select * from user0 where user_email="'.$email.'"';
        $res_user=msql_query($sql_user,$link_vcrx);
        
        $_SESSION['user_codigo']=msql_result($res_user,0,'user_codigo');
        $_SESSION['user_descri']=msql_result($res_user,0,'user_descri');
        $_SESSION['user_email']=msql_result($res_user,0,'user_email');

				echo '<a href="/?usuario='.$email.'">';
				echo '<confirmado>';
				echo 'Registro de '.$email.' CONFIRMADO';
        echo '</confirmado>';
				echo '</a>';
				return;
			}
		}
	}
?>

<?php
	if($tipo=='restaura' and $clave!="")
	{
		if(strlen($clave)<8){return 'Clave debe tener MINIMO 8 Caracteres';}

		$sql_regis='select * from user0 where user_email="'.$email.'"';
		$res_regis=msql_query($sql_regis,$link_vcrx);
		if(msql_num_rows($res_regis)==0){ echo 'E-Mail NO CONFIRMADO'; return;}
		else
		{
			{
				$sql_regis ='update user0 set ';
				$sql_regis.='user_clave2=md5("'.$clave.'"),';
				$sql_regis.='user_pin="'.$pin.'",';
				$sql_regis.='user_status=user_status ';
				$sql_regis.='where user_email="'.$email.'"';
				$res_regis=msql_query($sql_regis,$link_vcrx);
			?>
		<?php $subject='Solicitud de Cambio de Clave en '.$cfg_descri; ?>
		<?php ob_start() ?>
		<html>
		<head>
				<title><?php echo  'Solicitud de Cambio de Clave en '.$cfg_descri; ?></title>
		</head>
		<div>
			<?php echo 'Solicitud de Cambio de clave en '.$cfg_descri; ?>
		</div>
		<hr>
		<div>
			<?php echo 'Usted ha solicitado un Cambio de Clave en nuestro sistema, para activar su nueva clave de click en el siguiente enlace :';?>
		<br>
			<a href="<?php echo 'https://'.$cfg_empr;?>.vcrxol.com?regis=confirma&email=<?php echo $email;?>&codigo=<?php echo $pin; ?>">
			<?php echo 'CODIGO DE CONFIRMACION '.$pin; ?>
			</a>
		</div>
		<br>
		<div>
			<?php echo 'Si el enlace no funciona, copie y pegue el siguiente enlace en su navegador:';?>
		<br>
			<?php echo $cfg_empr.'.vcrxol.com?regis=confirma&email='.$email.'&codigo='.$pin; ?>
		</div>
		<br>
		<br>
		<div>
			<?php echo 'Si ustde NO ha solicitado cambio de clave, IGNORE este mensaje';?>
		</div>
		<div>
			<?php echo 'Fecha : '.date('d/M/Y - H:i:s',strtotime('now'));?>
		</div>
		</html>
		<?php $docuhtml = ob_get_clean(); ?>
		<?php $docuhtml=alltrim($docuhtml); ?>
		<?php $mailok=mail($email,$subject,$docuhtml,$headers); ?>
<?php
			}
		}
?>
<?php		
	}
?>


<?php
	if($clave!="")
	{
		if($mailok)
		{
			echo '<div style="display:none;">';
			echo '<msgalert>';
			echo 'SE HA ENVIADO UN MAIL DE CONFIRMACION A : '.$email;
			echo "\n".'</msgalert>';
			echo '<br>';
			echo '<domain>';
			echo 'http://'.$domain;
			echo '</domain>';
			echo '</div>';
		}
		else
		{
			echo '<div style="display:none;">';
			echo '<msgalert>';
			echo 'ERROR AL ENVIAR CONFIRMACION A: '.$email;
			echo "\n".'</msgalert>';
			echo '</div>';
		}
	}
?>

<?php } ?>

<?php
function Xzipride1($xanio,$xmes)
{
?>
<?php ob_start(); ?>
<?php
// 	$_SESSION['user_vcrx_empr']
// header('Content-disposition: attachment; filename=ATS_'.$xanio.$xmes.'.xml');//nombre del archivo
header('Content-disposition: attachment; filename=RIDE_'.$xanio.$xmes.'_'.$_SESSION['user_vcrx_empr'].'.zip');//nombre del archivo
header ("Content-Type:text/xml"); 
?>
<?php
// require('../cfg/res.php');
include('../_cfg/config.php');
//$r_compes=msql_query($xml_sql,$link_vcrx);
/// correcciones a usuarios	
// $sql_info='update vtas1 set fpag="02" where fpag is null or fpag=""';

echo 'Prueba';  
  
?>

<?php $obstart = ob_get_clean(); ?>
<?php $obstart=alltrim($obstart); ?>
<?php echo $obstart; ?>
<?php } ?>





<?php
/* primero creamos la función que hace la magia
 * esta funcion recorre carpetas y subcarpetas
 * añadiendo todo archivo que encuentre a su paso
 * recibe el directorio y el zip a utilizar 
 */
function agregar_zip($dir, $zip) {
	include('php_session.php');
  //verificamos si $dir es un directorio
  if (is_dir($dir)) {
    //abrimos el directorio y lo asignamos a $da
    if ($da = opendir($dir)) {
      //leemos del directorio hasta que termine
      while (($archivo = readdir($da)) !== false) {
        /*Si es un directorio imprimimos la ruta
         * y llamamos recursivamente esta función
         * para que verifique dentro del nuevo directorio
         * por mas directorios o archivos
         */
        if (is_dir($dir . $archivo) && $archivo != "." && $archivo != "..") {
          echo "<strong>Creando directorio: $dir$archivo</strong><br/>";
          agregar_zip($dir . $archivo . "/", $zip);

          /*si encuentra un archivo imprimimos la ruta donde se encuentra
           * y agregamos el archivo al zip junto con su ruta 
           */
        } elseif (is_file($dir . $archivo) && $archivo != "." && $archivo != "..") {
          echo "Agregando archivo: $dir$archivo <br/>";
          $zip->addFile($dir . $archivo, $dir . $archivo);
        }
      }
      //cerramos el directorio abierto en el momento
      closedir($da);
    }
  }
}
//fin de la función


?>

<?php

function zipride1($anio,$mes)
{
	include('php_session.php');
//creamos una instancia de ZipArchive
$zip = new ZipArchive();

/*directorio a comprimir
 * la barra inclinada al final es importante
 * la ruta debe ser relativa no absoluta
 */
// $dir = 'fuente/';
$dir=$rutaride.$anio.'-'.$mes.'/';  

//ruta donde guardar los archivos zip, ya debe existir
// $rutaFinal = "archivos";
$rutaFinal = $rutaride;

// echo '*/*/*'.$rutaFinal;  
if(!file_exists($rutaFinal)){mkdir($rutaFinal);}

// $archivoZip = "kiuvox.zip";
$archivoZip = $cfg_empr.'-'.$anio.'-'.$mes.'.zip';

if ($zip->open($archivoZip, ZIPARCHIVE::CREATE) === true) {
  agregar_zip($dir, $zip);
  $zip->close();

  //Muevo el archivo a una ruta
  //donde no se mezcle los zip con los demas archivos
  rename($archivoZip, "$rutaFinal/$archivoZip");
//   rename($archivoZip, "$rutaFinal.$archivoZip");

  //Hasta aqui el archivo zip ya esta creado
  //Verifico si el archivo ha sido creado
  if (file_exists($rutaFinal. "/" . $archivoZip)) {
    echo "Proceso Finalizado!! <br/><br/>
                Descargar: <a href='$rutaFinal/$archivoZip'>$archivoZip</a>";
  } else {
    echo "Error, archivo zip no ha sido creado!!";
  }
}
  
}  
?>


<?php
function format_claveacc($pclave)
{
  if(strlen($pclave)<49){return ;}
  $clavef='';
  $clavef.=substr($pclave,0,8).'.';
  $clavef.=substr($pclave,9,1).'.';
  $clavef.=substr($pclave,10,13).'.';
  $clavef.=substr($pclave,23,1).'. ';
  $clavef.=substr($pclave,24,6).'.';
  $clavef.=substr($pclave,30,9).'.';
  $clavef.=substr($pclave,39,8).'.';
  $clavef.=substr($pclave,47,2).'';
  return $clavef;
}

function gen_axu1($user='')
{
  
  	include('../_cfg/config.php');
    
// 		set_docu("AXU2","TRAN","acce","ACCESO X USUARIO");
	  $colafter=vrsetcolu('acce1','user','int(5)',$colafter,'');
		$colafter=vrsetcolu('acce2','crea','varchar(1)','','');

    $sql_user='select * from user0 where user_tipo in("sist","supe","admi","oper") order by user_codigo';
    $res_user=msql_query($sql_user,$link_vcrx);
  
  	while ($aso_user=msql_fetch_assoc($res_user))
		{gen_axu2($aso_user['user_codigo']);}

    $sql_user='update acce1 set fecha=now(),numero=idnum1,ptoe="001001"';
    $res_user=msql_query($sql_user,$link_vcrx);

    $sql_user='update acce1,user0 set acce1.status="-" where idnum1=user_codigo and user_tipo in("sist","supe","admi","oper")';
    $res_user=msql_query($sql_user,$link_vcrx);

    $sql_user='update acce1,user0 set acce1.status="X" where idnum1=user_codigo and user_tipo not in("sist","supe","admi","oper")';
    $res_user=msql_query($sql_user,$link_vcrx);

}

function gen_axu2($user='')
{
  	include('../_cfg/config.php');
    $docu='AXU1';
  
    $sql_acce='insert into acce1(idnum1) value('.$user.')';
    $res_acce=msql_query($sql_acce,$link_vcrx);
  
    $sql_acce='update acce1,user0 set docu="'.$docu.'", enti=user_cedula where idnum1=user_codigo';
    $res_acce=msql_query($sql_acce,$link_vcrx);

    $sql_docu='select * from docu0 where docu_tabla!="" and docu_tabla is not null order by docu_tipo,docu_tabla,docu_codigo';
    $res_docu=msql_query($sql_docu,$link_vcrx);
  
  	while ($aso_docu=msql_fetch_assoc($res_docu))
		{
      $docum=$aso_docu['docu_codigo'];
      $sql_acc2='select * from acce2 where idnum2='.$user.' and docum="'.$docum.'"';
      $res_acc2=msql_query($sql_acc2,$link_vcrx);
      if(msql_num_rows($res_acc2)==0)
      {
        $iddet=get_iddet($docu,$user);
        $sql_doci='insert into acce2(idnum2,iddet,docum) value("'.$user.'","'.$iddet.'","'.$docum.'")';
        $res_doci=msql_query($sql_doci,$link_vcrx);
      }
      
    }

  

}


function split_words($pstring,$plength=50,$pchar='<br>')
{
//   if($plength==0){$plength=50;}
//   return $pstring;
  
  if(mb_stristr($pstring,'href=')){return $pstring;}
  $splitresult='';
  $cstring=$plength;
  $control=0;
  do
  {
    $pstring=trim($pstring);
    if($cstring<=0){break;}
    if(strlen($pstring)<=$plength){$splitresult.=$pstring; break;}
    
//     echo '   *'.strlen($pstring).'/'.$plength.'-'.(substr($pstring,0,$plength+1));
    if(mb_stristr(substr($pstring,0,$plength+1),' '))
    {
      if(substr($pstring,$cstring,1)==' ')
      {
        $splitresult.=substr($pstring,0,$cstring).$pchar;
        $pstring=substr($pstring,$cstring-0,9999);
        $cstring=$plength;
      }
      $cstring--;
    }
    else
    {
        $splitresult.=substr($pstring,0,$plength).$pchar;
        $pstring=substr($pstring,$plength,9999);
    }
  }
  while (true);
  
  return $splitresult;  
}


function strposX($haystack, $needle, $number)
{
  if($number == '1')
  {return strpos($haystack, $needle);}
  elseif($number > '1')
  {return strpos($haystack, $needle, strposX($haystack, $needle, $number - 1) + strlen($needle));}
  else{return 0;}
}


function remove_href($pstring)
{
  $longi=strlen($pstring);
  
  if($longi>999999){return $pstring;}
  
  $rstring0=$pstring;
  $rstring4=$pstring;
  
  $ccc= substr_count($pstring,'</a>');
  for($cont=0;$cont<$ccc;$cont++)
  {
    $rstring1=$rstring4;
    $rstring2=$rstring4;
    $rstring3=$rstring4;
    
    $rstring1=substr($rstring1,0,strpos($rstring1,'<a '));
    
    $rstring2=substr($rstring2,strpos($rstring2,'<a '),$longi);
    $rstring2=substr($rstring2,strpos($rstring2,'>')+1,$longi);
    $rstring2=substr($rstring2,0,strpos($rstring2,'</a>'));
    
    $rstring3=substr($rstring3,strpos($rstring3,'</a>')+4,$longi);
    
    $rstring4=$rstring1.' '.$rstring2.' '.$rstring3;
  }
  return $rstring4;
}

}
  

function my_file_get_contents($url)
{
     
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, $url);
     curl_setopt($ch, CURLOPT_REFERER, '');
     curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)");
     curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
     curl_setopt($ch, CURLOPT_MAXREDIRS,3);
     curl_setopt($ch,CURLOPT_VERBOSE,0);   // me informará (si esta en cero) de todos los errores que halla curl
     curl_setopt($ch,CURLOPT_FOLLOWLOCATION,3);
     // curl_setopt($ch, CURLOPT_POST, 1);
     // curl_setopt($ch, CURLOPT_POSTFIELDS,"empr=".$cfg_empr."&codigo=".$codigo."");
     $content = curl_exec ($ch);
//      curl_close ($ch);

//      echo '<br>';
//      echo $url;
//      echo '<br>';
//      echo curl_errno($ch);
//      echo '<br>';
//      $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
//      echo $httpCode;
//      echo '<br>';
//      var_dump($content);
     return $content;
}



?>