Files
SIG/Ventas/RepVentasUtilidadDetalle.aspx.vb
2019-08-27 09:51:06 -07:00

512 lines
26 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports System.Drawing
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Ventas_RepVentasUtilidadDetalle
Inherits ClsPaginas
#Region "P R O P I E D A D E S "
Private Property CveVenta As Integer
Get
CveVenta = ViewState("CveVenta").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveVenta") = value
End Set
End Property
Private Property CveVendedor As String
Get
CveVendedor = ViewState("CveVendedor").ToString
End Get
Set(value As String)
ViewState("CveVendedor") = value
End Set
End Property
Private Property CveCliente As Integer
Get
CveCliente = ViewState("CveCliente").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveCliente") = value
End Set
End Property
Private Property Orden As Integer
Get
Orden = ViewState("Orden").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Orden") = value
End Set
End Property
Private Property CveSubProyecto As String
Get
CveSubProyecto = ViewState("CveSubProyecto").ToString
End Get
Set(value As String)
ViewState("CveSubProyecto") = value
End Set
End Property
Private Property CvePS As Integer
Get
CvePS = ViewState("CvePS").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CvePS") = value
End Set
End Property
Private Property CveClasificacion As Integer
Get
CveClasificacion = ViewState("CveClasificacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveClasificacion") = value
End Set
End Property
Private Property CveMovimiento As Integer
Get
CveMovimiento = ViewState("CveMovimiento").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMovimiento") = value
End Set
End Property
Private Property DtVentas As DataTable
Get
Return DirectCast(ViewState("DtVentas"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtVentas") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
txtFechaI.Text = IfNull(Request("FechaI"), Now.FirstDayOfMonth.ToShortDateString).ToString
txtFechaF.Text = IfNull(Request("FechaF"), Now.LastDayOfMonth.ToShortDateString).ToString
CveVenta = If(Request("CveVenta") <> "", Request("CveVenta").ToString.ToEntero, "-1".ToEntero)
CveVendedor = IfNull(Request("CveVendedor"), "-1").ToString
CveCliente = IfNull(Request("CveCliente"), "-1").ToString.ToEntero
CveSubProyecto = IfNull(Request("CveSubProyecto"), "-1").ToString
Orden = IfNull(Request("Orden"), "-1").ToString.ToEntero
CvePS = IfNull(Request("CvePS"), "-1").ToString.ToEntero
CveClasificacion = IfNull(Request("CveClasificacion"), "-1").ToString.ToEntero
CargaCombos()
CargaDatos()
If CveVenta = -1 Then
UpDetalles.Visible = False
UpDetallesCosto.Visible = False
UpIndicador.Visible = False
ImgCosto.Visible = True
Else
UPFiltros.Visible = False
GvDatos.CssClass = "gvFull"
End If
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaCombos()
'Carga Clientes
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa)
DdlClientes.DataBind()
If CveCliente > 0 Then DdlClientes.SelectedValueExist(CveCliente)
'CargaSubProyectos
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
If CveSubProyecto <> "" Then DdlSubProyecto.SelectedValuesIfExistM(CveSubProyecto)
'Carga Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then
DdlVendedor.SelectedValuesIfExistM(UsuarioActual.CveVendedor.ToString())
DdlVendedor.Attributes.Add("disabled", "disabled")
DdlVendedor.Enabled = False
End If
'Carga Productos
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
DdlClasificacion.SelectedValueExist(CveClasificacion)
DdlPS.SelectedValue = CvePS.ToString
If CvePS.ToEntero > 0 AndAlso GlobalDTPS(UsuarioActual.CveEmpresa, CvePS.ToEntero).Rows.Count > 0 Then
DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS.ToEntero).Rows(0)("PSCodigo").ToString
Else
DdlPS.SelectedText = "Todos"
End If
End Sub
Private Sub CargaDatos()
Dim ObjVentas As New ClsVentas()
Dim FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
If ObjVentas.GetReporteVentasUtilidadDetalle(Vendedores, If(CveVenta = -1, Orden, CveVenta), DdlClientes.SelectedValue.ToEntero, Sucursales,
FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero) Then
DtVentas = ObjVentas.DtResultados
GvDatos.DataSource = ObjVentas.DtResultados
GvDatos.DataBind()
If ObjVentas.DtResultados.Rows.Count > 0 Then
CveMovimiento = ObjVentas.DtResultados.Rows(1)("CveMovimiento").ToString.ToEntero
LblDiasVencimiento.Text = ObjVentas.DtResultados.Rows(1)("DiasVencimiento").ToString
LblDiasEmision.Text = ObjVentas.DtResultados.Rows(1)("DiasEmision").ToString
LblCostoFecha.Text = "$" + ObjVentas.Costo.ToString("N2")
HLCostoFolio.Text = ObjVentas.FolioCosto
LblFechaSalid.Text = ObjVentas.FechaSalidaCosto.ToDate.ToShortDateString
LblFechaVenta.Text = ObjVentas.FechaVenta.ToDate.ToShortDateString
HLSerieFolio.Text = ObjVentas.SerieVenta
HLSerieFolio.NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={CveVenta}"
LblSubTotal.Text = "$" + ObjVentas.SubTotalVenta.ToString("N2")
LbSubTotalDolares.Text = "$" + ObjVentas.SubTotalVentaDolares.ToString("N2")
HLCostoFolio.NavigateUrl = $"/Inventarios/EntradasSalidas.aspx?CveMovimiento={CveMovimiento}"
LblUtilidad.Text = "$" + (ObjVentas.Utilidad - ObjVentas.Perdida).ToString("N2")
LblPorUtilidad.Text = ((ObjVentas.Utilidad - ObjVentas.Perdida) / ObjVentas.SubTotalVenta * 100).ToString("N2")
LblPerdida.Text = "$" + (ObjVentas.Perdida - ObjVentas.Utilidad).ToString("N2")
LblPorPerdida.Text = ((ObjVentas.Perdida - ObjVentas.Utilidad) / ObjVentas.SubTotalVenta * 100).ToString("N2")
If ObjVentas.GetVentasAntNC(CveVenta, -1) Then
GvBonificacion.DataSource = ObjVentas.DtResultados
End If
ObjVentas.Dispose()
GvBonificacion.DataBind()
If ObjVentas.SubTotalVenta <> ObjVentas.SubTotalVentaDolares Then
LbSubTotalDolares.Visible = True
TdSubTotalDolares.Visible = True
Else
LbSubTotalDolares.Visible = False
TdSubTotalDolares.Visible = False
End If
If (ObjVentas.Utilidad - ObjVentas.Perdida) > 0 Then
DivUtilidad.Visible = True
DivPerdidas.Visible = False
Else
DivUtilidad.Visible = False
DivPerdidas.Visible = True
End If
UpIndicador.Update()
End If
End If
End Sub
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.DBCampo("CveVentaDetalle") = "" AndAlso e.Row.DBCampo("CveVenta") = "" Then
e.Row.CssClass = "Totales"
Else
'e.Row.Cells(0).BackColor = ColorTranslator.FromHtml("#e9e9e9")
'e.Row.Cells(1).BackColor = ColorTranslator.FromHtml("#e9e9e9")
'e.Row.Cells(2).BackColor = ColorTranslator.FromHtml("#e9e9e9")
'e.Row.Cells(3).BackColor = ColorTranslator.FromHtml("#e9e9e9")
'e.Row.Cells(4).BackColor = ColorTranslator.FromHtml("#f1f1f1")
'e.Row.Cells(5).BackColor = ColorTranslator.FromHtml("#f1f1f1")
'e.Row.Cells(6).BackColor = ColorTranslator.FromHtml("#f1f1f1")
'e.Row.Cells(7).BackColor = ColorTranslator.FromHtml("#f1f1f1")
'e.Row.Cells(4).BackColor = ColorTranslator.FromHtml("#f1f1f1")
End If
If e.Row.DBCampo("Perdida").ToDouble > 0 Then
e.Row.FCLabel("LbPerdida").ForeColor = Color.DarkRed
e.Row.FCLabel("LbPorPerdida").ForeColor = Color.DarkRed
End If
End If
End Sub
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
If CveVenta <> -1 Then
GenerarPDFCrystal("EXCEL")
Else
GenerarPDFCrystalGeneral("EXCEL")
End If
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
If CveVenta <> -1 Then
' GenerarPDF()
GenerarPDFCrystal()
Else
' GenerarPDFGeneral()
GenerarPDFCrystalGeneral()
End If
End Sub
Private Sub ImgCosto_Click(sender As Object, e As EventArgs) Handles ImgCosto.Click
GenerarPDFCrystalCosto()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjVentas As New ClsVentas()
Dim FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
If txtFechaI.Text = "" Then FechaI = MinFecha
If txtFechaF.Text = "" Then FechaF = MaxFecha
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $"&emsp;<b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b> {DdlPS.SelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
If ObjVentas.GetReporteVentasUtilidadDetalle(Vendedores, CveVenta, DdlClientes.SelectedValue.ToEntero, Sucursales,
FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero) Then
Dim FechaInicio As String = txtFechaI.Text
Dim FechaFin As String = txtFechaF.Text
If txtFechaI.Text = "" Then FechaInicio = "-1"
If txtFechaF.Text = "" Then FechaFin = "-1"
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 dt As DataTable = ObjVentas.DtResultados
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaInicio))
params.Add(New ReportParameter("FechaFin", FechaFin))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
params.Add(New ReportParameter("SerieFolioVta", HLSerieFolio.Text))
params.Add(New ReportParameter("FechaVta", LblFechaVenta.Text))
params.Add(New ReportParameter("SubTotalVta", LblSubTotal.Text))
params.Add(New ReportParameter("FolioInv", HLCostoFolio.Text))
params.Add(New ReportParameter("CostoInv", LblCostoFecha.Text))
params.Add(New ReportParameter("FechaSalida", LblFechaSalid.Text))
params.Add(New ReportParameter("Ganancia", LblUtilidad.Text))
params.Add(New ReportParameter("PorGanancia", LblPorUtilidad.Text))
params.Add(New ReportParameter("Perdida", LblPerdida.Text))
params.Add(New ReportParameter("PorPerdida", LblPorPerdida.Text))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepVentasUtilidadDetalle.rdlc", dt, params, "RepVentasUtilidadDetalle", Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Private Sub GenerarPDFGeneral(Optional Formato As String = "PDF")
Dim ObjVentas As New ClsVentas()
Dim FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
If txtFechaI.Text = "" Then FechaI = MinFecha
If txtFechaF.Text = "" Then FechaF = MaxFecha
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $"&emsp;<b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b> {DdlPS.SelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
If ObjVentas.GetReporteVentasUtilidadDetalle(Vendedores, CveVenta, DdlClientes.SelectedValue.ToEntero, Sucursales,
FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero) Then
Dim FechaInicio As String = txtFechaI.Text
Dim FechaFin As String = txtFechaF.Text
If txtFechaI.Text = "" Then FechaInicio = "-1"
If txtFechaF.Text = "" Then FechaFin = "-1"
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 dt As DataTable = ObjVentas.DtResultados
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaInicio))
params.Add(New ReportParameter("FechaFin", FechaFin))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepVentasUtilidadDetalleGeneral.rdlc", dt, params, "RepVentasUtilidadDetalle", Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Private Sub GenerarPDFCrystal(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 FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
If txtFechaI.Text = "" Then FechaI = MinFecha
If txtFechaF.Text = "" Then FechaF = MaxFecha
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $"&emsp;<b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b> {DdlPS.SelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim lista = New List(Of CrystalParametro)
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
lista.Add(New CrystalParametro("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Usuario))
lista.Add(New CrystalParametro("SerieFolioVta", HLSerieFolio.Text))
lista.Add(New CrystalParametro("FechaVta", LblFechaVenta.Text.ToDate))
lista.Add(New CrystalParametro("SubTotalVta", LblSubTotal.Text.ToDecimal))
lista.Add(New CrystalParametro("FolioInv", HLCostoFolio.Text))
lista.Add(New CrystalParametro("CostoInv", LblCostoFecha.Text.ToDecimal))
lista.Add(New CrystalParametro("FechaSalida", LblFechaSalid.Text.ToDate))
lista.Add(New CrystalParametro("Ganancia", LblUtilidad.Text.ToDecimal))
lista.Add(New CrystalParametro("PorGanancia", LblPorUtilidad.Text.ToDecimal))
lista.Add(New CrystalParametro("Perdida", LblPerdida.Text.ToDecimal))
lista.Add(New CrystalParametro("PorPerdida", LblPorPerdida.Text.ToDecimal))
lista.Add(New CrystalParametro("PerdidaOGanancia", If(LblUtilidad.Text.ToDouble <= 0, "Pérdida", "Utilidad")))
If Imagen.Exists Then
lista.Add(New CrystalParametro("ImagenPath", logouri))
Else
lista.Add(New CrystalParametro("ImagenPath", ""))
End If
ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/RepVentaUtilidadDetalle.rpt"), DtVentas, lista, "RepVentasUtilidadesDetalle", Formato), "RepVentasUtilidadesDetalle", Formato)
End Sub
Private Sub GenerarPDFCrystalGeneral(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 FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
If txtFechaI.Text = "" Then FechaI = MinFecha
If txtFechaF.Text = "" Then FechaF = MaxFecha
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $"&emsp;<b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b> {DdlPS.SelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim lista = New List(Of CrystalParametro)
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
lista.Add(New CrystalParametro("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Usuario))
If Imagen.Exists Then
lista.Add(New CrystalParametro("ImagenPath", logouri))
Else
lista.Add(New CrystalParametro("ImagenPath", ""))
End If
ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/RepVentaUtilidadDetalleGeneral.rpt"), DtVentas, lista, "RepVentasUtilidadesDetalle", Formato), "RepVentasUtilidadesDetalle", Formato)
End Sub
Private Sub GenerarPDFCrystalCosto(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 FechaI As Date = txtFechaI.Text.ToDate
Dim FechaF As Date = txtFechaF.Text.ToDate
If txtFechaI.Text = "" Then FechaI = MinFecha
If txtFechaF.Text = "" Then FechaF = MaxFecha
Dim Cliente = If(DdlClientes.SelectedValue = "-1", "", $"&emsp;<b>Cliente:</b> {DdlClientes.SelectedItem.Text}")
Dim Sucursal = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.GetSelectedText}")
Dim Vendedor = If(DdlVendedor.GetSelectedText = "", "", $"&emsp;<b>Vendedor:</b> {DdlVendedor.GetSelectedText}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b> {DdlPS.SelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificacion:</b> {DdlClasificacion.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim lista = New List(Of CrystalParametro)
lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
lista.Add(New CrystalParametro("AgrupadoPor", $"{Cliente}{Sucursal}{Vendedor}{PS}{Clasificacion}{FechaIn}{FechaFn}"))
lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Usuario))
If Imagen.Exists Then
lista.Add(New CrystalParametro("ImagenPath", logouri))
Else
lista.Add(New CrystalParametro("ImagenPath", ""))
End If
ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/Grales/Formatos/RepVentaUtilidadDetalleGeneralCosto.rpt"), DtVentas, lista, "RepVentasUtilidadesCosto", Formato), "RepVentasUtilidadesDetalleCosto", Formato)
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlPS.UsaWebService Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, DdlClasificacion.SelectedValue.ToEntero())
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
End Class