diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs index 958844dd5..a486cae6a 100644 --- a/Bancos/PagoAcreedor.aspx.cs +++ b/Bancos/PagoAcreedor.aspx.cs @@ -306,7 +306,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas { decimal ImporteBanco = TxtImporte.Text.ToDecimal(); decimal ImporteMNBanco = ImporteBanco; - decimal ImporteComplementaria = 0; + decimal ImporteComplementaria = 0; decimal TCPago = TxtTCPago.Text.ToDecimal(); string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; @@ -328,6 +328,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas decimal ImporteComision; decimal ImporteComisionMN; decimal AcumImporteMN = 0; + decimal ImportePago, ImporteAcreedor; bool TipoMovtoComision = false; int IdCtaContableOtrosGastos = 0; int CveConceptoDiferenciaCambiaria = 0; @@ -338,8 +339,9 @@ public partial class Bancos_PagoAcreedor : ClsPaginas Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal(); ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal(); ImporteMN = Importe; + ImporteAcreedor = Importe; ImportePago = Importe; ImporteComisionMN = ImporteComision; - ImporteComplementaria = 0; + ImporteComplementaria = 0; if (gvr.FCTextBox("TxtComision").Text.ToDecimal() < 0) { @@ -352,7 +354,6 @@ public partial class Bancos_PagoAcreedor : ClsPaginas { TipoMovtoComision = false; IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero(); - } Decimal TC = gvr.DataKey("TipoCambio").ToDecimal(); @@ -364,24 +365,26 @@ public partial class Bancos_PagoAcreedor : ClsPaginas if (gvr.FCCheckBox("Chk").Checked) { - int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero(); + int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero(); if (CveMonedaPago == 1 && tCveMoneda == 1) { ImporteMN = Importe; ImporteComisionMN = ImporteComision; + ImportePago = Importe; } else if (CveMonedaPago == 1 && tCveMoneda == 2) { ImporteComisionMN = ImporteComision; + ImportePago = (Importe * TCPago).RoundSQL(); if (UsaComplementaria) { ImporteMN = Importe; - ImporteComplementaria = (Importe * TC - Importe).RoundSQL(); + ImporteComplementaria = (Importe * TC - Importe).RoundSQL(); } else { ImporteMN = Importe * TC; - ImporteComplementaria = 0; + ImporteComplementaria = 0; } } else if (CveMonedaPago == 2 && tCveMoneda == 1) @@ -389,6 +392,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas ImporteMN = Importe; ImporteComisionMN = ImporteComision; + ImporteComplementaria = 0; } else if (CveMonedaPago == 2 && tCveMoneda == 2) { @@ -422,37 +426,37 @@ public partial class Bancos_PagoAcreedor : ClsPaginas break; } - if (UsaComplementaria) + if (UsaComplementaria && tCveMoneda > 1 && MsgError == "") { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, Importe, Ref, CveConceptoContablePrestamoComplementario, Conc, DateTime.Now, IDCtaContableAcreedorComplementaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de acreedor complementaria"; } - if (TCPago != TC) - { - bool TipoMovto = false; - int IdCtaContableDiferenciaCambiaria = 0; - if (TCPago > TC) - { - CveConceptoDiferenciaCambiaria = 65; - IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria; - TipoMovto = false; - Importe = (Importe * TCPago) - (Importe * TC); - } - else if (TCPago < TC) - { - CveConceptoDiferenciaCambiaria = 64; - IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria; - TipoMovto = true; - Importe = (Importe * TC) - (Importe * TCPago); - } - ImporteMN = Importe; - - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) - MsgError = "No se pudo insertar concepto de diferencia cambiaria"; + if (ImportePago != ImporteAcreedor && MsgError == "") + { + bool TipoMovto = false; + int IdCtaContableDiferenciaCambiaria = 0; + if (TCPago > TC) + { + CveConceptoDiferenciaCambiaria = 65; + IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria; + TipoMovto = false; + Importe = (Importe * TCPago) - (Importe * TC); } + else if (TCPago < TC) + { + CveConceptoDiferenciaCambiaria = 64; + IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria; + TipoMovto = true; + Importe = (Importe * TC) - (Importe * TCPago); + } + ImporteMN = Importe; + + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + MsgError = "No se pudo insertar concepto de diferencia cambiaria"; + } - if (ImporteComisionMN > 0) + if (ImporteComisionMN > 0 && MsgError == "") { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoComision, ImporteComision, Ref, 255, Conc, DateTime.Now, IdCtaContableOtrosGastos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComisionMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: TC, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { @@ -477,10 +481,10 @@ public partial class Bancos_PagoAcreedor : ClsPaginas } } - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos"; + if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos"; //movimiento de ajuste por sino se aplicó en el proceso anterior - if (CveMonedaPago != 1 && UsaComplementaria ) + if (MsgError == "" && CveMonedaPago != 1 && UsaComplementaria ) { if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 204, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) MsgError = "No se pudo insertar concepto de bancos complementaria"; @@ -499,7 +503,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas tCveConceptoOtIngresos = 64; TipoMovtoOt = true; } - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOt, Dif.Abs(), Ref, tCveConceptoOtIngresos, Conc, DateTime.Now, 0, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Dif.Abs(), ImporteME: Dif.Abs(), TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de ajuste en redondeo"; } @@ -517,7 +521,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas } //VALIDA QUE CUADRE LA PREPOLIZA - if (ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5)) + if (MsgError == "" && ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5)) { if (ObjMov.ValorPolizaDescuadre > 0) { diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index d3d5c0112..61cb8d5fe 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -2864,7 +2864,7 @@
- + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 9a557b9a8..2a087fbb5 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8736,6 +8736,7 @@ Partial Class Compras_Compras Pago.OtroGastoIngreso = ImporComisionAnticipo Pago.CveMonedaPago = CveMonedaAnticipo Pago.TCPago = TipoCambioAnt + Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV" @@ -8750,6 +8751,7 @@ Partial Class Compras_Compras CveConceptoCompraComplementaria = 266 IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) IdCtaContableComp = CtaProveedorAnticiposComplementaria + 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero