398 lines
16 KiB
VB.net
398 lines
16 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.IO
|
|
Imports Extensiones
|
|
Imports GemBox.Spreadsheet
|
|
Imports Microsoft.Reporting.WebForms
|
|
|
|
Partial Class Compras_CatProveedores
|
|
Inherits ClsPaginas
|
|
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
ViewState("Orden") = ""
|
|
'CargaDatos()
|
|
InicializaValores()
|
|
ImgPersonalizar.Attributes.Add("onclick", "$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
|
|
Me.Form.DefaultButton = BtnConsultar.UniqueID
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub InicializaValores()
|
|
DdlResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
DdlResponsable.DataBind()
|
|
DdlResponsable.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlClasificacionProveedor.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
|
|
DdlClasificacionProveedor.DataBind()
|
|
DdlClasificacionProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
DdlMoneda.DataSource = GlobalDTMonedas
|
|
DdlMoneda.DataBind()
|
|
DdlMoneda.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
|
|
End Sub
|
|
|
|
|
|
Public Sub CargaDatos()
|
|
Dim ObjProveedores As New ClsCompProveedores
|
|
If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
|
|
ViewState("DTProveedores") = ObjProveedores.DtResultados
|
|
Else
|
|
Me.GvDatos.DataSource = Nothing
|
|
End If
|
|
|
|
ObjProveedores.Dispose()
|
|
|
|
GvDatos.DataSource = CType(ViewState("DTProveedores"), DataTable)
|
|
GvDatos.DataBind()
|
|
UpDatos.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
|
|
|
|
If ChkCodigo.Checked Then
|
|
GvDatos.Columns(0).Visible = True
|
|
Else
|
|
GvDatos.Columns(0).Visible = False
|
|
End If
|
|
|
|
If ChkRazonSocial.Checked Then
|
|
GvDatos.Columns(1).Visible = True
|
|
Else
|
|
GvDatos.Columns(1).Visible = False
|
|
End If
|
|
|
|
If ChkNombreComercial.Checked Then
|
|
GvDatos.Columns(2).Visible = True
|
|
Else
|
|
GvDatos.Columns(2).Visible = False
|
|
End If
|
|
|
|
If ChkRFC.Checked Then
|
|
GvDatos.Columns(3).Visible = True
|
|
Else
|
|
GvDatos.Columns(3).Visible = False
|
|
End If
|
|
|
|
If ChkEstatus.Checked Then
|
|
GvDatos.Columns(4).Visible = True
|
|
Else
|
|
GvDatos.Columns(4).Visible = False
|
|
End If
|
|
|
|
If ChkFechaIng.Checked Then
|
|
GvDatos.Columns(5).Visible = True
|
|
Else
|
|
GvDatos.Columns(5).Visible = False
|
|
End If
|
|
|
|
If ChkUsuario.Checked Then
|
|
GvDatos.Columns(6).Visible = True
|
|
Else
|
|
GvDatos.Columns(6).Visible = False
|
|
End If
|
|
|
|
If ChkNombreCorto.Checked Then
|
|
GvDatos.Columns(7).Visible = True
|
|
Else
|
|
GvDatos.Columns(7).Visible = False
|
|
End If
|
|
|
|
If ChkDireccion.Checked Then
|
|
GvDatos.Columns(8).Visible = True
|
|
Else
|
|
GvDatos.Columns(8).Visible = False
|
|
End If
|
|
|
|
If ChkContactoNombre.Checked Then
|
|
GvDatos.Columns(9).Visible = True
|
|
Else
|
|
GvDatos.Columns(9).Visible = False
|
|
End If
|
|
|
|
If ChkTelefono.Checked Then
|
|
GvDatos.Columns(10).Visible = True
|
|
Else
|
|
GvDatos.Columns(10).Visible = False
|
|
End If
|
|
|
|
If ChkContactoCelular.Checked Then
|
|
GvDatos.Columns(11).Visible = True
|
|
Else
|
|
GvDatos.Columns(11).Visible = False
|
|
End If
|
|
|
|
If ChkContactoMail.Checked Then
|
|
GvDatos.Columns(12).Visible = True
|
|
Else
|
|
GvDatos.Columns(12).Visible = False
|
|
End If
|
|
|
|
If ChkLimiteCredito.Checked Then
|
|
GvDatos.Columns(13).Visible = True
|
|
Else
|
|
GvDatos.Columns(13).Visible = False
|
|
End If
|
|
|
|
If ChkPlazoPago.Checked Then
|
|
GvDatos.Columns(14).Visible = True
|
|
Else
|
|
GvDatos.Columns(14).Visible = False
|
|
End If
|
|
|
|
If ChkObservaciones.Checked Then
|
|
GvDatos.Columns(15).Visible = True
|
|
Else
|
|
GvDatos.Columns(15).Visible = False
|
|
End If
|
|
|
|
If ChkIVA.Checked Then
|
|
GvDatos.Columns(16).Visible = True
|
|
Else
|
|
GvDatos.Columns(16).Visible = False
|
|
End If
|
|
|
|
If ChkRetIVA.Checked Then
|
|
GvDatos.Columns(17).Visible = True
|
|
Else
|
|
GvDatos.Columns(17).Visible = False
|
|
End If
|
|
|
|
If ChkRetISR.Checked Then
|
|
GvDatos.Columns(18).Visible = True
|
|
Else
|
|
GvDatos.Columns(18).Visible = False
|
|
End If
|
|
|
|
|
|
If ChkCtaContable.Checked Then
|
|
GvDatos.Columns(19).Visible = True
|
|
Else
|
|
GvDatos.Columns(19).Visible = False
|
|
End If
|
|
|
|
UpDatos.Update()
|
|
RegistraScript("$('#ModalPersonalizar').modal('hide');")
|
|
End Sub
|
|
|
|
|
|
#Region "G V D A T O S"
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(60)
|
|
e.Row.Cells(1).Width = Unit.Pixel(250)
|
|
e.Row.Cells(2).Width = Unit.Pixel(250)
|
|
e.Row.Cells(3).Width = Unit.Pixel(100)
|
|
e.Row.Cells(4).Width = Unit.Pixel(60)
|
|
e.Row.Cells(5).Width = Unit.Pixel(70)
|
|
e.Row.Cells(6).Width = Unit.Pixel(100)
|
|
End If
|
|
'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
|
|
'e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Center
|
|
'e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Center
|
|
'e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Center
|
|
'e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Center
|
|
'e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Center
|
|
|
|
e.Row.FCLiteral("LtlCodigo").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlCodigo").Text & "</a>"
|
|
e.Row.FCLiteral("LtlRazonSocial").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlRazonSocial").Text & "</a>"
|
|
e.Row.FCLiteral("LtlNombreComercial").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlNombreComercial").Text & "</a>"
|
|
e.Row.FCLiteral("LtlRFC").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlRFC").Text & "</a>"
|
|
e.Row.FCLiteral("LtlEstatus").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlEstatus").Text & "</a>"
|
|
e.Row.FCLiteral("LtlFecha").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlFecha").Text & "</a>"
|
|
e.Row.FCLiteral("LtlUsuario").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlUsuario").Text & "</a>"
|
|
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
Private Sub ImgExcel2_Click(sender As Object, e As EventArgs) Handles ImgExcel2.Click
|
|
GvDatos.ExportToExcel("RepProveedores_" & Now.ToShortDateString)
|
|
End Sub
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
|
|
Dim ObjProveedores As New ClsCompProveedores
|
|
Dim Codigo, RazonSocial, RFC As String
|
|
Codigo = "-1"
|
|
RazonSocial = "-1"
|
|
RFC = "-1"
|
|
|
|
If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim
|
|
If TxtRazonSocial.Text.Trim <> String.Empty Then RazonSocial = TxtRazonSocial.Text.Trim
|
|
If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim
|
|
|
|
|
|
If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, Codigo, RazonSocial,
|
|
"-1", "-1", RFC, "-1", "-1", -1, UsuarioActual.CveEmpresa,
|
|
CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero,
|
|
CveUsuarioResponsable:=DdlResponsable.SelectedValue.ToEntero,
|
|
CveMonedaPreferente:=DdlMoneda.SelectedValue.ToEntero,
|
|
CveProveedorClasificacion:=DdlClasificacionProveedor.SelectedValue.ToEntero) Then
|
|
If ObjProveedores.DtResultados.Rows.Count > 0 Then
|
|
ViewState("DTProveedores") = ObjProveedores.DtResultados
|
|
|
|
|
|
Else
|
|
ViewState("DTProveedores") = Nothing
|
|
Alert("No se encontraron registros con los parametros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
|
|
|
|
ObjProveedores.Dispose()
|
|
|
|
GvDatos.DataSource = CType(ViewState("DTProveedores"), DataTable)
|
|
GvDatos.DataBind()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
Protected Sub LnkCtasBanc_Click(sender As Object, e As EventArgs)
|
|
|
|
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 DtDatos As DataTable = Nothing
|
|
Dim ObjBancos As New ClsBancos
|
|
|
|
If ObjBancos.GetCuentasBancarias(UsuarioActual.CveEmpresa) Then
|
|
DtDatos = ObjBancos.DtResultados.Copy()
|
|
End If
|
|
ObjBancos.Dispose()
|
|
|
|
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
|
|
|
|
Dim params As New List(Of ReportParameter)
|
|
|
|
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
|
|
|
If Imagen.Exists Then
|
|
params.Add(New ReportParameter("LogoPath", logouri))
|
|
Else
|
|
params.Add(New ReportParameter("LogoPath", ""))
|
|
End If
|
|
|
|
ImprimirPDF("Empresas/Grales/Formatos/RepCuentasBancarias.rdlc", DtDatos, params, "RepCuentasBancarias", "Excel")
|
|
Else
|
|
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub LnkCtasBancSinProveedor_Click(sender As Object, e As EventArgs)
|
|
|
|
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 DtDatos As DataTable = Nothing
|
|
|
|
Dim ObjComp As New ClsCompProveedores
|
|
If ObjComp.GetProveedoresSinCuentas(UsuarioActual.CveEmpresa) Then
|
|
DtDatos = ObjComp.DtResultados.Copy()
|
|
End If
|
|
ObjComp.Dispose()
|
|
|
|
If DtDatos IsNot Nothing Then
|
|
DtDatos.TableName = "Proveedores"
|
|
GenerarReporteProveedoresSinCuentaExcel("Proveedores sin Cuentas Bancarias", DtDatos)
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub GenerarReporteProveedoresSinCuentaExcel(Titulo As String, DtDatos As DataTable)
|
|
Dim Retorno As New MemoryStream()
|
|
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
|
|
|
|
Dim excel As ExcelFile = New ExcelFile
|
|
|
|
Dim item = excel.Worksheets.Add(DtDatos.TableName)
|
|
item.InsertDataTable(DtDatos, New InsertDataTableOptions() With
|
|
{
|
|
.ColumnHeaders = True,
|
|
.StartRow = 0,
|
|
.StartColumn = 0
|
|
})
|
|
item.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
|
|
item.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
|
|
|
|
Dim columnCount = item.CalculateMaxUsedColumns()
|
|
For i = 0 To columnCount
|
|
item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1))
|
|
Next
|
|
|
|
Dim TotalRowHeader As Integer = 8
|
|
Dim TotalRowFooter As Integer = 2
|
|
|
|
Dim worksheet = excel.Worksheets(0)
|
|
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
|
|
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
|
|
celdasConTexto.Style.Font.Name = "Calibri Light"
|
|
|
|
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
|
|
RangoNombreEmpresa.Merged = True
|
|
RangoNombreEmpresa.Value = UsuarioActual.Empresa.Empresa
|
|
RangoNombreEmpresa.Style.Font.Size = 18 * 20
|
|
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
|
|
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
|
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
|
|
|
|
|
'Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
|
|
'RangoFiltros.Merged = True
|
|
'RangoFiltros.Value = Filtros
|
|
'RangoFiltros.Style.Font.Size = 15 * 20
|
|
'RangoFiltros.Style.Font.Name = "Calibri Light"
|
|
'RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
|
|
'RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
|
|
|
|
|
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
|
|
RangoTitulo.Merged = True
|
|
RangoTitulo.Value = Titulo
|
|
RangoTitulo.Style.Font.Size = 20 * 20
|
|
RangoTitulo.Style.Font.Name = "Calibri Light"
|
|
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
|
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
|
|
|
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
|
|
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
|
|
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
|
|
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
|
|
worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
|
|
worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
|
|
If i > 0 Then
|
|
Try
|
|
worksheet.Columns(i).AutoFit(1)
|
|
Catch ex As Exception
|
|
End Try
|
|
End If
|
|
Next
|
|
|
|
Dim IndexEndTable As Integer = DtDatos.Rows.Count + TotalRowHeader + TotalRowFooter
|
|
|
|
worksheet.Rows(IndexEndTable).Cells(2).Value = "Usuario Imprimió"
|
|
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = UsuarioActual.Nombre
|
|
|
|
worksheet.Rows(IndexEndTable).Cells(6).Value = "Fecha Impresión"
|
|
worksheet.Rows(IndexEndTable + 1).Cells(6).Value = DateTime.Now.ToString("dd/MM/yyyy")
|
|
|
|
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
|
|
|
|
If Imagen.Exists Then
|
|
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
|
|
Using webClient As New Net.WebClient()
|
|
Dim imageBytes = webClient.DownloadData(logouri)
|
|
Dim stream As New MemoryStream(imageBytes)
|
|
worksheet.Pictures.Add(stream, ExcelPictureFormat.Png, "A1", 100, 100, LengthUnit.Pixel)
|
|
'worksheet.Pictures.Add(stream, GemBox.Spreadsheet.ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, GemBox.Document.LengthUnit.Pixel)
|
|
End Using
|
|
End If
|
|
|
|
|
|
excel.Save(Response, "Proveedores Sin Cuentas.xlsx", SaveOptions.XlsxDefault)
|
|
|
|
End Sub
|
|
|
|
End Class
|