-- corrección en pagos

This commit is contained in:
2023-03-01 12:30:44 -07:00
parent 7f6ce47704
commit 6354b51dcc
3 changed files with 41 additions and 35 deletions

View File

@@ -306,7 +306,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{ {
decimal ImporteBanco = TxtImporte.Text.ToDecimal(); decimal ImporteBanco = TxtImporte.Text.ToDecimal();
decimal ImporteMNBanco = ImporteBanco; decimal ImporteMNBanco = ImporteBanco;
decimal ImporteComplementaria = 0; decimal ImporteComplementaria = 0;
decimal TCPago = TxtTCPago.Text.ToDecimal(); decimal TCPago = TxtTCPago.Text.ToDecimal();
string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text; string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
string Ref = 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 ImporteComision;
decimal ImporteComisionMN; decimal ImporteComisionMN;
decimal AcumImporteMN = 0; decimal AcumImporteMN = 0;
decimal ImportePago, ImporteAcreedor;
bool TipoMovtoComision = false; bool TipoMovtoComision = false;
int IdCtaContableOtrosGastos = 0; int IdCtaContableOtrosGastos = 0;
int CveConceptoDiferenciaCambiaria = 0; int CveConceptoDiferenciaCambiaria = 0;
@@ -338,8 +339,9 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal(); Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal();
ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal(); ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal();
ImporteMN = Importe; ImporteMN = Importe;
ImporteAcreedor = Importe; ImportePago = Importe;
ImporteComisionMN = ImporteComision; ImporteComisionMN = ImporteComision;
ImporteComplementaria = 0; ImporteComplementaria = 0;
if (gvr.FCTextBox("TxtComision").Text.ToDecimal() < 0) if (gvr.FCTextBox("TxtComision").Text.ToDecimal() < 0)
{ {
@@ -352,7 +354,6 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{ {
TipoMovtoComision = false; TipoMovtoComision = false;
IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero(); IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero();
} }
Decimal TC = gvr.DataKey("TipoCambio").ToDecimal(); Decimal TC = gvr.DataKey("TipoCambio").ToDecimal();
@@ -364,24 +365,26 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (gvr.FCCheckBox("Chk").Checked) if (gvr.FCCheckBox("Chk").Checked)
{ {
int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero(); int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
if (CveMonedaPago == 1 && tCveMoneda == 1) if (CveMonedaPago == 1 && tCveMoneda == 1)
{ {
ImporteMN = Importe; ImporteMN = Importe;
ImporteComisionMN = ImporteComision; ImporteComisionMN = ImporteComision;
ImportePago = Importe;
} }
else if (CveMonedaPago == 1 && tCveMoneda == 2) else if (CveMonedaPago == 1 && tCveMoneda == 2)
{ {
ImporteComisionMN = ImporteComision; ImporteComisionMN = ImporteComision;
ImportePago = (Importe * TCPago).RoundSQL();
if (UsaComplementaria) if (UsaComplementaria)
{ {
ImporteMN = Importe; ImporteMN = Importe;
ImporteComplementaria = (Importe * TC - Importe).RoundSQL(); ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
} }
else else
{ {
ImporteMN = Importe * TC; ImporteMN = Importe * TC;
ImporteComplementaria = 0; ImporteComplementaria = 0;
} }
} }
else if (CveMonedaPago == 2 && tCveMoneda == 1) else if (CveMonedaPago == 2 && tCveMoneda == 1)
@@ -389,6 +392,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
ImporteMN = Importe; ImporteMN = Importe;
ImporteComisionMN = ImporteComision; ImporteComisionMN = ImporteComision;
ImporteComplementaria = 0;
} }
else if (CveMonedaPago == 2 && tCveMoneda == 2) else if (CveMonedaPago == 2 && tCveMoneda == 2)
{ {
@@ -422,37 +426,37 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
break; 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())) 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"; MsgError = "No se pudo insertar concepto de acreedor complementaria";
} }
if (TCPago != TC) if (ImportePago != ImporteAcreedor && MsgError == "")
{ {
bool TipoMovto = false; bool TipoMovto = false;
int IdCtaContableDiferenciaCambiaria = 0; int IdCtaContableDiferenciaCambiaria = 0;
if (TCPago > TC) if (TCPago > TC)
{ {
CveConceptoDiferenciaCambiaria = 65; CveConceptoDiferenciaCambiaria = 65;
IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria; IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria;
TipoMovto = false; TipoMovto = false;
Importe = (Importe * TCPago) - (Importe * TC); 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";
} }
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())) 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 //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"; 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; 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"; 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 //VALIDA QUE CUADRE LA PREPOLIZA
if (ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5)) if (MsgError == "" && ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5))
{ {
if (ObjMov.ValorPolizaDescuadre > 0) if (ObjMov.ValorPolizaDescuadre > 0)
{ {

View File

@@ -2864,7 +2864,7 @@
<br /> <br />
</div> </div>
<asp:GridView ID="GVAnticipos" runat="server" GridLines="None" AutoGenerateColumns="False" DataKeyNames="CveCompra,TipoDocto,CveIE,Fecha,CvePrePoliza,CveMoneda,TCCompra" EmptyDataText="No se encontraron Anticipos/NC del Proveedor" CssClass="table table-striped table-hover table-advance Widthall"> <asp:GridView ID="GVAnticipos" runat="server" GridLines="None" AutoGenerateColumns="False" DataKeyNames="CveCompra,TipoDocto,CveIE,Fecha,CvePrePoliza,CveMoneda,TCCompra,CveProveedor" EmptyDataText="No se encontraron Anticipos/NC del Proveedor" CssClass="table table-striped table-hover table-advance Widthall">
<Columns> <Columns>
<asp:TemplateField ItemStyle-Width="30px"> <asp:TemplateField ItemStyle-Width="30px">
<ItemTemplate> <ItemTemplate>

View File

@@ -8736,6 +8736,7 @@ Partial Class Compras_Compras
Pago.OtroGastoIngreso = ImporComisionAnticipo Pago.OtroGastoIngreso = ImporComisionAnticipo
Pago.CveMonedaPago = CveMonedaAnticipo Pago.CveMonedaPago = CveMonedaAnticipo
Pago.TCPago = TipoCambioAnt Pago.TCPago = TipoCambioAnt
Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero
Select Case gvr.DataKey("TipoDocto") Select Case gvr.DataKey("TipoDocto")
Case "NC", "DEV" Case "NC", "DEV"
@@ -8750,6 +8751,7 @@ Partial Class Compras_Compras
CveConceptoCompraComplementaria = 266 CveConceptoCompraComplementaria = 266
IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera)
IdCtaContableComp = CtaProveedorAnticiposComplementaria IdCtaContableComp = CtaProveedorAnticiposComplementaria
'vinculo la compra actual, y no la compra como si fuera nota de credito 'vinculo la compra actual, y no la compra como si fuera nota de credito
CveCompraNC = -1 CveCompraNC = -1
CveIE = gvr.DataKey("CveIE").ToEntero CveIE = gvr.DataKey("CveIE").ToEntero