Option Explicit On Option Strict On Imports System.Data Imports System.Globalization Imports Extensiones Partial Class Bancos_FluctuacionCambiaria Inherits ClsPaginas Public ReadOnly Property FechaUltimoDiaMes() As DateTime Get Return New DateTime(DdlAnio.SelectedValue.ToEntero(), DdlMes.SelectedValue.ToEntero(), 1).AddMonths(1).AddDays(-1) End Get End Property #Region "PROPIEDADES" Private Property LblTotal() As String Get Return ViewState("Total").ToString End Get Set(value As String) ViewState("Total") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not Page.IsPostBack Then CargaFechas() CargarCentrosDeCosto(Nothing, DdlSubProyectoCompras, Nothing, LblSubProyectoCompras, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoComprasAnt, Nothing, LblSubProyectoComprasAnt, "") CargarCentrosDeCosto(Nothing, DdlsubProyectoVentas, Nothing, LblSubProyectoVentas, "") CargarCentrosDeCosto(Nothing, DdlsubProyectoVentasAnt, Nothing, LblSubProyectoVentasAnt, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreedores, Nothing, LblSubProyectoAcreedores, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreeedoresAnt, Nothing, LblSubProyectoAcreedoresAnt, "") CargarCentrosDeCosto(Nothing, DdlSubproyectoBancos, Nothing, LblSubProyectoBancos, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoFiliales, Nothing, LblSubProyectoFiliales, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoAcreedoresDiversos, Nothing, LblSubProyectoAcreedoresDiversos, "") CargarCentrosDeCosto(Nothing, DdlSubProyectoDeudores, Nothing, LblSubProyectoDeudores, "") CargaUltimaFluctuacion() End If End Sub #Region "CARGAS" Private Sub CargaFechas() 'Año actual DdlAnio.Items.Add(New ListItem(NowADS().Year.ToString(), NowADS().Year.ToString())) 'Año Anterior DdlAnio.Items.Add(New ListItem(NowADS().AddYears(-1).Year.ToString(), NowADS().AddYears(-1).Year.ToString())) DdlAnio.Items.Add(New ListItem(NowADS().AddYears(-2).Year.ToString(), NowADS().AddYears(-2).Year.ToString())) For i As Integer = 1 To 12 Dim fecha As DateTime = New DateTime(DdlAnio.SelectedValue.ToEntero(), i, 1) Dim mes As String = fecha.ToString("MMMM", CultureInfo.GetCultureInfo("es-MX")) Dim mesStr As String = Char.ToUpper(mes(0)) + mes.Substring(1) DdlMes.Items.Add(New ListItem(mesStr, i.ToString())) Next Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS().AddMonths(-1)) If UltimaFluctuacion IsNot Nothing Then DdlMes.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Month) DdlAnio.SelectedValueExist(UltimaFluctuacion.FechaFluctuacion.Year) End If End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub Private Sub CargaDatos() CargaTipoCambio() If T.ActiveTabIndex = 0 Then CargaDatosProveedores() If T.ActiveTabIndex = 1 Then CargaDatosProveedoresAnticipos() If T.ActiveTabIndex = 2 Then CargaDatosClientes() If T.ActiveTabIndex = 3 Then CargaDatosClientesAnticipos() If T.ActiveTabIndex = 4 Then CargaDatosAcreedores() If T.ActiveTabIndex = 5 Then CargaDatosAcreedoresAnticipos() If T.ActiveTabIndex = 6 Then CargaDatosBancosCuentas() If T.ActiveTabIndex = 7 Then CargaDatosAcreedoresDiversos() 'CargaDatosFiliales() If T.ActiveTabIndex = 8 Then CargaDatosDeudores() UpTabs.Update() UPPCompara.Update() End Sub Private Sub CargaTipoCambio() Dim ObjGenerales As New ClsGenerales ObjGenerales.GetTipoCambio(-1, FechaUltimoDiaMes) If ObjGenerales.DtResultados.Rows.Count > 0 Then LtTipoCambioActual.Text = ObjGenerales.DtResultados.Rows(0)("TipoCambio").ToString TxtConceptoFluctuacion.Text = "Fluctuación a " & FechaUltimoDiaMes.ToShortDateString() End If ObjGenerales.Dispose() End Sub Private Sub CargaUltimaFluctuacion() Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(NowADS()) If UltimaFluctuacion IsNot Nothing Then LtlUltimaFluctuacion.Text = String.Format("Ultima Fluctuación : {0}", UltimaFluctuacion.FechaFluctuacion.ToShortDateString) DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month) DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year) ''si la ultima fluctuacion es mayor o igual al fin de mes anterior, entonces pon la fecha actual 'If UltimaFluctuacion.FechaFluctuacion >= NowADS().AddMonths(-1).LastDayOfMonth Then ' DdlMes.SelectedValueExist(NowADS().Month) ' DdlAnio.SelectedValueExist(NowADS().Year) 'Else ' DdlMes.SelectedValueExist(NowADS().AddMonths(-1).Month) ' DdlAnio.SelectedValueExist(NowADS().AddMonths(-1).Year) 'End If End If CargaTipoCambio() End Sub Private Sub CargaDatosProveedores() Dim ObjBancos As New ClsBancos If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 1, UsuarioActual.CveEmpresa) Then GvProveedores.DataSource = ObjBancos.DtResultados 'LblTotalCompras.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0 ") Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0 ") Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion").Abs Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion").Abs Dim Final As Double = GanaciaAux - PerdidaAux HdnProveedorCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString HplProveedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) HplProveedorLiga.Visible = HdnProveedorCvePrePoliza.Value.ToEntero > 0 BtnProveedoresRemove.Visible = HdnProveedorCvePrePoliza.Value.ToEntero > 0 BtnGeneraCompras.Visible = Not HdnProveedorCvePrePoliza.Value.ToEntero > 0 IImagenResultado.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd") LtIndicador_ExistenciaPerdida.Text = PerdidaAux.ToString.FormatoNumero LtIndicador_ValorPesosGanancia.Text = GanaciaAux.ToString.FormatoNumero LtIndicador_CPPesosFinal.Text = Final.Abs.ToString.FormatoNumero LblComprasPerdidaGanancia.Text = If(Final < 0, "Ganancia", "Pérdida") LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero Dim tdt As DataTable = VerificacionFluctuacion(1, FechaUltimoDiaMes) LtIndicador_ExistenciaPerdida.Text = tdt.SUMD("Diferencia").FormatoNumero LtIndicador_ValorPesosGanancia.Text = "" LtIndicador_CPPesosFinal.Text = "" End If ObjBancos.Dispose() GvProveedores.DataBind() UpIndicadores.Visible = True If GvProveedores.Rows.Count > 0 Then GvProveedores.Rows(GvProveedores.Rows.Count - 1).CssClass = "SubTotales2" End If End Sub Private Sub CargaDatosProveedoresAnticipos() Dim ObjBancos As New ClsBancos If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 2, UsuarioActual.CveEmpresa) Then GvProveedoresAnt.DataSource = ObjBancos.DtResultados 'LblTotalCompras.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0 ") Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0 ") Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion").Abs Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion") Dim Final As Double = GanaciaAux - PerdidaAux HdnProveedorAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString BtnProveedoresAntRemove.Visible = HdnProveedorAntCvePrePoliza.Value.ToEntero > 0 HplProveedorAntLiga.Visible = HdnProveedorAntCvePrePoliza.Value.ToEntero > 0 HplProveedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) BtnGeneraComprasAnt.Visible = Not HdnProveedorAntCvePrePoliza.Value.ToEntero > 0 IImagenResultado.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd") LtIndicador_ExistenciaPerdida.Text = PerdidaAux.ToString.FormatoNumero LtIndicador_ValorPesosGanancia.Text = GanaciaAux.ToString.FormatoNumero LtIndicador_CPPesosFinal.Text = Final.Abs.ToString.FormatoNumero LblComprasPerdidaGanancia.Text = If(Final > 0, "Ganancia", "Pérdida") LblTotal = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero VerificacionFluctuacion(2, FechaUltimoDiaMes) End If ObjBancos.Dispose() GvProveedoresAnt.DataBind() UpIndicadores.Visible = True End Sub Private Sub CargaDatosClientes() Dim ObjBancos As New ClsBancos LblTotalVentas.Text = "0.00" If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 3, UsuarioActual.CveEmpresa) Then GvVentas.DataSource = ObjBancos.DtResultados Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0") Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0") Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion", "Fluctuacion > 0").Abs Dim GananciaAux As Double = Ganancias.SUM("Fluctuacion", "Fluctuacion < 0").Abs HdnClienteCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString HplClientesLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) HplClientesLiga.Visible = HdnClienteCvePrePoliza.Value.ToEntero > 0 BtnClientesRemove.Visible = HdnClienteCvePrePoliza.Value.ToEntero > 0 BtnGeneraVentas.Visible = Not HdnClienteCvePrePoliza.Value.ToEntero > 0 'LtIndicador_PerdidasVentas.Text = PerdidaAux.ToString.FormatoNumero 'LtIndicador_GanaciaVentas.Text = GanaciaAux.ToString.FormatoNumero 'LtIndicador_FinalVentas.Text = Final.ToString.FormatoNumero UpIndicadoresVentas.Visible = True Dim tdt As DataTable = VerificacionFluctuacion(3, FechaUltimoDiaMes) Dim Final As Decimal = tdt.SUMD("Diferencia") IImagenFinalVentas.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd") LblVentasPerdidaGanancia.Text = If(Final > 0, "Pérdida", "Ganancia") LblTotalVentas.Text = (PerdidaAux - GananciaAux).FormatoNumero 'tdt.SUMD("Diferencia").FormatoNumero LtIndicador_PerdidasVentas.Text = tdt.SUMD("Diferencia").FormatoNumero LtIndicador_GanaciaVentas.Text = "" LtIndicador_FinalVentas.Text = "" End If ObjBancos.Dispose() GvVentas.DataBind() End Sub Private Sub CargaDatosClientesAnticipos() Dim ObjBancos As New ClsBancos If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 4, UsuarioActual.CveEmpresa) Then GvClientesAnt.DataSource = ObjBancos.DtResultados Dim Perdida As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion < 0") Dim Ganancias As DataTable = ObjBancos.DtResultados.FiltraParametros("Fluctuacion > 0") Dim PerdidaAux As Double = Perdida.SUM("Fluctuacion", "Fluctuacion < 0").Abs Dim GanaciaAux As Double = Ganancias.SUM("Fluctuacion", "Fluctuacion > 0") Dim Final As Double = GanaciaAux - PerdidaAux HdnClienteAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString HplClientesAntLiga.Visible = HdnClienteAntCvePrePoliza.Value.ToEntero > 0 HplClientesAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) BtnClientesAntRemove.Visible = HdnClienteAntCvePrePoliza.Value.ToEntero > 0 BtnClientesAnticipos.Visible = Not HdnClienteAntCvePrePoliza.Value.ToEntero > 0 'IImagenFinalVentas.Attributes("class") = If(Final > 0, "widget-thumb-icon bg-green-jungle fa fa-usd", "widget-thumb-icon bg-red fa fa-usd") 'LtIndicador_PerdidasVentas.Text = PerdidaAux.ToString.FormatoNumero 'LtIndicador_GanaciaVentas.Text = GanaciaAux.ToString.FormatoNumero 'LtIndicador_FinalVentas.Text = Final.ToString.FormatoNumero 'LblVentasPerdidaGanancia.Text = If(Final < 0, "Pérdida", "Ganancia") LblTotalVentasAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero UpIndicadoresVentas.Visible = True VerificacionFluctuacion(4, FechaUltimoDiaMes) End If ObjBancos.Dispose() GvClientesAnt.DataBind() End Sub Private Sub CargaDatosAcreedores() Dim ObjBancos As New ClsBancos If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 5, UsuarioActual.CveEmpresa) Then HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString HdnAcreedorCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString BtnAcreedoresRemove.Visible = HdnAcreedorCvePrePoliza.Value.ToEntero > 0 BtnGeneraAcreedores.Visible = Not HdnAcreedorCvePrePoliza.Value.ToEntero > 0 HplAcreedorLiga.Visible = HdnAcreedorCvePrePoliza.Value.ToEntero > 0 HplAcreedorLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) GvAcreedores.DataSource = ObjBancos.DtResultados LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero VerificacionFluctuacion(5, FechaUltimoDiaMes) Else GvAcreedores.DataSource = Nothing Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvAcreedores.DataBind() End Sub Private Sub CargaDatosAcreedoresAnticipos() Dim ObjBancos As New ClsBancos If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 6, UsuarioActual.CveEmpresa) Then HdnAcreedorAntCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString BtnAcreedoresAntRemove.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0 BtnGeneraAcreedoresAnt.Visible = Not HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0 HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString HplAcreedorAntLiga.Visible = HdnAcreedorAntCvePrePoliza.Value.ToEntero > 0 HplAcreedorAntLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) GvAcreedoresAnt.DataSource = ObjBancos.DtResultados LblTotalAcreedoresAnt.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero VerificacionFluctuacion(6, FechaUltimoDiaMes) Else GvAcreedoresAnt.DataSource = Nothing Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvAcreedoresAnt.DataBind() End Sub Private Sub CargaDatosBancosCuentas() Dim ObjBancos As New ClsBancos LblTotalBancos.Text = "0.00" If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 77, UsuarioActual.CveEmpresa) Then Dim DtTemp As DataTable = ObjBancos.DtResultados.Copy Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal Dim TotAcumulado As Decimal = ObjBancos.DtResultados.SUMD("Fluctuacion") 'bancos no lleva seguimiento 'HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString 'HdnBancoCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString 'BtnBancosRemove.Visible = HdnBancoCvePrePoliza.Value.ToEntero > 0 'BtnGeneraBancos.Visible = Not HdnBancoCvePrePoliza.Value.ToEntero > 0 'HplBancosLiga.Visible = HdnBancoCvePrePoliza.Value.ToEntero > 0 'HplBancosLiga.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) GvCuentas.DataSource = DtTemp LblTotalBancos.Text = TotAcumulado.FormatoNumero VerificacionFluctuacion(77, FechaUltimoDiaMes) Else GvCuentas.DataSource = Nothing Alert("Ocurrio un error al cargar las cuentas", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvCuentas.DataBind() End Sub Private Sub CargaDatosDeudores() Dim ObjBancos As New ClsBancos LblTotalDeudores.Text = "0.00" If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 9, UsuarioActual.CveEmpresa) Then GvDeudores.DataSource = ObjBancos.DtResultados LblTotalDeudores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero VerificacionFluctuacion(9, FechaUltimoDiaMes) Else GvDeudores.DataSource = Nothing Alert("Ocurrio un error al cargar los deudores", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvDeudores.DataBind() End Sub Private Sub CargaDatosFiliales() Dim ObjBancos As New ClsBancos LblTotalAcreedores.Text = "0.00" If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then GvFiliales.DataSource = ObjBancos.DtResultados.FiltraParametros("Saldo > 0") LblTotalAcreedores.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero VerificacionFluctuacion(88, FechaUltimoDiaMes) Else GvFiliales.DataSource = Nothing Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvFiliales.DataBind() End Sub Private Sub CargaDatosAcreedoresDiversos() Dim ObjBancos As New ClsBancos LblTotalAcreedores.Text = "0.00" If ObjBancos.GetFluctuaciones(FechaUltimoDiaMes, 88, UsuarioActual.CveEmpresa) Then HdnAcreedoresDiversosCvePrePoliza.Value = ObjBancos.DtResultados.MAX("CvePrePoliza").ToString HdnCveFluctuacionBitacora.Value = ObjBancos.DtResultados.MAX("CveFluctuacionBitacora").ToString BtnAcreedoresDiversosRemove.Visible = HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0 BtnGeneraAcreeedoresDiversos.Visible = Not HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0 HplAcreedoresDiversosPoliza.Visible = HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero > 0 HplAcreedoresDiversosPoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}", ObjBancos.DtResultados.MAX("CvePrePoliza").ToString) GvAcreedorDiversos.DataSource = ObjBancos.DtResultados LblTotalAcreedoresDiversos.Text = ObjBancos.DtResultados.SUM("Fluctuacion").FormatoNumero Else GvAcreedorDiversos.DataSource = Nothing Alert("Ocurrio un error al cargar los acreedores", TipoMensaje.MsgAdvertencia) End If ObjBancos.Dispose() GvAcreedorDiversos.DataBind() End Sub #End Region #Region "FLUCTUACION COMPRAS" Protected Sub BtnGeneraCompras_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaC", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoCompras.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim CveCompra, CveProv As Integer Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False 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 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Proveedores Anticipos", "Fluctuación Proveedores Anticipos", CveSubProyecto:=DdlSubProyectoCompras.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If If Not ErrorRegistrar Then 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvProveedores.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal CveCompra = gvr.DataKey("CveCompra").ToEntero CveProv = gvr.DataKey("CveProveedor").ToEntero 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 1, CveBitacora, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If 'VERIFICACION DE IMPORTES Y AJUSTE If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 1, 201, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CveProv) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If End If If Not ErrorRegistrar Then Conta.Commit() BtnGeneraCompras.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Conta.Dispose() End Sub Protected Sub BtnGeneraComprasAnt_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaC", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoComprasAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False 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 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Compras Anticipos", "Fluctuación Proveedores Anticipos", CveSubProyecto:=DdlSubProyectoComprasAnt.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 2, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If If Not ErrorRegistrar Then 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvProveedoresAnt.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 2, CveBitacora, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If End If If Not ErrorRegistrar Then Conta.Commit() BtnGeneraComprasAnt.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Banco.Dispose() Conta.Dispose() End Sub #End Region #Region "FLUCTUACION VENTAS" Protected Sub BtnGeneraVentas_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() Total = LblTotalVentas.Text.ToDecimal If Total < 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If If Total = 0 Then Alert("El Importe tiene que ser diferente a cero", TipoMensaje.MsgError) Exit Sub End If Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaV", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoVentas.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Ventas", "Fluctuación Ventas", CveSubProyecto:=DdlsubProyectoVentas.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If Dim CveConconceptoCliente As Integer = 203 Dim CveVenta, CveCliente As Integer 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvVentas.Rows Total = -gvr.DataKey("Fluctuacion").ToDecimal CveVenta = gvr.DataKey("CveVenta").ToEntero CveCliente = gvr.DataKey("CveCliente").ToEntero If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso CveVenta < 0) OrElse (CveVenta > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then CveConconceptoCliente = 226 Else CveConconceptoCliente = 203 End If 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=CveVenta, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveCliente:=CveCliente) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If 'VERIFICACION DE IMPORTES Y AJUSTE If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 3, 203, FechaUltimoDiaMes, Conta, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() BtnGeneraVentas.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Conta.Dispose() End Sub Private Function AjusteFluctuacion(CvePrePoliza As Integer, TipoFluctuacion As Integer, CveConcepto As Integer, FechaUltimoDaMes As Date, ByRef ObjConta As ClsContabilidad, Optional CveVenta As Integer = -1, Optional CveCliente As Integer = -1, Optional CveCompra As Integer = -1, Optional CveProveedor As Integer = -1) As Boolean If Not UsuarioActual.CveEmpresa.Contiene(119, 172, 174) Then Return True Dim ErrorRegistrar As Boolean = False Dim tdt As DataTable = VerificacionFluctuacion(TipoFluctuacion, FechaUltimoDiaMes) CveConcepto = 299 ' manual 'ajustar las cuentas. Dim AjusteTotal As Decimal = tdt.SUMD("Diferencia") Dim tTipoMovto As Boolean = If(TipoFluctuacion.Contiene(2, 3, 6), False, True) 'LAS OPCIONES QUE SE CARGAN If tdt IsNot Nothing Then For Each dr As DataRow In tdt.FiltraParametros("Diferencia <> 0").Rows Dim imp As Decimal = dr("Diferencia").ToString.ToDecimal * -1 If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, imp, imp, CveConcepto, "Fluctuación", "Fluctuación", CveVenta:=CveVenta, TipoCambio:=2, ImporteME:=imp, CveCliente:=CveCliente, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveCuenta:=dr("CveCuentaComplementaria").ToString.ToEntero) Then ErrorRegistrar = True Exit For End If Next 'ajustar el importe If AjusteTotal <> 0 AndAlso ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then Dim dr As DataRow = ObjConta.DtResultados.FiltroPrimero("CveConceptoContable in (64,65)") If dr IsNot Nothing Then Dim tcvePrePDetalle As Integer = dr("CvePrePolizaDetalle").ToString.ToEntero Dim tCveConcepto As Integer = dr("CveConceptoContable").ToString.ToEntero 'If dr("CveConceptoContable").ToString = "65" Then ' AjusteTotal = AjusteTotal + dr("Importe").ToString.ToDecimal 'End If tTipoMovto = dr("TipoMovto").ToString.ToBool If TipoFluctuacion.Contiene(3) AndAlso tTipoMovto Then AjusteTotal = -AjusteTotal 'si es cleintes, abonado y el ajustes es positivo tiene que restar If TipoFluctuacion.Contiene(1) AndAlso tTipoMovto = False Then AjusteTotal = -AjusteTotal 'si es prov, cargado y el ajustes es positivo tiene que restar AjusteTotal = AjusteTotal + dr("Importe").ToString.ToDecimal If AjusteTotal < 0 Then AjusteTotal = Math.Abs(AjusteTotal) ' ' si hay cambio de fluctuacion de pérdida a ganancia, o viceversas tTipoMovto = Not tTipoMovto If tTipoMovto Then tCveConcepto = 64 Else tCveConcepto = 65 End If ObjConta.UpdatePrePolizasDetalle(dr("CvePrePolizaDetalle").ToString.ToEntero, dr("Concepto").ToString, -1, -1, tTipoMovto, CveConceptoContable:=tCveConcepto, ImporteMN:=AjusteTotal, Importe:=AjusteTotal) End If End If End If Return ErrorRegistrar End Function Protected Sub BtnClientesAnticipos_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() Total = LblTotalVentasAnt.Text.ToDecimal If Total < 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If If Total = 0 Then Alert("El Importe tiene que ser diferente a cero", TipoMensaje.MsgError) Exit Sub End If Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaV", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoVentasAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Ventas", "Fluctuación Ventas", CveSubProyecto:=DdlsubProyectoVentasAnt.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 4, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If Dim CveConconceptoCliente As Integer = 203 Dim CveVenta, CveCliente As Integer 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvClientesAnt.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal CveVenta = gvr.DataKey("CveVenta").ToEntero CveCliente = -1 If (gvr.DataKey("CveIE").ToEntero > 0 AndAlso CveVenta < 0) OrElse (CveVenta > 0 AndAlso gvr.DataKey("TipoDocto") = "Ant") Then CveConconceptoCliente = 226 Else CveConconceptoCliente = 203 End If 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, CveConconceptoCliente, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveVenta:=CveVenta, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(CveVenta, -1, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If 'VERIFICACION DE IMPORTES Y AJUSTE If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 4, 226, FechaUltimoDiaMes, Conta, CveVenta:=CveVenta, CveCliente:=CveCliente) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() BtnClientesAnticipos.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Conta.Dispose() End Sub #End Region #Region "FLUCTUACION ACREEDORES" Protected Sub BtnGeneraAcreedores_Click(sender As Object, e As EventArgs) RegistraFluctuacionAcreedores() End Sub Private Sub RegistraFluctuacionAcreedores(Optional Anticipos As Boolean = False) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaA", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedores.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim CveCompra, CveProv As Integer Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Total = LblTotalAcreedores.Text.ToDecimal If Total < 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Acreedores", "Fluctuación Acreedores", CveSubProyecto:=DdlSubProyectoAcreedores.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 5, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvAcreedores.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal CveCompra = gvr.DataKey("CveCompra").ToEntero CveProv = gvr.DataKey("CveProveedor").ToEntero 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 307, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 5, CveBitacora, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If 'VERIFICACION DE IMPORTES Y AJUSTE If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 5, 307, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CVEPROV) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() BtnGeneraAcreedores.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Conta.Dispose() Banco.Dispose() End Sub Protected Sub BtnGeneraAcreedoresAnt_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaA", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedoresAnt.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim CveCompra, CveProv As Integer Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Total = LblTotalAcreedoresAnt.Text.ToDecimal If Total > 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If Dim TCUltimaFluctuacion As Decimal = GlobalTipoCambio(FechaUltimoDiaMes).ToDecimal() If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, "Fluctuación Acreedores", "Fluctuación Acreedores Anticipos ", CveSubProyecto:=DdlSubProyectoAcreeedoresAnt.SelectedValue.ToEntero) Then ErrorRegistrar = True End If Dim CveBitacora As Integer = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 6, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveBitacora <= 0 Then ErrorRegistrar = True End If 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvAcreedoresAnt.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal CveCompra = gvr.DataKey("CveCompra").ToEntero CveProv = gvr.DataKey("CveProveedor").ToEntero 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 347, gvr.DataKey("SerieFolio"), gvr.DataKey("SerieFolio"), CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, TipoCambio:=TC, TipoCambioPago:=gvr.DataKey("TipoCambio").ToDecimal, ImporteME:=Total, CveIE:=gvr.DataKey("CveIE").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.UpdateTCValuacion(-1, gvr.DataKey("CveCompra").ToEntero, gvr.DataKey("CveIE").ToEntero, TCUltimaFluctuacion, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True Exit For End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 6, CveBitacora, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If 'VERIFICACION DE IMPORTES Y AJUSTE If Not ErrorRegistrar AndAlso AjusteFluctuacion(CvePrePoliza, 6, 347, FechaUltimoDiaMes, Conta, CveCompra:=CveCompra, CveProveedor:=CveProv) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() BtnGeneraAcreedoresAnt.Visible = False Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() Alert("Error al generar la fluctuación", TipoMensaje.MsgError) End If Conta.Dispose() Banco.Dispose() End Sub #End Region #Region "FLUCTUACION BANCOS" Protected Sub BtnGeneraBancos_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal Dim MesTCtexto As String = String.Format("{0} TC:{1}", FechaUltimoDiaMes.ToString("MMMM-yyyy"), TCCierreFluctuacion) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaB", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoBancos.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Total = LblTotalBancos.Text.ToDecimal Dim CveConconceptoBancos As Integer = 204 If HdnCveFluctuacionBitacora.Value.ToEntero <= 0 Then HdnCveFluctuacionBitacora.Value = Banco.AddFluctuacionesBitacora(-1, FechaUltimoDiaMes, 1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).ToString If HdnCveFluctuacionBitacora.Value.ToEntero <= 0 Then ErrorRegistrar = True End If End If 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvCuentas.Rows Dim cb As CheckBox = gvr.FCCheckBox("ChkGenerarBancos") If cb.Checked Then Total = gvr.DataKey("Fluctuacion").ToDecimal Dim ConceptoReferencia As String = String.Format("{0} - {1} {2}", gvr.DataKey("Banco"), gvr.DataKey("NumCuenta"), MesTCtexto) 'MOVIMIENTO DE FLUCTUACION If Total > 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConconceptoBancos, ConceptoReferencia, ConceptoReferencia, TipoCambio:=TC, ImporteME:=Math.Abs(Total), CveCuenta:=gvr.DataKey("CveCuentaMEComplementaria").ToEntero) Then ErrorRegistrar = True Exit For End If If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoReferencia, ConceptoReferencia, 0, CveSubProyecto:=DdlSubproyectoBancos.SelectedValue.ToEntero) Then ErrorRegistrar = True End If End If Next If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 7, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() ' ObjContPaq.Commit() Alert(String.Format("La Fluctuación se ha generado
Ver PrePóliza", CvePrePoliza), TipoMensaje.MsgInformacion) CargaDatosBancosCuentas() Else Conta.RollBack() ' ObjContPaq.Dispose() End If Conta.Dispose() End Sub #End Region #Region "FLUCTUACION DEUDOR" 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()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaDD", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoDeudores.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal Total = LblTotalAcreedores.Text.ToDecimal Dim ConceptoFluctuacion As String = String.Format("Fluctuación Filiales {0} ", FechaUltimoDiaMes) Dim CveConconceptoDeudores As Integer = 256 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvDeudores.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal.RoundSQL If gvr.DataKey("CveIE").ToEntero = 0 Then If Total > 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, CveSubProyecto:=DdlSubProyectoDeudores.SelectedValue.ToEntero) Then ErrorRegistrar = True End If 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConconceptoDeudores, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, ImporteME:=Math.Abs(Total)) Then ErrorRegistrar = True Exit For End If Else 'actualizar el TC del IE, al nuevo TC de la fluctuación Banco.UpdateBancosTipoCambioValuacion(TCCierreFluctuacion, gvr.DataKey("CveIE").ToEntero, UsuarioActual.CveEmpresa) End If Next If Not ErrorRegistrar Then Conta.Commit() Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() End If Conta.Dispose() Banco.Dispose() End Sub #End Region #Region "FLUCTUACION FILIALES" Protected Sub BtnGeneraFiliales_Click(sender As Object, e As EventArgs) Dim Total As Decimal = 0 Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) 'Dim ObjContPaq As New ClsContPAQi(UsuarioActual.Empresa) 'ObjContPaq.IniciaTransacSQL() Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaFilial", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoFiliales.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim TipoMovto As Boolean = False Dim CveConceptoContable As Integer = 0 Dim ErrorRegistrar As Boolean = False Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal Total = LblTotalAcreedores.Text.ToDecimal Dim ConceptoFluctuacion As String = String.Format("Fluctuación Filiales {0} ", FechaUltimoDiaMes) 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvFiliales.Rows Total = gvr.DataKey("Fluctuacion").ToDecimal 'si es pérdida o ganancia 'cuando es acumulado, SOLO REGISTRA If gvr.DataKey("CveIE").ToEntero = 0 Then If Total < 0 Then CveConceptoContable = 64 TipoMovto = True Else CveConceptoContable = 65 TipoMovto = False End If If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Math.Abs(Total), Math.Abs(Total), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, CveSubProyecto:=DdlSubProyectoFiliales.SelectedValue.ToEntero) Then ErrorRegistrar = True End If 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(Total), Math.Abs(Total), 345, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, ImporteME:=Math.Abs(Total)) Then ErrorRegistrar = True Exit For End If Else 'actualizar el TC del IE, al nuevo TC de la fluctuación Banco.UpdateBancosTipoCambioValuacion(TCCierreFluctuacion, gvr.DataKey("CveIE").ToEntero, UsuarioActual.CveEmpresa) End If Next If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then ErrorRegistrar = True End If If Not ErrorRegistrar Then Conta.Commit() Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() 'ObjContPaq.RollBack() End If Conta.Dispose() Banco.Dispose() 'ObjContPaq.Dispose() End Sub #End Region #Region "FLUCTUACION ACREEDORES DIVEROS" Protected Sub BtnGeneraAcreeedoresDiversos_Click(sender As Object, e As EventArgs) Dim Conta As New ClsContabilidad Dim Banco As New ClsBancos(Conta.IniciaTransacSQL()) Dim CvePrePoliza As Integer = Conta.AddPrePolizas("Banc/FluctuaAD", 1, 0, 0, 1, FechaUltimoDiaMes, TxtConceptoAcreedoresDiversos.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim CveConceptoContable As Integer Dim TipoMovto As Boolean Dim ErrorRegistrar As Boolean = False Dim TC As Decimal = 2 ' se pone 2, para que cumpla con el check constrains de complementarias Dim TCCierreFluctuacion As Decimal = LtTipoCambioActual.Text.ToDecimal Dim TotalAcumulado As Decimal = 0 Dim ConceptoFluctuacion As String = String.Format("Fluctuación Acreedores Diversos {0:d} ", FechaUltimoDiaMes) For Each gvr As GridViewRow In GvAcreedorDiversos.Rows TotalAcumulado += gvr.DataKey("Fluctuacion").ToDecimal Next 'TotalAcumulado = GvAcreedorDiversos.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) Convert.ToDecimal(GvAcreedorDiversos.DataKeys(gvr.RowIndex)("Fluctuacion"))) If TotalAcumulado > 0 Then CveConceptoContable = 64 : TipoMovto = True Else CveConceptoContable = 65 : TipoMovto = False End If 'saco las cuentas de pérdida y ganancia For Each gvr As GridViewRow In GvAcreedorDiversos.Rows If gvr.DataKey("Fluctuacion").ToDecimal <> 0 Then 'movimiento de complementaria If Not Conta.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, gvr.DataKey("Fluctuacion").ToDecimal, gvr.DataKey("Fluctuacion").ToDecimal, 351, ConceptoFluctuacion, ConceptoFluctuacion & gvr.DataKey("RazonSocial"), TipoCambio:=TC, ImporteME:=gvr.DataKey("Fluctuacion").ToDecimal, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveSubProyecto:=DdlSubProyectoAcreedoresDiversos.SelectedValue.ToEntero) Then ErrorRegistrar = True Exit For End If End If Next If Not ErrorRegistrar Then If Not Conta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovto, Math.Abs(TotalAcumulado), Math.Abs(TotalAcumulado), CveConceptoContable, ConceptoFluctuacion, ConceptoFluctuacion, CveSubProyecto:=DdlSubProyectoAcreedoresDiversos.SelectedValue.ToEntero) Then ErrorRegistrar = True End If End If If Not ErrorRegistrar Then If Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 9, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If Conta.Commit() Alert(String.Format("La Fluctuación se ha generado
Ver Póliza", CvePrePoliza), TipoMensaje.MsgInformacion) Else Conta.RollBack() 'ObjContPaq.RollBack() End If Conta.Dispose() Banco.Dispose() 'ObjContPaq.Dispose() End Sub #End Region #Region "GRIDVIEWS" 'Protected Sub GvCuentas_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCuentas.RowDataBound ' If e.Row.RowType = DataControlRowType.DataRow Then ' 'TipoCambio = e.Row.DBCampo("TipoCambio").ToString.ToDouble ' 'e.Row.FCLabel("LbTipoCambioActual").Text = TipoCambioActual.ToString ' 'e.Row.FCLabel("LbTipoCambio").Text = If(TipoCambio > 0, TipoCambio.ToString, "No hay TipoCambio") ' 'e.Row.FCLabel("LbFluctuacion").Text = If(TipoCambio > 0, ((TipoCambio - TipoCambioActual) * e.Row.DBCampo("Saldo").ToString.ToDouble).ToString, "No aplica") ' End If 'End Sub Private Sub GvFiliales_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFiliales.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveIE").ToString.ToEntero = 0 Then e.Row.CssClass = "SubTotales" End If End If End Sub Private Sub GvDeudores_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDeudores.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("CveIE").ToString.ToEntero = 0 Then e.Row.CssClass = "SubTotales" End If End If End Sub #End Region Protected Sub BtnProveedoresRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorCvePrePoliza.Value.ToEntero, 1, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnProveedoresRemove.visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnProveedoresAntRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnProveedorAntCvePrePoliza.Value.ToEntero, 2, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnProveedoresAntRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnClientesRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteCvePrePoliza.Value.ToEntero, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnClientesRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnClientesAntRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnClienteAntCvePrePoliza.Value.ToEntero, 4, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnClientesAntRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnAcreedoresRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorCvePrePoliza.Value.ToEntero, 5, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnAcreedoresRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnAcreedoresAntRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedorAntCvePrePoliza.Value.ToEntero, 6, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnAcreedoresAntRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub #Region " EXPORTA EXCEL " Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click Dim StrFiltro As New StringBuilder 'If DdlProveedor.SelectedValue.ToEntero > 0 Then StrFiltro.AppendFormat("Filtro: ", DdlMes.SelectedItem.ToString) StrFiltro.AppendFormat("{0} ", DdlMes.SelectedItem.ToString) StrFiltro.AppendFormat("{0} ", DdlAnio.SelectedValue) StrFiltro.AppendFormat("TC: {0}", LtTipoCambioActual.Text) If (T.ActiveTabIndex = 0) Then 'GvProveedores.ExportToExcelGembox("FluctuacionCambiariaProveedores_" & NowADS().ToShortDateString) GvProveedores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Proveedores", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 1) Then GvProveedoresAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Proveedores Anticipos", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 2) Then GvVentas.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Clientes", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 3) Then GvClientesAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Clientes Anticipos", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 4) Then GvAcreedores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Compras Acreedores", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 5) Then GvAcreedoresAnt.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Acreedores Anticipos", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 6) Then GvCuentas.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Bancos", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 7) Then GvFiliales.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Filiales", DatosFiltros:=StrFiltro.ToString()) ElseIf (T.ActiveTabIndex = 8) Then GvDeudores.ExportToExcelGembox("Fluctuacion." + T.ActiveTab.HeaderText + "." + DdlMes.SelectedItem.ToString + "." + DdlAnio.SelectedValue, UsuarioActual, "Fluctuación Cambiaria - Deudores", DatosFiltros:=StrFiltro.ToString()) End If ' ImprimirReportePdf("Excel") End Sub Public Overrides Sub VerifyRenderingInServerForm(control As Control) End Sub #End Region Protected Sub BtnAcreedoresDiversosRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnAcreedoresDiversosCvePrePoliza.Value.ToEntero, 9, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnAcreedoresDiversosRemove.Visible = False CargaDatos() Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub Protected Sub BtnBancosRemove_Click(sender As Object, e As EventArgs) Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.FluctuacionesBitacoraPrePolizaRemove(HdnBancoCvePrePoliza.Value.ToEntero, 7, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then Banco.Commit() BtnBancosRemove.Visible = False Alert("Fluctuación eliminada.") Else Banco.RollBack() End If Banco.Dispose() End Sub #Region "VERIFICACION " Private Function VerificacionFluctuacion(Opcion As Integer, Fecha As Date) As DataTable If Fecha <= ("2024/09/01").ToDate Then Return Nothing ' si s mejor a sep/24, es esquema anterior Dim tdt As DataTable = Nothing Dim Conta As New ClsContabilidad If Conta.GetAjusteFluctuacion(Opcion, Fecha, UsuarioActual.CveEmpresa) Then tdt = Conta.DtResultados GvComparativo.DataSource = tdt End If Conta.Dispose() GvComparativo.DataBind() Return tdt End Function #End Region End Class