///-----------------------------------------------------------------------------------------------------------------------------------					  
					    //$ldec_montotot = ($ldec_montomov-$ldec_montoret);
					    $lb_valido     = $in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_cuenta_scg,'SCBCOR',$ls_desmov,$ls_numdoc,'H',$ldec_monto,$ldec_monobjret,false,'00000');
					    if ($lb_valido)
					       {
						    $ls_ctaprovbene=$io_carord->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');*/
							$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctaprovbene,'CXPSOP',$ls_desmov,$ls_numsol,'D',$ldec_monto+$ld_montotret,$ldec_monobjret,false,'00000');
							if ($lb_valido)
						       {
							     //Sustiyuyo nuevamente las del movimiento.
							     if ($lb_valido)
							        {
									  $ldec_monto_spg=0;
									  $io_carord->uf_buscar_dt_cxpspg($ls_numsol);
									  if (array_key_exists("codestpro1",$io_carord->ds_sol->data))
									     {
									       $li_total_rows=$io_carord->ds_sol->getRowCount("codestpro1");
									       for ($li_x=1;$li_x<=$li_total_rows;$li_x++)
									           {
												 $ldec_monto_aux=$io_carord->ds_sol->getValue("monto",$li_x);
												 $ldec_monto_spg=$ldec_monto_spg + $ldec_monto_aux;
									           }
										   $ldec_montospg2=0;
									       for ($li_y=1;$li_y<=$li_total_rows;$li_y++)
									           {
											     $ldec_monto_aux = $io_carord->ds_sol->getValue("monto",$li_y);
										         if ($lb_valido)
													{
													  if ($ls_estsol!="C")
							$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;
											}
											
											$ldec_montospg2=0;
											for($li_y=1;$li_y<=$li_total_rows;$li_y++)
											{
												
												$ldec_monto_aux=$in_class_carta->ds_sol->getValue("monto",$li_y);