<?php
	$P_C="CboEmp";	
	////////////////////////////////////////
	$HASH="";
	$UbiCod="";
	$UbiPai=V($_POST['UbiPai']);
	$UbiDep=V($_POST['UbiDep']);
	$UbiPro=V($_POST['UbiPro']);
	$UbiDis=V($_POST['UbiDis']);
	//++++
	$StrDATA=V($_POST['TxtDAT']);
	$StrId=V($_POST['TxtId']);
	$StrCmd=V($_POST['TxtAc']);
	//
	if(strlen($StrCmd)==0){
		$StrCmd=V($_GET['TxtAc']);
		if($StrCmd=="X")$StrCmd="C";		
	}
	$DR=vbval(V($_POST['TxtDR']));
	$StrMod=V($_POST['CboMod']);
	$StrGIA=V($_POST['TxtGIA']);
	//
	$DR_NOM=V($_POST['DR_NOM']);
	$DR_PRI=vbval(V($_POST['DR_PRI']));
	$DR_DES=vbval(V($_POST['DR_DES']));
	//
	$PRO_PRI=0;
	$PRO_DES=0;	
	//
	$StrPD=vbval(V($_POST['TxtPD']));
	if($StrPD==0){
		$StrPD=vbval(gs("valor","valores","dato='P_DESCUENTO'"));
	}
	//
	$Str_PRI=vbval(V($_POST['Ch_PRI']));
	$Str_DES=vbval(V($_POST['Ch_DES']));
	$Str_VER="";
	if(V($_GET['TxtAc'])=="X"){
		$Str_APP=1;
	}else{
		$Str_APP=vbval(V($_POST['Ch_APP']));	
	}	
	//	
	$StrZto=V($_POST['CboZto']);
	$StrZto_=gn("ID_ALM","z_vis_emp_alm","CONCAT(EMP_NC,' - ',ALM_NC)='$StrZto'");
	$StrSto_="0";
	//
	$StrEmpR=V($_POST['CboEmpR']);
	$StrTempA=V($_POST['CboTemp']);
	$StrTempB=V($_POST['TxtTemp']);
	$StrTempA_=0;
	$ID_TEMP=0;
	$TEMP_SER=0;
	$TEMP_NUM=0;
	$StrEmp=V($_POST['CboEmp']);
	$StrAlm=V($_POST['CboAlm']);
	//
	if($PRO_ID_ALM==0){
		if(strlen($StrEmp)==0)$StrEmp=GE("N");
		if(strlen($StrAlm)==0)$StrAlm=GA($StrEmp,"N");	
	}else{
		$StrEmp=gs("ENC","vis_almacenes","IDA=$PRO_ID_ALM");
		$StrAlm=gs("ANC","vis_almacenes","IDA=$PRO_ID_ALM");
	}
	//
	$StrFec=V($_POST['TxtFec']);
	$StrCom=V($_POST['CboCom']);
	$StrSer=V($_POST['TxtSer']);
	$StrNum=V($_POST['TxtNum']);
	$StrMon=V($_POST['CboMon']);	
	$StrRuc=V($_POST['TxtRuc']);
	$StrDni=V($_POST['TxtDni']);
	$SUN_TIP_DOC=V($_POST['SUN_TIP_DOC']);
	$StrEma=V($_POST['TxtEma']);
	$StrFven=V($_POST['TxtFven']);
	$StrTdp=V($_POST['CboTdp']);
	//
	if(strlen($StrTdp)==0)$StrTdp="CONTADO";	
	$StrAcu=V($_POST['TxtACuenta']);
	$StrMon=V($_POST['CboMon']);
	$StrVue=V($_POST['TxtVuelto']);
	//
	if($StrTdp=="DEPOSITO" || $StrTdp=="TARJETA" || $StrTdp=="CREDITO"){
		$StrMon="SOLES";
	}else{
		if(strlen($StrMon)==0){
			$StrMon="SOLES";
		}
	}
	$StrN_INC=vbval(V($_POST['ChN_INC']));
	$StrN_AUTO=vbval(V($_POST['ChN_AUTO']));
	$StrCliente=V($_POST['TxtCliente']);
	$StrDIR=V($_POST['TxtDIR']);
	$StrRuc=V($_POST['TxtRuc']);
	$StrIdCliente=V($_POST['TxtIdCliente']);
	//
	$StrPro_ID=vbval(V($_POST['Pro_TxtId']));
	$StrPro_Des=V($_POST['Pro_TxtDes']);
	$StrPro_Pre=V($_POST['Pro_TxtPre']);
	$StrPro_PreM=V($_POST['Pro_TxtPreM']);
	$StrPro_Cod=V($_POST['Pro_TxtCod']);
	$StrPro_Mar=V($_POST['Pro_TxtMarca']);
	$StrIdCliente=vbval(V($_POST['TxtIdCliente']));
	$StrPro_PR=vbval(V($_POST['TxtPre']));
	$StrPro_CA=vbval(V($_POST['TxtCant']));	
	//
	$T_ST=V($_POST['T_ST']);
	$T_IG=V($_POST['T_IG']);
	$T_TO=V($_POST['T_TO']);
	//
	if(strlen($StrFec)==0)$StrFec=date("d-m-y");
	//++++
	$StrCod=V($_POST['TxtCod']);
	$StrDes=V($_POST['TxtDes']);
	$StrMARCA=V($_POST['TxtMarca']);
	$StrPre=vbval(V($_POST['TxtPre']));
	$StrCant=vbval(V($_POST['TxtCant']));
	$StrImp=vbval(V($_POST['TxtImp']));
	$StrCUni=vbval(V($_POST['TxtCUni']));
	//+++
	$StrTC=gs("valor","valores","dato='T_CAMBIO'");
	//
	//ACTIVAR DESDE OTRA PAGINA
	if(strlen($StrId)==0){
		$StrId=V($_GET['Id']);
		if(is_numeric($StrId)==false){
			$StrId="";
		}else{
			$StrCmd="AR";
			$LStrPag=V($_GET['Pag']);
			if(!is_numeric($LStrPag)){
				$LStrPag="";
			}
		}
	}
	//FUNCIONES DE DESZPLAZAMIENTO+++++
	if(strlen($LStrPag)==0)$LStrPag="0";
	if($StrCmd=="MSig")$LStrPag=($LStrPag+1);
	if($StrCmd=="MAnt")$LStrPag=($LStrPag-1);
	if($StrCmd=="MPri")$LStrPag=0;
	if($StrCmd=="MUlt")$LStrPag=(floor($LStrTR / $VP_RegXPag) );
	//
	include("ventas_ar_load.php");
	//
	if($StrCmd=="KCH"){
		$DAT = explode(',',$StrDATA);
		$i=0;
		for($i=0;$i<count($DAT);$i++){
			$STR_INDEX=vbval($DAT[$i]);
			ejt("DELETE FROM temp_compras WHERE 
				temc_index=$STR_INDEX AND cod_temc='$StrHWND_V'");
		}		
		$LStrFoc="document.getElementById('TxtCod').focus();";						
		$StrGT="S";	
		$StrVuelto="0.0";
		$StrPagarCon="0";		
	}
	//
	function ELIMINAR_VENTA($StrId){
		$E_VEN_DESC=gn("ven_desc","ventas","id_venta=$StrId");
		$E_PRO_ID=gn("ven_id_ven","ventas","id_venta=$StrId");
		$StrTempA=gs("VEN_COM_REF","vventas","ID=$StrId");
		$StrAlm_=gn("ven_id_alm","ventas","id_venta=$StrId");		
		if($E_VEN_DESC==1){
			$s="SELECT id_producto,ca,can_uni FROM ventas_det WHERE id_venta=$StrId";
			$result = grs($s);			
			while ($row = $result->fetch_row()){
				$E_ID=$row[0];
				$E_CA=$row[1];
				$E_CU=$row[2];
				STOCK_ADD($StrAlm_,$E_ID,$E_CA*$E_CU);
				ZTOCK_ADD($StrAlm_,$E_ID,$E_CA,$E_CU);	
			}
		}
		if(vbval($E_PRO_ID)>0){
			$s="SELECT id_producto,ca,can_uni FROM ventas_det WHERE id_venta=$StrId";
			$result = grs($s);			
			while ($row = $result->fetch_row()){
				$E_ID=$row[0];
				$E_CA=$row[1];
				$E_CU=$row[2];
				if($StrTempA=="PROFORMA"){
					ejt("UPDATE cotizaciones_det ".
						"SET ve_control=ve_control + $E_CA ".
						"WHERE id_cotizacion=$E_PRO_ID AND ".
						"id_producto=$E_ID AND can_uni=$E_CU");
				}
				if($StrTempA=="CONTENEDOR"){
					ejt("UPDATE compras_det ".
						"SET cv=cv - $E_CA ".
						"WHERE id_compra=$E_PRO_ID AND ".
						"id_producto=$E_ID AND can_uni=$E_CU");
				}
			}			
		}
	}
	//
	if($StrCmd=="CUO_ADD"){
		$CUO_TOT=vbval(V($_POST['CuoTot']));
		$CUO_FEC=V($_POST['CuoFec']);
		$CUO_FEC_=ToDate($CUO_FEC);
		$CUO_KOD=GenId("cx","ventas_cuotas_t");
		$s="INSERT INTO ventas_cuotas_t VALUES ($CUO_KOD,'$StrHWND_V',$CUO_TOT,'$CUO_FEC_')";
		ejt($s);
	}
	//
	if($StrCmd=="CUO_KIL"){
		$CUO_KOD=vbval(V($_POST['CuoKOD']));
		$s="DELETE FROM ventas_cuotas_t WHERE cx=".$CUO_KOD;
		ejt($s);
	}
	//
	if($StrCmd=="M" && strlen($StrGT)==0){
		if(VEN_V_MEA($StrId)!="OK"){
			$LStrMsg="El presente registro esta relacionado por lo ".
			         "tanto NO SE PUEDE ELIMINAR";
			$LStrFoc="document.getElementById('TxtFec').focus();";						
			$StrGT="S";	
		}else{	
			$LStrMsg="";
			if(strlen($StrIdCliente)==0) $StrIdCliente="0";
			if (is_numeric($StrIdCliente)==false) $StrIdCliente="0";
			ELIMINAR_VENTA($StrId);
			$MOD_REF_KOD=gn("ven_id_ven","ventas","id_venta=$StrId");
			$MOD_REF_COM=gs("VEN_COM_REF","vventas","ID=$StrId");
			//
			$qqq=ejt("DELETE FROM ventas WHERE id_venta=$StrId");
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$qqq;
			$_BIT_SQL_DET="";
			$_BIT_PHP="ventas.php";
			$_BIT_ID=BIT_ADD("VENTAS","VENTAS","MODIFICAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$qqq);
			//BIT	
			$qqq=ejt("DELETE FROM ventas_det WHERE id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$qqq=ejt("DELETE FROM ventas_cuotas WHERE id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			if($MOD_REF_COM=="PROFORMA"){				
				FxCOT_PARSE_CANTIDADES($MOD_REF_KOD);
			}
			//		
			$LStrMsg="Los datos han sido modificados";
			$StrGT="";
			$StrCmd="G";
		}
	}
	//
	if(($StrCmd=="G" || $StrCmd=="M") && strlen($StrGT)==0){
		$StrAde=0;
		$StrPagarCon=0;
		$UbiCod=gs("UBIGEO","lista_ubigeo",
				   "DEP='$UbiDep' AND PROV='$UbiPro' AND DIS='$UbiDis'");
		//echo "OK";
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		//
		$ID_TEMP=0;
		if(strlen($StrTempA)>0 && strlen($StrTempB)>0){
			$StrEmpR_=gn("id_emp","empresas","emp_nomc='$StrEmpR'");
			SER_NUM_EX($StrTempB,$TEMP_SER,$TEMP_NUM);			
			if($StrTempA=="PROFORMA"){
				$StrTempA_=gn("id_comprobante","comprobantes","com_nombre='$StrTempA'");
				$ID_TEMP=gn("ID","z_vis_cotizaciones",
							"ISER=$TEMP_SER AND INUM=$TEMP_NUM AND ID_EMP=$StrEmpR_");
				if($ID_TEMP==0){
					$LStrMsg="Serie/Numero de proforma no registrada";
					$LStrFoc="document.getElementById('TxtTemp').focus();";	
					$StrGT="S";
				}
				if(strlen($StrGT)==0){
					if(gs("anu","cotizaciones","id_cotizacion=$ID_TEMP")=="S"){
						$LStrMsg="Proforma, serie/numero anulado";
						$LStrFoc="document.getElementById('TxtTemp').focus();";						
						$StrGT="S";							
					}
				}				
			}
			if($StrTempA=="CONTENEDOR"){
				$StrTempA_=gn("id_comprobante","comprobantes","com_nombre='$StrTempA'");
				$ID_TEMP=VEN_GET_ID_REF($StrTempA,$TEMP_SER,$TEMP_NUM,$StrEmpR_);
				if($ID_TEMP==0){
					$LStrMsg="Serie/Numero de contenedor no registrado";
					$LStrFoc="document.getElementById('TxtTemp').focus();";	
					$StrGT="S";
				}
				if(strlen($StrGT)==0){
					if(gs("anulado","compras","id_compra=$ID_TEMP")=="S"){
						$LStrMsg="Contenedor serie/numero anulado";
						$LStrFoc="document.getElementById('TxtTemp').focus();";						
						$StrGT="S";							
					}
				}
			}
			
		}
		//+++
		//echo "OK";
		if($StrN_AUTO=="1"){
			//VENTAS_GEN_SER_NUM_MAX($StrAlm_,$StrCom_,$StrSer,$StrNum);	
			VENTAS_GEN_SER_NUM_22($StrAlm_,$StrCom_,$StrSer,$StrNum);		
		}
		//echo "OK";
		//+++
		$StrTar_=0;
		$StrBan_=0;		
		//
		$StrEmp_=gn("id_emp","empresas","emp_nomc='$StrEmp'");
		$StrFec_=ToDate($StrFec);
		$iStrSer=vbval($StrSer);
		$iStrNum=vbval($StrNum);		
		if(gn("count(*)","z_vis_ventas","ISER=$iStrSer AND INUM=$iStrNum 
				AND ID_EMP=$StrEmp_ AND ID_COM=$StrCom_")>0){
			$LStrMsg="Empresa, comprobante, serie y numero ya registrados";
			$LStrFoc="document.getElementById('TxtSer').focus();";	
			$StrGT="S";
		}
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		if($StrTempA=="PROFORMA"){
			$PRO_PRI=vbval(gs("cot_pri","cotizaciones","id_cotizacion=$ID_TEMP"));
			$PRO_DES=vbval(gs("cot_des","cotizaciones","id_cotizacion=$ID_TEMP"));
			if(vbval($PRO_PRI)==1 && $Str_PRI==1){
				$LStrMsg="El presente registro no puede ser principal, ".
						 "la proforma en referencia es el registro principal";
				$LStrFoc="document.getElementById('Ch_PRI').focus();";	
				$StrGT="S";
			}
			if(strlen($StrGT)==0 && vbval($PRO_DES)==1 && $Str_DES==1){
				$LStrMsg="El presente registro no puede descontar stock, ".
						 "la proforma en referencia ya desconto stock";
				$LStrFoc="document.getElementById('Ch_DES').focus();";	
				$StrGT="S";
			}
		}
		if($StrTempA=="CONTENEDOR"){
			if(vbval($Str_PRI)==0){
				$LStrMsg="El presente registro debe ser marcado como un docuemnto principal";
				$LStrFoc="document.getElementById('Ch_PRI').focus();";	
				$StrGT="S";
			}
			if(strlen($StrGT)==0 && vbval($Str_DES)==1){
				if(strlen($StrZto)==0){
					$LStrMsg="Se debe activar y seleccionar el almacen desde ".
					         "donde se descontara el stock";
					$LStrFoc="document.getElementById('Ch_DES').focus();";	
					$StrGT="S";
				}
			}
		}
		//echo "OK1";
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		if($StrTempA=="PROFORMA" && $ID_TEMP>0){
			FxCOT_PARSE_CANTIDADES($ID_TEMP);			
			$s="SELECT * FROM temp_compras WHERE cod_temc='$StrHWND_V' ORDER BY temc_index";
			$rs=grs($s);			
			while($r=$rs->fetch_assoc()){
				$XX_PRO_KOD=$r['temc_id_producto'];
				$XX_PRO_CAN=$r['temc_cant'];
				$XX_PRO_PIE=$r['dscto'];
				$XX_CAN_DIS=gn("SUM(ve_control)","cotizaciones_det","id_cotizacion=$ID_TEMP AND id_producto=$XX_PRO_KOD AND can_uni=$XX_PRO_PIE");
				if($XX_PRO_CAN>$XX_CAN_DIS){
					$XX_COD=$r['cod'];
					$XX_DES=$r['des'];
					$XX_DET=$r['cod']."x".$XX_PRO_PIE." ".$XX_DES;
					$LStrMsg="Cantidad ($XX_PRO_CAN) insuficente en proforma ($XX_CAN_DIS) para $XX_DET";
					$LStrFoc="document.getElementById('TxtCUni').focus();";	
					$StrGT="S";
					break;
				}
			}
				//echo "OKx";
		}
		//echo "OK2";
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		if($StrTempA=="PROFORMA" && $ID_TEMP>0){
		    //echo "OK+++????";
			$VAL_MSG=FxCOT_PARSE_TOT($ID_TEMP,"VENTAS");
			//$VAL_MSG="OK";
			if($VAL_MSG=="OK"){
				//TODO_OK
			}else{
				$LStrMsg=$VAL_MSG;
				$LStrFoc="document.getElementById('TxtCUni').focus();";	
				$StrGT="S";
				//break;
			}
			//echo "OK+++";
		}
		//echo "OK***";
	}
	//
	if($StrCmd=="G" && strlen($StrGT)==0){
		if(strlen($StrGT)==0){
			$StrCOB=round(vbval($StrAcu) - vbval($StrVue),2);
			$StrEmp_=gn("id_emp","empresas","emp_nomc='$StrEmp'");
			$StrAlm_=gn("id_almacen","almacenes",
						"alm_obs='$StrAlm' AND alm_id_empresa=$StrEmp_");
			$GII=GenGI();
			$StrId=GenId("id_venta","ventas");
			$FE_GEN="S";
			$FE_ND=0;
			if($StrCom_==3 || $StrCom_==4)$FE_GEN="N";
			//
			$xxx_ven_cob_acu=0;
			$xxx_ven_cob_sal=0;
			$xxx_ven_cob_pag='NO';
			$xxx_ven_cob_fec='1900-01-01';
			$xxx_ven_cob_hor='';
			$xxx_ven_cob_tim=0;
			$xxx_ven_cob_usu=0;
			$xxx_ven_cob_kod=0;
			$xxx_ven_cob_moda="ND";
			$xxx_ven_cob_obs="-";
			$xxx_ven_cob_obs_aux="-";
			//++
			$xxx_ven_cob_fec_reg="1900-01-01";
			$xxx_ven_cob_cta_id=0;
			$xxx_ven_cob_cta_ope_nro="";
			$xxx_ven_cob_cta_ope_fec="1900-01-01";
			//+++++
			$REF_ID_COM=$StrTempA_;
			$REF_ID_PRO=$ID_TEMP;
			$VEN_COB_MODO="REG";//REGULAR
			$REF_SER=0;
			$REF_NUM=0;
			if($REF_ID_COM==-3){
				$REF=gr("cotizaciones","id_cotizacion=$REF_ID_PRO");
				$REF_SER=$REF['iser'];
				$REF_NUM=$REF['inum'];
				//
				$COB_CX=gn("count(*)","cobroz","cob_anu='NO' AND cob_id_com=-3 AND cob_icser=$REF_SER AND cob_icnum=$REF_NUM");
				if($COB_CX>0){
					$VEN_COB_MODO="VPC";//VENTA POSTERIOR A COBRO
				}
			}
			//++++++
			$s="INSERT INTO ventas VALUES ($StrId,$StrAlm_,'$StrFec_',$StrCom_,
			   '$StrSer','$StrNum',$StrIdCliente,
			   '$StrTdp_',$StrTC,'$StrN_INC',
			   $T_ST,$T_IG,$T_TO,$iStrSer,$iStrNum,".GetIDU().",'$StrMon_','N',$GII,
			   $StrTar_,$StrBan_,$StrAde,$StrAcu,$StrPagarCon,
			   $StrVue,$StrTempA_,$ID_TEMP,".
			   "$Str_PRI,$Str_DES,$StrZto_,".
			   vbval($StrPD).",'$StrMod',".$StrCOB.",'$StrGIA',
			   '$TEMP_SER','$TEMP_NUM',
			   '$FE_GEN',$FE_ND,'$StrFven',
			   '$UbiPai','$UbiDep','$UbiPro',
			   '$UbiDis','$UbiCod','$HASH',
			   '$VEN_AUTO_SON','$VEN_AUTO_FEC','$VEN_AUTO_HOR',
			   $VEN_AUTO_TIM,$VEN_AUTO_ID_VL,
			   $xxx_ven_cob_acu,$xxx_ven_cob_sal,
			   '$xxx_ven_cob_pag','$xxx_ven_cob_fec','$xxx_ven_cob_hor',
			   $xxx_ven_cob_tim,$xxx_ven_cob_usu,
			   $xxx_ven_cob_kod,'$VEN_COB_MODO','$xxx_ven_cob_moda',
			   '$xxx_ven_cob_obs','$xxx_ven_cob_obs_aux',
			   '$xxx_ven_cob_fec_reg',$xxx_ven_cob_cta_id,
			   '$xxx_ven_cob_cta_ope_nro','$xxx_ven_cob_cta_ope_fec','$FE_SUNAT_ZIP','','','$StrDIR')";						
			ejt($s);
			//echo $s."<br>";
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$s;
			$_BIT_SQL_DET="";
			$_BIT_PHP="ventas.php";
			$_BIT_ID=BIT_ADD("VENTAS","VENTAS","GUARDAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$s);
			//BIT	
			//++++++++++++++++++++++
			if($VEN_COB_MODO=="VPC"){
				$K="SELECT * FROM cobroz WHERE cob_anu='NO' AND cob_id_com=-3 AND cob_icser=$REF_SER AND cob_icnum=$REF_NUM";
				$RK=grs($K);				
				while($K=$RK->fetch_assoc()){
					$qqq=ejt("UPDATE cobroz SET cob_req_ver='SI' WHERE id_cobro=".$K['id_cobro']);
					BIT_DET_ADD($_BIT_ID,$qqq);	
				}				
			}
			//
			$qqq=ejt("UPDATE clientes 
				 	  SET cli_dir='$StrDIR',cli_email='$StrEma' 
				      WHERE id_cliente=$StrIdCliente");
			BIT_DET_ADD($_BIT_ID,$qqq);	
			//
			if(strlen($StrEma)>0){
				if($EMAIL_INTERNO!=$StrEma){			
					$qqq=ejt("UPDATE clientes SET cli_email='$StrEma' WHERE id_cliente=$StrIdCliente");
					BIT_DET_ADD($_BIT_ID,$qqq);	
				}
			}			
			//
			$TP_CX=0;
			$TP_AR[0]=0;
			//
			$qqq=ejt("DELETE FROM ventas_det WHERE id_venta=$StrId");
			//
			BIT_DET_ADD($_BIT_ID,$qqq);	
			//
			$s="SELECT * FROM temp_compras WHERE cod_temc='$StrHWND_V' 
				ORDER BY temc_index";
			$result = grs($s);			
			$cx=0;
			$G_PC=0;
			while ($row = $result->fetch_row()){
				$cx++;
				$G_ID=$row[1];
				$G_CA=$row[2];
				$G_PR=$row[3];
				$G_IM=$row[4];
				$G_PC=gn("pro_pc_sol","productos","id_producto=$G_ID");
				$G_CO=$row[6];
				$G_DE=$row[7];
				$G_CU=$row[8];
				$_CONTROL=$G_CA;
				$DEV=0;
				$DEJ=0;
				$ss="INSERT INTO ventas_det ".
				    "VALUES ($StrId,$cx,$G_ID,$G_CA,".
					"$G_PR,$G_IM,$G_PC,'$G_CO','$G_DE',".
					"$G_CU,$_CONTROL,$DEV,$DEJ)";
				ejt($ss);
				//
				BIT_DET_ADD($_BIT_ID,$ss);	
				//
				if(vbval($Str_DES)==1){
					STOCK_SUB($StrZto_,$G_ID,$G_CA*$G_CU);	
					if(gn("count(*)","vis_sp","ID_PRO=$G_ID AND PIE=$G_CU")>0){
						ZTOCK_SUB($StrZto_,$G_ID,$G_CA,$G_CU);
					}else{
						ZTOCK_SUB_P($StrZto_,$G_ID,$G_CA,$G_CU);
					}			
				}
				//CONTROL 
				if($ID_TEMP>0){
					if($StrTempA=="PROFORMA"){
						$qqq=ejt("UPDATE cotizaciones_det ".
					    	"SET ve_control=ve_control - $G_CA ".
							"WHERE id_cotizacion=$ID_TEMP 
							 AND id_producto=$G_ID AND can_uni=$G_CU");
						//
						BIT_DET_ADD($_BIT_ID,$qqq);	
						//
					}
					if($StrTempA=="CONTENEDOR"){
						$qqq=ejt("UPDATE compras_det ".
								"SET cv=cv + $G_CA ".
								"WHERE id_compra=$ID_TEMP 
								 AND id_producto=$G_ID AND can_uni=$G_CU");
						//
						BIT_DET_ADD($_BIT_ID,$qqq);	
						//
					}					
				}
				//
				$TP_CX++;$TP_AR[$TP_CX]=$G_ID;
			}
			//
			for($i=1;$i<=$TP_CX;$i++){
				T_P_ACT($TP_AR[$i]);
			}
			//
			$qqq=ejt("DELETE FROM ventas_cuotas WHERE id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$s="SELECT * FROM ventas_cuotas_t WHERE hw='$StrHWND_V' ORDER BY cx";
			$rs = grs($s);
			while($r=$rs->fetch_assoc()){
				$KUO_KOD=GenId("cx","ventas_cuotas");
				$KUO_TOT=$r['tot'];
				$KUO_FEC=$r['fec'];
				$s="INSERT INTO ventas_cuotas VALUES ($KUO_KOD,$StrId,$KUO_TOT,'$KUO_FEC')";				
				ejt($s);
				//
				BIT_DET_ADD($_BIT_ID,$s);
				//
			}
			if($StrTempA=="PROFORMA" && $ID_TEMP>0){
				FxCOT_PARSE_CANTIDADES($ID_TEMP);
			}
			//
			if(strlen($LStrMsg)==0){
				$LStrMsg="Los datos han sido registrado: $StrCom : $StrSer - $StrNum";
			}
			$LStrFoc="document.getElementById('$P_C').focus();";						
			$StrGT="S";
			//
			$VALIDACION=VENTA_VALIDAR_EX($StrId);
			if(strcmp($VALIDACION,"|OK|OK|")==0){
				$ERROR_MSG="";				
			}else{
				$BATA=explode("|",$VALIDACION);
				if($BATA[1]=="MS"){
					$ERROR_MSG=$BATA[2];
				}else{
					$ERROR_MSG="Error no determinado";
				}
			}
			$StrCmd="AR_PLUS";
			$StrId=$StrId;
			//
		}
	}
	//
	if($StrCmd=="E"){
		if(VEN_V_MEA($StrId)!="OK"){
			$LStrMsg="El presente registro esta relacionado por lo tanto NO SE PUEDE ELIMINAR";
			$LStrFoc="document.getElementById('TxtFec').focus();";						
			$StrGT="S";	
		}else{	
			ELIMINAR_VENTA($StrId);
			$TP_CX=0;
			$TP_AR[0]=0;
			$s="SELECT id_producto as ID FROM ventas_det WHERE id_venta=$StrId";
			$rs = grs($s);			
			while ($r = $rs->fetch_assoc()){
				$TP_CX++;$TP_AR[$TP_CX]=$r['ID'];
			}
			//
			$ELI_REF_KOD=gn("ven_id_ven","ventas","id_venta=$StrId");
			$ELI_REF_COM=gs("VEN_COM_REF","vventas","ID=$StrId");
			//
			$qqq=ejt("DELETE FROM ventas WHERE id_venta=$StrId");
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$qqq;
			$_BIT_SQL_DET="";
			$_BIT_PHP="ventas.php";
			$_BIT_ID=BIT_ADD("VENTAS","VENTAS","ELIMINAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$qqq);
			//BIT	
			$qqq=ejt("DELETE FROM ventas_det WHERE id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$qqq=ejt("DELETE FROM facturas_electronicas WHERE fe_id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$qqq=ejt("DELETE FROM ventas_cuotas WHERE id_venta=$StrId");
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			for($i=1;$i<=$TP_CX;$i++){
				T_P_ACT($TP_AR[$i]);
			}
			//
			if($ELI_REF_COM=="PROFORMA"){
				FxCOT_PARSE_CANTIDADES($ELI_REF_KOD);
			}
			//
			ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND_V'");
			//
			$LStrMsg="Los datos han sido eliminados";
			$LStrFoc="document.getElementById('$P_C').focus();";						
			$StrGT="S";
			//
			$StrCmd="C";
		}
	}	
	//
	if($StrCmd=="A"){
		if(VEN_V_MEA($StrId)!="OK"){
			$LStrMsg="El presente registro esta relacionado por lo tanto NO SE PUEDE ELIMINAR";
			$LStrFoc="document.getElementById('TxtFec').focus();";						
			$StrGT="S";	
		}else{	
			//
			ELIMINAR_VENTA($StrId);
			//
			$ANU_REF_KOD=gn("ven_id_ven","ventas","id_venta=$StrId");
			$ANU_REF_COM=gs("VEN_COM_REF","vventas","ID=$StrId");
			//
			//echo "OK";
			$TP_CX=0;
			$TP_AR[0]=0;
			$s="SELECT id_producto as ID FROM ventas_det WHERE id_venta=$StrId";
			$rs = grs($s);			
			while ($r = $rs->fetch_assoc()){
				$TP_CX++;$TP_AR[$TP_CX]=$r['ID'];
			}
			//			
			$qqq=ejt("UPDATE ventas SET anu='S' WHERE id_venta=$StrId");
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$qqq;
			$_BIT_SQL_DET="";
			$_BIT_PHP="ventas.php";
			$_BIT_ID=BIT_ADD("VENTAS","VENTAS","ANULAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$qqq);
			//BIT				
			ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND_V'");
			//
			for($i=1;$i<=$TP_CX;$i++){
				T_P_ACT($TP_AR[$i]);
			}
			//
			if($ANU_REF_COM=="PROFORMA"){
				FxCOT_PARSE_CANTIDADES($ANU_REF_KOD);
			}
			//
			$LStrMsg="La venta ha sido anulada";
			$LStrFoc="document.getElementById('$P_C').focus();";						
			$StrGT="S";
			//
			$StrCmd=="C";
		}
	}	
	//
	if($StrCmd=="C"){
		ejt("DELETE FROM temp_compras WHERE cod_temc='$StrHWND_V'");
		$StrId="";
		$StrAlm="";
		$StrFec=date("d-m-y");
		$StrCom="";
		$StrSer="";
		$StrNum="";
		$StrMon="";
		$StrRuc="";
		$StrDni="";
		$SUN_TIP_DOC="";
		$StrEma="";
		$StrFven="";
		$StrTdp="";
		$StrN_INC="";
		$StrIdCliente="0";
		$StrCliente="";
		$StrDIR="";
		$StrRuc="";		
		$StrCod="";
		$StrDes="";
		$StrMARCA="";
		$StrPre="";
		$StrCant="";
		$StrImp="";
		$StrId="";
		$StrVuelto="";
		$StrPagarCon="";	
		$StrTdp="CONTADO";					
		$StrTempA="";
		$StrEmpR="";
		$StrTempB="";
		$StrCUni="";
		$Str_PRI="";
		$Str_DES="";
		$Str_VER="";		
		$DR_NOM="";
		$DR_DES="0";
		$DR_PRI="0";
		$StrAcu="";
		$StrVue="";
		$StrSal="";
		$StrGIA="";
		$SUN_TIP_DOC="";
		if($PRO_ID_ALM==0){
			if(strlen($StrEmp)==0)$StrEmp=GE("N");
			if(strlen($StrAlm)==0)$StrAlm=GA($StrEmp,"N");	
		}else{
			$StrEmp=gs("ENC","vis_almacenes","IDA=$PRO_ID_ALM");
			$StrAlm=gs("ANC","vis_almacenes","IDA=$PRO_ID_ALM");
		}
		//
		$UbiPai="";
		$UbiDep="";
		$UbiPro="";
		$UbiDis="";	
		//
		ejt("DELETE FROM ventas_cuotas_t WHERE hw='$StrHWND_V'");
	}
	//
	if($StrGT=="S"){
		if(strlen($LStrMsg)>0){
			if(strlen($LStrFoc)==0){
				if($StrN_AUTO=="0"){
				$LStrMsg="onload=\"alert('$LStrMsg');\"";
				}else{
					$LStrMsg="onload=\"alert('$LStrMsg');AutoNumeracion(2);\"";
				}
			}else{
				if($StrN_AUTO=="0"){
				$LStrMsg="onload=\"alert('$LStrMsg');$LStrFoc;\"";
				}else{
				$LStrMsg="onload=\"alert('$LStrMsg');$LStrFoc;AutoNumeracion(2);\"";
				}
			}
		}else{
			if(strlen($LStrFoc)>0){
				if($StrN_AUTO=="0"){
				$LStrMsg="onload=\"$LStrFoc;\"";
				}else{
					$LStrMsg="onload=\"$LStrFoc;AutoNumeracion(2);\"";
				}
			}
		}
	}else{
		if($StrN_AUTO=="1"){
			$LStrMsg="onload=\"AutoNumeracion(2);document.getElementById('$P_C').focus();\"";
		}else{
			$LStrMsg="onload=\"document.getElementById('$P_C').focus();\"";
		}
	}
?>