diff --git a/Bancos/FluctuacionCambiaria.aspx b/Bancos/FluctuacionCambiaria.aspx index 47d0375be..c74d540a3 100644 --- a/Bancos/FluctuacionCambiaria.aspx +++ b/Bancos/FluctuacionCambiaria.aspx @@ -145,9 +145,18 @@
TC:
-
+
+ +
+ +
+
+ + +
+
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb index 00b3f2881..3a522c442 100644 --- a/Bancos/FluctuacionCambiaria.aspx.vb +++ b/Bancos/FluctuacionCambiaria.aspx.vb @@ -19,6 +19,7 @@ Partial Class Bancos_FluctuacionCambiaria Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then + CargarCentrosDeCosto(Nothing, DdlSubproyecto, Nothing, LblSubProyecto) CargaUltimaFluctuacion() End If End Sub @@ -218,13 +219,19 @@ Partial Class Bancos_FluctuacionCambiaria End If ObjBancos.Dispose() GvFiliales.DataBind() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION COMPRAS" - + Protected Sub BtnGeneraCompras_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -245,7 +252,6 @@ Partial Class Bancos_FluctuacionCambiaria IdCtaGanancia = UsuarioActual.Empresa.IdCuentaGananciaCambiaria '1230 Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias - Total = LblTotal.ToDecimal If Total > 0 Then CveConceptoContable = 64 @@ -257,8 +263,11 @@ Partial Class Bancos_FluctuacionCambiaria CveCuenta = CveCuentaPerdida idCta = idCtaPerdida TipoMovto = False - End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + End If + + + + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -284,13 +293,20 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION VENTAS" - + Protected Sub BtnGeneraVentas_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -323,7 +339,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -354,13 +370,20 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION BANCOS" + + Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If - Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Conta.IniciaTransacSQL() @@ -417,7 +440,7 @@ Partial Class Bancos_FluctuacionCambiaria Exit For End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If End If @@ -446,13 +469,20 @@ Partial Class Bancos_FluctuacionCambiaria ObjContPaq.Dispose() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION DEUDOR" + + Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If - Protected Sub BtnGeneraDedudores_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) @@ -493,7 +523,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -519,13 +549,18 @@ Partial Class Bancos_FluctuacionCambiaria End If Conta.Dispose() Banco.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION FILIALES" - - Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs) + + Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs) + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad @@ -571,7 +606,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, ConceptoFluctuacion, Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -614,13 +649,19 @@ Partial Class Bancos_FluctuacionCambiaria Conta.Dispose() Banco.Dispose() ObjContPaq.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION ACREEDORES" - - Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs) + + Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs) + + + If DdlSubproyecto.SelectedValue.ToEntero < 0 Then + Alert($"Debe de seleccionar un {LblSubProyecto.Text}", TipoMensaje.MsgAdvertencia) + Exit Sub + End If Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad @@ -655,7 +696,7 @@ Partial Class Bancos_FluctuacionCambiaria idCta = idCtaPerdida TipoMovto = False End If - If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta) Then + If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), " ", CveConceptoContable, "Fluctuación", Now, idCta, 0, ImporteMX:=Math.Abs(Total), CveCuenta:=CveCuenta, CveSubProyecto:=DdlSubproyecto.SelectedValue.ToEntero) Then ErrorRegistrar = True End If @@ -680,162 +721,162 @@ Partial Class Bancos_FluctuacionCambiaria Conta.RollBack() End If Conta.Dispose() - End Sub - + End Sub + #End Region - + #Region "FLUCTUACION GENERAL" - - ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs) - ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0 - ' Dim IDPoliza = -1 - - ' 'Valida datos de Compras - ' For Each gvr As GridViewRow In GvCompras.Rows - ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras") - ' 'Exit Sub - ' Else - ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then - ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble - ' Else - ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 - ' End If - ' End If - - ' End If - ' Next - - ' 'Valida datos de Bancos - ' For Each gvr As GridViewRow In GvCuentas.Rows - ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias") - ' 'Exit Sub - ' Else - ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then - ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble - ' Else - ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 - ' End If - ' End If - - ' End If - ' Next - - ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) - ' ObjConta.IniciaTransacSQL() - ' Dim ObjBancos As New ClsBancos - ' ObjBancos.IniciaTransacSQL() - ' Dim ErrorGenerar = False - ' Dim Fecha As Date = TxtFecha.Text.ToDate - - ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha) - - ' If IDPoliza > 0 Then - - ' 'COMIENZA: AGREGA CUENTAS BANCARIAS - ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then - ' 'Agrega movimientos - ' Dim Fluc As Double - ' For Each gvr As GridViewRow In GvCuentas.Rows - ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble - ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then - ' ErrorGenerar = True - ' Exit For - ' End If - ' End If - ' Next - - ' 'Agrega acumulados - ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' 'TERMINA: AGREGA CUENTAS BANCARIAS - - - ' 'COMIENZA: AGREGA COMPRAS - ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then - ' 'Agrega movimientos - ' Dim Fluc As Double - ' For Each gvr As GridViewRow In GvCompras.Rows - ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble - ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then - ' ErrorGenerar = True - ' Exit For - ' End If - ' End If - ' Next - - ' 'Agrega acumulados - ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then - ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then - ' ErrorGenerar = True - ' End If - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' 'TERMINA: AGREGA COMPRAS - - - ' Else - ' ErrorGenerar = True - ' End If - - - ' 'Agrega en Bitacoras - ' If Not ErrorGenerar Then - ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - ' ErrorGenerar = True - ' End If - ' Else - ' ErrorGenerar = True - ' End If - ' End If - - - ' If Not ErrorGenerar Then - - ' ObjConta.AjustaPoliza(IDPoliza) - - ' ObjConta.Commit() - ' ObjBancos.Commit() - ' Alert(String.Format("Fluctuación realizada con exito.

