Commit inicial Ventas Productivo

This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2019-08-14 16:40:54 -07:00
commit c35cf91883
13328 changed files with 3711549 additions and 0 deletions

View File

@@ -0,0 +1,810 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Ventas_RepProductosServiciosDetalle
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TmpDT As DataTable
Get
Return CType(ViewState("TmpDT"), DataTable)
End Get
Set(value As DataTable)
ViewState("TmpDT") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
Return CType(ViewState("CveMoneda"), Integer)
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property TipoCambio As Integer
Get
Return CType(ViewState("TipoCambio"), Integer)
End Get
Set(value As Integer)
ViewState("TipoCambio") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
Return CType(ViewState("TCEspecifico"), Double)
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = 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
#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")
SetValues()
CargaParametrosDetalle()
End If
End Sub
#Region " CARGA DATOS INICIALES "
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3"))
DdlGrupo.Items.Insert(1, New ListItem("Clasificacion", "4"))
DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5"))
DdlGrupo.Items.Insert(3, New ListItem("Año", "6"))
DdlGrupo.Items.Insert(4, New ListItem("Mes", "7"))
DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8"))
DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9"))
DdlGrupo.Items.Insert(7, New ListItem("Cliente", "10"))
DdlGrupo.Items.Insert(8, New ListItem("Vendedor", "12"))
DdlGrupo.Items.Insert(9, New ListItem("Usuario", "13"))
DdlGrupo.Items.Insert(10, New ListItem("Estatus Fact.", "14"))
DdlGrupo.Items.Insert(11, New ListItem("Año Ejec.", "15"))
DdlGrupo.Items.Insert(12, New ListItem("Mes Ejec.", "16"))
DdlGrupo.Items.Insert(13, New ListItem("Año/Mes Ejec.", "17"))
DdlGrupo.Items.Insert(14, New ListItem("Fecha Ejec.", "18"))
DdlGrupo.Items.Insert(15, New ListItem("Cliente - PS", "20"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("8")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlSubProyectoEjecucion.Items.Clear()
LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:"
DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyectoEjecucion.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2"))
DdlGrupo.Items.Insert(16, New ListItem("Sucursal Ejec.", "19"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlSubProyectoEjecucion.Items.Clear()
LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:"
DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectoEjecucion.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyectoEjecucion.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2"))
DdlGrupo.Items.Insert(16, New ListItem("Proyecto Ejec.", "19"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.InnerText = "Sucursal:"
LblSubProyecto.InnerText = "Proyecto:"
LblSubProyectoEjecucion.InnerText = "Proyecto Ejecución:"
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.InnerText = "Proyecto:"
LblSubProyecto.InnerText = "Sucursal:"
LblSubProyectoEjecucion.InnerText = "Sucursal Ejecución:"
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
DdlGrupo.Items.Insert(17, New ListItem("SubProyecto Ejec.", "19"))
DdlGrupo.DataBind()
End If
End Sub
Private Sub SetValues()
'Cargo Proyectos
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.DataBind()
'Cargo Categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
CargaClientes()
'Dim ObjClientes As New ClsClientes
'If ObjClientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
' DdlClientes.DataSource = ObjClientes.DtResultados
'Else
' DdlClientes.DataSource = Nothing
'End If
'ObjClientes.Dispose()
'DdlClientes.DataBind()
'CargaSubProyectos
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyectoEjecucion.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectoEjecucion.DataBind()
'Vendedor
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
DdlVendedor.Attributes.Add("disabled", "disabled")
DdlVendedor.Enabled = False
End If
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'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 = ""
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'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 = 2
Else
DdlEstatus.SelectedIndex = 1
End If
'Carga Clasificacion Cliente
DdlClienteClasificacion.DataSource = GlobalDTClienteClasificaciones(UsuarioActual.CveEmpresa)
DdlClienteClasificacion.DataBind()
DdlClienteClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
CargaGrupo()
CargaTipoCentroCosto()
CreaDataTableColor()
TCEspecifico = 0
TipoCambio = 1
End Sub
Private Sub CargaParametrosDetalle()
Dim CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, FechaI, FechaF, FechaIEjec, FechaFEjec, CveSubProyectoEjecucion, CveEstatus, CveUsuario, Anio, Mes, AnioMes, Fecha, AnioEjec, MesEjec, AnioMesEjec, FechaEjec, GPO, TipoDocto, CveClienteClasificacion As String
Dim CveCliente As Integer = -1
Dim CveProveedorCompra As Integer = -1
Dim CveVendedor As Integer
Dim CveMarca As Integer = -1
GPO = If(Request("Grupo") IsNot Nothing AndAlso Request("Grupo").ToEntero() > 0, Request("Grupo").ToEntero(), -1).ToString
CveProyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString
CveSubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString
CveCategoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString
CveClasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString
CvePS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString
Anio = If(Request("Anio") IsNot Nothing AndAlso Request("Anio").ToEntero() > 0, Request("Anio").ToEntero(), -1).ToString
Mes = If(Request("Mes") IsNot Nothing AndAlso Request("Mes").ToEntero() > 0, Request("Mes").ToEntero(), -1).ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
AnioEjec = If(Request("AnioEjec") IsNot Nothing AndAlso Request("AnioEjec").ToEntero() > 0, Request("AnioEjec").ToEntero(), -1).ToString
MesEjec = If(Request("MesEjec") IsNot Nothing AndAlso Request("MesEjec").ToEntero() > 0, Request("MesEjec").ToEntero(), -1).ToString
AnioMesEjec = If(Request("AnioMesEjec") IsNot Nothing, Request("AnioMesEjec").ToString, "-1").ToString
FechaEjec = If(Request("FechaEjec") IsNot Nothing, Request("FechaEjec").ToString, "-1").ToString
FechaIEjec = If(Request("FechaEI") IsNot Nothing, Request("FechaEI").ToString, "-1").ToString
FechaFEjec = If(Request("FechaEF") IsNot Nothing, Request("FechaEF").ToString, "-1").ToString
CveCliente = If(Request("CveCliente") IsNot Nothing AndAlso Request("CveCliente").ToEntero() > 0, Request("CveCliente").ToEntero(), -1).ToString.ToEntero
CveSubProyectoEjecucion = If(Request("CveSubProyectoEjecucion") IsNot Nothing AndAlso Request("CveSubProyectoEjecucion").ToEntero() > 0, Request("CveSubProyectoEjecucion").ToEntero(), -1).ToString
CveVendedor = If(Request("CveVendedor") IsNot Nothing AndAlso Request("CveVendedor").ToEntero() > 0, Request("CveVendedor").ToEntero(), -1).ToString.ToEntero
CveEstatus = If(Request("CveEstatus") IsNot Nothing AndAlso Request("CveEstatus").ToEntero() > 0, Request("CveEstatus").ToEntero(), -1).ToString
CveUsuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString
TipoDocto = If(Request("TipoDocto") IsNot Nothing AndAlso Request("TipoDocto").ToString() <> "-1", Request("TipoDocto").ToString(), "-1").ToString
TipoCambio = If(Request("TipoCambio") IsNot Nothing AndAlso Request("TipoCambio").ToEntero() <> -1, Request("TipoCambio").ToEntero(), 1).ToEntero
TCEspecifico = If(Request("TCEspecifico") IsNot Nothing AndAlso Request("TCEspecifico").ToDouble() <> 0, Request("TCEspecifico").ToDouble(), 0).ToString.ToDouble
CveClienteClasificacion = If(Request("CveClienteClasificacion") IsNot Nothing AndAlso Request("CveClienteClasificacion").ToEntero() > 0, Request("CveClienteClasificacion").ToEntero(), -1).ToString
CveProveedorCompra = If(Request("CveProveedorCompra") IsNot Nothing AndAlso Request("CveProveedorCompra").ToEntero() > 0, Request("CveProveedorCompra").ToEntero(), -1).ToString.ToEntero
CveMarca = If(Request("CveMarca") IsNot Nothing AndAlso Request("CveMarca").ToEntero() > 0, Request("CveMarca").ToEntero(), -1).ToString.ToEntero
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
End If
If FechaI <> "-1" Then
txtFechaI.Text = FechaI
End If
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
If Anio <> "-1" Then
txtFechaI.Text = String.Format("01/01/{0}", Anio)
txtFechaF.Text = String.Format("31/12/{0}", Anio)
End If
If AnioMes.Trim.Length > 5 Then
Dim FechaFtemporal As String = ""
If AnioMes.Trim.Length = 7 Then
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
FechaFtemporal = $"01/{AnioMes.Substring(5, 2).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}"
txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day)
Else
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
FechaFtemporal = $"01/{AnioMes.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMes.Substring(0, 4)}"
txtFechaF.Text = String.Format("{2}/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4), FechaFtemporal.ToDate.LastDayOfMonth.Day)
End If
End If
txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
If FechaEjec <> "-1" Then
TxtFechaIEjec.Text = FechaEjec
TxtFechaFEjec.Text = FechaEjec
End If
If FechaIEjec <> "-1" Then
TxtFechaIEjec.Text = FechaIEjec
End If
If FechaFEjec <> "-1" Then
TxtFechaFEjec.Text = FechaFEjec
End If
If AnioMesEjec.Trim.Length > 5 Then
TxtFechaIEjec.Text = If(AnioMesEjec <> "-1", String.Format("01/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4)), TxtFechaIEjec.Text)
Dim FechaFEjectemporal = $"01/{AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c)}/{AnioMesEjec.Substring(0, 4)}"
TxtFechaFEjec.Text = String.Format("{2}/{0}/{1}", AnioMesEjec.Substring(5, 1).PadLeft(2, "0"c), AnioMesEjec.Substring(0, 4), FechaFEjectemporal.ToDate.LastDayOfMonth.Day)
End If
TxtFechaIEjec.Text = If(AnioEjec <> "-1", String.Format("01/01/{0}", AnioEjec), TxtFechaIEjec.Text)
TxtFechaIEjec.Text = If(MesEjec <> "-1", String.Format("01/{0}/0001", MesEjec), TxtFechaIEjec.Text)
CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToEntero
DdlProyecto.SelectedValueExist(CveProyecto)
If DivProyecto.Visible Then CargaSubProyecto()
DdlSubProyecto.SelectedValueExist(CveSubProyecto)
DdlCategoria.SelectedValueExist(CveCategoria)
DdlClasificacion.SelectedValueExist(CveClasificacion)
If CvePS.ToEntero > 0 Then
DdlPS.SelectedValue = CvePS
DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS.ToEntero)(0)("PSCodigo").ToString
End If
DdlClienteClasificacion.SelectedValueExist(CveClienteClasificacion)
CargaClientes(CveCliente)
'DdlClientes.SelectedValueExist(CveCliente)
DdlSubProyectoEjecucion.SelectedValueExist(CveSubProyectoEjecucion)
DdlVendedor.SelectedValueExist(CveVendedor)
DdlUsuario.SelectedValueExist(CveUsuario)
DdlTipoComprobante.SelectedValueExist(TipoDocto)
CargaEstatus()
DdlEstatus.SelectedValueExist(CveEstatus)
DdlGrupo.SelectedValueExist(GPO)
RblTipoCambio.SelectedValue = TipoCambio.ToString
If TipoCambio > 1 Then CveMoneda = -1
CargaProvedores(CveProveedorCompra)
'If CveProveedorCompra.ToEntero > 0 Then DdlProveedor.SelectedValue = CveProveedorCompra
CargaDatos(CveProyecto, CveSubProyecto, CveCategoria, CveClasificacion, CvePS, Mes, MesEjec, CveCliente, CveSubProyectoEjecucion, CveVendedor, CveUsuario, CveEstatus, GPO.ToEntero, TipoDocto, CveMarca)
CargarMarcas(CveMarca)
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjVentas As New ClsVentas()
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha)
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha)
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha)
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha)
Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1)
Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1)
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1
If ObjVentas.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero,
DdlPS.SelectedValue.ToEntero, FechaI, FechaF, -1, FechaIEjec, FechaFEjec, -1, CveCliente,
DdlSubProyectoEjecucion.SelectedValue.ToEntero, DdlVendedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero,
UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=DdlTipoComprobante.SelectedValue, GPO:=DdlGrupo.SelectedValue.ToEntero, CveMoneda:=CveMoneda,
TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero, CveProveedorCompra:=CveProveedorCompra, CveMarca:=DdlMarcaPSDes.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjVentas.DtResultados
TmpDT = ObjVentas.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjVentas.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
Private Sub CargaDatos(CveProyecto As String, CveSubProyecto As String, CveCategoria As String, CveClasificacion As String, CvePS As String, Mes As String, MesEjec As String, CveCliente As Integer, CveSubProyectoEjecucion As String, CveVendedor As Integer, CveUsuario As String, CveEstatus As String, Gpo As Integer, TipoDocto As String, CveMarca As Integer)
Dim ObjVentas As New ClsVentas()
Dim FechaI, FechaF, FechaIEjec, FechaFEjec As Date
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate, MinFecha)
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate, MaxFecha)
FechaIEjec = If(IsDate(TxtFechaIEjec.Text.Trim()), TxtFechaIEjec.Text.ToDate, MinFecha)
FechaFEjec = If(IsDate(TxtFechaFEjec.Text.Trim()), TxtFechaFEjec.Text.ToDate, MaxFecha)
Dim CveProveedorCompra As Integer = If(DdlProveedor.SelectedValue.ToEntero > 0, DdlProveedor.SelectedValue.ToEntero, -1)
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1
If ObjVentas.GetRepProductosServiciosDetalle(CveProyecto.ToEntero, CveSubProyecto.ToEntero, CveCategoria.ToEntero, CveClasificacion.ToEntero, CvePS.ToEntero,
FechaI, FechaF, Mes.ToEntero, FechaIEjec, FechaFEjec, MesEjec.ToEntero, CveCliente.ToEntero, CveSubProyectoEjecucion.ToEntero,
CveVendedor, CveUsuario.ToEntero, CveEstatus.ToEntero, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=TipoDocto,
GPO:=Gpo, CveMoneda:=CveMoneda, TipoCambio:=TipoCambio, TCEspecifico:=TCEspecifico, CveClienteClasificacion:=DdlClienteClasificacion.SelectedValue.ToEntero,
CveProveedorCompra:=CveProveedorCompra, CveMarca:=CveMarca) Then
GvDatos.DataSource = ObjVentas.DtResultados
TmpDT = ObjVentas.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjVentas.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
Protected Sub BtnTipoCambio_Click(sender As Object, e As EventArgs)
CargaDatos()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
UPDatos.Update()
End Sub
Protected Sub CargarMarcas(CveMarca As Integer)
If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then
DivMarca.Visible = True
LblMarca.Visible = True
Dim ObjMarcas As New ClsProductosServicios
If ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa) Then
DdlMarcaPSDes.DataSource = ObjMarcas.DtResultados
ObjMarcas.Dispose()
DdlMarcaPSDes.DataBind()
End If
End If
DdlMarcaPSDes.Items.Insert(0, New ListItem(" - ", "-1"))
DdlMarcaPSDes.Items.FindByValue(CStr(CveMarca)).Selected = True
End Sub
#End Region
#Region "TIPO CAMBIO"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambioM As Double
LiEspecifico.Visible = True
TipoCambioM = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambioM.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
#End Region
#Region " GV DATOS - PERSONALIZAR "
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 DdlGrupo.SelectedValue.ToEntero = 20 Then
If e.Row.DBCampo("PS").ToString = "" Then
e.Row.CssClass = "Totales"
End If
Else
If Not e.Row.DBCampo("CveVenta").ToEntero > 0 Then
'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(0).Width = Unit.Pixel(200)
'e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(1).Width = Unit.Pixel(60)
'e.Row.Cells(2).Width = Unit.Pixel(90)
'e.Row.Cells(3).Width = Unit.Pixel(90)
'e.Row.Cells(5).Width = Unit.Pixel(80)
'e.Row.Cells(8).Width = Unit.Pixel(100)
If e.Row.DBCampo("Gpo") = "" Then
e.Row.Cells(5).Text = e.Row.DBCampo("Moneda").ToString
e.Row.CssClass = "Totales"
Else
e.Row.Cells(5).Text = e.Row.DBCampo("Gpo").ToString
e.Row.CssClass = "SubTotales"
End If
End If
End If
'Dim FechaI, FechaF As String
'FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
'FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
'If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlSubTotal").Text = ""
'If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.FCLiteral("LtlDescuento").Text = ""
'If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.FCLiteral("LtlIVA").Text = ""
'If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.FCLiteral("LtlTotal").Text = ""
'If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxSubTotal").Text = ""
'If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGSubTotal").Text = ""
'If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMinSubTotal").Text = ""
'If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxTotal").Text = ""
'If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGTotal").Text = ""
'If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMinTotal").Text = ""
End If
End Sub
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
GvDatos.Columns(2).Visible = ChkSucEjec.Checked
GvDatos.Columns(3).Visible = ChkSucCob.Checked
GvDatos.Columns(9).Visible = ChkObs.Checked
GvDatos.Columns(15).Visible = ChkRFC.Checked
CargaDatos()
UPDatos.Update()
End Sub
#End Region
#Region " SELECTED INDEX CHANGED"
Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaClientes()
End Sub
Private Sub CargaClientes(Optional CveCliente As Integer = -1)
Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
If EsWS Then
DdlClientes.setEsWebService(True)
DdlClientes.SelectedValue = CveCliente.ToString
DdlClientes.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("Nombre", String.Format("CveCliente = {0}", CveCliente))
Else
DdlClientes.setEsWebService(False)
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"))
If CveCliente > 0 Then
DdlClientes.ddl.SelectedValueExist(CveCliente)
End If
End If
End Sub
Private Sub CargaProvedores(Optional CveProveedor As Integer = -1)
DdlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If DdlProveedor.UsaWebService Then
DdlProveedor.SelectedValue = CveProveedor.ToString
DdlProveedor.Attributes.Add("data-metodo", "getproveedores")
DdlProveedor.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor))
Else
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClientes.ddl.SelectedValueExist(CveProveedor)
End If
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue <> "-1" Then
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
End If
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
'Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged
' DdlClasificacion.Items.Clear()
' If DdlCategoria.SelectedValue <> "-1" Then
' Dim ObjClasificaciones As New ClsClasificaciones
' If ObjClasificaciones.GetClasificacionesExistencias(UsuarioActual.CveEmpresa) Then
' DdlClasificacion.DataSource = ObjClasificaciones.DtResultados
' DdlClasificacion.DataBind()
' End If
' ObjClasificaciones.Dispose()
' End If
' DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
'End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged
If UsuarioActual.Empresa.Funcionalidad(105) = "" Then
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPS.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
Else
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
End If
End Sub
Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaEstatus()
End Sub
Private Sub CargaEstatus()
DdlEstatus.Items.Clear()
If DdlTipoComprobante.SelectedValue <> "-1" Then
DdlEstatus.DataSource = GlobalDTEstatusFactura.FiltraParametros(String.Format("TipoDocto = '{0}'", DdlTipoComprobante.SelectedValue))
Else
DdlEstatus.DataSource = GlobalDTEstatusFactura
End If
DdlEstatus.Items.Add(New ListItem("Todos", "-1"))
DdlEstatus.DataBind()
End Sub
#End Region
#Region " EXCEL "
Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString)
End Sub
#End Region
#Region " PDF "
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
ImprimirReporte()
End Sub
Private Sub ImprimirReporte(Optional Formato As String = "PDF")
Dim ObjVentas As New ClsVentas()
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
If TmpDT.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalle.rdlc", TmpDT, params, "ReportePS")
'ImprimirPDF(String.Format("{0}Formatos\RepProductosServicios.rdlc", UsuarioActual.Empresa.Ruta), dtPS, params, "ReporteProductosServicios")
End If
ObjVentas.Dispose()
End Sub
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not TmpDT IsNot Nothing AndAlso TmpDT.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 CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
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 TmpDT.Rows
If Not Dr("CveVenta").ToString.ToEntero > 0 Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("Gpo").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").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") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
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})", "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
End Class