-- mejora en manejo de dolares/pesos/dolares

This commit is contained in:
2023-03-03 09:57:51 -07:00
parent f6d1f1f0c9
commit 7a224cfd99

View File

@@ -73,20 +73,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
ViewState["IDCtaContableAcreedorComplementaria"] = value;
}
}
private bool UsaComplementaria
{
get
{
return Convert.ToBoolean(ViewState["UsaComplementaria"]);
}
set
{
ViewState["UsaComplementaria"] = value;
}
}
private int CveMonedaCuentaPago
{
get
@@ -110,10 +97,9 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
UsaComplementaria = true;
{
CveMonedaCuentaPago = 0;
rowComisiones.Visible = UsuarioActual.CveEmpresa.Contiene(1, 4, 5, 7, 11, 12, 72, 80, 126, 119, 122);
rowComisiones.Visible = true;
CargaTipoTransaccion();
CargaCuentas();
@@ -318,17 +304,13 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (CveIE > 0)
{
//GUARDA COMPROBANTE
if (!filemove.Equals(""))
{
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase: false);
}
decimal Importe;
decimal ImporteMN;
decimal ImporteComision;
decimal ImporteComisionMN;
decimal AcumImporteMN = 0;
decimal ImportePago, ImporteAcreedor;
decimal ImporteBancosMN, ImporteAcreedorMN;
bool TipoMovtoComision = false;
int IdCtaContableOtrosGastos = 0;
int CveConceptoDiferenciaCambiaria = 0;
@@ -339,7 +321,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal();
ImporteComision = gvr.FCTextBox("TxtComision").Text.ToDecimal();
ImporteMN = Importe;
ImporteAcreedor = Importe; ImportePago = Importe;
ImporteAcreedorMN = Importe;
ImporteBancosMN = Importe;
ImporteComisionMN = ImporteComision;
ImporteComplementaria = 0;
@@ -354,63 +337,47 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{
TipoMovtoComision = false;
IdCtaContableOtrosGastos = UsuarioActual.Empresa.Funcionalidad(266).ToEntero();
}
Decimal TC = gvr.DataKey("TipoCambio").ToDecimal();
if (gvr.DataKey("FechaDocumento").ToDate().Month != TxtFechaDocumento.Text.ToDate().Month || gvr.DataKey("FechaDocumento").ToDate().Year != TxtFechaDocumento.Text.ToDate().Year)
{
TC = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDate().AddMonths(-1).LastDayOfMonth()).ToDecimal();
}
}
if (gvr.FCCheckBox("Chk").Checked)
{
int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
if (CveMonedaPago == 1 && tCveMoneda == 1)
Decimal TC = gvr.DataKey("TipoCambio").ToDecimal();
int tCveMoneda = gvr.DataKey("CveMoneda").ToEntero();
//Verifica Fluctuación mensual
if (tCveMoneda > 1 && gvr.DataKey("FechaDocumento").ToDate() < TxtFechaDocumento.Text.ToDate().FirstDayOfMonth())
{
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
ImportePago = Importe;
TC = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDate().AddMonths(-1).LastDayOfMonth()).ToDecimal();//obtengo el TC del mes anterior del pago
}
else if (CveMonedaPago == 1 && tCveMoneda == 2)
{
ImporteComisionMN = ImporteComision;
ImportePago = (Importe * TCPago).RoundSQL();
if (UsaComplementaria)
{
ImporteMN = Importe;
ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
}
else
{
ImporteMN = Importe * TC;
ImporteComplementaria = 0;
}
}
else if (CveMonedaPago == 2 && tCveMoneda == 1)
{
ImporteBancosMN = (Importe * TCPago).RoundSQL();
ImporteAcreedorMN = (Importe * TC).RoundSQL();
ImporteMN = Importe;
ImporteComisionMN = ImporteComision;
ImporteComplementaria = 0;
}
else if (CveMonedaPago == 2 && tCveMoneda == 2)
{
ImporteComisionMN = ImporteComision;
if (UsaComplementaria)
{
ImporteMN = Importe;
ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
}
else
{
ImporteMN = (Importe * TC).RoundSQL();
ImporteComplementaria = 0;
}
}
//if (CveMonedaPago == 1 && tCveMoneda == 1)
//{
// ImporteMN = Importe;
// ImporteComisionMN = ImporteComision;
//}
//else if (CveMonedaPago == 1 && tCveMoneda == 2)
//{
// ImporteComisionMN = ImporteComision;
// ImporteMN = Importe;
// ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
//}
//else if (CveMonedaPago == 2 && tCveMoneda == 1)
//{
// ImporteMN = Importe;
// ImporteComisionMN = ImporteComision;
// ImporteComplementaria = 0;
//}
//else if (CveMonedaPago == 2 && tCveMoneda == 2)
//{
// ImporteComisionMN = ImporteComision;
// ImporteMN = Importe;
// ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
//}
ImporteMN = ImporteMN.RoundSQL();
ImporteComplementaria = ImporteComplementaria.RoundSQL();
//ImporteMN = ImporteMN.RoundSQL();
//ImporteComplementaria = ImporteComplementaria.RoundSQL();
ImporteComisionMN = ImporteComisionMN.RoundSQL();
ImporteComision = ImporteComision.RoundSQL();
AcumImporteMN += ImporteMN;
@@ -426,13 +393,14 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
break;
}
if (UsaComplementaria && tCveMoneda > 1 && MsgError == "")
if (tCveMoneda > 1 && MsgError == "")
{
ImporteComplementaria = (Importe * TC - Importe).RoundSQL();
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 (ImportePago != ImporteAcreedor && MsgError == "")
if (ImporteBancosMN != ImporteAcreedorMN && MsgError == "")
{
bool TipoMovto = false;
int IdCtaContableDiferenciaCambiaria = 0;
@@ -440,24 +408,23 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
{
CveConceptoDiferenciaCambiaria = 65;
IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria;
TipoMovto = false;
Importe = (Importe * TCPago) - (Importe * TC);
TipoMovto = false;
}
else if (TCPago < TC)
{
CveConceptoDiferenciaCambiaria = 64;
IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria;
TipoMovto = true;
Importe = (Importe * TC) - (Importe * TCPago);
}
ImporteMN = Importe;
Importe = ((Importe * TCPago) - (Importe * TC)).Abs();
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()))
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Ref, CveConceptoDiferenciaCambiaria, Conc, DateTime.Now, IdCtaContableDiferenciaCambiaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: Importe, 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 && MsgError == "")
if (ImporteComision != 0 && MsgError == "")
{
ImporteComisionMN = (ImporteComision * TCPago).RoundSQL();
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()))
{
MsgError = "No se pudo insertar concepto de pago acreedor";
@@ -468,46 +435,18 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
}
if (CveMonedaPago != 1)
{
if (UsaComplementaria)
{
ImporteMNBanco = ImporteBanco;
{
ImporteComplementaria = (ImporteBanco * TCPago - ImporteBanco).RoundSQL();
}
else
{
ImporteMNBanco = (ImporteBanco * TCPago).RoundSQL();
ImporteComplementaria = 0;
}
}
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";
if (MsgError == "" && !ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, ImporteBanco, Ref, 30, Conc, DateTime.Now, IDCtaContableBancos, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteBanco, 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 (MsgError == "" && CveMonedaPago != 1 && UsaComplementaria )
if (MsgError == "" && CveMonedaPago != 1 )
{
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 (AcumImporteMN != (ImporteBanco + ImporteComplementaria) && CveConceptoDiferenciaCambiaria == 0)
{
int tCveConceptoOtIngresos = 0;
bool TipoMovtoOt = false;
decimal Dif = AcumImporteMN - (ImporteBanco + ImporteComplementaria);
if (Dif < 0)
{
tCveConceptoOtIngresos = 65; TipoMovtoOt = false;
}
else
{
tCveConceptoOtIngresos = 64; TipoMovtoOt = true;
}
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";
}
}
}
}
else
@@ -561,6 +500,11 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
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);
}
//GUARDA COMPROBANTE
if (!filemove.Equals(""))
{
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase: false);
}
System.IO.FileInfo archivo = null;
if (DdlTipoTransaccion.SelectedValue.ToEntero().Contiene(2, 8, 9))
@@ -726,18 +670,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (CveMoneda != 1)
{
if (UsaComplementaria)
{
ImporteMN = Importe;
ImporteComplementaria = Importe * TC - Importe;
}
else
{
ImporteMN = Importe * TC;
ImporteComplementaria = 0;
}
ImporteComplementaria = Importe * TC - Importe;
}
@@ -761,18 +695,16 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePrestamo, Conc, DateTime.Now, IDCtaContableAcreedorExtranjera, -1, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteMN, TipoCambio: TC, TipoCambioPago: TC, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de acreedor";
}
if (UsaComplementaria)
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, Importe, Ref, CveConceptoContableBancoComplementario, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TC, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, false, Importe, Ref, CveConceptoContableBancoComplementario, Conc, DateTime.Now, IDCtaContableBancosComplementario, -1, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TC, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de bancos complementaria";
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePrestamoComplementario, Conc, DateTime.Now, IDCtaContableAcreedorComplementaria, -1, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TC, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
MsgError = "No se pudo insertar concepto de bancos complementaria";
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePrestamoComplementario, Conc, DateTime.Now, IDCtaContableAcreedorComplementaria, -1, CveIE, CveProveedor: DdlProveedorPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, ImporteME: Importe, TipoCambio: TC, TipoCambioPago: TC, CveSubProyecto: DdlSubProyecto.SelectedValue.ToEntero()))
{
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
}
else
{