$ls_estsol='C';	//Cancelado							
				      }
				   else
				      {
					    $ls_estsol='P';//Programado
				      }
				   $lb_valido=$io_carord->uf_procesar_carta_orden($ls_codban,$ls_cuenta_banco,$ls_numdoc,$ls_mov_operacion,$ls_numsol,$ls_estmov,$ldec_monto,$ls_estsol);
				   if ($lb_valido)
				      {
//--------------------------------PARA EL CASO QUE LAS RETENCIONES SE APLIQUE DESDE CXP Y SE REFLEJAN EN BANCO------------					 
						   if ($lb_valido)
					       {
						     require_once("sigesp_scb_c_emision_chq.php");
							 $io_emiche  = new sigesp_scb_c_emision_chq();
						     $ls_estretiva = $_SESSION["la_empresa"]["estretiva"];
					         $ls_ctaprovbene=$io_carord->uf_select_ctaprovbene($ls_tipo,$ls_codproben,&$as_codban,&$as_ctaban);
						     if ($ls_estretiva=='B')//Retenciones aplicadas desde el Módulo de Cuentas Por Pagar y reflejadas en el Módulo Banco.
							    {
							      $ls_procede_doc = "CXPSOP";
								  $la_deducciones = $io_emiche->uf_load_retenciones_iva_cxp($ls_codemp,$ls_numsol);
								}
							 elseif($ls_estretiva=='C')//Retenciones aplicadas desde el Módulo de Cuentas Por Pagar.
							    {
								  $ls_procede_doc = "SCBBCH";
								  if (array_key_exists("la_deducciones",$_SESSION))
								     {
									   $la_deducciones=$_SESSION["la_deducciones"];
								     }										
								}
							 $li_total = 0;
							 $ld_montotret = 0;
						if($ldec_montopendiente==$ldec_monto)
						{
							$ls_estsol='C';	//Cancelado							
						}
						else
						{
							$ls_estsol='P';//Programado
						}
						$lb_valido=$in_class_carta->uf_procesar_carta_orden($ls_codban,$ls_cuenta_banco,$ls_numcarord,$ls_mov_operacion,$ls_numsol,$ls_estmov,$ldec_monto,$ls_estsol);
						if($lb_valido)//Segundo
						{
							$ldec_montotot=$ldec_montomov-$ldec_montoret;
							$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_cuenta_scg,'SCBCOR',$ls_desmov,$ls_numcarord,'H',$ldec_monto,$ldec_monobjret,false,'00000');
							if($lb_valido)//Tercer if
							{
								$ls_ctaprovbene=$in_class_carta->uf_select_ctaprovbene($ls_tipo,$ls_codproben,&$as_codban,&$as_ctaban);
								//Reemplazo los valores de banco y cuenta banco por los del proveedor.
								$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctaprovbene,'CXPSOP',$ls_desmov,$ls_numsol,'D',$ldec_monto,$ldec_monobjret,false,'00000');
								if($lb_valido)//Cuarto if
								{
										$ldec_monto_spg=0;
										$in_class_carta->uf_buscar_dt_cxpspg($ls_numsol);
										if(array_key_exists("codestpro1",$in_class_carta->ds_sol->data))
										{
											$li_total_rows=$in_class_carta->ds_sol->getRowCount("codestpro1");
											for($li_x=1;$li_x<=$li_total_rows;$li_x++)
											{
												$ldec_monto_aux=$in_class_carta->ds_sol->getValue("monto",$li_x);
												$ldec_monto_spg=$ldec_monto_spg + $ldec_monto_aux;
											}