$ls_est4 = str_pad($_POST["codestpro4"],25,0,0);
					 $ls_est5 = str_pad($_POST["codestpro5"],25,0,0);
				   }
				else
				   {
					 $ls_est4 = str_pad("",25,0,0);
					 $ls_est5 = str_pad("",25,0,0);
				   }
				$ls_programa  =	$ls_est1.$ls_est2.$ls_est3.$ls_est4.$ls_est5;
				$ls_desmov    = $_POST["txtdescripcion"];
				$ls_operacion = $_POST["txtafectacion"];
				$ldec_monto   = $_POST["txtmonto"];
				$ldec_monto   = str_replace(".","",$ldec_monto);
				$ldec_monto   = str_replace(",",".",$ldec_monto);
			
				$lb_valido=$in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_ctaban,$ls_mov_document,$ls_codope,$ls_estmov,$ls_programa,$ls_spgcuenta,$ls_mov_document,$ls_desmov,$ls_procedencia,$ldec_monto,$ls_operacion,$ls_estcla);
				if ($lb_valido)
				   {
					 $in_classmovbanco->io_sql->commit();
					 $ls_estdoc='C';
					 ?>
					 <script language="javascript">
						f=opener.document.form1;
						f.operacion.value="CARGAR_DT";
						f.status_doc.value='C';//Cambio estatus a actualizable
						f.action="<?php print $ls_opener;?>";
						f.submit();
					 </script>	
					 <?php
				   }
				else
												  $ldec_MontoSpgDet = $ldec_MontoSpgDet - ($ldec_montospg2 - $ldec_monto);
											    }
										     if (($ldec_montospg2 < $ldec_monto)&&($li_y==$li_total_rows)&&($ldec_montospg2!=$ldec_monto_spg))
											    {
												  $ldec_MontoSpgDet = $ldec_MontoSpgDet + ($ldec_monto - $ldec_montospg2);
											    }
										     $ls_estcla      = $io_emiche->ds_sol->getValue("estcla",$li_y);
										     $ls_codestpro1  = $io_emiche->ds_sol->getValue("codestpro1",$li_y);
										     $ls_codestpro2  = $io_emiche->ds_sol->getValue("codestpro2",$li_y);
										     $ls_codestpro3  = $io_emiche->ds_sol->getValue("codestpro3",$li_y);
										     $ls_codestpro4  = $io_emiche->ds_sol->getValue("codestpro4",$li_y);
										     $ls_codestpro5  = $io_emiche->ds_sol->getValue("codestpro5",$li_y);			
										     $ls_programa    = $ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5;
										     $ls_cuentaspg   = $io_emiche->ds_sol->getValue("spg_cuenta",$li_y);
										     $ls_descripcion = $io_emiche->ds_sol->getValue("descripcion",$li_y);			
										     $lb_valido      = $in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_ctaban,$ls_numdoc,'CH',$ls_estmov,$ls_programa,$ls_cuentaspg,$ls_numsol,$ls_descripcion,'CXPSOP',$ldec_MontoSpgDet,'PG',$ls_estcla);										     
										 }
									  }  
							    }
						   }
				        $lb_valido = $in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctaprovbene,'CXPSOP',$ls_desmov,$ls_numsol,'D',/*$ldec_monto+$ld_montotret*/$ldec_monto,$ldec_monobjret,true,'00000');//Se comenta la suma por desconocer bajo que circunstancias se deben sumar las retenciones.
					    if ($lb_valido && $li_cont==$li_totfilsel)
						   {
							 $lb_valido = $in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_cuenta_scg,'SCBBCH',$ls_desmov,$ls_numdoc,'H',$ldec_montotot,$ldec_monobjret,true,'00000');
						   }
				      }
		          }
		   }
		
		if ($lb_valido && $lb_pago)
		   {
													{
													   $ldec_MontoSpgDet = $ldec_MontoSpgDet - ($ldec_montospg2 - $ldec_monto);
													}
													if(($ldec_montospg2 < $ldec_monto)&&($li_y==$li_total_rows)&&($ldec_montospg2!=$ldec_monto_spg))
													{
													   $ldec_MontoSpgDet = $ldec_MontoSpgDet + ($ldec_monto - $ldec_montospg2);
													}												
													$ls_estcla     = $in_class_carta->ds_sol->getValue("estcla",$li_y);
													$ls_codestpro1 = $in_class_carta->ds_sol->getValue("codestpro1",$li_y);
													$ls_codestpro2 = $in_class_carta->ds_sol->getValue("codestpro2",$li_y);
													$ls_codestpro3 = $in_class_carta->ds_sol->getValue("codestpro3",$li_y);
													$ls_codestpro4 = $in_class_carta->ds_sol->getValue("codestpro4",$li_y);
													$ls_codestpro5 = $in_class_carta->ds_sol->getValue("codestpro5",$li_y);			
													$ls_programa   = $ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5;
													$ls_cuentaspg  = $in_class_carta->ds_sol->getValue("spg_cuenta",$li_y);										
													$lb_valido     = $in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_cuenta_banco,$ls_numcarord,'ND',$ls_estmov,$ls_programa,$ls_cuentaspg,$ls_numsol,$ls_desmov,'CXPSOP',$ldec_MontoSpgDet,'PG',$ls_estcla);
												}//End if								
											}//End for							
										}							
								}//End cuarto if
							}//End tercer if
						}//End segundo if	
					$ls_probentemp=$ls_codproben;
					}
					else
					{
						$msg->message("El proveedor o Beneficiario ".$ls_desproben." no tiene cuenta bancaria asociada");	
					}
				}
				else
				{