diff --git a/Bancos/PagoAcreedor.aspx.cs b/Bancos/PagoAcreedor.aspx.cs
index a486cae6a..df4599748 100644
--- a/Bancos/PagoAcreedor.aspx.cs
+++ b/Bancos/PagoAcreedor.aspx.cs
@@ -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 {1}
", 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
{