<?php
include("cls_conexion.php");$CNN=new ClsMySQL();include("conexion23.php");
include("fe_ruc.php");
include("fe_sunat_bol.php");
include("fe_sunat_bol_pdf.php");
//@@
//
$CMD=V($_GET['CMD']);
$P01=V($_GET['P01']);
$P02=V($_GET['P02']);
$P03=V($_GET['P03']);
$P04=V($_GET['P04']);
$P05=V($_GET['P05']);
$P06=V($_GET['P06']);
$P07=V($_GET['P07']);
$P08=V($_GET['P08']);
$P09=V($_GET['P09']);
$P10=V($_GET['P10']);
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
function CREATE_PDF($STR_DATA,$SER,$NUM,$COM){
	$pdf_decoded = base64_decode ($STR_DATA);
	$PDF_FILE=$COM."_".$SER."_".$NUM.".pdf";
	$pdf = fopen ($PDF_FILE,'w');
	fwrite ($pdf,$pdf_decoded);
	fclose ($pdf);
}
function CREATE_PDF_EX($STR_DATA,$FILE_NAME){
	$pdf_decoded = base64_decode ($STR_DATA);
	$PDF_FILE=$FILE_NAME;
	$pdf = fopen ($PDF_FILE,'w');
	fwrite ($pdf,$pdf_decoded);
	fclose ($pdf);
}
function FE_GEN_OBS($OPE="",$CAM="",$PLZ="",$PLN="",$IME="",$ICI="",$REA="",$CUN="",$CUP="",$LIN=""){
	$OBS="";
	if(strlen($OPE)>0){
		$OBS="OPERACION:".$OPE;
	}
	/*
	if(strlen($CAM)>0){
		if(strlen($OBS)==0){
			$OBS="CAMPAÑA:".$OPE;
		}else{
			$OBS=$OBS." * CAMPAÑA:".$OPE;
		}
	}
	*/
	if(strlen($PLZ)>0){
		if(strlen($OBS)==0){
			$OBS="PLAZO:".$PLZ;
		}else{
			$OBS=$OBS." * PLAZO:".$PLZ;
		}
	}
	if(strlen($PLN)>0){
		if(strlen($OBS)==0){
			$OBS="PLAN:".$PLN;
		}else{
			$OBS=$OBS." * PLAN:".$PLN;
		}
	}
	if(strlen($IME)>0){
		if(strlen($OBS)==0){
			$OBS="IMEI:".$IME;
		}else{
			$OBS=$OBS." * IMEI:".$IME;
		}
	}
	if(strlen($IME)>0){
		if(strlen($OBS)==0){
			$OBS="IMEI:".$IME;
		}else{
			$OBS=$OBS." * IMEI:".$IME;
		}
	}
	if(strlen($ICI)>0){
		if(strlen($OBS)==0){
			$OBS="ICCID:".$ICI;
		}else{
			$OBS=$OBS." * ICCID:".$ICI;
		}
	}
	if(strlen($REA)>0){
		if(strlen($OBS)==0){
			$OBS="RA:".$REA;
		}else{
			$OBS=$OBS." * RA:".$REA;
		}
	}
	if(strlen($CUN)>0){
		if(strlen($OBS)==0){
			$OBS="Nro de CUOTAS:".$CUN;
		}else{
			$OBS=$OBS." * Nro de CUOTAS:".$CUN;
		}
	}
	if(strlen($CUP)>0){
		if(strlen($OBS)==0){
			$OBS="CUOTA:".$CUP;
		}else{
			$OBS=$OBS." * CUOTA:".$CUP;
		}
	}
	if(strlen($LIN)>0){
		if(strlen($OBS)==0){
			$OBS="LINEA:".$LIN;
		}else{
			$OBS=$OBS." * LINEA:".$LIN;
		}
	}
	return $OBS;
}
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
//++++++++++++++++++++++++++++++++++++++++++++++++
if($CMD=="RUC_DNI"){
	$RUC=V($P01);
	if(strlen($RUC)==11 || strlen($RUC)==8){
		echo CONSULTAR_RUC($RUC);
	}else{
		echo "|MS|Numero no valido|";
	}
}
//
if($CMD=="GEN_PDF"){
	$pdf_base64 = "DATA_PDF.txt";
	//Get File content from txt file
	$pdf_base64_handler = fopen($pdf_base64,'r');
	$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
	fclose ($pdf_base64_handler);
	//Decode pdf content
	$pdf_decoded = base64_decode ($pdf_content);
	//Write data back to pdf file
	$pdf = fopen ('test.pdf','w');
	fwrite ($pdf,$pdf_decoded);
	//close output file
	fclose ($pdf);
	echo 'Done';
}
//
if($CMD=="ANU_CE"){
	$ID=vbva($P01);
	$CX=gn("id_fe","fe_ventas","id_fe=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (#1)|";
	}else{
		$ANU=gs("fe_anulado","fe_ventas","id_fe=$ID");
		if($ANU=="SI"){
			echo "|MS|El presente registro ya ha sido anulado por lo tanto no se puede proceder|";
		}else{
			echo "|OK|OK|";
		}
	}
}
//
if($CMD=="ANU_CE"){
	$ID=vbval($P01);
	$CX=gn("id_fe","fe_ventas","id_fe=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (#2)|";
	}else{
		$EST=gs("fe_estado","fe_ventas","id_fe=$ID");
		if($EST=="GENERADO"){
			$ANU=gs("fe_anulado","fe_ventas","id_fe=$ID");
			if($ANU=="NO"){
				echo "|OK|OK|";
			}else{
				echo "|MS|El comprobante electronico ya se encuentra anulado, verifique y compruebe en el portal del proveedor|";
			}
		}else{
			$ANU=gs("fe_anulado","fe_ventas","id_fe=$ID");
			if($ANU=="SI"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
			}else{
				echo "|OK|OK|";
			}
		}
	}
}
//
if($CMD=="ANU_CE_POS"){
	$ID=vbval($P01);
	$CX=gn("count(*)","ventas_telefonia","id_ventas_telefonia=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (Rc-1)|";
	}else{
		$EST=gs("FE_EST","vis_ventas_telefonia","ID=$ID");
		$COM=gs("COM","vis_ventas_telefonia","ID=$ID");
		$ANU=gs("ANU","vis_ventas_telefonia","ID=$ID");
		if($COM=="BOL.ELE." || $COM=="FAC.ELE."){
			if($EST=="GENERADO"){				
				if($ANU=="N"){
					$RPT=IV_VALIDAR($ID);
					if($RPT=="OK"){
						echo "|OK|OK|";
					}else{
						echo "|MS|El presente registro no se puede anular (Rc-3)|";
					}
					return;
				}else{
					echo "|MS|El comprobante electronico ya se encuentra anulado, verifique y compruebe en el portal del proveedor|";
				}
			}else{
				if($ANU=="S"){
					echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				}else{
					$RPT=IV_VALIDAR($ID);
					if($RPT=="OK"){	
						echo "|OK|OK|";
					}else{
						echo "|MS|El presente registro no se puede anular (Rc-3)|";
					}
					return;
				}
			}
		}else{
			if($ANU=="S"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				return;
			}else{
				$RPT=IV_VALIDAR($ID);
				if($RPT=="OK"){
					echo "|OK|OK|";
				}else{
					echo "|MS|El presente registro no se puede anular (Rc-2)|";
				}
				return;
			}
		}
	}
}
//
if($CMD=="ANU_CE_PRE"){
	$ID=vbval($P01);
	$CX=gn("count(*)","wentas","id_wenta=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (*2)|";
	}else{
		$EST=gs("wen_estado","wentas","id_wenta=$ID");
		$COM=gs("COM","viz_wentas","ID=$ID");
		$ANU=gs("wen_anu","wentas","id_wenta=$ID");
		if($COM=="BOL.ELE." || $COM=="FAC.ELE."){
			if($EST=="GENERADO"){				
				if($ANU=="N"){
					echo "|OK|OK|";
				}else{
					echo "|MS|El comprobante electronico ya se encuentra anulado, verifique y compruebe en el portal del proveedor|";
				}
			}else{
				if($ANU=="S"){
					echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				}else{
					echo "|OK|OK|";
				}
			}
		}else{
			if($ANU=="S"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				return;
			}else{
				echo "|OK|OK|";
				return;
			}
		}
	}
}
//
if($CMD=="ELI_CE_POS"){
	$ID=vbval($P01);
	$CX=gn("count(*)","ventas_telefonia","id_ventas_telefonia=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (+1)|";
		return;
	}else{
		$EST=gs("FE_EST","vis_ventas_telefonia","ID=$ID");
		$COM=gs("COM","vis_ventas_telefonia","ID=$ID");
		$ANU=gs("ANU","vis_ventas_telefonia","ID=$ID");
		if($COM=="BOL.ELE." || $COM=="FAC.ELE."){
			if($EST=="GENERADO"){
				echo "|MS|El estado es $EST por lo tanto no se puede eliminar, para este caso pruebe la opcion anular|";
				return;
			}else{				
				if($ANU=="S"){
					echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
					return;
				}else{
					$RPT=IV_VALIDAR($ID);
					if($RPT=="OK"){
						echo "|OK|OK|";
					}else{
						echo "|MS|El presente registro no se puede eliminar (+2)|";
					}
					return;
				}
			}
		}else{
			if($ANU=="S"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				return;
			}else{
				$RPT=IV_VALIDAR($ID);
				if($RPT=="OK"){
					echo "|OK|OK|";
				}else{
					echo "|MS|El presente registro no se puede eliminar (Rc-6)|";
				}
				return;
			}
		}
	}
	echo "|MS|Error 001|";
	return;	
}
//
if($CMD=="ELI_CE_PRE"){
	$ID=vbval($P01);
	$CX=gn("count(*)","wentas","id_wenta=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (*1)|";
		return;
	}else{
		$EST=gs("wen_estado","wentas","id_wenta=$ID");
		$COM=gs("COM","viz_wentas","ID=$ID");
		$ANU=gs("wen_anu","wentas","id_wenta=$ID");
		if($COM=="BOL.ELE." || $COM=="FAC.ELE."){
			if($EST=="GENERADO"){
				echo "|MS|El estado es $EST por lo tanto no se puede eliminar, para este caso pruebe la opcion anular|";
				return;
			}else{				
				if($ANU=="S"){
					echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
					return;
				}else{
					echo "|OK|OK|";
					return;
				}
			}
		}else{
			if($ANU=="S"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				return;
			}else{
				echo "|OK|OK|";
				return;
			}
		}
	}
	echo "|MS|Error 001|";
	return;	
}
//
if($CMD=="ELI_CE"){
	$ID=vbval($P01);
	$CX=gn("id_fe","fe_ventas","id_fe=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (#3)|";
		return;
	}else{
		$EST=gs("fe_estado","fe_ventas","id_fe=$ID");
		if($EST=="GENERADO"){
			echo "|MS|El estado es $EST por lo tanto no se puede eliminar, para este caso pruebe la opcion anular|";
			return;
		}else{
			$ANU=gs("fe_anulado","fe_ventas","id_fe=$ID");
			if($ANU=="SI"){
				echo "|MS|El presente registro ha sido anulado por lo tanto no se puede eliminar|";
				return;
			}else{
				echo "|OK|OK|";
				return;
			}
		}
	}
	echo "|MS|Error 001|";
	return;	
}
//
if($CMD=="GET_PDF_PRE"){
	$ID=vbval($P01);
	$FE_ID=gn("id_fe","fe_ventas","fe_id_venta=$ID");
	if($FE_ID==0){
		echo "|MS|El pdf que desea generar no existe en la base de datos|";
		return;
	}
	$CX=gn("id_fe","fe_ventas","id_fe=$FE_ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (#4)|";
		return;
	}else{
		$EST=gs("fe_estado","fe_ventas","id_fe=$FE_ID");
		if($EST=="GENERADO"){
			//echo "|OK|boletas/PDF_A4.pdf|";	
			//return;
			$DAT_COM=gs("COM","vis_fe_ventas","ID=$FE_ID");
			$DAT_SER=gs("fe_ser","fe_ventas","id_fe=$FE_ID");
			$DAT_NUM=gs("fe_num_ele","fe_ventas","id_fe=$FE_ID");
			if($DAT_COM=="BOL.ELE."){
				$DAT_PDF=BOLETA_GENERAR_PDF($DAT_SER,$DAT_NUM);
				$DAT_FIL="boletas/"."REDCOTEA_BOLETA_".$DAT_SER."_".vbr("00000000".$DAT_NUM,8).".pdf";
				CREATE_PDF_EX($DAT_PDF,$DAT_FIL);
				if(file_exists($DAT_FIL)){
					echo "|OK|$DAT_FIL|";	
					return;
				}else{
					echo "|MS|Error el PDF no pudo ser generado|";	
					return;
				}
			}
			if($DAT_COM=="FAC.ELE."){
				$DAT_PDF=FACTURA_GENERAR_PDF($DAT_SER,$DAT_NUM);
				$DAT_FIL="boletas/"."REDCOTEA_FACTURA_".$DAT_SER."_".vbr("00000000".$DAT_NUM,8).".pdf";
				CREATE_PDF_EX($DAT_PDF,$DAT_FIL);
				if(file_exists($DAT_FIL)){
					echo "|OK|$DAT_FIL|";	
					return;
				}else{
					echo "|MS|Error el PDF no pudo ser generado|";	
					return;
				}
			}
			echo "|MS|El PDF solo puede ser generado para Factura o Boleta Electronica|";	
			return;
		}else{
			echo "|MS|El estado es $EST, por lo tanto no se puede generar el PDF|";
			return;
		}
	}
	echo "|MS|Error inesperado #01|";
	return;
}
//
if($CMD=="GET_PDF"){
	$ID=vbval($P01);
	$CX=gn("id_fe","fe_ventas","id_fe=$ID");
	if($CX==0){
		echo "|MS|Id venta no registrada (#5)|";
		return;
	}else{
		$EST=gs("EST","vis_fe_ventas","ID=$ID");
		if($EST=="GENERADO"){
			//####################################################################
			//echo "|OK|boletas/PDF_A4.pdf|";	
			//return;
			//####################################################################
			$COM=gs("COM","vis_fe_ventas","ID=$ID");
			$DAT_SER=gs("fe_ser","fe_ventas","id_fe=$ID");
			$DAT_NUM=gs("fe_num_ele","fe_ventas","id_fe=$ID");
			if($COM=="BOL.ELE."){			
				$DAT_PDF=BOLETA_GENERAR_PDF($DAT_SER,$DAT_NUM);
				$DAT_FIL="boletas/"."REDCOTEA_BOLETA_".$DAT_SER."_".vbr("00000000".$DAT_NUM,8).".pdf";
				CREATE_PDF_EX($DAT_PDF,$DAT_FIL);
				if(file_exists($DAT_FIL)){
					echo "|OK|$DAT_FIL|";	
				}else{
					echo "|MS|Error el PDF no pudo ser generado|";	
				}
			}
			if($COM=="FAC.ELE."){			
				$DAT_PDF=FACTURA_GENERAR_PDF($DAT_SER,$DAT_NUM);
				$DAT_FIL="boletas/"."REDCOTEA_FACTURA_".$DAT_SER."_".vbr("00000000".$DAT_NUM,8).".pdf";
				CREATE_PDF_EX($DAT_PDF,$DAT_FIL);
				if(file_exists($DAT_FIL)){
					echo "|OK|$DAT_FIL|";	
				}else{
					echo "|MS|Error el PDF no pudo ser generado|";	
				}
			}
			echo "|MS|TIPO DE COMPROBANTE NO VALIDO|";
			return;
		}else{
			echo "|MS|El estado es $EST, por lo tanto no se puede generar el PDF|";
			return;
		}
	}
	echo "|MS|Error inesperado #02|";
}
//
function GEN_CE($FE_ID){
	$CX=gn("id_fe","fe_ventas","id_fe=$FE_ID");
	if($CX==0){
		return "|MS|Id venta no registrada (#6)|";
	}else{
		$EST=gs("fe_estado","fe_ventas","id_fe=$FE_ID");
		if($EST=="PENDIENTE"){
			$COM=gs("COM","vis_fe_ventas","ID=$FE_ID");
			if($COM=="BOL.ELE."){
				$STR_RPT=BOLETA_GENERAR($FE_ID);
				$DAT=explode("|",$STR_RPT);
				if($DAT[1]=="MS"){
					return $STR_RPT;
				}else{
					if($DAT[1]=="OK"){
						$DAT_NUM=$DAT[2];
						$DAT_HAS=$DAT[3];
						$s="UPDATE fe_ventas 
							SET fe_hash='$DAT_HAS',
								fe_num_ele='$DAT_NUM',fe_estado='GENERADO',
								fe_num_ele_=".vbval($DAT_NUM)." WHERE id_fe=$FE_ID";								
						ejt($s);
						return $STR_RPT;//"|OK|".$NUM."|".$HAS."|"
					}else{
						return "|MS|Error desconocido|";
					}
				}
			}
			if($COM=="FAC.ELE."){
				$STR_RPT=FACTURA_GENERAR($FE_ID);
				$DAT=explode("|",$STR_RPT);
				if($DAT[1]=="MS"){
					return $STR_RPT;
				}else{
					if($DAT[1]=="OK"){
						$DAT_NUM=$DAT[2];
						$DAT_HAS=$DAT[3];
						$s="UPDATE fe_ventas 
							SET fe_hash='$DAT_HAS',
								fe_num_ele='$DAT_NUM',fe_estado='GENERADO',
								fe_num_ele_=".vbval($DAT_NUM)." WHERE id_fe=$FE_ID";								
						ejt($s);
						return $STR_RPT;//"|OK|".$NUM."|".$HAS."|"
					}else{
						return "|MS|Error desconocido|";
					}
				}
			}
			return "|MS|TIPO DE COMPROBANTE NO VALIDO|";			
		}else{
			return "|MS|El estado es $EST, por lo tanto no se puede generar|";
		}
	}
	return "|MS|Error datos no encontrados|";
}
//
if($CMD=="GEN_CE_POS"){
	$ID=vbval($P01);
	if(gn("count(*)","vis_ventas_telefonia","ID=$ID")==0){
		echo "|MS|Id no registrado|";
		return;		
	}
	$r=gr("vis_ventas_telefonia","ID=$ID");
	//
	$_COM=$r['DOC_ID'];
	$_SER=$r['SER_'];
	$_NUM=$r['NUM_'];
	//
	$CX=gn("count(*)","fe_ventas","fe_id_doc=$_COM AND fe_ser_=$_SER AND fe_num_=$_NUM");
	if($CX>0){
		echo "|MS|El comprobante electronico ya ha sido generado|";
		return;
	}
	//
	$FE_ID=GenId("id_fe","fe_ventas");
	$FE_COD=vbr("000000".$FE_ID,6);
	$FE_SUC_=$r['ALM_ID'];
	$FE_COM_=$r['COM_ID'];
	$FE_EST=$r['FE_EST'];
	$FE_SER_=$r['SER_'];
	if($r['COM']=="BOL.ELE.")$FE_SER="B".vbr("000".$r['SER'],3);
	if($r['COM']=="FAC.ELE.")$FE_SER="F".vbr("000".$r['SER'],3);
	$FE_NUM=$r['NUM'];
	$FE_NUM_=vbval($FE_NUM);
	$FE_NUM_ELE="";
	$FE_NUM_ELE_=0;
	$FE_FEC=$r['FEC'];
	$FE_TDI_=$r['TDI_ID'];
	//
	if($r['COM']=="BOL.ELE."){
		$FE_NDI=$r['DNI'];
	}
	if($r['COM']=="FAC.ELE."){
		$FE_NDI=$r['RUC'];
	}
	if(strlen($FE_NDI)==0){
		echo "|MS|Numero de documento de identidad no corresponde con el comprobante|";
		return;
	}
	/*
	if($r['TDI_NOM']=="RUC"){
		$FE_NDI=$r['RUC'];
	}else{
		$FE_NDI=$r['DNI'];
	}
	*/
	$FE_NOM=$r['CLI'];
	$FE_DIR=$r['CLI_DIR'];
	$FE_PAIS_ID=10;//PERU $r['PAIS_ID'];
	$FE_ANU="NO";
	$FE_TOT=$r['TOT_'];//EL TOTAL ESTARA DE ACUERDO A LOS ITEMS
	//+++++++++++++++++++++++++++++++++++
	$FE_OPE=trim($r['MIG']);
	$FE_WOD=$r['MODALIDAD'];
	$FE_WOD_TIP=$r['TIP_PRO'];
	$FE_MOD_OK=0;
	//VALIDAR MODALIDADES SOPORTADAS
	if($FE_WOD=="CHIP SUELTO" && $FE_WOD_TIP=="MOVIL")$FE_MOD_OK=$FE_MOD_OK+1;
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="MOVIL")$FE_MOD_OK=$FE_MOD_OK+1;
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="3PLAY")$FE_MOD_OK=$FE_MOD_OK+1;
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="INTERNET INALAMBRICO")$FE_MOD_OK=$FE_MOD_OK+1;	
	if($FE_WOD=="CUOTAS" && $FE_WOD_TIP=="MOVIL")$FE_MOD_OK=$FE_MOD_OK+1;
	if($FE_MOD_OK==0){
		echo "|MS|Modalidad de venta no registrada para la facturacion electronica|";
		return;
	}	
	//++01
	if($FE_WOD=="CHIP SUELTO" && $FE_WOD_TIP=="MOVIL"){
		$CX=gn("count(*)","vis_fe_cs_movil_det","ID=$ID");
		if($CX==0){
			echo "|MS|Error cero datos detallados|";
			return;
		}
		$rd=gr("vis_fe_cs_movil_det","ID=$ID");	
		$FE_TOT=round($rd['PRE'],1);
	}
	//++02
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="MOVIL"){
		$CX=gn("count(*)","vis_fe_cc_movil_det","ID=$ID");
		if($CX==0){
			echo "|MS|Error cero datos detallados|";
			return;
		}
		$rd=gr("vis_fe_cc_movil_det","ID=$ID");	
		$_DET_EQU_ID=$rd['EQU_ID'];
		if($_DET_EQU_ID==0){
			echo "|MS|Error detalle de equipo no disponible|";
			return;
		}
		$FE_TOT=round($rd['EQU_PRE'] + $rd['CHI_PRE'],1);
	}
	//++03
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="3PLAY"){
		$CX=gn("count(*)","vis_fe_cc_3play_det","ID=$ID");
		if($CX==0){
			echo "|MS|Error cero datos detallados|";
			return;
		}
		$rd=gr("vis_fe_cc_3play_det","ID=$ID");	
		$FE_TOT=round($rd['TOT'],1);
	}
	//++04
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="INTERNET INALAMBRICO"){
		$CX=gn("count(*)","vis_fe_cc_ii_det","ID=$ID");
		if($CX==0){
			echo "|MS|Error cero datos detallados|";
			return;
		}
		$rd=gr("vis_fe_cc_ii_det","ID=$ID");	
		$_DET_EQU_ID=$rd['EQU_ID'];
		if($_DET_EQU_ID==0){
			echo "|MS|Error detalle de equipo no disponible|";
			return;
		}
		$FE_TOT=round($rd['EQU_PRE'] + $rd['CHI_PRE'],1);		
	}
	//++05
	if($FE_WOD=="CUOTAS" && $FE_WOD_TIP=="MOVIL"){
		$CX=gn("count(*)","vis_fe_c_mov_det","ID=$ID");
		if($CX==0){
			echo "|MS|Error cero datos detallados|";
			return;
		}
		$rd=gr("vis_fe_c_mov_det","ID=$ID");
		$_DET_EQU_ID=$rd['EQU_ID'];
		if($_DET_EQU_ID==0){
			echo "|MS|Error detalle de equipo no disponible|";
			return;
		}	
		$FE_TOT=round($rd['EQU_PRE'] + $rd['CHI_PRE'] + $rd['CUO_INI'],1);		
	}
	//+++++++++++++++++++++++++++++++++++	
	$FE_STO=$FE_TOT / 1.18;
	$FE_IGV=$FE_TOT - $FE_STO;
	$FE_STO=round($FE_STO,2);
	$FE_IGV=round($FE_IGV,2);
	$FE_USU_=0;
	$FE_TIP="A";
	$FE_MOD="AUT";
	$FE_VEN_ID=$ID;
	$FE_EMA=$r['CLI_EMA'];
	$FE_VEN=$r['VEN'];
	$FE_MND="PEN";
	$FE_TDP="Al contado";
	$_SUC_COD=$r['SUC_COD_SUNAT'];
	$_SUC_DIR=$r['SUC_DIR'];
	$HASH="";
	$FE_TDV="POSTPAGO";	
	//
	if(strlen($FE_OPE)==0){
		$OBS_VEN="POSTPAGO : ".$FE_WOD." / ".$FE_WOD_TIP;
	}else{
		$OBS_VEN="POSTPAGO : ".$FE_OPE." -> ".$FE_WOD." / ".$FE_WOD_TIP;
	}
	//++
	$s="INSERT INTO fe_ventas VALUES 
		($FE_ID,'$FE_COD',$FE_SUC_,$FE_COM_,'$FE_EST','$FE_SER',$FE_SER_,'$FE_NUM',
		 $FE_NUM_,'$FE_NUM_ELE',$FE_NUM_ELE_,'$FE_FEC',$FE_TDI_,
		 '$FE_NDI','$FE_NOM','$FE_DIR',$FE_PAIS_ID,'$FE_ANU',$FE_STO,
		 $FE_IGV,$FE_TOT,$FE_USU_,'$FE_TIP',
		 '$FE_MOD',$FE_VEN_ID,'$FE_EMA','$FE_VEN','$FE_MND','$FE_TDP',
		 'LIMA','LIMA','LIMA','150101',
		 '$_SUC_COD','$_SUC_DIR','$HASH','$FE_TDV','$OBS_VEN')";
	ejt($s);
	//++
	$s="DELETE FROM fe_ventas_det WHERE id_fe=$FE_ID";
	ejt($s);
	//++
	//FE_GEN_OBS($OPE="",$CAM="",$PLZ="",$PLN="",$IME="",$ICI="",$REA="",$CUN="",$CUP="")
	//++01
	if($FE_WOD=="CHIP SUELTO" && $FE_WOD_TIP=="MOVIL"){
		$FE_OPE=$FE_OPE;
		$FE_DET_CHI_ID=$rd['CHI_ID'];
		$FE_DET_CHI=trim($rd['DES']);
		$FE_DET_LIN=trim($rd['LIN']);
		if($FE_DET_CHI_ID==0){
			if(strlen($FE_OPE)>0){
				$FE_DET_CHI=$FE_OPE;
			}else{
				$FE_DET_CHI="SERVICIO";
			}
		}else{
			if(strlen($FE_DET_CHI)==0)$FE_DET_CHI="SIM CARD";
		}
		$FE_DET_CHI_PRE=round($rd['PRE'],1);
		$FE_DET_CHI_ICI=$rd['ICCID'];
		$FE_DET_CAM=$rd['CAM'];	
		$FE_DET_PLZ=$rd['PLZ'];	
		$FE_DET_PLN=$rd['PLN'];	
		$FE_DET_LIN=$rd['LIN'];	
		$FE_DET_REA=round($rd['REN_ADE_TOT'],1);
		//
		$FE_DET_OBS=FE_GEN_OBS($FE_OPE,$FE_DET_CAM,$FE_DET_PLZ,$FE_DET_PLN,"",$FE_DET_CHI_ICI,$FE_DET_REA,"","",$FE_DET_LIN);
		//
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_CHI;
		$_PRE=$FE_DET_CHI_PRE;
		$_PRE_=$FE_DET_CHI_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_CHI_PRE;
		$_IMP_=$FE_DET_CHI_PRE;
		$_OBS=$FE_DET_OBS;
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
		//
	}	
	//++02
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="MOVIL"){
		$FE_DET_EQU_ID=$rd['EQU_ID'];
		$FE_DET_EQU=$rd['EQU_DES'];
		$FE_DET_EQU_PRE=round($rd['EQU_PRE'],1);
		$FE_DET_EQU_IME=$rd['IMEI'];
		$FE_DET_CAM=$rd['CAM'];	
		$FE_DET_PLZ=$rd['PLZ'];	
		$FE_DET_PLN=$rd['PLN'];	
		$FE_DET_LIN=$rd['LIN'];	
		$FE_DET_REA=$rd['REN_ADE_TOT'];			
		//
		$FE_DET_OBS=FE_GEN_OBS($FE_OPE,$FE_DET_CAM,$FE_DET_PLZ,$FE_DET_PLN,$FE_DET_EQU_IME,"",$FE_DET_REA,"","",$FE_DET_LIN);
		//
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_EQU;
		$_PRE=$FE_DET_EQU_PRE;
		$_PRE_=$FE_DET_EQU_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_EQU_PRE;
		$_IMP_=$FE_DET_EQU_PRE;
		$_OBS=$FE_DET_OBS;
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
		//
		$FE_DET_CHI_ID=$rd['CHI_ID'];
		if($FE_DET_CHI_ID>0){
			$FE_DET_CHI=trim($rd['CHI_DES']);
			if(strlen($FE_DET_CHI)==0)$FE_DET_CHI="SIM CARD";
			$FE_DET_CHI_PRE=round($rd['CHI_PRE'],1);
			$FE_DET_CHI_ICI=$rd['ICCID'];
			$FE_DET_OBS="ICCID:".$FE_DET_CHI_ICI;
			//
			$DET_ID=GenId("cx","fe_ventas_det");
			$_TIP="ITEM";
			$_COD="-";
			$_DES=$FE_DET_CHI;
			$_PRE=$FE_DET_CHI_PRE;
			$_PRE_=$FE_DET_CHI_PRE;
			$_CAN="1";
			$_CAN_="1";
			$_IMP=$FE_DET_CHI_PRE;
			$_IMP_=$FE_DET_CHI_PRE;
			$_OBS=$FE_DET_OBS;
			$s="INSERT INTO fe_ventas_det VALUES 
				($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
				'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
			ejt($s);
		}
	}
	//++03
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="3PLAY"){
		$FE_DET_EQU=$rd['SOL'];
		$FE_DET_EQU_PRE=round($rd['TOT'],1);	
		$FE_DET_CAM=$rd['CAM'];	
		$FE_DET_PLZ=$rd['PLZ'];	
		$FE_DET_PAQ=$rd['PAQ'];	
		$FE_DET_SER=$rd['SER'];	
		$FE_DET_REA=$rd['REN_ADE_TOT'];			
		$FE_DET_OBS=$FE_DET_CAM." * PLAZO:".$FE_DET_PLZ." * PAQUETE:".$FE_DET_PAQ." * SERVICIO:".$FE_DET_SER;
		if($FE_DET_REA>0){
			$FE_DET_OBS=$FE_DET_OBS." * RA:".round($FE_DET_REA,1);
		}
		//
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_EQU;
		$_PRE=$FE_DET_EQU_PRE;
		$_PRE_=$FE_DET_EQU_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_EQU_PRE;
		$_IMP_=$FE_DET_EQU_PRE;
		$_OBS=$FE_DET_OBS;
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
	}
	//++04
	if($FE_WOD=="CONTRATO / CODE" && $FE_WOD_TIP=="INTERNET INALAMBRICO"){
		$FE_DET_EQU_ID=$rd['EQU_ID'];
		$FE_DET_EQU=$rd['EQU_DES'];
		$FE_DET_EQU_PRE=round($rd['EQU_PRE'],1);
		$FE_DET_EQU_IME=$rd['IMEI'];
		$FE_DET_CAM=$rd['CAM'];	
		$FE_DET_PLZ=$rd['PLZ'];	
		$FE_DET_PLN=$rd['PLN'];			
		$FE_DET_REA=$rd['REN_ADE_TOT'];			
		$FE_DET_OBS=$FE_DET_CAM." * PLAZO:".$FE_DET_PLZ." * PLAN:".$FE_DET_PLN." * IMEI:".$FE_DET_EQU_IME;
		if($FE_DET_REA>0){
			$FE_DET_OBS=$FE_DET_OBS." * RA:".round($FE_DET_REA,1);
		}
		//
		$FE_DET_LIN=trim($rd['LIN']);	
		if(strlen($FE_DET_LIN)>0){
			if(strlen($FE_DET_OBS)==0){
				$FE_DET_OBS="LINEA:".$FE_DET_LIN;
			}else{
				$FE_DET_OBS=$FE_DET_OBS."* LINEA:".$FE_DET_LIN;
			}
		}
		//
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_EQU;
		$_PRE=$FE_DET_EQU_PRE;
		$_PRE_=$FE_DET_EQU_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_EQU_PRE;
		$_IMP_=$FE_DET_EQU_PRE;
		$_OBS=$FE_DET_OBS;
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
		//
		$FE_DET_CHI_ID=$rd['CHI_ID'];
		if($FE_DET_CHI_ID>0){
			$FE_DET_CHI=trim($rd['CHI_DES']);
			if(strlen($FE_DET_CHI)==0)$FE_DET_CHI="SIM CARD";
			$FE_DET_CHI_PRE=round($rd['CHI_PRE'],1);
			$FE_DET_CHI_ICI=$rd['ICCID'];
			$FE_DET_OBS="ICCID:".$FE_DET_CHI_ICI;
			//
			$DET_ID=GenId("cx","fe_ventas_det");
			$_TIP="ITEM";
			$_COD="-";
			$_DES=$FE_DET_CHI;
			$_PRE=$FE_DET_CHI_PRE;
			$_PRE_=$FE_DET_CHI_PRE;
			$_CAN="1";
			$_CAN_="1";
			$_IMP=$FE_DET_CHI_PRE;
			$_IMP_=$FE_DET_CHI_PRE;
			$_OBS=$FE_DET_OBS;
			$s="INSERT INTO fe_ventas_det VALUES 
				($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
				'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
			ejt($s);		
		}
	}	
	//++05
	if($FE_WOD=="CUOTAS" && $FE_WOD_TIP=="MOVIL"){
		//***
		$FE_OBS="";
		$FE_CAM=$rd['CAM'];	
		$FE_PLZ=$rd['PLZ'];	
		$FE_PLN=$rd['PLN'];	
		$FE_LIN=trim($rd['LIN']);	
		$FE_CUO_NRO=$rd['COU_NRO'];	
		$FE_CF=round($rd['CF'],1);
		$FE_CUO_PRE=round($rd['CUO_PRE'],1);
		$FE_CF_EX=round($FE_CF+$FE_CUO_PRE,1);
		$FE_REA=round($rd['REN_ADE_TOT'],1);					
		$FE_OBS=$FE_CAM." * PLAZO:".$FE_PLZ.
						" * PLAN:".$FE_PLN.
						" * Nro CUOTAS:".$FE_CUO_NRO.
						" * CUOTA:".$FE_CUO_PRE.
						" * C.F.:".$FE_CF_EX;
		if(strlen($FE_LIN)>0){
			$FE_OBS=$FE_OBS." * LINEA:".$FE_LIN;
		}
		if($FE_REA>0){
			$FE_OBS=$FE_OBS." * RA:".round($FE_REA,1);
		}
		//
		$FE_DET_EQU_ID=$rd['EQU_ID'];
		$FE_DET_EQU=$rd['EQU_DES'];
		$FE_DET_EQU_PRE=round($rd['EQU_PRE'],1);
		$FE_DET_EQU_IME=trim($rd['IMEI']);
		//
		if(strlen($FE_DET_EQU_IME)>0){
			$FE_OBS=$FE_OBS." * IMEI:".$FE_DET_EQU_IME;
		}
		$CUO_EQU_PRE=0;
		if($FE_DET_EQU_ID>0){
			$DET_ID=GenId("cx","fe_ventas_det");
			$_TIP="ITEM";
			$_COD="-";
			$_DES=$FE_DET_EQU;
			//if($rd['CUO_INI']==0){
			//	$_PRE=$FE_DET_EQU_PRE;
			//	$_PRE_=$FE_DET_EQU_PRE;
			//	$CUO_EQU_PRE=$FE_DET_EQU_PRE;
			//}else{
			//	$_PRE="0";
			//	$_PRE_=0;
			//}
			$_PRE="0";
			$_PRE_=0;
			$CUO_EQU_PRE=$FE_DET_EQU_PRE;
			$_CAN="1";
			$_CAN_="1";
			$_IMP=$FE_DET_EQU_PRE;
			$_IMP_=$FE_DET_EQU_PRE;
			$_OBS=$FE_OBS;
			$s="INSERT INTO fe_ventas_det VALUES 
				($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
				'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
			ejt($s);
		}
		//
		$FE_OBS="";
		$FE_DET_CHI_ID=$rd['CHI_ID'];
		if($FE_DET_CHI_ID>0){
			$FE_DET_CHI=trim($rd['CHI_DES']);
			if(strlen($FE_DET_CHI)==0)$FE_DET_CHI="SIM CARD";
			$FE_DET_CHI_PRE=round($rd['CHI_PRE'],1);
			$FE_DET_CHI_ICI=trim($rd['ICCID']);
			//
			if(strlen($FE_DET_CHI_ICI)>0){
				$FE_OBS="ICCID:".$FE_DET_CHI_ICI;
			}
			if($FE_DET_CHI_ID>0){
				$DET_ID=GenId("cx","fe_ventas_det");
				$_TIP="ITEM";
				$_COD="-";
				$_DES=$FE_DET_CHI;
				//$_PRE=$FE_DET_CHI_PRE;
				//$_PRE_=$FE_DET_CHI_PRE;
				$_PRE="0";
				$_PRE_=0;
				$_CAN="1";
				$_CAN_="1";
				$_IMP=$FE_DET_CHI_PRE;
				$_IMP_=$FE_DET_CHI_PRE;
				$_OBS=$FE_OBS;
				$s="INSERT INTO fe_ventas_det VALUES 
					($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
					'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
				ejt($s);
			}
		}
		//
		if($rd['CUO_INI']>=0){
			$_CUO_INI=round($rd['CUO_INI'],1);
			$DET_ID=GenId("cx","fe_ventas_det");
			$_TIP="ITEM";
			$_COD="-";
			$_DES="CUOTA INICIAL";
			$_PRE=$_CUO_INI;
			$_PRE_=$_CUO_INI;
			$_CAN="1";
			$_CAN_="1";
			$_IMP=$_CUO_INI;
			$_IMP_=$_CUO_INI;
			$_OBS="";
			if($CUO_EQU_PRE>0){
				$_OBS="PRECIO EQUIPO:".$CUO_EQU_PRE;
			}
			$s="INSERT INTO fe_ventas_det VALUES 
				($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
				'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
			ejt($s);
		}
		
	}
	//++
	if(gn("count(*)","fe_ventas","id_fe=$FE_ID")>0){
		$s="UPDATE ventas_telefonia SET ven_id_fe=$FE_ID WHERE id_ventas_telefonia=$ID";
		ejt($s);
	}
	//"|OK|".$NUM."|".$HAS."|"
	$STR_DAT=GEN_CE($FE_ID);	
	$DAT=explode("|",$STR_DAT);
	if($DAT[1]=="OK"){
		$DAT_NUM=$DAT[2];
		$DAT_HAS=$DAT[3];
		$DAT_NUM_=vbval($DAT_NUM);
		$s="UPDATE ventas_telefonia 
			SET ven_num_ele='$DAT_NUM',
				ven_num_ele_=$DAT_NUM_,
				ven_estado='GENERADO',
				ven_hash='$DAT_HAS' WHERE id_ventas_telefonia=$ID";
		ejt($s);
	}
	echo $STR_DAT;
	//++
}
//
if($CMD=="GEN_CE_PRE"){
	$ID=vbval($P01);
	if(gn("count(*)","viz_wentas","ID=$ID")==0){
		echo "|MS|Id no registrado|";
		return;		
	}
	$r=gr("viz_wentas","ID=$ID");
	//
	$_COM=$r['DOC_ID'];
	$_SER=$r['SER_'];
	$_NUM=$r['NUM_'];
	//
	$CX=gn("count(*)","fe_ventas","fe_id_doc=$_COM AND fe_ser_=$_SER AND fe_num_=$_NUM");
	if($CX>0){
		echo "|MS|El comprobante electronico ya ha sido generado|";
		return;
	}
	//
	$FE_ID=GenId("id_fe","fe_ventas");
	$FE_COD=vbr("000000".$FE_ID,6);
	$FE_SUC_=$r['SUC_ID'];
	$FE_COM_=$r['DOC_ID'];
	$FE_EST=$r['EST'];
	$FE_SER_=$r['SER_'];
	if($r['COM']=="BOL.ELE.")$FE_SER="B".vbr("000".$r['SER'],3);
	if($r['COM']=="FAC.ELE.")$FE_SER="F".vbr("000".$r['SER'],3);
	$FE_NUM=$r['NUM'];
	$FE_NUM_=vbval($FE_NUM);
	$FE_NUM_ELE="";
	$FE_NUM_ELE_=0;
	$FE_FEC=$r['FEC'];
	$FE_TDI_=$r['TDI_ID'];
	$FE_NDI=$r['DNI'];
	$FE_NOM=$r['CLI'];
	$FE_DIR=$r['DIR'];
	$FE_PAIS_ID=$r['PAIS_ID'];
	$FE_ANU="NO";
	$FE_TOT=$r['TOT_'];
		$FE_STO=$FE_TOT / 1.18;
		$FE_IGV=$FE_TOT - $FE_STO;
	$FE_STO=round($FE_STO,2);
	$FE_IGV=round($FE_IGV,2);
	$FE_USU_=0;
	$FE_TIP="A";
	$FE_MOD="AUT";
	$FE_VEN_ID=$ID;
	$FE_EMA=$r['EMAIL'];
	$FE_VEN=$r['VEN'];
	$FE_MND="PEN";
	$FE_TDP="Al contado";
	$_SUC_COD=$r['SUC_COD_SUNAT'];
	$_SUC_DIR=$r['SUC_DIR'];	
	$HASH="";
	$FE_TDV="PREPAGO";
	//***
	$FE_LIN=trim($r['NRO']);
	//***
	$FE_TIP=$r['TIP'];
	$FE_TIP_SUB=$r['SUT'];
	//
	$OBS_VEN="PREPAGO : ".$FE_TIP." / ".$FE_TIP_SUB;
	//++
	$s="INSERT INTO fe_ventas VALUES 
		($FE_ID,'$FE_COD',$FE_SUC_,$FE_COM_,'$FE_EST','$FE_SER',$FE_SER_,'$FE_NUM',
		 $FE_NUM_,'$FE_NUM_ELE',$FE_NUM_ELE_,'$FE_FEC',$FE_TDI_,
		 '$FE_NDI','$FE_NOM','$FE_DIR',$FE_PAIS_ID,'$FE_ANU',$FE_STO,
		 $FE_IGV,$FE_TOT,$FE_USU_,'$FE_TIP',
		 '$FE_MOD',$FE_VEN_ID,'$FE_EMA','$FE_VEN','$FE_MND','$FE_TDP',
		 'LIMA','LIMA','LIMA','150101',
		 '$_SUC_COD','$_SUC_DIR','$HASH','$FE_TDV','$OBS_VEN')";
	ejt($s);	
	//++
	$FE_DET_EQU=$r['EQU'];
	$FE_DET_EQU_PRE=round($r['EQU_PRE'],2);
	$FE_DET_EQU_IME=trim($r['IMEI']);
	//
	$FE_DET_CHI=$r['CHIP'];
	$FE_DET_CHI_PRE=$r['CHIP_PRE'];
	$FE_DET_CHI_ICI=trim($r['ICCID']);	
	//
	$s="DELETE FROM fe_ventas_det WHERE id_fe=$FE_ID";
	ejt($s);
	//
	if(strlen($FE_DET_EQU)>0){
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_EQU;
		$_PRE=$r['pre'];
		$_PRE_=$FE_DET_EQU_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_EQU_PRE;
		$_IMP_=$FE_DET_EQU_PRE;
		$_OBS="";
		if(strlen($FE_DET_EQU_IME)>0){
			$_OBS="IMEI:".$FE_DET_EQU_IME;
		}
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
	}
	//
	if(strlen($FE_DET_CHI)>0){
		$DET_ID=GenId("cx","fe_ventas_det");
		$_TIP="ITEM";
		$_COD="-";
		$_DES=$FE_DET_CHI;
		$_PRE=$r['pre'];
		$_PRE_=$FE_DET_CHI_PRE;
		$_CAN="1";
		$_CAN_="1";
		$_IMP=$FE_DET_CHI_PRE;
		$_IMP_=$FE_DET_CHI_PRE;
		$_OBS="";
		if(strlen($FE_DET_CHI_ICI)>0){
			$_OBS="ICCID:".$FE_DET_CHI_ICI;
		}
		if(strlen($FE_LIN)>0){
			if(strlen($_OBS)>0){
				$_OBS=$_OBS." * LINEA:".$FE_LIN;
			}else{
				$_OBS="LINEA:".$FE_LIN;
			}
		}
		$s="INSERT INTO fe_ventas_det VALUES 
			($DET_ID,$FE_ID,'$_TIP','$_COD','$_DES',
			'$_PRE',$_PRE_,'$_CAN',$_CAN_,'$_IMP',$_IMP_,'$_OBS')";			
		ejt($s);
	}
	if(gn("count(*)","fe_ventas","id_fe=$FE_ID")>0){
		$s="UPDATE wentas SET wen_id_fe=$FE_ID WHERE id_wenta=$ID";
		ejt($s);
	}
	//"|OK|".$NUM."|".$HAS."|"
	$STR_DAT=GEN_CE($FE_ID);	
	$DAT=explode("|",$STR_DAT);
	if($DAT[1]=="OK"){
		$DAT_NUM=$DAT[2];
		$DAT_HAS=$DAT[3];
		$DAT_NUM_=vbval($DAT_NUM);
		$s="UPDATE wentas 
			SET wen_num_ele='$DAT_NUM',
				wen_num_ele_=$DAT_NUM_,
				wen_estado='GENERADO',
				wen_hash='$DAT_HAS' WHERE id_wenta=$ID";
		ejt($s);
	}
	echo $STR_DAT;
}
//
if($CMD=="GEN_CE"){
	$FE_ID=vbval($P01);
	echo GEN_CE($FE_ID);
}
?>

