Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports Microsoft.Reporting.WebForms Partial Class Contabilidad_LibroMayor Inherits ClsPaginas #Region "PROPIEDADES" Private Property DtDatos As DataTable Get DtDatos = DirectCast(ViewState("DtDatos"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DtDatos") = value End Set End Property Private Property FechaInicio As Date Get FechaInicio = ViewState("FechaInicio").ToString.ToDate End Get Set(value As Date) ViewState("FechaInicio") = value End Set End Property Private Property FechaFin As Date Get FechaFin = ViewState("FechaFin").ToString.ToDate End Get Set(value As Date) ViewState("FechaFin") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then InicializaValores() If UsuarioActual.Empresa.UsaAC Then BtnConsultar.Enabled = True Else Alert("La empresa no usa Armonización Contable", TipoMensaje.MsgError) End If End If End Sub Private Sub InicializaValores() TxtFechaDel.Text = $"01/01/{Now.Year}" TxtFechaAl.Text = Now.ToShortDateString 'DdlMoneda.DataSource = GlobalDTMonedas 'DdlMoneda.DataBind() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CargaDatos() End Sub #Region "C A R G A - D A T O S" Private Sub CargaDatos() FechaInicio = If(IsDate(TxtFechaDel.Text), TxtFechaDel.Text.ToDate, MinFecha) FechaFin = If(IsDate(TxtFechaAl.Text), TxtFechaAl.Text.ToDate, MaxFecha) Dim ObjConta As New ClsContPAQi(UsuarioActual.Empresa) If ObjConta.GetLibroMayor(1, FechaInicio, FechaFin, 1) Then DtDatos = ObjConta.DtResultados Else DtDatos = Nothing End If ObjConta.Dispose() If DtDatos IsNot Nothing Then ImgExcel.Visible = True Imprimir.Visible = True CargaGrid() Else ImgExcel.Visible = False Imprimir.Visible = False End If End Sub #End Region #Region "G R I D - GV DATOS" Private Sub CargaGrid() GvDatos.DataSource = DtDatos GvDatos.DataBind() UpDatos.Update() End Sub Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then '0 Fecha '1 TipoPol '2 Folio '3 Concepto '4 Cargos '5 Abonos '6 Saldo 'CABECERA If e.Row.DBCampo("TipoRenglon") = "1" Then e.Row.Font.Bold = True e.Row.Cells(0).Text = "" e.Row.Cells(1).Text = "" e.Row.Cells(2).Text = "" e.Row.Cells(3).Text = e.Row.DBCampo("Nombre") e.Row.Cells(4).Text = "" e.Row.Cells(5).Text = "Saldo inicial:" e.Row.Cells(6).Text = e.Row.DBCampo("SaldoInicial").FormatoNumero e.Row.CssClass = "Totales" End If 'DETALLE If e.Row.DBCampo("TipoRenglon") = "2" Then End If 'SUBTOTAL If e.Row.DBCampo("TipoRenglon") = "3" Then e.Row.Font.Bold = True e.Row.Cells(1).Text = "" e.Row.Cells(2).Text = "" e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Right e.Row.Cells(3).Text = "SubTotal:" e.Row.Cells(6).Text = "" e.Row.CssClass = "SubTotales" End If 'TOTAL If e.Row.DBCampo("TipoRenglon") = "4" Then e.Row.Font.Bold = True e.Row.Cells(0).Text = "" e.Row.Cells(1).Text = "" e.Row.Cells(2).Text = "" e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Right e.Row.Cells(3).Text = $"Total ({e.Row.DBCampo("Nombre")}):" e.Row.Cells(6).Text = "" e.Row.CssClass = "Totales" End If End If End Sub #End Region #Region " IMPRIMIR " #End Region Protected Sub Imprimir_click(sender As Object, e As EventArgs) Handles Imprimir.Click FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", Date.Now, TxtFechaDel.Text.ToDate) FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", Date.Now, TxtFechaAl.Text.ToDate) DtDatos = DtDatos ImprimirReporte() End Sub Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click FechaInicio = If(TxtFechaDel.Text = "" Or TxtFechaDel.Text = "__/__/____", Date.Now, TxtFechaDel.Text.ToDate) FechaFin = If(TxtFechaAl.Text = "" Or TxtFechaAl.Text = "__/__/____", Date.Now, TxtFechaAl.Text.ToDate) DtDatos = DtDatos ImprimirReporte("EXCEL") End Sub Private Sub ImprimirReporte(Optional Formato As String = "PDF") Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim lista = New List(Of CrystalParametro) lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa)) lista.Add(New CrystalParametro("FechaInicio", FechaInicio.ToString("dd/MM/yyyy"))) lista.Add(New CrystalParametro("FechaFin", FechaFin.ToString("dd/MM/yyyy"))) lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre)) If Imagen.Exists Then lista.Add(New CrystalParametro("LogoPath", logouri)) Else lista.Add(New CrystalParametro("LogoPath", "")) End If ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/LibroMayor.rpt"), DtDatos, lista, "LibroMayor", Formato), "LibroMayor", Formato) End Sub End Class