Ver Póliza", IDPoliza)) - ' Else - ' ObjConta.RollBack() - ' ObjBancos.RollBack() - ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia) - ' End If - - ' ObjConta.Dispose() - ' ObjBancos.Dispose() - ' End Sub - - + + ' Protected Sub BtnGenerar_Click(sender As Object, e As EventArgs) + ' Dim AcumuladoGananciaCompras = 0.0, AcumuladoPerdidaCompras = 0.0, AcumuladoGananciaBancos = 0.0, AcumuladoPerdidaBancos = 0.0 + ' Dim IDPoliza = -1 + + ' 'Valida datos de Compras + ' For Each gvr As GridViewRow In GvCompras.Rows + ' If gvr.DataKey("SinTipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Compras") + ' 'Exit Sub + ' Else + ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then + ' AcumuladoGananciaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble + ' Else + ' AcumuladoPerdidaCompras += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 + ' End If + ' End If + + ' End If + ' Next + + ' 'Valida datos de Bancos + ' For Each gvr As GridViewRow In GvCuentas.Rows + ' If Not gvr.DataKey("TipoCambio").ToString.ToEntero > 0 AndAlso Not gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' Alert("No se puede Generar la Fluctuación ya que faltan datos en Cuentas Bancarias") + ' 'Exit Sub + ' Else + ' If gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If gvr.DataKey("Fluctuacion").ToString.ToDouble > 0 Then + ' AcumuladoGananciaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble + ' Else + ' AcumuladoPerdidaBancos += gvr.DataKey("Fluctuacion").ToString.ToDouble * -1 + ' End If + ' End If + + ' End If + ' Next + + ' Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) + ' ObjConta.IniciaTransacSQL() + ' Dim ObjBancos As New ClsBancos + ' ObjBancos.IniciaTransacSQL() + ' Dim ErrorGenerar = False + ' Dim Fecha As Date = TxtFecha.Text.ToDate + + ' IDPoliza = ObjConta.AddPoliza(3, "Fluctuación Cambiaria", (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, (AcumuladoGananciaCompras + AcumuladoPerdidaCompras) * 2, UsuarioActual.CveUsuario, Fecha) + + ' If IDPoliza > 0 Then + + ' 'COMIENZA: AGREGA CUENTAS BANCARIAS + ' If AcumuladoGananciaBancos > 0 Or AcumuladoPerdidaBancos > 0 Then + ' 'Agrega movimientos + ' Dim Fluc As Double + ' For Each gvr As GridViewRow In GvCuentas.Rows + ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble + ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Cuentas Bancarias", If(Fluc > 0, "Ganancia", "Perdida")), 0, Fecha, "") Then + ' ErrorGenerar = True + ' Exit For + ' End If + ' End If + ' Next + + ' 'Agrega acumulados + ' If Not ErrorGenerar AndAlso AcumuladoGananciaBancos > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, 2195, AcumuladoGananciaBancos > 0, AcumuladoGananciaBancos, "", "Acumulado Ganancia Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' If Not ErrorGenerar AndAlso AcumuladoPerdidaBancos > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, 4695, AcumuladoPerdidaBancos > 0, AcumuladoPerdidaBancos, "", "Acumulado Pérdida Cambiaria de Cuentas Bancarias", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' 'TERMINA: AGREGA CUENTAS BANCARIAS + + + ' 'COMIENZA: AGREGA COMPRAS + ' If AcumuladoGananciaCompras > 0 Or AcumuladoPerdidaCompras > 0 Then + ' 'Agrega movimientos + ' Dim Fluc As Double + ' For Each gvr As GridViewRow In GvCompras.Rows + ' Fluc = gvr.DataKey("Fluctuacion").ToString.ToDouble + ' If Math.Abs(Fluc) > 0 AndAlso gvr.DataKey("IdCtaAfectable").ToString.ToEntero > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, gvr.DataKey("IdCtaAfectable").ToString.ToEntero, Not Fluc > 0, Math.Abs(Fluc), "", String.Format("{0} Cambiaria de Compras", If(Fluc > 0, "Ganancia", "Pérdida")), 0, Fecha, "") Then + ' ErrorGenerar = True + ' Exit For + ' End If + ' End If + ' Next + + ' 'Agrega acumulados + ' If Not ErrorGenerar AndAlso AcumuladoGananciaCompras > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaGananciaCambiaria, Not AcumuladoGananciaCompras > 0, AcumuladoGananciaCompras, "", "Acumulado Ganancia Cambiaria de Compras", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' If Not ErrorGenerar AndAlso AcumuladoPerdidaCompras > 0 Then + ' If Not ObjConta.AddMovimiento(IDPoliza, UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, Not AcumuladoPerdidaCompras > 0, AcumuladoPerdidaCompras, "", "Acumulado Pérdida Cambiaria de Compras", 0, Fecha, "") Then + ' ErrorGenerar = True + ' End If + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' 'TERMINA: AGREGA COMPRAS + + + ' Else + ' ErrorGenerar = True + ' End If + + + ' 'Agrega en Bitacoras + ' If Not ErrorGenerar Then + ' If ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' If Not ObjBancos.AddFluctuacionesBitacora(IDPoliza, Fecha, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + ' ErrorGenerar = True + ' End If + ' Else + ' ErrorGenerar = True + ' End If + ' End If + + + ' If Not ErrorGenerar Then + + ' ObjConta.AjustaPoliza(IDPoliza) + + ' ObjConta.Commit() + ' ObjBancos.Commit() + ' Alert(String.Format("Fluctuación realizada con exito.

