<?php
	//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
	$StrZto_=0;
	if($StrCmd=="M" && strlen($StrGT)==0){
		if(COT_V_MEA($StrId)!="OK"){
			$LStrMsg="El presente registro esta relacionado por lo tanto ".
			         "NO SE PUEDE MODIFICAR";
			$LStrFoc="document.getElementById('TxtFec').focus();";						
			$StrGT="S";	
		}else{	
			$LStrMsg="";
			$StrIdCliente=vbval($StrIdCliente);			
			$_DES=gs("cot_des","cotizaciones","id_cotizacion=$StrId");
			$_IDC=gn("id_compra","cotizaciones","id_cotizacion=$StrId");
			//
			if(vbval($_DES)==1){
				$_ALM=gn("cot_id_alm","cotizaciones","id_cotizacion=$StrId");
				$s="SELECT id_producto,ca,can_uni FROM cotizaciones_det ".
				   "WHERE id_cotizacion=$StrId ORDER BY cx";
				$result = grs($s);			
				$cx=0;			
				while ($row = $result->fetch_row()){
					$_PI=$row[0];
					$_CA=$row[1];
					$_UN=$row[2];
					STOCK_ADD($_ALM,$_PI,$_CA * $_UN);
					ZTOCK_ADD($_ALM,$_PI,$_CA,$_UN);
				}
			}
			//
			if($_IDC>0){
				$s="SELECT id_producto,ca,can_uni FROM cotizaciones_det ".
				   "WHERE id_cotizacion=$StrId ORDER BY cx";
				$rs = grs($s);			
				$cx=0;			
				while ($r=$rs->fetch_row()){
					$_PI=$r[0];
					$_CA=$r[1];
					$_UN=$r[2];
					ejt("UPDATE compras_det SET cv=cv - $_CA
					     WHERE id_compra=$_IDC AND id_producto=$_PI AND can_uni=$_UN");
				}
			}
			$qqq=ejt("DELETE FROM cotizaciones WHERE id_cotizacion=$StrId");
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$qqq;
			$_BIT_SQL_DET="";
			$_BIT_PHP="cotizaciones.php";
			$_BIT_ID=BIT_ADD("VENTAS","PROFORMA","MODIFICAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$qqq);
			//BIT	
			$qqq=ejt("DELETE FROM cotizaciones_det WHERE id_cotizacion=$StrId");
			//
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$LStrMsg="Los datos han sido modificados";
			$StrGT="";
			$StrCmd="G";
		}
	}
	//	+++
	if($StrCmd=="G" && strlen($StrGT)==0){	
		$StrCom_=gn("id_comprobante","comprobantes","com_nombre='$StrCom'");
		if($StrN_AUTO=="1"){
			COTI_GEN_SER_NUM_MAX($StrAlm_,$StrCom_,$StrSer,$StrNum);		
		}
		$StrFec_=ToDate($StrFec);
		$iStrSer=vbval($StrSer) * 1;
		$iStrNum=vbval($StrNum) * 1;
		if(gn("count(*)","cotizaciones",
			  "iser=$iStrSer AND inum=$iStrNum AND id_alm=$StrAlm_")>0){
			$LStrMsg="Almacen,serie y numero ya registrados";
			$LStrFoc="document.getElementById('TxtSer').focus();";						
			$StrGT="S";		
		}
	}
	if($StrCmd=="G" && strlen($StrGT)==0){
		$ID_COMPRA=COT_GET_ID_COMPRA($StrDocR,$StrEmpR,$StrNumR);
		//FV_VEN_INI
		$FV_ID=0;
		$FV_COB="1900-01-01";
		$FV_SAL="1900-01-01";
		$FV_CAN_PEN=0;
		$FV_ID=FUN_FV_GET_ID($StrFec_,$FV_COB,$FV_SAL);
		//FV_VEN_FIN
		//LQ_FIN
		$StrCOB=round(vbval($StrAcu) - vbval($StrVue),1);
		$GII=GenGI();
		$BIT_PRECIO=0;
		$BIT_STOCK=0;
		$BIT_ESTADO=-1;
		$StrId=GenId("id_cotizacion","cotizaciones");
		$s="INSERT INTO cotizaciones VALUES ".
		   "($StrId,$StrAlm_,'$StrFec_',$StrCom_,
		   '$StrSer','$StrNum',$StrIdCliente,".
		   "$StrTC,'$StrN_INC',$StrTotal,$iStrSer,
		   $iStrNum,".GetIDU().",'$StrMon_','N',".
		   "$GII,'$StrNPed','$StrContacto',".
		   "'$Str_PRI','$Str_DES',".
		   "'$Str_VER',$StrZto_,0,$StrVen_,'$StrTdp_',".
		   "$StrAcu,'$StrMon_',$StrVue,$StrSal,'$StrMod',".
		   vbval($StrTReal).",".vbval($StrTDes).",".$StrCOB.",$ID_COMPRA,$CueEmp_,
		   $FV_ID,'$FV_COB','$FV_SAL',$FV_CAN_PEN,$BIT_PRECIO,$BIT_STOCK,$BIT_ESTADO)";
	 	if(ejt_ex($s)){	
			//BIT
			$_BIT_MOD_ID=$StrId;
			$_BIT_SQL_CAB=$s;
			$_BIT_SQL_DET="";
			$_BIT_PHP="cotizaciones.php";
			$_BIT_ID=BIT_ADD("VENTAS","PROFORMA","GUARDAR",$_BIT_MOD_ID,$_BIT_SQL_CAB,$_BIT_SQL_DET,$_BIT_PHP);
			BIT_DET_ADD($_BIT_ID,$s);
			//BIT	
			$qqq=ejt("DELETE FROM cotizaciones_det WHERE id_cotizacion=$StrId");
			//
			BIT_DET_ADD($_BIT_ID,$qqq);
			//
			$s="SELECT * FROM temp_compras2 
				WHERE cod_temc='$StrHWND_COT' ORDER BY temc_index";
			$rs = grs($s);			
			$cx=0;			
			while ($row = $rs->fetch_assoc()){
				$cx++;
				$G_ID=$row['temc_id_producto'];
				$G_CA=$row['temc_cant'];
				$G_PR=$row['temc_precio'];
				$G_IM=$row['temc_imp'];
				$G_DT=$row['dscto'];
				$G_CO=$row['cod'];
				$G_DE=$row['des'];
				$G_CU=$row['can_uni'];
				$_CONTROL=$G_CA;
				$VE_CONTROL=$G_CA;
				$DEV=0;
				$DEJ=0;
				//++
				$bit_stock=$row['bit_stock'];
				$bit_stock_usu=$row['bit_stock_usu'];
				$bit_precio=$row['bit_precio'];
				$bit_precio_usu=$row['bit_precio_usu'];
				$bit_stock_ex=0;
				$bit_precio_ex=0;
				//
				$LQ_PRO_PRE=gn("pro_pv_min","productos","id_producto=$G_ID");
				if($LQ_PRO_PRE>$G_PR){
					$bit_precio_ex=1;
				}
				$LQ_STO_DIS=gn("SUM(pro_sto - pro_sep)","t_productos","pro_id=$G_ID AND pro_pie=$G_CU");
				if($G_CA>$LQ_STO_DIS){
					$bit_stock_ex=1;
				}
				//++
				$ss="INSERT INTO cotizaciones_det ".
					"VALUES ($StrId,$cx,$G_ID,$G_CA,".
					"$G_PR,$G_IM,$G_DT,'$G_CO','$G_DE',$G_CU,".
					"$_CONTROL,$VE_CONTROL,$DEV,$DEJ,
					$bit_stock,$bit_stock_usu,$bit_precio,$bit_precio_usu,
					$bit_stock_ex,$bit_precio_ex,$LQ_STO_DIS,$LQ_PRO_PRE)";			
				//
				$qqq=ejt($ss);
				//
				BIT_DET_ADD($_BIT_ID,$qqq);
				//
				if(vbval($Str_DES)==1){
					$Z_TU=$G_CA * $G_CU;
					STOCK_SUB($StrZto_,$G_ID,$Z_TU);
					ZTOCK_SUB($StrZto_,$G_ID,$G_CA,$G_CU);
				}
				if($ID_COMPRA>0){
					$qqq=ejt("UPDATE compras_det 
						 SET cv=cv + $G_CA 
						 WHERE id_compra=$ID_COMPRA AND id_producto=$G_ID AND 
							   can_uni=$G_CU");
					//
					BIT_DET_ADD($_BIT_ID,$qqq);
					//
				}
				T_P_ACT($G_ID);				
			}
			//FV_VEN_INI++
			COTIZACION_BIT_PARSE($StrId);
			FUN_COT_UPDATE($StrId);
			//FV_VEN_FIN++
			ejt("DELETE FROM temp_compras2 WHERE cod_temc='$StrHWND_COT'");		
			if(strlen($LStrMsg)==0){
				$LStrMsg="Los datos han sido registrado: $StrCom : $StrSer - $StrNum";
			}else{
				FxCOT_PARSE_CANTIDADES($StrId);
			}
			$LStrFoc="document.getElementById('CboAlm').focus();";						
			$StrGT="S";
			$CLS="S";
			$StrNew="NO";
			$VALIDACION=FxCOT_PARSE_TOT($StrId,"GUARDAR");
			if($VALIDACION=="OK"){
				$ERROR_MSG="";				
			}else{
				$ERROR_MSG=$VALIDACION;
				$CLS="N";
			}
			$StrCmd="AR_PLUS";
			$StrId=$StrId;
			
		}else{
			$LStrMsg="Error a intentar guardar";
			$LStrFoc="document.getElementById('TxtSer').focus();";						
			$StrGT="S";
		}
	}
?>