1046 lines
47 KiB
VB.net
1046 lines
47 KiB
VB.net
Option Explicit On
|
||
Option Strict On
|
||
|
||
Imports System.Data
|
||
Imports Extensiones
|
||
Imports Microsoft.Reporting.WebForms
|
||
Imports System.Xml
|
||
|
||
Partial Class Ventas_RepVentas
|
||
Inherits ClsPaginas
|
||
|
||
#Region "Propiedades"
|
||
Private Property Opcion As String
|
||
Get
|
||
Return ViewState("Opcion").ToString
|
||
End Get
|
||
|
||
Set(value As String)
|
||
ViewState("Opcion") = value
|
||
End Set
|
||
End Property
|
||
Private Property Agrupador As String
|
||
Get
|
||
Return ViewState("Agrupador").ToString
|
||
End Get
|
||
|
||
Set(value As String)
|
||
ViewState("Agrupador") = value
|
||
End Set
|
||
End Property
|
||
|
||
Private Property CveProyecto As Integer
|
||
Get
|
||
Return ViewState("CveProyecto").ToString.ToEntero
|
||
End Get
|
||
|
||
Set(value As Integer)
|
||
ViewState("CveProyecto") = value
|
||
End Set
|
||
End Property
|
||
Private Property TipoCambio As Integer
|
||
Get
|
||
Return ViewState("TipoCambio").ToString.ToEntero
|
||
End Get
|
||
|
||
Set(value As Integer)
|
||
ViewState("TipoCambio") = value
|
||
End Set
|
||
End Property
|
||
Private Property TCEspecifico As Decimal
|
||
Get
|
||
Return ViewState("TCEspecifico").ToString.ToDecimal
|
||
End Get
|
||
|
||
Set(value As Decimal)
|
||
ViewState("TCEspecifico") = value
|
||
End Set
|
||
End Property
|
||
Private Property DtVentas As DataTable
|
||
Get
|
||
If ViewState("DtVentas") Is Nothing Then
|
||
ViewState("DtVentas") = New DataTable
|
||
End If
|
||
Return DirectCast(ViewState("DtVentas"), DataTable)
|
||
End Get
|
||
Set(value As DataTable)
|
||
ViewState("DtVentas") = value
|
||
End Set
|
||
End Property
|
||
|
||
Private Property Personalizo As Integer
|
||
Get
|
||
Return ViewState("Personalizo").ToString.ToEntero
|
||
End Get
|
||
|
||
Set(value As Integer)
|
||
ViewState("Personalizo") = value
|
||
End Set
|
||
End Property
|
||
|
||
Public Property Primeracontsulta As Boolean
|
||
Get
|
||
If ViewState("Primeracontsulta") Is Nothing Then
|
||
ViewState("Primeracontsulta") = True
|
||
End If
|
||
Return Boolean.Parse(ViewState("Primeracontsulta").ToString)
|
||
|
||
End Get
|
||
Set(value As Boolean)
|
||
ViewState("Primeracontsulta") = 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
|
||
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
|
||
TipoCambio = 1
|
||
TCEspecifico = -1
|
||
Personalizo = 0
|
||
CargaCombos()
|
||
ConfiguraEmpresa()
|
||
|
||
'MODALIDADES
|
||
If Request("Op") IsNot Nothing AndAlso Request("Op").ToString <> "" Then
|
||
Opcion = Request("Op").ToString
|
||
Else
|
||
Opcion = "-1"
|
||
End If
|
||
|
||
If UsuarioActual.CveEmpresa = 72 AndAlso UsuarioActual.CveUsuario.Contiene(100, 1614, 1517) Then
|
||
liRepHP.Visible = True
|
||
End If
|
||
CargaGrupo()
|
||
|
||
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
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
|
||
LnkDescargaCartaPorte.Visible = True
|
||
End If
|
||
|
||
If Opcion = "Cot" Then
|
||
DdlTipoComprobante.SelectedValuesIfExistM(Opcion)
|
||
DdlGrupo.SelectedValueExist("7")
|
||
DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, EventArgs.Empty)
|
||
DdlEstatus.ClearSelection()
|
||
End If
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||
LblServicioDomicilioFiltro.Visible = True
|
||
DVServicioDomicilio.Visible = True
|
||
DivLblDistr.Visible = True
|
||
DivDistr.Visible = True
|
||
'Modalidad Cotizacion
|
||
If Opcion = "Cot" Then
|
||
DdlTipoComprobante.SelectedValuesIfExistM(Opcion)
|
||
DdlGrupo.SelectedValueExist("7")
|
||
DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, EventArgs.Empty)
|
||
DdlEstatus.ClearSelection()
|
||
End If
|
||
End If
|
||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
|
||
LblFacturaGlobal.Visible = True
|
||
DivFacturaGlobal.Visible = True
|
||
End If
|
||
|
||
PrePersonalizacion()
|
||
CargaPersonalizacion()
|
||
|
||
End If
|
||
|
||
End Sub
|
||
|
||
|
||
#Region " CARGA COMBOS "
|
||
|
||
Private Sub CargaGrupo()
|
||
DdlGrupo.Items.Insert(0, New ListItem("Año", "1"))
|
||
DdlGrupo.Items.Insert(1, New ListItem("Mes", "2"))
|
||
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
|
||
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
|
||
DdlGrupo.Items.Insert(4, New ListItem("Cliente", "5"))
|
||
DdlGrupo.Items.Insert(4, New ListItem(LblSubProyecto.Text, "6"))
|
||
DdlGrupo.Items.Insert(5, New ListItem("Corte", "16"))
|
||
DdlGrupo.Items.Insert(6, New ListItem("Vendedor", "7"))
|
||
DdlGrupo.Items.Insert(7, New ListItem("Usuario", "8"))
|
||
DdlGrupo.Items.Insert(8, New ListItem("Estatus", "9"))
|
||
DdlGrupo.Items.Insert(9, New ListItem("% IVA", "10"))
|
||
DdlGrupo.Items.Insert(10, New ListItem("Año Ejec.", "11"))
|
||
DdlGrupo.Items.Insert(11, New ListItem("Mes Ejec.", "12"))
|
||
DdlGrupo.Items.Insert(12, New ListItem("Año/Mes Ejec.", "13"))
|
||
DdlGrupo.Items.Insert(13, New ListItem("Fecha Ejec.", "14"))
|
||
DdlGrupo.Items.Insert(13, New ListItem("Tipo Cliente", "20"))
|
||
DdlGrupo.Items.Insert(13, New ListItem("Vendedor/Cliente", "21"))
|
||
DdlGrupo.Items.Insert(13, New ListItem("Giro", "22"))
|
||
If UsuarioActual.Empresa.Funcionalidad(307) <> "" Then DdlGrupo.Items.Insert(10, New ListItem(UsuarioActual.Empresa.Funcionalidad(307), "23"))
|
||
|
||
DdlGrupo.DataBind()
|
||
DdlGrupo.SelectedValueExist("3")
|
||
End Sub
|
||
|
||
Private Sub ConfiguraEmpresa()
|
||
' If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(8).Visible = False
|
||
If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(9).Visible = False
|
||
ChkIEPS.Checked = UsuarioActual.Empresa.Funcionalidad(713) = "1" 'empresa deduce IEPS
|
||
End Sub
|
||
|
||
Private Sub CargaCombos()
|
||
|
||
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto, divProyecto:=DivProyecto, VisualizacionReporte:=1)
|
||
|
||
'CargaClientes
|
||
Dim EsWS As Boolean = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
|
||
If EsWS Then
|
||
DdlClientes.setEsWebService(True)
|
||
Else
|
||
DdlClientes.setEsWebService(False)
|
||
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
|
||
DdlClientes.DataBind()
|
||
DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
|
||
End If
|
||
|
||
'Vendedor
|
||
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso
|
||
DdlVendedor.DataBind()
|
||
DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1"))
|
||
DdlVendedor.Items.Insert(1, New ListItem("Sin Vendedor", "-2"))
|
||
|
||
'CargaUsuarios
|
||
DdlUsuario.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
|
||
DdlUsuario.DataBind()
|
||
|
||
'CargaEstatus
|
||
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(" CveEstatusFactura NOT IN (1, 4, 5) ")
|
||
DdlEstatus.DataBind()
|
||
DdlEstatus.Items.Add(New ListItem("Canceladas", "4"))
|
||
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then
|
||
DdlEstatus.SelectedIndex = 1
|
||
Else
|
||
DdlEstatus.SelectedIndex = 0
|
||
End If
|
||
|
||
'Carga Clasificacion Cliente
|
||
DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa)
|
||
DdlClienteClasificacion.DataBind()
|
||
DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
|
||
|
||
DdlTipoRelacion.DataSource = GlobalDTVtaTiposRelacion
|
||
DdlTipoRelacion.DataBind()
|
||
DdlTipoRelacion.Items.Insert(0, New ListItem("Todos", "-1"))
|
||
|
||
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString
|
||
txtFechaF.Text = NowADS().ToShortDateString
|
||
|
||
End Sub
|
||
|
||
|
||
#End Region
|
||
|
||
#Region " CARGA DATOS "
|
||
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
|
||
|
||
CargaDatos()
|
||
Personaliza()
|
||
UPDatos.Update()
|
||
'XmlConf(UsuarioActual.CveUsuario, 9)
|
||
|
||
End Sub
|
||
|
||
Private Sub CargaDatos()
|
||
Dim ObjVentas As New ClsVentas()
|
||
|
||
Dim TipoComprobante As String = If(DdlTipoComprobante.GetSelectedValuesM = "", "-1", DdlTipoComprobante.GetSelectedValuesM)
|
||
Dim Sucursales As String = If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM)
|
||
Dim Estatus As String = If(DdlEstatus.GetSelectedValuesM = "", "-1", DdlEstatus.GetSelectedValuesM)
|
||
Dim Vendedores As String = If(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM)
|
||
Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero)
|
||
|
||
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
|
||
TCEspecifico = TxtEspecifico.Text.ToDecimal
|
||
Else
|
||
TCEspecifico = -1
|
||
End If
|
||
|
||
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date
|
||
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim.ToDate, MinFecha)
|
||
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim.ToDate, MaxFecha)
|
||
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim.ToDate, MinFecha)
|
||
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim.ToDate, MaxFecha)
|
||
|
||
Dim ModalidadContable As Boolean = Not ChkLecturaAdmin.Checked
|
||
|
||
If ObjVentas.GetRepVentas(FechaI, FechaF, FechaIEjec, FechaFEjec, CveCliente, DdlSubProyectoEjecucion.SelectedValue.ToEntero, Vendedores,
|
||
DdlUsuario.SelectedValue.ToEntero, Estatus, "-1", UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, TipoComprobante, DdlProyecto.SelectedValue.ToEntero, Sucursales, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, CveUsuarioConsulta:=UsuarioActual.CveUsuario,
|
||
CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveCondicionesPago:=DdlCondicionesPago.SelectedValue.ToEntero, TipoCliente:=DdlTipoCliente.SelectedValue.ToEntero, ModalidadContable:=ModalidadContable,
|
||
EsDistribuidor:=DdlDistribuidor.SelectedValue.ToEntero, CveTipoRelacion:=DdlTipoRelacion.SelectedValue.ToEntero(), ServicioDomicilio:=DdlServicioDomicilio.SelectedValue.ToEntero, EsFacturaGlobal:=DdlFacturaGlobal.SelectedValue.ToEntero, EsFilial:=DdlFilial.SelectedValue.ToEntero) Then
|
||
GvDatos.DataSource = ObjVentas.DtResultados
|
||
DtVentas = ObjVentas.DtResultados
|
||
Else
|
||
GvDatos.DataSource = Nothing
|
||
End If
|
||
|
||
If DtVentas.SUMD("Descuento") <= 0 Then
|
||
GvDatos.Columns(3).Visible = False ' se oculta descuentos, si está vac+io
|
||
'ChkDescuentos.Visible = False
|
||
Else
|
||
If Primeracontsulta Then
|
||
GvDatos.Columns(3).Visible = True
|
||
ChkDescuentos.Checked = True
|
||
End If
|
||
End If
|
||
UPPersonalizar.Update()
|
||
|
||
Agrupador = DdlGrupo.SelectedItem.Text
|
||
CveProyecto = DdlProyecto.SelectedValue.ToEntero
|
||
ObjVentas.Dispose()
|
||
GvDatosDataBind()
|
||
|
||
Primeracontsulta = False
|
||
End Sub
|
||
|
||
Private Sub GvDatosDataBind()
|
||
|
||
GvDatos.DataSource = DtVentas
|
||
GvDatos.DataBind()
|
||
UPDatos.Update()
|
||
|
||
End Sub
|
||
|
||
#End Region
|
||
|
||
#Region "SELECTED INDEX CHANGE"
|
||
|
||
Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
CargaClientes()
|
||
End Sub
|
||
|
||
Private Sub CargaClientes()
|
||
DdlClientes.ddl.Items.Clear()
|
||
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveClienteClasificacion = {DdlClienteClasificacion.SelectedValue.ToEntero} OR {DdlClienteClasificacion.SelectedValue.ToEntero} = -1")
|
||
DdlClientes.DataBind()
|
||
DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
|
||
End Sub
|
||
|
||
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlProyecto.SelectedIndexChanged
|
||
CargarSubProyecto(DdlSubProyecto, DdlProyecto.SelectedValue)
|
||
End Sub
|
||
|
||
Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
DdlEstatus.Items.Clear()
|
||
If DdlTipoComprobante.GetSelectedValuesM <> "" Then
|
||
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto IN ({0}) OR ('Cot' IN ({0}) AND CveEstatusFactura = 2)", DdlTipoComprobante.GetSelectedValuesM(True).Replace("Ant", "Ing").Replace("Egs", "Ing")))
|
||
Else
|
||
DdlEstatus.DataSource = GlobalDTEstatusFactura
|
||
End If
|
||
'DdlEstatus.Items.Add(New ListItem("Todos", "-1"))
|
||
DdlEstatus.DataBind()
|
||
End Sub
|
||
|
||
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
|
||
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
|
||
If TipoCambio = 3 Then
|
||
LiEspecifico.Visible = True
|
||
TCEspecifico = GlobalTipoCambio(NowADS()).ToDecimal
|
||
TxtEspecifico.Text = TCEspecifico.ToString
|
||
Else
|
||
LiEspecifico.Visible = False
|
||
End If
|
||
UpBodyTipoCambio.Update()
|
||
End Sub
|
||
|
||
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
|
||
CargaDatos()
|
||
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
|
||
UPDatos.Update()
|
||
End Sub
|
||
|
||
#End Region
|
||
|
||
#Region " GV DATOS - ROW DATABOUND "
|
||
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||
Dim Css As String = "Texto"
|
||
' CABECERA TOTAL
|
||
|
||
If e.Row.DBCampo("Orden") = "" Then
|
||
e.Row.CssClass = "Totales"
|
||
e.Row.Cells(2).BackColor = Drawing.Color.Transparent
|
||
e.Row.Cells(6).BackColor = Drawing.Color.Transparent
|
||
End If
|
||
|
||
If e.Row.DBCampo("GPO") = "Total Dólares" Then
|
||
e.Row.CssClass = "Totales"
|
||
End If
|
||
' PARA LIGA
|
||
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As String
|
||
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
|
||
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
|
||
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.Trim(), "-1")
|
||
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.Trim(), "-1")
|
||
|
||
Dim CveMoneda As Integer = -1
|
||
If TipoCambio = 1 Then
|
||
CveMoneda = e.Row.DBCampo("CveMoneda").ToString.ToEntero
|
||
End If
|
||
|
||
Dim CveSubProyecto As String = "-1", CveProyecto As String = "-1"
|
||
If DdlGrupo.SelectedValue.ToEntero.Contiene(19) Then
|
||
CveSubProyecto = e.Row.DBCampo("CveCentroCosto")
|
||
CveProyecto = e.Row.DBCampo("CveCentroCostoProyecto")
|
||
Else
|
||
CveSubProyecto = e.Row.DBCampo("CveSubProyecto")
|
||
CveProyecto = e.Row.DBCampo("CveProyecto")
|
||
End If
|
||
|
||
Dim FechaInicial As String = FechaI
|
||
Dim FechaFinal As String = FechaF
|
||
|
||
If Not e.Row.DBCampo("GPO").Contains("Total") Then
|
||
Select Case DdlGrupo.SelectedValue.ToEntero()
|
||
Case 2 ' MES
|
||
Dim FechaIRef As DateTime = FechaI.ToDateTime()
|
||
Dim FechaFRef As DateTime = FechaF.ToDateTime()
|
||
|
||
If e.Row.DBCampo("Mes").ToEntero() > 0 Then
|
||
Dim Anio As Integer = FechaFRef.Year
|
||
Dim Mes As Integer = e.Row.DBCampo("Mes").ToEntero()
|
||
Dim lastDayOfMonth As Integer = DateTime.DaysInMonth(Anio, Mes)
|
||
|
||
Dim Dia As Integer = FechaFRef.Day
|
||
|
||
If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then
|
||
Dia = lastDayOfMonth
|
||
End If
|
||
|
||
If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then
|
||
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
|
||
End If
|
||
|
||
Dim FechaFinalRef As New DateTime(Anio, Mes, Dia)
|
||
|
||
'ASIGNAR LA FECHA FINAL DEL GRUPO, SI ES MENOR A LA FECHA DEL FILTRO
|
||
If FechaF <> "-1" Then
|
||
If FechaFRef < FechaFinalRef Then
|
||
FechaFinal = FechaFRef.ToString("dd/MM/yyyy")
|
||
Else
|
||
FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy")
|
||
End If
|
||
Else
|
||
FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy")
|
||
End If
|
||
End If
|
||
|
||
Case 3 ' AÑO/MES
|
||
Dim FechaIRef As DateTime = FechaI.ToDateTime()
|
||
Dim FechaFRef As DateTime = FechaF.ToDateTime()
|
||
|
||
Dim separator As Char = "/".ToCharArray().FirstOrDefault()
|
||
Dim AnioMes As String() = e.Row.DBCampo("AnioMes").Split(separator)
|
||
|
||
Dim Anio As Integer = AnioMes(0).ToEntero()
|
||
Dim Mes As Integer = AnioMes(1).ToEntero()
|
||
|
||
If Anio > 0 AndAlso Mes > 0 Then
|
||
Dim lastDayOfMonth As Integer = DateTime.DaysInMonth(Anio, Mes)
|
||
|
||
Dim DiaFinal As Integer = FechaFRef.Day
|
||
|
||
If Mes <> FechaFRef.Month Then
|
||
DiaFinal = lastDayOfMonth
|
||
End If
|
||
|
||
'VERIFICAR LA FECHA DE INICIO DEL MES DE CONSULTA
|
||
If Mes <> FechaIRef.Month Then
|
||
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
|
||
Else
|
||
'SI ES EL MISMO MES DE FECHA DE INICIO TOMAR LA FECHA DE INICIO COMO REFERENCIA
|
||
If Mes = FechaIRef.Month AndAlso Anio = FechaIRef.Year Then
|
||
FechaInicial = FechaIRef.ToString("dd/MM/yyyy")
|
||
End If
|
||
End If
|
||
|
||
Dim FechaFinalRef As New DateTime(Anio, Mes, DiaFinal)
|
||
'ASIGNAR LA FECHA FINAL DEL GRUPO, SI ES MENOR A LA FECHA DEL FILTRO
|
||
If FechaF <> "-1" Then
|
||
If FechaFRef < FechaFinalRef Then
|
||
FechaFinal = FechaFRef.ToString("dd/MM/yyyy")
|
||
Else
|
||
FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy")
|
||
End If
|
||
Else
|
||
FechaFinal = FechaFinalRef.ToString("dd/MM/yyyy")
|
||
End If
|
||
|
||
End If
|
||
|
||
Case 4 ' FECHA
|
||
FechaInicial = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy")
|
||
FechaFinal = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy")
|
||
End Select
|
||
End If
|
||
|
||
|
||
'LIGA A DETALLE
|
||
Dim Liga As String = $"/Ventas/RepVentasDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&AnioEjec={e.Row.DBCampo("AnioEjec")}&MesEjec={e.Row.DBCampo("MesEjec")}&AnioMesEjec={e.Row.DBCampo("AnioMesEjec")}&FechaEjec={e.Row.DBCampo("FechaEjec")}&CveCliente={e.Row.DBCampo("CveCliente")}&CveVendedor={ e.Row.DBCampo("CveVendedor")}&CveUsuario={e.Row.DBCampo("CveUsuario")}&CveEstatusFactura={e.Row.DBCampo("CveEstatusFactura")}&FechaI={FechaInicial}&FechaF={FechaFinal}&FechaIEjec={FechaIEjec}&FechaFEjec={FechaFEjec}&IVA={e.Row.DBCampo("GPO_IVA")}&CveCorte={ e.Row.DBCampo("CveCorte")}&TipoDocto={ DdlTipoComprobante.GetSelectedValuesM}&CveSubProyectoEjecucion={e.Row.DBCampo("CveSubProyectoEjecucion")}&CveSubProyecto={CveSubProyecto}&CveProyecto={CveProyecto}&TipoCambio={TipoCambio}&TCEspecifico={TCEspecifico}&CveMoneda={CveMoneda}&CveClienteClasificacion={e.Row.DBCampo("CveClienteClasificacion")}&CveCondicionesPago={DdlCondicionesPago.SelectedValue}&TipoCliente={ If(DdlGrupo.SelectedValue.ToEntero = 20, e.Row.DBCampo("TipoCliente"), DdlTipoCliente.SelectedValue)}&ModalidadContable={If(ChkLecturaAdmin.Checked, 0, 1)}&CveTipoRelacion={DdlTipoRelacion.SelectedValue}&ServicioDomicilio={DdlServicioDomicilio.SelectedValue}&EsFacturaGlobal={DdlFacturaGlobal.SelectedValue}&EsFilial={e.Row.DBCampo("EsFilial")}"
|
||
|
||
|
||
e.Row.FCLiteral("LtlGrupo").Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral("LtlGrupo").Text & "</a>"
|
||
e.Row.FCLiteral("LtlCantidad").Text = "<a class=""" & Css & """ href=""" & Liga & """>" & e.Row.FCLiteral("LtlCantidad").Text & "</a>"
|
||
|
||
|
||
If DdlGrupo.SelectedValue.ToEntero > 16 AndAlso e.Row.DBCampo("Orden") = "2" AndAlso DdlGrupo.SelectedValue.ToEntero <> 20 Then
|
||
e.Row.CssClass = "SubTotales"
|
||
e.Row.Attributes.Add("style", "background:#CCCCCC !important")
|
||
End If
|
||
|
||
If DdlGrupo.SelectedValue.ToEntero = 21 Then
|
||
If e.Row.DBCampo("GPO").Contains("Total") Then
|
||
e.Row.CssClass = "Totales"
|
||
e.Row.Cells(2).BackColor = Drawing.Color.Transparent
|
||
e.Row.Cells(6).BackColor = Drawing.Color.Transparent
|
||
Else
|
||
If e.Row.DBCampo("CveCliente") = "" Then
|
||
e.Row.CssClass = "SubTotales"
|
||
e.Row.Cells(2).BackColor = Drawing.Color.Transparent
|
||
e.Row.Cells(6).BackColor = Drawing.Color.Transparent
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||
e.Row.FCLabel("LblCreditoPorcentaje").Visible = True
|
||
e.Row.FCLabel("LblContadoPorcentaje").Visible = True
|
||
End If
|
||
|
||
|
||
|
||
|
||
End If
|
||
|
||
End Sub
|
||
#End Region
|
||
|
||
#Region " PERSONALIZAR "
|
||
|
||
|
||
Private Sub PrePersonalizacion()
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then ChkIEPS.Visible = True
|
||
|
||
End Sub
|
||
|
||
Protected Sub LnkPErsonalizar_Click(sender As Object, e As EventArgs)
|
||
ChkGuardarPersonalizacion.Checked = False
|
||
RegistraScript("$('#DivPersonalizar').modal('show')")
|
||
End Sub
|
||
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs)
|
||
|
||
If ChkGuardarPersonalizacion.Checked Then
|
||
GuardaPersonalizacion()
|
||
End If
|
||
|
||
Personaliza()
|
||
GvDatosDataBind()
|
||
End Sub
|
||
|
||
Private Sub GuardaPersonalizacion()
|
||
|
||
Dim objUsuario As New ClsSisUsuarios
|
||
Dim ListPersonalizada As New List(Of String)
|
||
|
||
'ChkCantidad.Checked = False
|
||
'ChkSubtotal.Checked = False
|
||
'ChkDescuentos.Checked = False
|
||
'ChkIVA.Checked = False
|
||
'ChkTotal.Checked = False
|
||
|
||
If ChkCantidad.Checked Then
|
||
ListPersonalizada.Add("Cantidad")
|
||
End If
|
||
|
||
If ChkSubtotal.Checked Then
|
||
ListPersonalizada.Add("Subtotal")
|
||
End If
|
||
|
||
If ChkDescuentos.Checked Then
|
||
ListPersonalizada.Add("Descuentos")
|
||
End If
|
||
|
||
If ChkIVA.Checked Then
|
||
ListPersonalizada.Add("IVA")
|
||
End If
|
||
|
||
If ChkTotal.Checked Then
|
||
ListPersonalizada.Add("Total")
|
||
End If
|
||
|
||
If ChkSubTotal2.Checked Then
|
||
ListPersonalizada.Add("SubTotal2")
|
||
End If
|
||
If ChkIEPS.Checked Then
|
||
ListPersonalizada.Add("IEPS")
|
||
End If
|
||
If ChkRetIVA.Checked Then
|
||
ListPersonalizada.Add("RetIVA")
|
||
End If
|
||
If ChkRetISR.Checked Then
|
||
ListPersonalizada.Add("RetISR")
|
||
End If
|
||
If ChkImpLoc.Checked Then
|
||
ListPersonalizada.Add("ImpLoc")
|
||
End If
|
||
If ChkMinSub.Checked Then
|
||
ListPersonalizada.Add("MinSub")
|
||
End If
|
||
If ChkAVGSub.Checked Then
|
||
ListPersonalizada.Add("AVGSub")
|
||
End If
|
||
If ChkMaxSub.Checked Then
|
||
ListPersonalizada.Add("MaxSub")
|
||
End If
|
||
If ChkMaxTot.Checked Then
|
||
ListPersonalizada.Add("MaxTot")
|
||
End If
|
||
If ChkAvgTot.Checked Then
|
||
ListPersonalizada.Add("AvgTot")
|
||
End If
|
||
If ChkMinTot.Checked Then
|
||
ListPersonalizada.Add("MinTot")
|
||
End If
|
||
If CheckRefacturado.Checked Then
|
||
ListPersonalizada.Add("CheckRefacturado")
|
||
End If
|
||
If ChkContado.Checked Then
|
||
ListPersonalizada.Add("ChkContado")
|
||
End If
|
||
If ChkCredito.Checked Then
|
||
ListPersonalizada.Add("ChkCredito")
|
||
End If
|
||
If ChkCantidad.Checked Then
|
||
ListPersonalizada.Add("Cantidad")
|
||
End If
|
||
|
||
If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "RepVentas.aspx", String.Join("|", ListPersonalizada)) Then
|
||
'Alert("Personalizacion guardada")
|
||
End If
|
||
|
||
objUsuario.Dispose()
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub CargaPersonalizacion()
|
||
|
||
|
||
Dim strBasePersonalizacion As String = UsuarioActual.Personalizaciones("RepVentas.aspx")
|
||
|
||
If strBasePersonalizacion.Trim.Length > 0 Then
|
||
|
||
ChkCantidad.Checked = False
|
||
ChkSubtotal.Checked = False
|
||
ChkDescuentos.Checked = False
|
||
ChkIVA.Checked = False
|
||
ChkTotal.Checked = False
|
||
|
||
ChkSubTotal2.Checked = False
|
||
ChkIEPS.Checked = False
|
||
ChkRetIVA.Checked = False
|
||
ChkRetISR.Checked = False
|
||
ChkImpLoc.Checked = False
|
||
ChkMinSub.Checked = False
|
||
ChkAVGSub.Checked = False
|
||
ChkMaxSub.Checked = False
|
||
ChkMaxTot.Checked = False
|
||
ChkAvgTot.Checked = False
|
||
ChkMinTot.Checked = False
|
||
CheckRefacturado.Checked = False
|
||
|
||
Dim Personalizaciones As String() = strBasePersonalizacion.Split("|"c)
|
||
|
||
For Each personalizacion As String In Personalizaciones
|
||
|
||
Select Case personalizacion
|
||
|
||
Case "Cantidad"
|
||
ChkCantidad.Checked = True
|
||
Exit Select
|
||
Case "Subtotal"
|
||
ChkSubtotal.Checked = True
|
||
Exit Select
|
||
Case "Descuentos"
|
||
ChkDescuentos.Checked = True
|
||
Exit Select
|
||
Case "IVA"
|
||
ChkIVA.Checked = True
|
||
Exit Select
|
||
Case "Total"
|
||
ChkTotal.Checked = True
|
||
Exit Select
|
||
Case "SubTotal2"
|
||
ChkSubTotal2.Checked = True
|
||
Exit Select
|
||
Case "IEPS"
|
||
ChkIEPS.Checked = True
|
||
Exit Select
|
||
Case "RetIVA"
|
||
ChkRetIVA.Checked = True
|
||
Exit Select
|
||
Case "RetISR"
|
||
ChkRetISR.Checked = True
|
||
Exit Select
|
||
Case "ImpLoc"
|
||
ChkImpLoc.Checked = True
|
||
Exit Select
|
||
Case "MinSub"
|
||
ChkMinSub.Checked = True
|
||
Exit Select
|
||
Case "AVGSub"
|
||
ChkAVGSub.Checked = True
|
||
Exit Select
|
||
Case "MaxSub"
|
||
ChkMaxSub.Checked = True
|
||
Exit Select
|
||
Case "MaxTot"
|
||
ChkMaxTot.Checked = True
|
||
Exit Select
|
||
Case "AvgTot"
|
||
ChkAvgTot.Checked = True
|
||
Exit Select
|
||
Case "MinTot"
|
||
ChkMinTot.Checked = True
|
||
Exit Select
|
||
Case "CheckRefacturado"
|
||
CheckRefacturado.Checked = True
|
||
Exit Select
|
||
Case "ChkContado"
|
||
ChkContado.Checked = True
|
||
Exit Select
|
||
Case "ChkCredito"
|
||
ChkCredito.Checked = True
|
||
Exit Select
|
||
Case Else
|
||
Exit Select
|
||
End Select
|
||
|
||
Next
|
||
|
||
Personaliza()
|
||
Else
|
||
PersonalizaDefault()
|
||
End If
|
||
UPPersonalizar.Update()
|
||
|
||
End Sub
|
||
|
||
Private Sub PersonalizaDefault()
|
||
ChkCantidad.Checked = True
|
||
'ChkSubtotal.Checked = True
|
||
|
||
If DtVentas.Rows.Count > 0 AndAlso DtVentas.SUMD("Descuento") > 0 Then
|
||
ChkDescuentos.Checked = True
|
||
End If
|
||
|
||
ChkSubTotal2.Checked = True
|
||
ChkIVA.Checked = True
|
||
If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then ChkIEPS.Checked = True
|
||
|
||
'ChkRetIVA.Checked = True
|
||
'ChkRetISR.Checked = True
|
||
'ChkImpLoc.Checked = True
|
||
ChkTotal.Checked = True
|
||
End Sub
|
||
|
||
Private Sub Personaliza()
|
||
|
||
|
||
GvDatos.Columns(1).Visible = ChkCantidad.Checked
|
||
GvDatos.Columns(2).Visible = ChkSubtotal.Checked
|
||
GvDatos.Columns(3).Visible = ChkDescuentos.Checked
|
||
GvDatos.Columns(6).Visible = ChkIVA.Checked
|
||
GvDatos.Columns(11).Visible = ChkTotal.Checked
|
||
|
||
GvDatos.Columns(5).Visible = ChkSubTotal2.Checked
|
||
GvDatos.Columns(7).Visible = ChkIEPS.Checked
|
||
GvDatos.Columns(8).Visible = ChkRetIVA.Checked
|
||
GvDatos.Columns(9).Visible = ChkRetISR.Checked
|
||
GvDatos.Columns(10).Visible = ChkImpLoc.Checked
|
||
GvDatos.Columns(12).Visible = ChkMaxSub.Checked
|
||
GvDatos.Columns(13).Visible = ChkAVGSub.Checked
|
||
|
||
GvDatos.Columns(14).Visible = ChkMinSub.Checked
|
||
|
||
GvDatos.Columns(15).Visible = ChkMaxTot.Checked
|
||
GvDatos.Columns(16).Visible = ChkAvgTot.Checked
|
||
GvDatos.Columns(17).Visible = ChkMinTot.Checked
|
||
GvDatos.Columns(18).Visible = CheckRefacturado.Checked
|
||
GvDatos.Columns(19).Visible = ChkCredito.Checked
|
||
GvDatos.Columns(20).Visible = ChkContado.Checked
|
||
|
||
Personalizo = 1
|
||
If Personalizo = 1 Then
|
||
ImgExcelPersonalizado.Visible = True
|
||
Else
|
||
ImgExcelPersonalizado.Visible = False
|
||
End If
|
||
|
||
UPDatos.Update()
|
||
End Sub
|
||
#End Region
|
||
|
||
#Region " EXCEL "
|
||
Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
|
||
'GvDatos.ExportToExcel("ReporteVentas" & NowADS().ToShortDateString)
|
||
GenerarPDF("Excel")
|
||
End Sub
|
||
#End Region
|
||
|
||
#Region "PDF"
|
||
|
||
Private Sub GenerarPDF(Optional Formato As String = "PDF")
|
||
If DtVentas IsNot Nothing Then
|
||
Dim StrFiltro As New StringBuilder
|
||
StrFiltro.AppendFormat(" <b>Agrupado por</b>: {0}", DdlGrupo.SelectedItem.Text)
|
||
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepVentas.rdlc", UsuarioActual.Empresa.Ruta))
|
||
Dim ruta As String = ""
|
||
|
||
If DdlTipoComprobante.GetSelectedText <> "" Then StrFiltro.AppendFormat(" <b>Tipo Documento</b>: {0}", DdlTipoComprobante.GetSelectedText)
|
||
If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate.ToShortDateString)
|
||
If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate.ToShortDateString)
|
||
|
||
If DdlProyecto.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" <b>Proyecto</b>: {0}", DdlProyecto.SelectedItem.Text)
|
||
If DdlSubProyecto.GetSelectedText <> "" Then StrFiltro.AppendFormat(" <b>SubProyecto</b>: {0}", DdlSubProyecto.GetSelectedText)
|
||
If DdlClientes.SelectedValue <> "" Then StrFiltro.AppendFormat(" <b>Cliente</b>: {0}", DdlClientes.SelectedText)
|
||
If DdlVendedor.GetSelectedText <> "" Then StrFiltro.AppendFormat(" <b>Vendedor</b>: {0}", DdlVendedor.GetSelectedText)
|
||
If DdlEstatus.GetSelectedText <> "" Then StrFiltro.AppendFormat(" <b>Estatus</b>: {0}", DdlEstatus.GetSelectedText)
|
||
If DdlSubProyectoEjecucion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" <b>Proyecto Ejecución</b>: {0}", DdlSubProyectoEjecucion.SelectedItem.Text)
|
||
|
||
If TxtFechaIEjec.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha I. Ejecución</b>: {0}", TxtFechaIEjec.Text.ToDate.ToShortDateString)
|
||
If TxtFechaFEjec.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha I. Ejecución</b>: {0}", TxtFechaFEjec.Text.ToDate.ToShortDateString)
|
||
If DdlUsuario.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" <b>Usuario</b>: {0}", DdlUsuario.SelectedItem.Text)
|
||
If DdlClienteClasificacion.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" <b>Clasificación Cliente</b>: {0}", DdlClienteClasificacion.SelectedItem.Text)
|
||
If DdlCondicionesPago.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" <b>Condiciones Pago</b>: {0}", DdlCondicionesPago.SelectedItem.Text)
|
||
|
||
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
||
Dim logouri As String = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
|
||
Dim dt As DataTable = DtVentas '.FiltraParametros("", "Orden") '.FiltraParametros("Total > 0", DistinctColumns:={"GPO", "Cantidad", "SubTotal", "Descuento", "Amortizacion", "IVA", "Total"})
|
||
Dim FechaI, FechaF As String
|
||
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
|
||
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
|
||
Dim params As New List(Of ReportParameter)
|
||
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
|
||
params.Add(New ReportParameter("FechaInicio", FechaI))
|
||
params.Add(New ReportParameter("FechaFin", FechaF))
|
||
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
|
||
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
|
||
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
|
||
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
||
|
||
If Archivo.Exists Then
|
||
ruta = UsuarioActual.Empresa.Ruta & "Formatos/RepVentas.rdlc"
|
||
Else
|
||
ruta = "Empresas/Grales/Formatos/RepVentas.rdlc"
|
||
End If
|
||
|
||
ImprimirPDF(ruta, dt, params, String.Format("ReporteVentas-{0}", NowADS().ToDateTime.ToShortDateString), Formato:=Formato)
|
||
Else
|
||
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
|
||
End If
|
||
|
||
End Sub
|
||
|
||
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
|
||
GenerarPDF()
|
||
End Sub
|
||
|
||
#End Region
|
||
|
||
#Region "XML-CONFIGURACIÓN"
|
||
Private Sub XmlConf(CveUsuario As Integer, CveModulo As Integer, Values As String(,))
|
||
Dim settings As New XmlWriterSettings()
|
||
settings.Indent = True
|
||
Dim Xmlwrt As XmlWriter = XmlWriter.Create(String.Format("{0}\Menu\ERP\{1}_Conf.xml", AppDomain.CurrentDomain.BaseDirectory, CveUsuario, settings))
|
||
|
||
With Xmlwrt
|
||
.WriteStartDocument()
|
||
.WriteComment("XML Configuración")
|
||
.WriteStartElement(CveModulo.ToString())
|
||
|
||
Dim bound0 As Integer = Values.GetUpperBound(0)
|
||
For i As Integer = 0 To bound0
|
||
AgregaNodo(Values(i, 0), Values(i, 1), Xmlwrt)
|
||
Next
|
||
|
||
.WriteEndElement()
|
||
.WriteEndDocument()
|
||
.Close()
|
||
|
||
End With
|
||
End Sub
|
||
|
||
Private Sub AgregaNodo(Filtro As String, Valor As String, ByRef xml As XmlWriter)
|
||
xml.WriteStartElement(Filtro)
|
||
xml.WriteValue(Valor)
|
||
xml.WriteEndElement()
|
||
End Sub
|
||
|
||
Private Sub GenerarXml()
|
||
|
||
Dim values(,) As String =
|
||
New String(,) {
|
||
{"Tipo", DdlTipoComprobante.GetSelectedText},
|
||
{"Sucursal", DdlSubProyecto.Text.ToString()},
|
||
{"SucursalEjecuccion", DdlSubProyectoEjecucion.Text.ToString()},
|
||
{"Proyecto", DdlProyecto.Text.ToString()}
|
||
}
|
||
End Sub
|
||
#End Region
|
||
|
||
#Region "GRAFICA"
|
||
|
||
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
|
||
If Not DtVentas IsNot Nothing AndAlso DtVentas.Rows.Count > 0 Then
|
||
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
|
||
Exit Sub
|
||
End If
|
||
|
||
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
|
||
RegistraScript("$('#DivModalGrafica').modal('show')")
|
||
CambioGrafica()
|
||
End Sub
|
||
|
||
Private Sub CambioGrafica()
|
||
Dim Dt As New DataTable()
|
||
Dt.Columns.Add("Texto")
|
||
Dt.Columns.Add("Valor")
|
||
Dt.Columns.Add("Color")
|
||
Dt.Columns.Add("Moneda")
|
||
Dim RowColorIndex As Integer = 0
|
||
For Each Dr As DataRow In DtVentas.Rows
|
||
If Not Dr("Orden").ToString = "" Then
|
||
Dim Row As DataRow = Nothing
|
||
Row = Dt.NewRow()
|
||
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
|
||
Select Case DdlVer.SelectedValue.ToEntero
|
||
Case 1
|
||
Row("Valor") = Dr("Total").ToString.FormatoNumero
|
||
Case 2
|
||
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
|
||
Case 3
|
||
Row("Valor") = Dr("IVA").ToString.FormatoNumero
|
||
End Select
|
||
Row("Color") = Colors(RowColorIndex)
|
||
Row("Moneda") = Dr("Moneda").ToString
|
||
Dt.Rows.Add(Row)
|
||
RowColorIndex += 1
|
||
If RowColorIndex >= Colors.Length Then RowColorIndex = 0
|
||
End If
|
||
Next
|
||
|
||
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
|
||
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
|
||
Select Case DdlGrafica.SelectedValue.ToEntero
|
||
Case 1
|
||
RegistraScript($"CargaGraficaBarras({json});console.log({json})", "22")
|
||
Case 2
|
||
RegistraScript($"CargaGraficaPastel({json})", "22")
|
||
End Select
|
||
UPModalProd.Update()
|
||
End Sub
|
||
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
CambioGrafica()
|
||
End Sub
|
||
|
||
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
CambioGrafica()
|
||
End Sub
|
||
|
||
#End Region
|
||
|
||
Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click
|
||
CalcularIntervaloRepHP()
|
||
RegistraScript("$('#DivRepHP').modal('show');")
|
||
End Sub
|
||
Protected Sub RblIntervaloHP_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
CalcularIntervaloRepHP()
|
||
End Sub
|
||
|
||
Private Sub CalcularIntervaloRepHP()
|
||
Dim PrevMondayDate As Date = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday))
|
||
Dim Sunday As DateTime = PrevMondayDate.AddDays(6)
|
||
|
||
txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy")
|
||
txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy")
|
||
'Select Case RblIntervaloHP.SelectedValue
|
||
' Case "1" ' SEMANAL
|
||
' Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday))
|
||
' Dim Sunday As DateTime = PrevMondayDate.AddDays(6)
|
||
|
||
' txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy")
|
||
' txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy")
|
||
' Case "2" ' MENSUAL
|
||
' Dim FechaRef As DateTime = NowADS()
|
||
' Dim LastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month)
|
||
|
||
' txtFechaIHP.Text = $"01/{FechaRef.Month}/{FechaRef.Year}"
|
||
' txtFechaFHP.Text = $"{LastDayOfMonth}/{FechaRef.Month}/{FechaRef.Year}"
|
||
'End Select
|
||
UpHP.Update()
|
||
End Sub
|
||
|
||
Protected Sub BtnGenerarRepHP_Click(sender As Object, e As EventArgs)
|
||
Dim FechaI As DateTime = txtFechaIHP.Text.ToDate()
|
||
Dim FechaF As DateTime = txtFechaFHP.Text.ToDate()
|
||
|
||
Dim Rep As New ClsVentas
|
||
Dim Str As New StringBuilder
|
||
Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ")
|
||
Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code")
|
||
If Rep.GetReporteHP(UsuarioActual.CveEmpresa, FechaI, FechaF) Then
|
||
For Each dr As DataRow In Rep.DtResultados.Rows
|
||
Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN")
|
||
Next
|
||
End If
|
||
|
||
Rep.Dispose()
|
||
'GenerarPDF una salida
|
||
Response.Clear()
|
||
Response.ContentType = "text/csv"
|
||
Response.AppendHeader("Content-Disposition", $"attachment; filename=ReporteHP_{FechaI.ToString("dd_MM_yyyy")} a {FechaF.ToString("dd_MM_yyyy")}.csv")
|
||
Response.Write(Str.ToString)
|
||
Context.Response.End()
|
||
End Sub
|
||
|
||
|
||
Protected Sub LnkDescargaCartaPorte_Click(sender As Object, e As EventArgs)
|
||
|
||
Dim ObjVentas As New ClsVentas
|
||
Dim DTDataos As New DataTable
|
||
Dim CveSubProyectos As String = If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM)
|
||
|
||
If ObjVentas.GetListadoCartaPorteRep(txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, CveSubProyectos, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||
DTDataos = ObjVentas.DtResultados
|
||
End If
|
||
|
||
ObjVentas.Dispose()
|
||
DTDataos.ExportToExcel("RepCartasPorte")
|
||
End Sub
|
||
|
||
Protected Sub ImgExcelPersonalizado_Click(sender As Object, e As EventArgs) Handles ImgExcelPersonalizado.Click
|
||
'GvVsh.Visible = True
|
||
'GvVsh.ExportToExcel("DetalleVentas_" & NowADS().ToShortDateString)
|
||
'GvVsh.Visible = False
|
||
GvDatos.ExportToExcel("Ventas_" & NowADS().ToShortDateString & ".xls")
|
||
'GvDatos.ExportToExcelG("DetalleVentas_" & NowADS().ToShortDateString & ".xlsx")
|
||
End Sub
|
||
|
||
|
||
End Class
|