Ver Póliza", IDPoliza)) + ' Else + ' ObjConta.RollBack() + ' ObjBancos.RollBack() + ' Alert("Ocurrio un error al generar la poliza", TipoMensaje.MsgAdvertencia) + ' End If + + ' ObjConta.Dispose() + ' ObjBancos.Dispose() + ' End Sub + + #End Region - + #Region "GRIDVIEWS" - + Protected Sub GvCompras_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCompras.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then 'TipoCambio = e.Row.DBCampo("TipoCambio").ToString.ToDouble diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index a2dc11030..11f73ffd5 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -451,6 +451,23 @@ Partial Class Bancos_PopIECompras End Set End Property + Private Property CveSubProyecto As Integer + Get + + If ViewState("CveSubProyecto") Is Nothing Then + Return -1 + Else + Return ViewState("CveSubProyecto").ToString.ToEntero + End If + + End Get + Set(value As Integer) + ViewState("CveSubProyecto") = value + End Set + End Property + + + #End Region @@ -668,6 +685,8 @@ Partial Class Bancos_PopIECompras TipoCambioOriginal = dr("TipoCambio").ToString.ToDecimal NombreProveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor)) + CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + LtlTitulo.Text = "Cuentas por Pagar" LtlTipo2.Text = "Folio de la Compra" LtlTipo3.Text = "Fecha de la Compra" @@ -1473,8 +1492,9 @@ Partial Class Bancos_PopIECompras Dim CveTipoPoliza As Integer = ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa) If RBLContado.SelectedValue = "6" Then CveTipoPoliza = 3 - Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza) - + Dim CvePrePoliza As Integer = ObjMov.AddPrePolizas("Bancos/PopIECompras", CvePlantillaPoliza, ImportePagado, ImportePagado, CveMoneda, Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=CveTipoPoliza) + + If Inserta Then If CvePrePoliza > 0 Then 'SE AGREGA DETALLE DE UNA COMPRA @@ -1534,6 +1554,9 @@ Partial Class Bancos_PopIECompras 'inserto las compras que voy a pagar If ObjMov.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then For Each Row As DataRow In ObjMov.DtResultados.Rows + + + Dim CveSubProyectoInsertar As Integer = -1 Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero TipoMovimiento = If(Row("TipoMovto").ToString = "True", True, False) Dim ImporteMovimiento As Decimal = 0 @@ -2173,187 +2196,187 @@ Partial Class Bancos_PopIECompras End If End If End If - End If - 'Case 16 'Ret ISR X Acreditar - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = tipoCambioCompra - - ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 23 'Ret ISR Acreditable - ' If MovimientoPagar.ConceptoRetISR = 1 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISR > 0 Then - ' IdCtaContable = IdCtaContRetISR - ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If - 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento - ' If MovimientoPagar.ConceptoRetISR = 2 Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - - ' 'Conta ContPAQ - ' If IdCtaContRetISRAcreditable > 0 Then - ' IdCtaContable = IdCtaContRetISRAcreditable - ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then - ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero - ' End If - ' End If - ' End If - - ' 'Conta SIG - ' If CveCuentaRetISR <> 0 Then - ' CveCuenta = CveCuentaRetISR - ' Else - ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero - ' End If - ' End If - ' End If - ' End If + End If + 'Case 16 'Ret ISR X Acreditar + ' If MovimientoPagar.ConceptoRetISR = 1 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = tipoCambioCompra + + ' If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(315).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(315).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 23 'Ret ISR Acreditable + ' If MovimientoPagar.ConceptoRetISR = 1 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(316).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(316).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento + ' If MovimientoPagar.ConceptoRetISR = 2 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISR > 0 Then + ' IdCtaContable = IdCtaContRetISR + ' ElseIf UsuarioActual.Empresa.Funcionalidad(317).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(317).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If + 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento + ' If MovimientoPagar.ConceptoRetISR = 2 Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.RetISR * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.RetISR * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioCompra, tipoCambioPago) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + + ' 'Conta ContPAQ + ' If IdCtaContRetISRAcreditable > 0 Then + ' IdCtaContable = IdCtaContRetISRAcreditable + ' ElseIf UsuarioActual.Empresa.Funcionalidad(318).ToEntero > 0 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(318).ToEntero + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacion").ToString.ToEntero + ' End If + ' End If + ' End If + + ' 'Conta SIG + ' If CveCuentaRetISR <> 0 Then + ' CveCuenta = CveCuentaRetISR + ' Else + ' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero + ' End If + ' End If + ' End If + ' End If Case 14 'Iva por Acreditar If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then 'funcionalidad que toma el 100% del pago para acreditamiento de iva @@ -2577,84 +2600,84 @@ Partial Class Bancos_PopIECompras If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), 280, ConceptoMovimiento, Fecha, IdCtaContableNoIVA, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMXNoDeducible, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If - End If - - 'Case 280 'Iva Acreditable No Deducible - ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then - ' 'funcionalidad que toma el 100% del pago para acreditamiento de iva - ' Dim TotalImporte As Decimal - - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' TotalImporte = ImportePagado.ToString.ToDecimal - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' TotalImporte = ImportePagado.ToString.ToDecimal - ' End If - - ' If TotalImporte = CompraSaldo Then - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.IVANoDeducible - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - ' Else - ' ImporteMovimiento = 0 - ' ImporteMX = 0 - ' End If - ' Else - ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago - ' ImporteMX = ImporteMovimiento - ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * tipoCambioCompra - ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then - ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) - ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - ' End If - ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) - ' ImporteMX = Math.Round(ImporteMX, 2) - ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) - - ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" - ' End If - - ' PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA - ' Dim IdCtaIVAXAcreditar As Integer = 0 - ' Dim IdCtaIVAAcreditable As Integer = 0 - - ' If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - ' IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero - ' IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero - ' End If - - ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) - - ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then - ' If ObjMov.DtResultados.Rows.Count > 0 Then - ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero - ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero - ' End If - ' End If + End If + + 'Case 280 'Iva Acreditable No Deducible + ' If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then + ' 'funcionalidad que toma el 100% del pago para acreditamiento de iva + ' Dim TotalImporte As Decimal + + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal / tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' TotalImporte = Math.Round(ImportePagado.ToString.ToDecimal * tipoCambioPago, 2) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' TotalImporte = ImportePagado.ToString.ToDecimal + ' End If + + ' If TotalImporte = CompraSaldo Then + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' Else + ' ImporteMovimiento = 0 + ' ImporteMX = 0 + ' End If + ' Else + ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = MovimientoPagar.IVANoDeducible * PorcentajePago + ' ImporteMX = ImporteMovimiento + ' ElseIf CveMoneda = 1 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 1 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * tipoCambioCompra + ' ElseIf CveMoneda = 2 AndAlso CveMonedaCompra = 2 Then + ' ImporteMovimiento = (MovimientoPagar.IVANoDeducible * PorcentajePago) + ' ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + ' End If + ' ImporteMovimiento = Math.Round(ImporteMovimiento, 2) + ' ImporteMX = Math.Round(ImporteMX, 2) + ' TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) + + ' If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" + ' End If + + ' PorcentajeImpuesto = MovimientoPagar.PorcentajeIVA + ' Dim IdCtaIVAXAcreditar As Integer = 0 + ' Dim IdCtaIVAAcreditable As Integer = 0 + + ' If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then + ' IdCtaIVAXAcreditar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXAcreditar").ToString.ToEntero + ' IdCtaIVAAcreditable = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAAcreditable").ToString.ToEntero + ' End If + + ' IdCtaContable = If(IdCtaIVAAcreditable > 0, IdCtaIVAAcreditable, 0) + + ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + ' If ObjMov.DtResultados.Rows.Count > 0 Then + ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero + ' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero + ' End If + ' End If Case 25 'IEPS por Acreditar If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ImporteMovimiento = MovimientoPagar.IEPS * PorcentajePago @@ -2703,7 +2726,15 @@ Partial Class Bancos_PopIECompras CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIEPSAcreditableSIG").ToString.ToEntero End If End If - Case 64 'Ganancia + Case 64 'Ganancia + + CveSubProyectoInsertar = CveSubProyecto + + If CveSubProyectoInsertar <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + + If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria @@ -2723,6 +2754,13 @@ Partial Class Bancos_PopIECompras ImporteMovimiento = 0 End If Case 65 'Perdida + + CveSubProyectoInsertar = CveSubProyecto + + If CveSubProyectoInsertar <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria @@ -3323,15 +3361,19 @@ Partial Class Bancos_PopIECompras If IdCtaContable = 0 Then CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) idCuentaContabilizacion = 0 - End If - - ''Conta SIG - 'If CveCuenta = 0 Then - ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - ' CveCuentaContabilizacion = 0 - 'End If - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, -1, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then + End If + + ''Conta SIG + 'If CveCuenta = 0 Then + ' CuentasContablesInvalidasSIG.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) + ' CveCuentaContabilizacion = 0 + 'End If + + + + + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, If(ConceptoContable = 30, TxtFolio.Text.Trim, TxtObservaciones.Text), ConceptoContable, ConceptoMovimiento, Fecha, IdCtaContable, -1, CveIE, -1, CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedor2, ImporteMX:=ImporteMX, CveCuenta:=CveCuenta, TipoCambio:=TimpocambioGeneral, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeImpuesto) Then MsgError = "No se pudo insertar la póliza" End If diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 0cfc4dcad..284b693e4 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -3146,6 +3146,7 @@ Partial Class Bancos_ProveedoresAbonar If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor Dim ConceptoPartida As String = String.Format("Saldar compra {0}", gr.DataKey("SerieFolio").ToString) + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/ProveedoresAbonar/Saldar", 98, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, TxtFechaIncobrable.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveMoneda > 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then @@ -3223,15 +3224,23 @@ Partial Class Bancos_ProveedoresAbonar If CveMoneda > 1 Then Dim ImporteFluctuacion As Decimal = 0 ImporteFluctuacion = Saldo * (TCPago - TCCompra) + + If CveSubProyecto <= 0 Then + MsgError = "No se pudo obtener el sub proyecto o centro de costo" + End If + + If TCCompra > TCPago Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveSubProyecto:=CveSubProyecto, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCCompra, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If End If + + End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 6c267c75d..df20c90aa 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -3896,6 +3896,7 @@ Partial Class Compras_Compras '------------------INICIA VALIDACIONES------------------ Dim EstatusCredito As Integer = 0 + Dim CveSubProyecto As Integer = 0 'Credito Multiple If RBLPago.SelectedValue.ToEntero = 4 Then @@ -4062,11 +4063,14 @@ Partial Class Compras_Compras ' Dim NotHas117 As Boolean = Not UsuarioActual.TienePermisoProceso(117) ' 'verifica que tenga proyecto y clasificacion For Each Row As DataRow In TmpDT.Rows + If Row("CveSubProyecto").ToString.ToEntero <= 0 Then Alert("No se ha completado la asignacion de proyectos en la compra. ", TipoMensaje.MsgAdvertencia) Exit Sub End If + CveSubProyecto = Row("CveSubProyecto").ToString.ToEntero + If Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then 'If NotHas117 AndAlso Row("CveClasificacionActualizar").ToString.ToEntero <= 0 Then Alert("Hay productos que no tienen clasificación asignada.
Favor de asignarle una y darle guardar.", TipoMensaje.MsgAdvertencia) Exit Sub @@ -5690,6 +5694,8 @@ Partial Class Compras_Compras For Each Row As DataRow In DTPlatilla.Rows + Dim CveSubProyectoInsertar As Integer = -1 + Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False) Dim importeMovimiento As Decimal = 0 @@ -6291,6 +6297,15 @@ Partial Class Compras_Compras ' End If ' End If Case 64 'Ganancia + + + CveSubProyectoInsertar = CveSubProyecto + If CveSubProyectoInsertar <= 0 Then + ErrorPrepoliza = True + Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) + End If + + If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria @@ -6307,6 +6322,12 @@ Partial Class Compras_Compras Case 65 'Perdida + CveSubProyectoInsertar = CveSubProyecto + If CveSubProyectoInsertar <= 0 Then + ErrorPrepoliza = True + Alert("Concepto perdida cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia) + End If + If TCPago > 0 AndAlso TCPago <> 1 AndAlso TxtFechaPago.Text <> TxtFecha.Text Then IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria @@ -6597,11 +6618,17 @@ Partial Class Compras_Compras 'SumatoriaOCINV = -SumatoriaOCINV Dim CveClasificacionCostoOC = TmpDT.FiltroPrimeroValor("CveClasificacion", "ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And ISNULL(CveTipoPS, 0) = 2").ToEntero - Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + Dim CveSubProyecto69 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + + If CveSubProyecto69 <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de constos", TipoMensaje.MsgAdvertencia) + ErrorPrepoliza = True + Exit For + End If IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {CveClasificacionCostoOC}").ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SumatoriaOCINV, Referencia, 69, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveClasificacion:=CveClasificacionCostoOC, ImporteMX:=SumatoriaOCINV, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto69) Then ErrorPrepoliza = True Exit For End If @@ -6717,10 +6744,10 @@ Partial Class Compras_Compras Dim IdCtaContableDescCompra As Integer = UsuarioActual.Empresa.Funcionalidad(405).ToEntero - Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + Dim CveSubProyecto259 As Integer = TmpDT.MAX("CveSubProyecto").ToEntero - If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then + If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -importeMovimiento, Referencia, 259, Concepto, FechaMovimiento, IdCtaContableDescCompra, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteMX:=-importeMN, ImporteME:=If(tipoCambioActual = 1, 0, -importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto259) Then ErrorPrepoliza = True End If Else @@ -7528,7 +7555,8 @@ Partial Class Compras_Compras End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=CveSubProyectoInsertar, CveProveedor:=CveProveedorConcepto, CveAcreedor:=CveAcreedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveColectiva:=CveColectiva, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, PorcentajeImpuesto:=PorcentajeImpuesto, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True Exit For End If @@ -19617,7 +19645,18 @@ Partial Class Compras_Compras Dim CveSubProyecto As Integer = TmpDT.MAX("CveSubProyecto").ToEntero + + If DiferenciaInvOC.RoundSQL() <> 0 Then + + + + If CveSubProyecto <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de constos.", TipoMensaje.MsgAdvertencia) + Retorno = False + End If + + CvePrePoliza = ObjConta.AddPrePolizas("Compras/OC-(OCAlmacen)", 74, DiferenciaInvOC, DiferenciaInvOC, 1, Fecha, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CvePrePoliza > 0 Then diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 45e310410..3f432ff33 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -291,7 +291,7 @@ - + diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index dcbdefffc..7b60c10d5 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -637,6 +637,9 @@ Partial Class Compras_ReembolsosComprobaciones 'inserto las compras que voy a pagar For Each gvr As GridViewRow In GvCxP.Rows + + + If gvr.FCCheckBox("Chk").Checked Then ConceptoMovimiento = $"{gvr.DataKey("Proveedor")} F:{gvr.DataKey("SerieFolio")} {If(DdlPersonal.Visible, DdlPersonal.SelectedItem.Text, DdlCajaChica.SelectedItem.Text)}" Referencia = gvr.DataKey("SerieFolio").ToString @@ -675,14 +678,19 @@ Partial Class Compras_ReembolsosComprobaciones CveIEPago = CveIERegistrado End If + + + + + 'Otros Ingresos If (ChkAjusteOI.Checked Or ChkOtrosIngresosCheque.Checked) AndAlso gvr.FCTextBox("TxtComision").Text.ToDecimal > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, False, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If If CveCajaChica > 0 AndAlso Not HdnCheque.Value.ToEntero > 0 Then - If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.FCTextBox("TxtComision").Text.ToDecimal, Referencia, 211, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, IdCtaProveedor, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.FCTextBox("TxtComision").Text.ToDecimal), ImporteMX:=gvr.FCTextBox("TxtComision").Text.ToDecimal * tipoCambio, CveCuenta:=CveCuentaProveedor, Contabilizable:=False) Then MsgError = "no se pudo insertar el detalle de la poliza de otros ingresos" End If End If diff --git a/Compras/RepNotasCredito.aspx b/Compras/RepNotasCredito.aspx index 5b30e9711..6bd25e703 100644 --- a/Compras/RepNotasCredito.aspx +++ b/Compras/RepNotasCredito.aspx @@ -98,8 +98,7 @@ + DataKeyNames="CveCompra,Saldo,CveIE,CveProveedor,CvePersonal,CveMoneda,IdCtaContProveedores,IdCtaContExtranjera,IdCtaContComplementaria,TipoCambio,CveSubProyecto"> diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index de2e1c43d..c8b67396c 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -145,6 +145,7 @@ Partial Class Compras_RepNotasCredito CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + If CveMoneda > 1 Then IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL @@ -165,7 +166,7 @@ Partial Class Compras_RepNotasCredito End If IdCtaContable = UsuarioActual.Empresa.Funcionalidad(266).ToString.ToEntero - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveSubProyecto:=gr.DataKey("CveSubProyecto").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then MsgError = "Ocurrio un Error al saldar el movimiento" End If diff --git a/Compras/eFacturas.aspx b/Compras/eFacturas.aspx index 74f71680a..aef1158b7 100644 --- a/Compras/eFacturas.aspx +++ b/Compras/eFacturas.aspx @@ -67,7 +67,7 @@ Bitácora Facturas
  • - Vinculación Masiva Complementos + Vinculación Masiva Complementos
  • diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 4bcbca048..55009d5a3 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -816,13 +816,17 @@ Partial Class ContabilidadC_RegPrePolizaS TipoMovto = False End If - If CveConcepto = 41 Then - CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero - Else - CveIE = -1 - End If - - + If CveConcepto <> 30 Then + + If CveConcepto = 41 Then + CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero + Else + CveIE = -1 + End If + + End If + + If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then idCuentaContabilizacion = 0 End If diff --git a/Inventarios/PrestamosdeProveedor.aspx.vb b/Inventarios/PrestamosdeProveedor.aspx.vb index 70fffb5d2..7db231efd 100644 --- a/Inventarios/PrestamosdeProveedor.aspx.vb +++ b/Inventarios/PrestamosdeProveedor.aspx.vb @@ -199,7 +199,10 @@ Partial Class Inventarios_PrestamosdeProveedor CveSubProyecto = ObjInventario.DtResultados.FiltraParametros($"CveAlmacen = {DdlAlmacenOrigen.SelectedValue.ToEntero } ").FiltroPrimeroValor("CveSubProyecto").ToString.ToEntero End If - + If CveSubProyecto <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia) + ErrorMovInv = True + End If Dim CveClasifCosto As Integer = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", String.Format("CvePS ={0} ", CvePS)) IdCtaContableOtro = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasifCosto}").ToEntero diff --git a/OC/OC.aspx.vb b/OC/OC.aspx.vb index 4f86550c6..526093576 100644 --- a/OC/OC.aspx.vb +++ b/OC/OC.aspx.vb @@ -2819,6 +2819,12 @@ Partial Class OC If CvePrePoliza > 0 Then + If DdlSubProyecto.SelectedValue <= 0 Then + Alert("Debe de asignar un sub proyecto o centro de costos.", TipoMensaje.MsgAdvertencia) + TieneError = True + Exit For + End If + If DdlMoneda.SelectedValue.ToEntero <> 1 And UsuarioActual.CveEmpresa.Contiene(119) Then ImporteME = (DiferenciaInvOC / TCInvOC).RoundSQL() ImporteMEComp = (DiferenciaInvOC - ImporteME).RoundSQL() @@ -2834,8 +2840,6 @@ Partial Class OC ' Exit For 'End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, -DiferenciaInvOC, SerieFolio, 177, SerieFolio, Fecha, IdCtaContableRecepcionOCER, -1, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimientoAlmacen, CveOC:=CveOrdenCompra, ImporteMX:=-DiferenciaInvOC, CveOCDetalle:=CveOCDetalle, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero) Then TieneError = True Exit For diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 6534b59ca..522572c9d 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -2662,12 +2662,17 @@ Partial Class Ventas_ClientesAbonar If tCveMoneda = 2 Then Dim ImporteFluctuacion As Decimal = 0 ImporteFluctuacion = Saldo * (TCPago - TCVenta) + + If CveSubProyecto <= 0 Then + MsgError = $"No se pudo obtener el sub proyecto de la venta {gr.DataKey("SerieFolio").ToString}" + End If + If TCPago > TCVenta Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 64, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaGananciaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Math.Abs(ImporteFluctuacion), gr.DataKey("SerieFolio").ToString, 65, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=UsuarioActual.Empresa.IdCuentaPerdidaCambiaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=Math.Abs(ImporteFluctuacion), CveCuenta:=CveCuenta, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then MsgError = "Ocurrio un error al saldar el movimiento" End If End If