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