-- mejoras pago s en dólares sobre pesos

This commit is contained in:
2022-03-07 18:41:09 -07:00
parent 3d05843dc8
commit 6ecdefcbf9
2 changed files with 48 additions and 29 deletions

View File

@@ -277,7 +277,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
int CveConceptoContablePrestamoComplementario = 202;
int CvePlantillaPoliza = 21;
int CvePrePoliza = 0;
int CveMoneda = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero();
int CveMonedaPago = get_GlobalDTBancosCuentas(-1, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveCuenta = {DdlCuenta.SelectedValue.ToEntero()}").ToEntero();
int FolioFijo = 0;
int IDPoliza = 0;
StringBuilder Msg = new StringBuilder();
@@ -300,7 +300,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
// DATOS PREPOLIZA
if ( DdlTipoTransaccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMonedaPago, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)
{
@@ -311,7 +311,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
string Conc = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
string Ref = TxtObservaciones.Text == "" ? TxtFolio.Text : TxtObservaciones.Text;
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransaccion.SelectedValue.ToEntero(), TxtFechaDocumento.Text.Trim().ToDate(), TxtFolio.Text.Trim(), DdlProveedores.SelectedText.ToString(), ImporteBanco.ToString().ToDouble(), CveMoneda,
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero(), DdlTipoTransaccion.SelectedValue.ToEntero(), TxtFechaDocumento.Text.Trim().ToDate(), TxtFolio.Text.Trim(), DdlProveedores.SelectedText.ToString(), ImporteBanco.ToString().ToDouble(), CveMonedaPago,
TCPago.ToString().ToDouble(), TxtObservaciones.Text.Trim(), "", ChkAbonoCuenta.Checked, false, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
@@ -327,6 +327,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
decimal ImporteMN;
decimal ImporteComision;
decimal ImporteComisionMN;
decimal AcumImporteMN = 0;
bool TipoMovtoComision = false;
int IdCtaContableOtrosGastos = 0;
@@ -364,18 +365,18 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (gvr.FCCheckBox("Chk").Checked)
{
int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
if (CveMoneda == 1 && tCveMoneda == 1)
if (CveMonedaPago == 1 && tCveMoneda == 1)
{
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
}
else if (CveMoneda == 1 && tCveMoneda == 2)
else if (CveMonedaPago == 1 && tCveMoneda == 2)
{
ImporteComisionMN = ImporteComision;
if (UsaComplementaria)
{
ImporteMN = Importe;
ImporteComplementaria = Importe * TC - Importe;
ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
}
else
{
@@ -383,33 +384,32 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
ImporteComplementaria = 0;
}
}
else if (CveMoneda == 2 && tCveMoneda == 1)
else if (CveMonedaPago == 2 && tCveMoneda == 1)
{
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
}
else if (CveMoneda == 2 && tCveMoneda == 2)
else if (CveMonedaPago == 2 && tCveMoneda == 2)
{
ImporteComisionMN = ImporteComision;
if (UsaComplementaria)
{
ImporteMN = Importe;
ImporteComplementaria = Importe * TC - Importe;
ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
}
else
{
ImporteMN = Importe * TC;
ImporteMN = (Importe * TC).RoundSQL();
ImporteComplementaria = 0;
}
}
ImporteMN = Math.Round(ImporteMN, 2, MidpointRounding.AwayFromZero);
ImporteComplementaria = Math.Round(ImporteComplementaria, 2, MidpointRounding.AwayFromZero);
ImporteComisionMN = Math.Round(ImporteComisionMN, 2, MidpointRounding.AwayFromZero);
ImporteComision = Math.Round(ImporteComision, 2, MidpointRounding.AwayFromZero);
ImporteMN = ImporteMN.RoundSQL();
ImporteComplementaria = ImporteComplementaria.RoundSQL();
ImporteComisionMN = ImporteComisionMN.RoundSQL();
ImporteComision = ImporteComision.RoundSQL();
AcumImporteMN += ImporteMN;
if (tCveMoneda != 1)
{
@@ -477,18 +477,19 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
}
if (CveMoneda != 1)
if (CveMonedaPago != 1)
{
if (UsaComplementaria)
{
ImporteMNBanco = ImporteBanco;
ImporteComplementaria = ImporteBanco * TCPago - ImporteBanco;
ImporteComplementaria = (ImporteBanco * TCPago - ImporteBanco).RoundSQL();
}
else
{
ImporteMNBanco = ImporteBanco * TCPago;
ImporteMNBanco = (ImporteBanco * TCPago).RoundSQL();
ImporteComplementaria = 0;
}
}
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, CveConceptoContableBanco, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMNBanco, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
@@ -496,12 +497,30 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
MsgError = "No se pudo insertar concepto de bancos";
}
if (CveMoneda != 1 && UsaComplementaria)
if (CveMonedaPago != 1 && UsaComplementaria)
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, CveConceptoContableBancoComplementario, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: ImporteBanco, TipoCambio: TCPago, TipoCambioPago: TCPago, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de bancos complementaria";
}
if (AcumImporteMN!=(ImporteBanco + ImporteComplementaria)) {
int tCveConceptoOtIngresos = 0;
bool TipoMovtoOt = false;
decimal Dif = AcumImporteMN - (ImporteBanco + ImporteComplementaria);
if (Dif < 0)
{
tCveConceptoOtIngresos = 211; TipoMovtoOt = false;
}
else
{
tCveConceptoOtIngresos = 78; 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: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de ajuste en redondeo";
}
}
}
}
@@ -556,7 +575,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{
if (Msg.ToString().Equals(""))
{
Msg.Append("El Documento se guardo correctamente");
Msg.AppendFormat("El Documento se guardo correctamente. Folio <b><a href='/Bancos/IE.aspx?CveIE={0}' target='_blank' class='Texto'>{1}</a></b> <br/>", CveIE, ObjIE.Folio);
}
System.IO.FileInfo archivo = null;