-- 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 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)
{

View File

@@ -2864,7 +2864,7 @@
<br />
</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>
<asp:TemplateField ItemStyle-Width="30px">
<ItemTemplate>

View File

@@ -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