2755 lines
121 KiB
VB.net
2755 lines
121 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.IO
|
|
Imports System.Data
|
|
Imports ZXing
|
|
|
|
Partial Class ProductosyServicios
|
|
Inherits ClsPaginas
|
|
|
|
#Region " Propiedades "
|
|
Private ReadOnly Property CvePS As Integer
|
|
Get
|
|
Return ViewState("CvePS").ToString.ToEntero
|
|
End Get
|
|
End Property
|
|
|
|
Private Property CveSATPS As Integer
|
|
Get
|
|
Return ViewState("CveSATPS").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveSATPS") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property Ret As String
|
|
Get
|
|
Return ViewState("Ret").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Ret") = value
|
|
End Set
|
|
End Property
|
|
Private Property Borrar As Boolean
|
|
Get
|
|
Return CBool(ViewState("Borrar"))
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("Borrar") = value
|
|
End Set
|
|
End Property
|
|
Public Property dtPaqueteDetalles() As DataTable
|
|
Get
|
|
Return CType(ViewState("dtPaqueteDetalles"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("dtPaqueteDetalles") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtEquivalencias() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtEquivalencias"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtEquivalencias") = value
|
|
End Set
|
|
End Property
|
|
Public Property dtFamily() As DataTable
|
|
Get
|
|
Return CType(ViewState("dtFamily"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("dtFamily") = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
Property CodigoBarrasCargado As String
|
|
Get
|
|
If ViewState("CodigoBarrasCargado") Is Nothing Then
|
|
Return ""
|
|
Else
|
|
Return ViewState("CodigoBarrasCargado").ToString
|
|
End If
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("CodigoBarrasCargado") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property DtPSAdicionales() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtPSAdicionales"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtPSAdicionales") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property CvePSAdicional As Integer
|
|
Get
|
|
Return ViewState("CvePSAdicional").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CvePSAdicional") = value
|
|
End Set
|
|
End Property
|
|
Public Property DtSeccionAlmacen() As DataTable
|
|
Get
|
|
Return CType(ViewState("DtSeccionAlmacen"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtSeccionAlmacen") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property CveUnidadMedida As Integer
|
|
Get
|
|
Return ViewState("CveUnidadMedida").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveUnidadMedida") = value
|
|
End Set
|
|
End Property
|
|
|
|
|
|
#End Region
|
|
|
|
Private ReadOnly Property PermiteClasificacion2 As Boolean
|
|
Get
|
|
Return (UsuarioActual.CveEmpresa.Contiene(1, 72, 80))
|
|
End Get
|
|
End Property
|
|
|
|
|
|
|
|
#Region " PROPIEDADES ECOMMERCE "
|
|
''' <summary>
|
|
''' Si es True existe en Eco_Produtcos
|
|
''' </summary>
|
|
''' <returns></returns>
|
|
Private Property AplicaEcommerce As Boolean
|
|
Get
|
|
Return CBool(ViewState("AplicaEcommerce"))
|
|
End Get
|
|
Set(value As Boolean)
|
|
ViewState("AplicaEcommerce") = 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
|
|
|
|
InicializaValores()
|
|
If Request("CvePS") IsNot Nothing AndAlso IsNumeric(Request("CvePS")) AndAlso Request("CvePS").ToEntero > 0 Then
|
|
ViewState("CvePS") = Request("CvePS")
|
|
CargarMarcas()
|
|
|
|
CargaDatos()
|
|
'Configuración de Modalidad Update
|
|
BtnGuardar.Text = "Guardar Cambios"
|
|
|
|
CargarAlias()
|
|
CargaExistencias()
|
|
|
|
Else
|
|
'Configuración de Modalidad Insert
|
|
RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')")
|
|
|
|
ViewState("CvePS") = -1
|
|
CargarMarcas()
|
|
|
|
ChkEstado.Enabled = False
|
|
ChkEstado.Checked = True
|
|
LblFechaCaptura.Text = Now.ToShortDateString()
|
|
LblUsuarioCapturo.Text = UsuarioActual.Usuario
|
|
BtnEliminar.Visible = False
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(543).ToString = "1" Then
|
|
Dim ObjSub As New ClsSubProyectos
|
|
Dim CveSubProyectoMatriz As Integer
|
|
|
|
If ObjSub.GetSubProyectos() Then
|
|
CveSubProyectoMatriz = ObjSub.DtResultados.FiltroPrimeroValor("CveSubProyecto", $"CveEmpresa = {UsuarioActual.CveEmpresa} AND TipoSucursal = 1").ToEntero
|
|
End If
|
|
|
|
Dim ObjFolios As New ClsGralFolios()
|
|
If ObjFolios.GetFolios("PS", UsuarioActual.CveEmpresa) Then
|
|
|
|
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros($"CveSubProyecto = {CveSubProyectoMatriz} And Estado = 'Activo'")
|
|
If DT.Rows.Count > 0 Then
|
|
TxtCodigo.Text = DT.Rows(0)("FActual").ToString
|
|
TxtCodigo.Enabled = False
|
|
Else
|
|
Alert("No tiene registrados Folios para la sucursal matriz.", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
|
|
If Request("Ret") IsNot Nothing AndAlso Request("Ret").ToString <> "" Then
|
|
Ret = Request("Ret")
|
|
End If
|
|
|
|
'CargaFamilia(ViewState("CveSubFamilia").ToString.ToEntero)
|
|
CargaSucursaless()
|
|
CargaImpuestosLocales()
|
|
CargaConceptoRelacionado()
|
|
|
|
If UsuarioActual.TienePermisoProceso(122) Then
|
|
BtnEliminar.Visible = False
|
|
BtnGuardar.Visible = False
|
|
End If
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(557) = "1" Then
|
|
DdlIVA.SelectedValueExist("-1")
|
|
DdlIVA.Attributes.Add("disabled", "disabled")
|
|
DdlIVA.Enabled = False
|
|
End If
|
|
|
|
If CvePS > 0 Then
|
|
CargaEquivalencias()
|
|
CargaPSAdicionales()
|
|
CargaGvBitacora()
|
|
divBitacora.Visible = True
|
|
VerificaRequiereSerieLote()
|
|
End If
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(524) <> "" Then
|
|
DivProveedorCompra.Visible = True
|
|
DivMoneda.Visible = True
|
|
End If
|
|
|
|
UpDatos.Update()
|
|
|
|
'DdlClasificacion.AutoPostBack = UsuarioActual.CveEmpresa.Contiene(80, 72)
|
|
|
|
InicializaEcommerce()
|
|
|
|
If UsuarioActual.CveEmpresa.Contiene(141, 152) Then
|
|
'DivDatos.Attributes("class") = "col-md-12"
|
|
|
|
DivDdlTipo.Visible = True
|
|
'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
|
|
|
|
End If
|
|
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then
|
|
'DivDatos.Attributes("class") = "col-md-12"
|
|
TxtPS.Enabled = False
|
|
DivDdlTipo.Visible = True
|
|
DivTxtModelo.Visible = True
|
|
DivTxtAdicional.Visible = True
|
|
DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
|
|
DdlMarcaPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
|
|
TxtModelo.Attributes.Add("onKeyUp ", "CreaDescripcionPS();")
|
|
TxtAdicional.Attributes.Add("onKeyUp ", "CreaDescripcionPS();")
|
|
End If
|
|
|
|
If ddlMetodos.SelectedValue.ToEntero = 5 And Not UsuarioActual.TienePermisoProceso(255) Then
|
|
ddlMetodos.Enabled = False
|
|
End If
|
|
Dim posiciontipo As String = If(UsuarioActual.Empresa.Funcionalidad(558).ToString = "1", "$('.DIVCLASIFICACIONCONTABLE').after( $('.DIVTIPO') );", "")
|
|
|
|
LtlScripts.Text = $"<script>function setPoscicion(){{{posiciontipo}}}</script>"
|
|
If Not CvePS > 0 Then MuestraPanel(True)
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#Region " INCIALIZA "
|
|
Private Sub InicializaValores()
|
|
ViewState("OrdenO") = ""
|
|
ViewState("OrdenC") = ""
|
|
ViewState("DTProductosServiciosCaracteristicas") = Nothing
|
|
ViewState("DTProductosServiciosCaracteristicasOpciones") = Nothing
|
|
ViewState("CveSubFamilia") = "-1"
|
|
Ret = "-1"
|
|
|
|
'CType(Me.Master, BaseMasterPage).EsPopup = True
|
|
'CType(Me.Master, BaseMasterPage).PopupWidth = 700
|
|
'RegistraScript("$get('tdContenido').style.height='350px'")
|
|
|
|
CargaClasificaciones()
|
|
CargaClasificaciones2()
|
|
CargaClasificacionesDetalles()
|
|
ClasificacionModal()
|
|
CargaTipoProductos()
|
|
CargaUnidadesMedida()
|
|
CargarMetodosInv()
|
|
'CargaPSAdicional(DdlPSAdicional)
|
|
|
|
'Nuevo R: 26/09/2017
|
|
CargaProveedores()
|
|
|
|
CargarCompuestos()
|
|
CargaPS()
|
|
'ChangeDdl()
|
|
CargaDdlSATPS()
|
|
CargaDdlFraccionArancelaria()
|
|
CveSATPS = -1
|
|
|
|
CargaCombosSeccionAlmacen()
|
|
|
|
CreaDtSeccionAlmacen()
|
|
|
|
If UsuarioActual.Empresa.UsaContabilidad Then
|
|
CargaCuentasContables()
|
|
If Not (Request("CvePS") IsNot Nothing AndAlso IsNumeric(Request("CvePS")) AndAlso Request("CvePS").ToEntero > 0) Then DivUsoClasificacion.Visible = True
|
|
End If
|
|
|
|
'CargaTipoServicio()
|
|
'DivTipoServicio.Visible = False
|
|
|
|
TxtDescripcion.Text = UCase(TxtDescripcion.Text)
|
|
|
|
Dim objAcum As New ClsAcumuladores
|
|
If objAcum.TamañoGet(-1, UsuarioActual.CveEmpresa) Then
|
|
DdlTamanio.DataSource = objAcum.DtResultados
|
|
Else
|
|
DdlTamanio.DataSource = Nothing
|
|
End If
|
|
|
|
objAcum.Dispose()
|
|
DdlTamanio.DataBind()
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
|
DivLlantas.Visible = True
|
|
DivPSAdicionales.Visible = True
|
|
CargaPanelLlantas()
|
|
End If
|
|
|
|
CvePSAdicional = -1
|
|
|
|
End Sub
|
|
|
|
'Private Sub CargaPSAdicional(Objeto As ADServerControl.Dropdownlost)
|
|
' Objeto.setEsWebService(UsuarioActual.Empresa.Funcionalidad(141).ToString = "1")
|
|
' If Not UsuarioActual.Empresa.Funcionalidad(141).ToString = "1" Then
|
|
' Objeto.ddl.Items.Clear()
|
|
' Objeto.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=-1, Estatus:=1, AplicaParaVenta:=1)
|
|
' Objeto.ddl.DataBind()
|
|
' Objeto.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
' Else
|
|
' Objeto.ddlWS.Attributes.Add("data-Estatus", "1")
|
|
' Objeto.SelectedValue = "-1"
|
|
' Objeto.SelectedText = "Seleccione"
|
|
' End If
|
|
'End Sub
|
|
Private Sub CargaPanelLlantas()
|
|
Dim ObjGral As New ClsGenerales()
|
|
If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then
|
|
DdlModelo.DataSource = ObjGral.DtResultados.Copy()
|
|
End If
|
|
If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then
|
|
DdlMedida.DataSource = ObjGral.DtResultados.Copy()
|
|
End If
|
|
If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then
|
|
DdlRin.DataSource = ObjGral.DtResultados.Copy()
|
|
End If
|
|
ObjGral.Dispose()
|
|
|
|
DdlModelo.DataBind()
|
|
DdlMedida.DataBind()
|
|
DdlRin.DataBind()
|
|
|
|
End Sub
|
|
|
|
Private Sub MuestraPanel(Optional AfterPageLoad As Boolean = False)
|
|
If AfterPageLoad Then
|
|
RegistraScript("window.onload = function MuestraPanel() { document.getElementById(""C_BtnMostrarPanel"").click(); }")
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Protected Sub BtnTipoCla_Click(sender As Object, e As EventArgs)
|
|
PresionarBotonPanel("C_BtnCerrarPanel")
|
|
DivUsoClasificacion.Visible = False
|
|
DdlUsoClasificacion.SelectedValueExist(RblTipoClasificación.SelectedValue)
|
|
CargaClasificaciones()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub PresionarBotonPanel(Boton As String)
|
|
Dim Script As String = $"document.getElementById(""{Boton}"").click();"
|
|
Dim Pag As System.Web.UI.Page = CType(System.Web.HttpContext.Current.Handler, System.Web.UI.Page)
|
|
ScriptManager.RegisterStartupScript(Pag, Pag.GetType(), Boton, Script, True)
|
|
Pag = Nothing
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "S U C U R S A L E S"
|
|
Private Sub CargaSucursaless()
|
|
'Dim dtSuc As DataTable = GlobalDTSucursales().FiltraParametros("CveEmpresa = " + UsuarioActual.CveEmpresa.ToString)
|
|
'dtSuc.AcceptChanges()
|
|
|
|
'dtSuc.Columns.Add("Importe")
|
|
'dtSuc.Columns.Add("Activo")
|
|
|
|
'For Each row As DataRow In dtSuc.Rows
|
|
' row("Activo") = False
|
|
'Next
|
|
'dtSuc.AcceptChanges()
|
|
|
|
'If Not ViewState("CvePS") Is Nothing Then
|
|
' Dim ObjPS As New ClsProductosServicios
|
|
|
|
' If ObjPS.GetPSSucursales(CvePS) Then
|
|
' Dim dtSucP As DataTable = ObjPS.DtResultados
|
|
|
|
' For Each Row As DataRow In dtSucP.Rows
|
|
' Dim rowsToUpdate = dtSuc.AsEnumerable().Where(Function(r) r.Field(Of Integer)("CveSucursal") = Row("CveSucursal").ToString.ToEntero AndAlso r!CveSucursal.ToString.ToEntero > 0)
|
|
|
|
' For Each roww As DataRow In rowsToUpdate
|
|
' roww.SetField("Importe", Row("Importe"))
|
|
' roww.SetField("Activo", True)
|
|
' Next
|
|
|
|
' 'For Each drtt As DataRow In TmpDT.Select(String.Format("PS='{0}' AND CvePS=0", Row("PS")))
|
|
' ' drtt("CvePS") = tCve
|
|
' 'Next
|
|
|
|
|
|
' dtSuc.AcceptChanges()
|
|
' Next
|
|
' End If
|
|
|
|
' ObjPS.Dispose()
|
|
'End If
|
|
|
|
'gvSucursal.DataSource = dtSuc
|
|
'gvSucursal.DataBind()
|
|
|
|
Dim ObjPS As New ClsProductosServicios
|
|
|
|
If ObjPS.GetPSSucursales(CvePS, UsuarioActual.CveEmpresa) Then
|
|
gvSucursal.DataSource = ObjPS.DtResultados
|
|
|
|
End If
|
|
|
|
ObjPS.Dispose()
|
|
gvSucursal.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub gvSucursal_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gvSucursal.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(50)
|
|
e.Row.Cells(1).Width = Unit.Pixel(100)
|
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
|
End If
|
|
|
|
' If e.Row.FCCheckBox("chkSucursal").Checked = True Then e.Row.Cells(0).BackColor = Drawing.Color.Yellow
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "C A R A C T E R I S T I C A S"
|
|
|
|
Private Sub CargaCaracteristicas()
|
|
' CargaDatosC()
|
|
CargaProductosServiciosCaracteristicas()
|
|
CambioProductosServiciosCaracteristicas(DdlCaracteristica.SelectedValue.ToEntero)
|
|
CargaDatosO()
|
|
UpDatos.Update()
|
|
UpDatosO.Update()
|
|
UpTitulosO.Update()
|
|
|
|
End Sub
|
|
Public Sub CargaDatosO()
|
|
Dim Objeto As New ClsGenerales
|
|
If Objeto.GetCaracteristicasValores(-1, -1, CvePS, -1, -1, -1, 5, UsuarioActual.CveEmpresa, OpcionListado:=1) Then
|
|
GvDatosOpciones.DataSource = Objeto.DtResultados
|
|
End If
|
|
Objeto.Dispose()
|
|
UpDatosO.Update()
|
|
GvDatosOpciones.DataBind()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub LbAgregarO_Click(sender As Object, e As EventArgs) Handles LbAgregarO.Click
|
|
Dim Objeto As New ClsGenerales
|
|
Dim Opcion As String = If(TDTxtOpcion.Visible = True, TxtOpcion.Text, DdlOpcion.SelectedItem.Text)
|
|
Dim Opcion2 As Integer = If(TDDdlOpcion.Visible = True, DdlOpcion.SelectedValue.ToEntero, -1)
|
|
|
|
If Objeto.AddUpdateCaracteristicasValores(DdlCaracteristica.SelectedValue.ToEntero, Opcion2, Opcion, UsuarioActual.CveUsuario, CvePs:=CvePS) Then
|
|
End If
|
|
Objeto.Dispose()
|
|
TxtOpcion.Text = ""
|
|
CargaDatosO()
|
|
UpDatosO.Update()
|
|
UpTitulosO.Update()
|
|
Alert("El valor de la caracteristica se agregó correctamente.", TipoMensaje.MsgInformacion)
|
|
End Sub
|
|
|
|
Private Sub CargaProductosServiciosCaracteristicas()
|
|
Dim Objeto As New ClsGenerales
|
|
DdlCaracteristica.Items.Clear()
|
|
If Objeto.GetCaracteristicas(-1, 5, UsuarioActual.CveEmpresa) Then
|
|
DdlCaracteristica.DataSource = Objeto.DtResultados
|
|
End If
|
|
Objeto.Dispose()
|
|
DdlCaracteristica.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub DdlCaracteristica_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCaracteristica.SelectedIndexChanged
|
|
CambioProductosServiciosCaracteristicas(DdlCaracteristica.SelectedValue.ToEntero)
|
|
End Sub
|
|
|
|
Protected Sub CambioProductosServiciosCaracteristicas(CveCaracteristica As Integer)
|
|
Dim Objeto As New ClsGenerales
|
|
If Objeto.GetCaracteriscasOpciones(CveCaracteristica, UsuarioActual.CveEmpresa) Then
|
|
Dim dr As DataRow = Objeto.DtResultados.FiltroPrimero(String.Format(("CveCaracteristica={0}"), CveCaracteristica))
|
|
If dr IsNot Nothing Then
|
|
If dr("CveCaracteristicaTipo").ToString = "1" Then
|
|
DdlOpcion.Items.Clear()
|
|
DdlOpcion.DataSource = Objeto.DtResultados.FiltraParametros(String.Format(("CveCaracteristica={0}"), CveCaracteristica))
|
|
|
|
TDDdlOpcion.Visible = True
|
|
TDTxtOpcion.Visible = False
|
|
Else
|
|
TDTxtOpcion.Visible = True
|
|
TDDdlOpcion.Visible = False
|
|
End If
|
|
|
|
End If
|
|
End If
|
|
Objeto.Dispose()
|
|
DdlOpcion.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub CambioProductosServiciosCaracteristicasOpciones()
|
|
UpTitulosO.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "G V O P C I O N E S"
|
|
Protected Sub GvDatosOpciones_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatosOpciones.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.RowIndex = 0 Then
|
|
e.Row.Cells(0).Width = Unit.Pixel(150)
|
|
e.Row.Cells(1).Width = Unit.Pixel(150)
|
|
e.Row.Cells(2).Width = Unit.Pixel(100)
|
|
e.Row.Cells(3).Width = Unit.Pixel(100)
|
|
e.Row.Cells(4).Width = Unit.Pixel(50)
|
|
End If
|
|
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
|
|
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("DdlCaracteristicaEdit").DataSource = GlobalDTProductosServiciosCaracteristicas(UsuarioActual.CveEmpresa).FiltraParametros("CvePS = " + CvePS.ToString)
|
|
e.Row.FCDropDownList("DdlCaracteristicaEdit").DataBind()
|
|
e.Row.FCDropDownList("DdlCaracteristicaEdit").SelectedValue = e.Row.DBCampo("CvePS")
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDatosOpciones_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatosOpciones.RowDeleting
|
|
Dim ObjOpciones As New ClsGenerales
|
|
Dim CveCaracteristicaValor As Integer = GvDatosOpciones.Rows(e.RowIndex).DataKey("CveCaracteristicaValor").ToEntero
|
|
|
|
If ObjOpciones.RemoveCaracteristicasValores(CveCaracteristicaValor, CvePS:=CvePS) Then
|
|
GvDatosOpciones.EditIndex = -1
|
|
CambioProductosServiciosCaracteristicasOpciones()
|
|
CargaDatosO()
|
|
UpDatosO.Update()
|
|
Alert("La Opción para Caracteristica del Producto o Servicio se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
|
|
ObjOpciones.Dispose()
|
|
End Sub
|
|
Protected Sub GvDatosOpciones_RowCancelingEdit(sender As Object, e As System.Web.UI.WebControls.GridViewCancelEditEventArgs) Handles GvDatosOpciones.RowCancelingEdit
|
|
GvDatosOpciones.EditIndex = -1
|
|
End Sub
|
|
Protected Sub GvDatosOpciones_RowUpdating(sender As Object, e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvDatosOpciones.RowUpdating
|
|
Dim ObjOpciones As New ClsGralProductosServiciosCaracteristicas
|
|
Dim CveCaracteristica As Integer = DirectCast(GvDatosOpciones.Rows(e.RowIndex).FindControl("DdlCaracteristicaEdit"), DropDownList).SelectedValue.ToEntero
|
|
Dim CveOpcion As Integer = GvDatosOpciones.DataKeys(e.RowIndex).Value.ToString.ToEntero
|
|
|
|
Dim Opcion As String = DirectCast(GvDatosOpciones.Rows(e.RowIndex).FindControl("TxtOpcion"), TextBox).Text.Trim
|
|
|
|
If ObjOpciones.UpdateProductosServiciosCaracteristicasOpciones(Opcion, CveCaracteristica, CveOpcion) Then
|
|
GvDatosOpciones.EditIndex = -1
|
|
ViewState("DTProductosServiciosCaracteristicasOpciones") = ObjOpciones.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
|
|
GlobalDTProductosServiciosCaracteristicasOpciones(UsuarioActual.CveEmpresa) = ObjOpciones.DtResultados
|
|
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
|
|
|
|
CambioProductosServiciosCaracteristicasOpciones()
|
|
End If
|
|
|
|
ObjOpciones.Dispose()
|
|
End Sub
|
|
|
|
'Protected Sub GvDatosOpciones_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GvDatosOpciones.RowEditing
|
|
' GvDatosOpciones.EditIndex = e.NewEditIndex
|
|
' CargaGrid()
|
|
'End Sub
|
|
#End Region
|
|
|
|
#Region "O R D E N A M I E N T O"
|
|
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
|
|
Dim Orden As String = ""
|
|
Dim Campo As String = ""
|
|
Dim gvi As Integer = 0
|
|
Dim Literal As Literal = Nothing
|
|
Const OrdenInicial As String = ""
|
|
Dim Arg(2) As String
|
|
|
|
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
|
|
Campo = Arg(0)
|
|
gvi = Arg(1).ToEntero
|
|
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(", ", "_")), Literal)
|
|
Campo = Campo.Substring(0, Campo.Length - 1)
|
|
|
|
If ViewState(String.Format("O{0}", Campo, gvi)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo, gvi)).ToString = String.Format("{0} DESC", Campo) Then
|
|
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
|
|
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
|
|
Else
|
|
ViewState(String.Format("O{0}", Campo, gvi)) = String.Format("{0} DESC", Campo)
|
|
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
|
|
End If
|
|
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo, gvi)).ToString
|
|
ViewState("Orden") = Orden
|
|
End Sub
|
|
|
|
|
|
|
|
'Private Sub CargaGrid()
|
|
' Dim Objeto As New ClsGralProductosServiciosCaracteristicas
|
|
' If Objeto.GetPSCaracteristicas(UsuarioActual.CveEmpresa) Then
|
|
' GvDatosCaracteristicas.DataSource = Objeto.DtResultados
|
|
' End If
|
|
' GvDatosCaracteristicas.DataBind()
|
|
' Objeto.Dispose()
|
|
'End Sub
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "C A R G A S"
|
|
Private Sub ClasificacionModal()
|
|
DdlClasificacionModal.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
|
|
DdlClasificacionModal.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
DdlClasificacionModal.DataBind()
|
|
UpModal.Update()
|
|
End Sub
|
|
|
|
Private Sub CargaClasificacionesDetalles()
|
|
DdlTipoPSDes.Items.Clear()
|
|
DdlTipoPSDes.DataSource = GlobalDTClasificacionesDetalle(UsuarioActual.CveEmpresa)
|
|
'If DdlClasificacion.SelectedValue.ToEntero > 0 Then
|
|
'Dim ObjVenta As New ClsVentas
|
|
' If ObjVenta.GetClasificacionDetalle(UsuarioActual.CveEmpresa, CveClasificacion:=-1) Then
|
|
' DdlTipoPSDes.DataSource = ObjVenta.DtResultados
|
|
' End If
|
|
' ObjVenta.Dispose()
|
|
'End If
|
|
DdlTipoPSDes.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
DdlTipoPSDes.DataBind()
|
|
End Sub
|
|
Private Sub CargaClasificaciones()
|
|
DdlClasificacion.Items.Clear()
|
|
If UsuarioActual.Empresa.UsaAC Then
|
|
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, DdlUsoClasificacion.SelectedValue.ToEntero, -1)).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
|
|
Else
|
|
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=If(UsuarioActual.Empresa.UsaContabilidad, DdlUsoClasificacion.SelectedValue.ToEntero, -1)).FiltraParametros("", Orderby:="Clasificacion")
|
|
End If
|
|
DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
'BLOQUEA DDL CLASIFICACION
|
|
If UsuarioActual.Empresa.Funcionalidad(121) = "1" Then
|
|
If Not UsuarioActual.TienePermisoProceso(147) Then
|
|
DdlClasificacion.Enabled = False
|
|
End If
|
|
End If
|
|
DdlClasificacion.DataBind()
|
|
End Sub
|
|
Private Sub CargaClasificaciones2()
|
|
DdlClasificacion2.DataSource = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa)
|
|
DdlClasificacion2.DataBind()
|
|
DdlClasificacion2.Items.Insert(0, New ListItem("Sin Clasificacion", "-1"))
|
|
DdlClasificacion2.SelectedValueExist("-1")
|
|
|
|
'BLOQUEA DDL CLASIFICACION
|
|
If PermiteClasificacion2 Then
|
|
DivClasificacion2.Visible = True
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub CargaTipoProductos()
|
|
'BLOQUEA DDL TIPO PRODUCTO
|
|
If UsuarioActual.Empresa.Funcionalidad(122) = "1" Then
|
|
If Not UsuarioActual.TienePermisoProceso(149) Then
|
|
DdlTipoPS.Enabled = False
|
|
DdlTipoPS.SelectedValueExist("2")
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub CargaConceptoRelacionado()
|
|
DdlConceptoRelacionado.DataSource = GlobalDTContaConceptosContables(-1)
|
|
DdlConceptoRelacionado.DataBind()
|
|
End Sub
|
|
Private Sub CargarMetodosInv()
|
|
ddlMetodos.DataSource = If(UsuarioActual.CveEmpresa.Contiene(72, 80), GlobalDTInvMetodosInventario.FiltraParametros("CveMetodoInventario IN (1,5)"), GlobalDTInvMetodosInventario)
|
|
ddlMetodos.DataBind()
|
|
ddlMetodos.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
End Sub
|
|
|
|
'Nuevo R: 26/09/207'
|
|
Private Sub CargaProveedores()
|
|
DdlProveedor.setEsWebService(True)
|
|
'DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
|
'DdlProveedor.DataBind()
|
|
'DdlProveedor.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
DdlMoneda.DataSource = GlobalDTMonedas()
|
|
DdlMoneda.DataBind()
|
|
DdlMoneda.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
Private Sub CargaUnidadesMedida()
|
|
DdlUnidadMedida.DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa)
|
|
DdlUnidadMedida.DataBind()
|
|
End Sub
|
|
Private Sub CargaCuentasContables()
|
|
'Dim ObjContabilidad As New ClsContPAQi(UsuarioActual.Empresa.ServerContPAQi, UsuarioActual.Empresa.BDContPAQi, UsuarioActual.Empresa.UsrContPAQi, UsuarioActual.Empresa.PwdContPAQi)
|
|
'If ObjContabilidad.GetCuentas(-1, "-1", -1) Then
|
|
' DdlCtaContableVentas.DataSource = ObjContabilidad.DtResultados
|
|
' DdlCtaContableCompras.DataSource = ObjContabilidad.DtResultados
|
|
' DdlCtaContableInventarios.DataSource = ObjContabilidad.DtResultados
|
|
'Else
|
|
' DdlCtaContableVentas.DataSource = Nothing
|
|
' DdlCtaContableCompras.DataSource = Nothing
|
|
' DdlCtaContableInventarios.DataSource = Nothing
|
|
'End If
|
|
'DdlCtaContableVentas.DataBind()
|
|
'DdlCtaContableCompras.DataBind()
|
|
'DdlCtaContableInventarios.DataBind()
|
|
'ObjContabilidad.Dispose()
|
|
End Sub
|
|
Private Sub CargaDatos()
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If ObjProductosServicios.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then
|
|
If ObjProductosServicios.DtResultados.Rows.Count > 0 Then
|
|
|
|
'SI NO TIENE VALOR Y NO TIENE EL PROCESO MUESTRA SIN CLASIFICACION
|
|
If ObjProductosServicios.CveClasificacion.ToString.Equals("-1") And Not UsuarioActual.TienePermisoProceso(147) And UsuarioActual.Empresa.Funcionalidad(121) = "1" Then
|
|
DdlClasificacion.SelectedValueExist("0")
|
|
Else
|
|
DdlClasificacion.SelectedValueExist(ObjProductosServicios.CveClasificacion.ToString)
|
|
End If
|
|
CargaClasificacionesDetalles()
|
|
DdlClasificacion2.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveClasificacion2").ToString)
|
|
DdlCompuesto.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveCompuesto").ToString)
|
|
'SI ES NUEVO TIPO = PRODUCTO Y SI NO TIENE PROCESO NO PUEDO EDITAR
|
|
If ObjProductosServicios.CveTipoPS.ToString.Equals("-1") And Not UsuarioActual.TienePermisoProceso(149) And UsuarioActual.Empresa.Funcionalidad(122) = "1" Then
|
|
DdlTipoPS.SelectedValueExist("2")
|
|
Else
|
|
DdlTipoPS.SelectedValueExist(ObjProductosServicios.CveTipoPS.ToString)
|
|
End If
|
|
|
|
'If ObjProductosServicios.CveTipoPS = 1 Then
|
|
' DivTipoServicio.Visible = True
|
|
' DdlTipoServicio.SelectedValueExist(ObjProductosServicios.Estado2.ToString)
|
|
|
|
' If Not DdlTipoServicio.SelectedValue.ToEntero > 0 Then
|
|
' DdlTipoServicio.Items.Insert(1, New ListItem(If(ObjProductosServicios.Estado2 = 1, "General", "Maquinaria"), ObjProductosServicios.Estado2.ToString))
|
|
' DdlTipoServicio.SelectedValueExist(ObjProductosServicios.Estado2.ToString)
|
|
' End If
|
|
'End If
|
|
If ObjProductosServicios.CveSATPS.ToString <> Nothing Then
|
|
DdlSATPS.SelectedValue = ObjProductosServicios.CveSATPS.ToString
|
|
DdlSATPS.SelectedText = $"{ObjProductosServicios.SATClavePS} - {ObjProductosServicios.SATDescripcion}"
|
|
CveSATPS = ObjProductosServicios.CveSATPS
|
|
End If
|
|
If ObjProductosServicios.CveFraccionArancelaria.ToString <> Nothing Then
|
|
DdlFraccionArancelaria.SelectedValue = ObjProductosServicios.CveFraccionArancelaria.ToString
|
|
DdlFraccionArancelaria.SelectedText = ObjProductosServicios.ClaveSATFraccionArancelariaDescripcion
|
|
End If
|
|
If ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString <> Nothing Then
|
|
LblUnidadAduana.Text = ObjProductosServicios.ClaveSATUnidadAduanaDescripcion.ToString
|
|
End If
|
|
DdlTipoPSDes.SelectedValueExist(ObjProductosServicios.CveClasificacionDetalle.ToString)
|
|
DdlUnidadMedida.SelectedValue = ObjProductosServicios.CveUnidadMedida.ToString
|
|
CveUnidadMedida = ObjProductosServicios.CveUnidadMedida.ToString.ToEntero
|
|
DdlMarca.SelectedValue = ObjProductosServicios.CveMarca.ToString
|
|
DdlMarcaPSDes.SelectedValue = ObjProductosServicios.CveMarca.ToString
|
|
TxtCodigo.Text = ObjProductosServicios.Codigo
|
|
'TxtCodigo2.Text = ObjProductosServicios.Codigo2
|
|
TxtCodigoBarras.Text = ObjProductosServicios.CodigoBarras
|
|
CodigoBarrasCargado = ObjProductosServicios.CodigoBarras
|
|
|
|
TxtPS.Text = ObjProductosServicios.PS
|
|
TxtPrecio.Text = ObjProductosServicios.Precio.ToString("F4") 'no usa N4, porque pone comma
|
|
TxtPrecioMinimo.Text = ObjProductosServicios.PrecioMinimo.ToString("F4")
|
|
|
|
DdlTipoFactor.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString)
|
|
|
|
If ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString.Contiene("1", "2") Then
|
|
LIva.Visible = True
|
|
DdlIVA.Visible = True
|
|
DdlIVA.Width = New Unit("163px")
|
|
Else
|
|
DdlIVA.Visible = False
|
|
DdlIVA.Visible = False
|
|
End If
|
|
DdlIVA.SelectedValueExist(ObjProductosServicios.IVA.ToString)
|
|
|
|
|
|
LblCostoPromedio.Text = ObjProductosServicios.DtResultados.Rows(0)("CostoPromedio").ToString.FormatoNumero
|
|
LblUltimoCosto.Text = ObjProductosServicios.DtResultados.Rows(0)("UltimoCosto").ToString.FormatoNumero
|
|
LblFechaUltimaCompra.Text = ObjProductosServicios.DtResultados.Rows(0)("FechaUltimaCompra").ToString
|
|
HplKardex.NavigateUrl = $"/Inventarios/Kardex.aspx?CvePS={CvePS}"
|
|
|
|
TxtRetIVA.Text = (ObjProductosServicios.RetIVA * 100).ToString
|
|
ChkEstado.Checked = ObjProductosServicios.Estado
|
|
LblFechaCaptura.Text = ObjProductosServicios.Fecha.ToShortDateString
|
|
LblUsuarioCapturo.Text = ObjProductosServicios.Usuario
|
|
If ObjProductosServicios.CveUsuarioModifico > 0 Then
|
|
LblFechaModificacion.Text = ObjProductosServicios.FechaUltimaModificacion.ToString
|
|
LblUsuarioModifico.Text = ObjProductosServicios.UsuarioModifico
|
|
End If
|
|
'ChkAplicaParaConcepto.Checked = ObjProductosServicios.AplicaParaConcepto
|
|
ChkAplicaParaVenta.Checked = ObjProductosServicios.AplicaParaVenta
|
|
lbTitulo.Text = $"{lbTitulo.Text}{ObjProductosServicios.PS}"
|
|
LtProductoUnificar.Text = ObjProductosServicios.PS
|
|
ddlMetodos.SelectedValue = ObjProductosServicios.CveMetodoInventario.ToString
|
|
DdlConceptoRelacionado.SelectedValueExist(ObjProductosServicios.CveConceptoContable.ToString)
|
|
|
|
DdlProveedor.SelectedValue = ObjProductosServicios.CveProveedorCompra.ToString
|
|
DdlProveedor.SelectedText = ObjProductosServicios.ProveedorCompra
|
|
|
|
DdlProveedor.txtText.Value = ObjProductosServicios.ProveedorCompra
|
|
DdlProveedor.txtValue.Value = ObjProductosServicios.CveProveedorCompra.ToString
|
|
|
|
ChkInventariable.Checked = ObjProductosServicios.Inventariable
|
|
TxtVentaMinima.Text = ObjProductosServicios.VentaMinima.ToString
|
|
DdlMoneda.SelectedValueExist(ObjProductosServicios.CveMoneda)
|
|
TxtRetISR.Text = (ObjProductosServicios.RetISR * 100).ToString
|
|
|
|
DdlTamanio.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTamaño").ToString)
|
|
|
|
DdlModelo.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveModelo").ToString)
|
|
DdlMedida.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveMedida").ToString)
|
|
DdlRin.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveRinTamaño").ToString)
|
|
|
|
'If ObjProductosServicios.CvePSAdicional > 0 Then
|
|
' DdlPSAdicional.SelectedValue = ObjProductosServicios.CvePSAdicional.ToString
|
|
' DdlPSAdicional.SelectedText = ObjProductosServicios.PSCodigoAdicional
|
|
'Else
|
|
' DdlPSAdicional.SelectedValue = "-1"
|
|
' DdlPSAdicional.SelectedText = "Seleccione"
|
|
'End If
|
|
|
|
Try
|
|
DdlClasificacion_SelectedIndexChanged(DdlClasificacion, Nothing)
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
|
|
ChkAplicaIeps.Checked = ObjProductosServicios.AplicaIEPS
|
|
If ObjProductosServicios.AplicaIEPS = True Then
|
|
DdlIEPSPorcentaje.Enabled = True
|
|
DdlIEPSPorcentaje.SelectedValue = ObjProductosServicios.IEPSPorcentaje.ToString("N2")
|
|
ChkIepsIVA.Enabled = True
|
|
ChkIepsIVA.Checked = ObjProductosServicios.IEPSGrabaIVA
|
|
End If
|
|
|
|
DdlImpTipoProducto.SelectedValueExist(ObjProductosServicios.ClaveImpuestoTipoProducto)
|
|
CargaClaveGenerica(DdlImpTipoProducto.SelectedValue)
|
|
DdlImpEmpaque.SelectedValueExist(ObjProductosServicios.ClaveImpuestoEmpaque)
|
|
DdlImpUM.SelectedValueExist(ObjProductosServicios.ClaveImpuestoUnidadMedida)
|
|
DdlCategoriaToxicidad.SelectedValueExist(ObjProductosServicios.ClaveCategoriaToxicidad)
|
|
|
|
'If ObjProductosServicios.CveMetodoInventario = 0 Then ddlMetodos.SelectedValue = UsuarioActual.Empresa.CveMetodoInventario.ToString
|
|
|
|
ViewState("CveSubFamilia") = ObjProductosServicios.DtResultados.Rows(0)("CveSubFamilia")
|
|
|
|
ChkSerie.Checked = ObjProductosServicios.AplicaSerie
|
|
ChkLote.Checked = ObjProductosServicios.AplicaLote
|
|
ChkCaducidad.Checked = ObjProductosServicios.AplicaCaducidad
|
|
ChkSeccion.Checked = ObjProductosServicios.AplicaSeccion
|
|
If ObjProductosServicios.DtResultados.Rows(0)("TiempoCaducidad") IsNot Nothing Then
|
|
TxtTiempoCaducidad.Text = ObjProductosServicios.DtResultados.Rows(0)("TiempoCaducidad").ToString()
|
|
DivTiempoCaducidad.Visible = ChkCaducidad.Checked
|
|
End If
|
|
|
|
If ObjProductosServicios.AplicaSeccion Then
|
|
CargaGvSeccionAlmacen()
|
|
DivSeccionAlmacen.Visible = True
|
|
End If
|
|
|
|
CargaCaracteristicas()
|
|
|
|
LnkUnificar.Visible = True
|
|
ChkEsOutSourcing.Checked = ObjProductosServicios.EsOutSourcing
|
|
Else
|
|
Alert("El Producto o Servicio Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
|
|
RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')")
|
|
BtnGuardar.Enabled = False
|
|
End If
|
|
End If
|
|
|
|
If ObjProductosServicios.GetPaqueteDetalle(CvePS, UsuarioActual.CveEmpresa) Then
|
|
gvPaqueteDetalle.DataSource = ObjProductosServicios.DtResultados
|
|
dtPaqueteDetalles = ObjProductosServicios.DtResultados
|
|
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
gvPaqueteDetalle.DataBind()
|
|
End Sub
|
|
Protected Sub CargarAlias()
|
|
Dim ObjAlias As New ClsProductosServicios
|
|
ObjAlias.GetPSAlias(CvePS, UsuarioActual.CveEmpresa)
|
|
GVAlias.DataSource = ObjAlias.DtResultados
|
|
ObjAlias.Dispose()
|
|
GVAlias.DataBind()
|
|
End Sub
|
|
|
|
Public Sub CargaDdlSATPS()
|
|
DdlSATPS.setEsWebService(True)
|
|
DdlSATPS.ddlWS.Attributes.Add("data-metodo", "getpssat")
|
|
End Sub
|
|
|
|
Public Sub CargaDdlFraccionArancelaria()
|
|
DdlFraccionArancelaria.setEsWebService(True)
|
|
DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria")
|
|
End Sub
|
|
Private Sub VerificaRequiereSerieLote()
|
|
If UsuarioActual.CveEmpresa.Contiene(80, 72) And DdlClasificacion.SelectedIndex > 0 Then
|
|
Dim RequireSerieLote As Integer = (GlobalDTClasificaciones(UsuarioActual.CveEmpresa, -1).FiltraParametros("CveClasificacion=" & DdlClasificacion.SelectedValue.ToString))(0)("RequiereSerieLote").ToString.ToEntero
|
|
If RequireSerieLote = 1 Then
|
|
RfvddlMetodos.Enabled = True
|
|
Else
|
|
RfvddlMetodos.Enabled = False
|
|
End If
|
|
Else
|
|
RfvddlMetodos.Enabled = False
|
|
End If
|
|
UpMetodos.Update()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
'#Region "Familias"
|
|
' Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlFamilia.SelectedIndexChanged
|
|
' CargaDdlSubFamilia()
|
|
' DdlSubFamilia.SelectedValue = "-1"
|
|
' End Sub
|
|
' Public Sub CargaFamilia(Optional CveSubFamilia As Integer = 0)
|
|
' dtFamily = GlobalDTSubFamilias(UsuarioActual.CveEmpresa)
|
|
' CargaDdlFamilia()
|
|
' If dtFamily.FiltraParametros(String.Format("CveClasificacion={0}", CveSubFamilia)).Rows.Count > 0 Then
|
|
' DdlFamilia.SelectedValue = dtFamily.FiltraParametros(String.Format("CveClasificacion={0}", CveSubFamilia)).Rows(0)("CveCategoria").ToString
|
|
' End If
|
|
' CargaDdlSubFamilia()
|
|
|
|
' If CveSubFamilia > 0 Then
|
|
' DdlSubFamilia.SelectedValue = CveSubFamilia.ToString
|
|
' End If
|
|
' End Sub
|
|
' Public Sub CargaDdlFamilia()
|
|
' ' Alert( GlobalDTFamilias(UsuarioActual.CveEmpresa).Rows.Count.ToString())
|
|
' DdlFamilia.DataSource = GlobalDTFamilias(UsuarioActual.CveEmpresa).FiltraParametros("Estatus = 'Activo'")
|
|
' DdlFamilia.DataBind()
|
|
' End Sub
|
|
' Public Sub CargaDdlSubFamilia()
|
|
' DdlSubFamilia.DataSource = dtFamily.FiltraParametros(String.Format("CveCategoria={0}", DdlFamilia.SelectedValue), "Clasificacion")
|
|
' DdlSubFamilia.DataBind()
|
|
' DdlSubFamilia.Items.Insert(0, New ListItem("----", "-1"))
|
|
' End Sub
|
|
' Private Function isWhitFamily() As Boolean
|
|
' Return (UsuarioActual.CveEmpresa = 66)
|
|
' End Function
|
|
'#End Region
|
|
|
|
#Region " TIPO SERVICIO "
|
|
'Public Sub CargaTipoServicio()
|
|
|
|
' 'GENERAL
|
|
' If UsuarioActual.TienePermisoProceso(150) Then
|
|
' DdlTipoServicio.Items.Insert(1, New ListItem("General", "1"))
|
|
' DdlTipoServicio.SelectedValueExist(1)
|
|
' End If
|
|
|
|
' 'MAQUINARIA
|
|
' If UsuarioActual.TienePermisoProceso(151) Then
|
|
' DdlTipoServicio.Items.Insert(1, New ListItem("Maquinaria", "2"))
|
|
' DdlTipoServicio.SelectedValueExist(2)
|
|
' End If
|
|
|
|
' If UsuarioActual.TienePermisoProceso(150) And UsuarioActual.TienePermisoProceso(151) Then
|
|
' DdlTipoServicio.SelectedValueExist(-1)
|
|
' End If
|
|
|
|
'End Sub
|
|
'Private Sub DdlTipoPS_SelectedIndexChanged(sender As Object, e As EventArgs) ' Handles DdlTipoPS.SelectedIndexChanged
|
|
' If UsuarioActual.TienePermisoProceso(150) And UsuarioActual.TienePermisoProceso(151) Then
|
|
|
|
' If DdlTipoPS.SelectedValue.ToEntero = 1 Then
|
|
' DivTipoServicio.Visible = True
|
|
' End If
|
|
|
|
' If DdlTipoPS.SelectedValue.ToEntero = 2 Then
|
|
' DivTipoServicio.Visible = False
|
|
' End If
|
|
' End If
|
|
|
|
' UPPCostos.Update()
|
|
' UpDatos.Update()
|
|
|
|
'End Sub
|
|
#End Region
|
|
|
|
#Region " PAQUETES "
|
|
|
|
Protected Sub BtnCargaPSPaquetes_Click(sender As Object, e As EventArgs)
|
|
If BtnCargaPSPaquetes.CommandArgument.ToEntero > 0 Then
|
|
CargaPS()
|
|
BtnCargaPSPaquetes.CommandArgument = "1"
|
|
End If
|
|
End Sub
|
|
Private Sub CargaPS()
|
|
'RMF 2017.09.13, ajuste asume siempre que use el webservice
|
|
'DdlProductows.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
|
|
DdlProductows.setEsWebService(True)
|
|
If Not DdlProductows.UsaWebService AndAlso CType(DdlProductows.DataSource, DataTable) Is Nothing AndAlso GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) IsNot Nothing Then
|
|
DdlProductows.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
|
DdlProductows.DataBind()
|
|
End If
|
|
|
|
ElProductoChange()
|
|
End Sub
|
|
Protected Sub DdlProducto_ValueChanged(sender As Object, e As EventArgs) Handles DdlProductows.selectedindexchange
|
|
ElProductoChange()
|
|
End Sub
|
|
Private Sub ElProductoChange()
|
|
ddlUnidad.Items.Clear()
|
|
ddlUnidad.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProductows.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
ddlUnidad.DataBind()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
#Region "GV PAQUETE DETALLE"
|
|
Protected Sub gvPaqueteDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles gvPaqueteDetalle.RowDataBound
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("ddlEUnidad").DataSource = GlobalDTUnidadesMedida()
|
|
e.Row.FCDropDownList("ddlEUnidad").SelectedValue = e.Row.DBCampo("CveUnidadMedida")
|
|
e.Row.FCDropDownList("ddlEUnidad").DataBind()
|
|
End If
|
|
End Sub
|
|
Protected Sub gvPaqueteDetalle_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles gvPaqueteDetalle.RowDeleting
|
|
Dim ObjProductosServicios As New ClsProductosServicios
|
|
Dim tipo As Integer = 0
|
|
If dtPaqueteDetalles.Rows.Item(e.RowIndex)("Tipo").ToString = "Paquete" Then
|
|
tipo = 1
|
|
Else
|
|
tipo = 2
|
|
End If
|
|
If ObjProductosServicios.DeletePaqueteDetalle(dtPaqueteDetalles.Rows.Item(e.RowIndex)("CvePSPaquete").ToString.ToEntero,
|
|
dtPaqueteDetalles.Rows.Item(e.RowIndex)("CvePS").ToString.ToEntero,
|
|
dtPaqueteDetalles.Rows.Item(e.RowIndex)("Cantidad").ToString.ToDouble,
|
|
tipo,
|
|
dtPaqueteDetalles.Rows.Item(e.RowIndex)("CveUnidadMedida").ToString.ToEntero) Then
|
|
|
|
If ObjProductosServicios.GetPaqueteDetalle(CvePS, UsuarioActual.CveEmpresa) Then
|
|
gvPaqueteDetalle.EditIndex = -1
|
|
gvPaqueteDetalle.DataSource = ObjProductosServicios.DtResultados
|
|
dtPaqueteDetalles = ObjProductosServicios.DtResultados
|
|
gvPaqueteDetalle.DataBind()
|
|
End If
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
End Sub
|
|
Protected Sub gvPaqueteDetalle_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles gvPaqueteDetalle.RowEditing
|
|
gvPaqueteDetalle.EditIndex = e.NewEditIndex
|
|
gvPaqueteDetalle.DataSource = dtPaqueteDetalles
|
|
gvPaqueteDetalle.DataBind()
|
|
End Sub
|
|
Protected Sub gvPaqueteDetalle_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles gvPaqueteDetalle.RowCancelingEdit
|
|
gvPaqueteDetalle.EditIndex = -1
|
|
gvPaqueteDetalle.DataSource = dtPaqueteDetalles
|
|
gvPaqueteDetalle.DataBind()
|
|
End Sub
|
|
Protected Sub gvPaqueteDetalle_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles gvPaqueteDetalle.RowUpdating
|
|
Dim ObjProductosServicios As New ClsProductosServicios
|
|
If ObjProductosServicios.UpdatePaqueteDetalle(CvePS,
|
|
dtPaqueteDetalles.Rows.Item(e.RowIndex)("CvePS").ToString.ToEntero,
|
|
DirectCast(gvPaqueteDetalle.Rows(e.RowIndex).FindControl("txtECantidad"), TextBox).Text.ToDouble,
|
|
DirectCast(gvPaqueteDetalle.Rows(e.RowIndex).FindControl("ddlETipo"), DropDownList).SelectedValue.ToEntero,
|
|
DirectCast(gvPaqueteDetalle.Rows(e.RowIndex).FindControl("ddlEUnidad"), DropDownList).SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then
|
|
If ObjProductosServicios.GetPaqueteDetalle(CvePS, UsuarioActual.CveEmpresa) Then
|
|
gvPaqueteDetalle.EditIndex = -1
|
|
gvPaqueteDetalle.DataSource = ObjProductosServicios.DtResultados
|
|
dtPaqueteDetalles = ObjProductosServicios.DtResultados
|
|
gvPaqueteDetalle.DataBind()
|
|
End If
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
|
|
#Region "BTN'S"
|
|
Protected Sub BtnEliminar_Click(sender As Object, e As System.EventArgs) Handles BtnEliminar.Click
|
|
'Dim CerrarVentana As String = "opener.location.reload();window.close();"
|
|
'If Request("Popup") IsNot Nothing Then CerrarVentana = "self.parent.tb_remove();self.parent.location.reload();window.close();"
|
|
RegistraScript(String.Format("$('#{0}').modal('show');", "divDescripcion"))
|
|
|
|
End Sub
|
|
Protected Sub btguardar_Click(sender As Object, e As EventArgs) Handles btguardar.Click
|
|
Dim ObjProductosServicios As New ClsProductosServicios
|
|
If ObjProductosServicios.AddPaqueteDetalle(CvePS, DdlProductows.SelectedValue.ToEntero, txtCantidad.Text.ToDouble, ddlTipo.SelectedValue.ToEntero, ddlUnidad.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then
|
|
|
|
If ObjProductosServicios.GetPaqueteDetalle(CvePS, UsuarioActual.CveEmpresa) Then
|
|
gvPaqueteDetalle.EditIndex = -1
|
|
gvPaqueteDetalle.DataSource = ObjProductosServicios.DtResultados
|
|
gvPaqueteDetalle.DataBind()
|
|
|
|
End If
|
|
|
|
txtCantidad.Text = ""
|
|
DdlProductows.ddl.SelectedIndex = 0
|
|
ddlUnidad.SelectedIndex = 0
|
|
ddlTipo.SelectedIndex = 0
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
UpDatos.Update()
|
|
End Sub
|
|
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
|
|
|
|
If DdlSATPS.SelectedValue = "46920" Then
|
|
Alert("El Producto Servicio SAT con clave '01010101' no es valido, por favor seleccione otro", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
If TxtPS.Text.Trim.Length = 0 Or DdlTipoPS.SelectedValue.ToEntero <= 0 Or DdlUnidadMedida.SelectedValue.ToEntero <= 0 Or DdlClasificacion.SelectedValue.ToEntero <= 0 Then
|
|
Alert("Los campos Producto/Servicio, Tipo, Unidad de medida, Clasificación Contable son requeridos por favor ingreselos.", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim CveClasificacion2 As Integer = DdlClasificacion2.SelectedValue.ToEntero
|
|
|
|
If (TxtCodigo.Text = TxtCodigoBarras.Text AndAlso TxtCodigo.Text <> "") Then
|
|
Alert("Los codigos no pueden ser iguales. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
|
Return
|
|
End If
|
|
|
|
If ddlMetodos.SelectedValue = "5" Or ChkSerie.Checked Then
|
|
If Not (ddlMetodos.SelectedValue = "5" And ChkSerie.Checked) Then
|
|
Dim Mensaje As String = If(ddlMetodos.SelectedValue = "5", "Si el método de salida del inventario es 'SerieLote' el producto debe poder aplicar serie", "Si el produco aplica serie el método de inventario debe ser 'SerieLote'")
|
|
Alert(Mensaje)
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
'If DdlSubFamilia.SelectedValue = "-1" AndAlso UsuarioActual.TienePermisoProceso(138) Then
|
|
' Alert("Se debe especificar Familia y Subfamilia de Costos. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
|
|
' Exit Sub
|
|
'End If
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(265) = "1" And TxtCodigo.Text = "" Then
|
|
Alert("El codigo es requerido.", TipoMensaje.MsgAdvertencia)
|
|
Return
|
|
End If
|
|
|
|
If TxtCodigo.Text <> "" AndAlso Not TxtCodigo.Text.Length >= 3 Then
|
|
Alert("El codigo tiene que que tener una longitud de al menos 3 digitos.", TipoMensaje.MsgAdvertencia)
|
|
Return
|
|
End If
|
|
|
|
If UsuarioActual.CveEmpresa = 119 AndAlso DdlTipoPS.SelectedValue = "2" Then
|
|
If TxtVentaMinima.Text.ToDecimal <= 0 Then
|
|
Alert("La cantidad de venta mínima debe de ser especificada (mayor a cero)", TipoMensaje.MsgAdvertencia)
|
|
Return
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
Dim ObjInv As New ClsInventarios(ObjProductosServicios.IniciaTransacSQL())
|
|
|
|
Dim TieneError = False
|
|
Dim AccionJS = ""
|
|
Dim EsPaquete As Integer = If(gvPaqueteDetalle.Rows.Count = 0, 0, 1)
|
|
Dim CveMetodoInv As Integer = If(UsuarioActual.Empresa.UsaInventarios, ddlMetodos.SelectedValue.ToEntero, -1)
|
|
|
|
|
|
Dim CveProveedor As Integer = -1
|
|
If DdlProveedor.txtValue.Value.ToEntero > 0 Then
|
|
CveProveedor = DdlProveedor.txtValue.Value.ToEntero
|
|
End If
|
|
|
|
|
|
Dim CveMarca As Integer = 0
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then CveMarca = DdlMarcaPSDes.SelectedValue.ToEntero Else CveMarca = DdlMarca.SelectedValue.ToEntero
|
|
|
|
Dim TiempoCaducidad As Integer = -1
|
|
If ChkCaducidad.Checked Then
|
|
If TxtTiempoCaducidad.Text.Length > 0 AndAlso IsNumeric(TxtTiempoCaducidad.Text) Then
|
|
TiempoCaducidad = TxtTiempoCaducidad.Text.ToEntero()
|
|
Else
|
|
Alert("Falta indicar el tiempo de caducidad", TipoMensaje.MsgAdvertencia)
|
|
Exit Sub
|
|
End If
|
|
End If
|
|
|
|
If CvePS = -1 Then
|
|
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper
|
|
If ObjProductosServicios.AddPS(DdlClasificacion.SelectedValue.ToEntero, -1, DdlUnidadMedida.SelectedValue.ToEntero, TxtCodigo.Text.Trim, "", TxtCodigoBarras.Text.Trim, PSS,
|
|
TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, CveProveedor, True,
|
|
ChkAplicaParaVenta.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveMetodoInv, EsPaquete, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero,
|
|
FuePorXML:=False, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarca, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim,
|
|
AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, CveConceptoContable:=DdlConceptoRelacionado.SelectedValue.ToEntero,
|
|
CveCompuesto:=DdlCompuesto.SelectedValue.ToEntero, CveSATPS:=DdlSATPS.SelectedValue.ToEntero, IEPSGrabaIVA:=ChkIepsIVA.Checked, VentaMinima:=TxtVentaMinima.Text.ToDecimal,
|
|
CveMoneda:=DdlMoneda.SelectedValue.ToEntero, RetISR:=(TxtRetISR.Text.Trim.ToDouble / 100), PrecioMinimo:=TxtPrecioMinimo.Text.ToDecimal,
|
|
CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero,
|
|
CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero,
|
|
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
|
|
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
|
|
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad) > 0 Then
|
|
ViewState("CvePS") = ObjProductosServicios.CvePS
|
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
ObjProductosServicios.AddPSImpuestosLocales(CvePS, GVR.DataKey("CveImpuestoLocal").ToEntero)
|
|
End If
|
|
Next
|
|
'Alert("El Producto o Servicio se guardó correctamente.", TipoMensaje.MsgInformacion, "document.location.href= "" / ProductosServicios.aspx?CvePS=" & ObjProductosServcios.CvePS.ToString & """;")
|
|
AccionJS = "document.location.href=""/Ventas/CatPS.aspx"";"
|
|
|
|
|
|
If Not TieneError Then
|
|
For Each Dr As DataRow In DtSeccionAlmacen.Rows
|
|
If Dr("CveAlmacen").ToString.ToEntero > 0 Then
|
|
If Not ObjInv.AddProductosServiciosAlmacenSeccion(CvePS, Dr("CveAlmacen").ToString.ToEntero, Dr("CveAlmacenSeccion").ToString.ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
Else
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al agregar el Producto o Servicio. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
Else
|
|
|
|
If CodigoBarrasCargado.Length > 0 And TxtCodigoBarras.Text.Length = 0 Then
|
|
TxtCodigoBarras.Text = CodigoBarrasCargado
|
|
End If
|
|
|
|
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper
|
|
|
|
If ObjProductosServicios.UpdatePS(DdlClasificacion.SelectedValue.ToEntero, -1, DdlUnidadMedida.SelectedValue.ToEntero, TxtCodigo.Text.Trim, "", TxtCodigoBarras.Text.Trim, PSS,
|
|
TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, CveProveedor, True,
|
|
ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv, EsPaquete, DdlSATPS.SelectedValue.ToEntero,
|
|
CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarca, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim,
|
|
AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, CveConceptoContable:=DdlConceptoRelacionado.SelectedValue.ToEntero,
|
|
CveCompuesto:=DdlCompuesto.SelectedValue.ToEntero, IEPSGrabaIVA:=ChkIepsIVA.Checked, VentaMinima:=TxtVentaMinima.Text.ToDecimal,
|
|
CveMoneda:=DdlMoneda.SelectedValue.ToEntero, RetISR:=(TxtRetISR.Text.Trim.ToDouble / 100), PrecioMinimo:=TxtPrecioMinimo.Text.ToDecimal,
|
|
CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero,
|
|
CveUsuarioModifico:=UsuarioActual.CveUsuario, CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero,
|
|
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
|
|
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
|
|
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked,
|
|
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad) Then
|
|
|
|
If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al regenerar los impuestos locales. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
If Not TieneError Then
|
|
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
|
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
|
If Not ObjProductosServicios.AddPSImpuestosLocales(CvePS, GVR.DataKey("CveImpuestoLocal").ToEntero) Then
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al agregar los impuestos locales. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
AccionJS = If(Ret = "Comp", "ircompras();", "document.location.href=""/Ventas/CatPS.aspx"";")
|
|
'UpDatos.Update()
|
|
'Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion, AccionJS)
|
|
|
|
If Not TieneError Then
|
|
For Each Dr As DataRow In DtSeccionAlmacen.Rows
|
|
If Dr("CveAlmacen").ToString.ToEntero > 0 AndAlso Not Dr("CvePSAlmacenSeccion").ToString.ToEntero > 0 Then
|
|
If Not ObjInv.AddProductosServiciosAlmacenSeccion(CvePS, Dr("CveAlmacen").ToString.ToEntero, Dr("CveAlmacenSeccion").ToString.ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
ElseIf Not Dr("CveAlmacen").ToString.ToEntero > 0 AndAlso Dr("CvePSAlmacenSeccion").ToString.ToEntero > 0 Then
|
|
If Not ObjInv.RemoveProductosServiciosAlmacenSeccion(Dr("CvePSAlmacenSeccion").ToString.ToEntero) Then
|
|
TieneError = True
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
|
|
Else
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al actualizar el Producto o Servicio. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
ObjProductosServicios.CvePS = CvePS
|
|
End If
|
|
|
|
If ObjProductosServicios.CvePS > 0 And Not TieneError Then
|
|
For i As Integer = 0 To gvSucursal.Rows.Count - 1
|
|
If gvSucursal.Rows(i).FCCheckBox("chkSucursal").Checked = False Then
|
|
If Not ObjProductosServicios.RemovePSSucursales(ObjProductosServicios.CvePS, gvSucursal.Rows(i).DataKey("CveSubProyecto").ToEntero) Then
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al eliminar sucursales del producto. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
Else
|
|
If gvSucursal.Rows(i).FCHiddenField("hdnEnBD").Value.ToEntero = 1 Then
|
|
'Actualizarlo
|
|
If Not ObjProductosServicios.UpdatePSSucursales(ObjProductosServicios.CvePS, gvSucursal.Rows(i).FCTextBox("txtImporte").Text.ToDouble, gvSucursal.Rows(i).FCTextBox("TxtMinimo").Text.ToDouble, gvSucursal.Rows(i).FCTextBox("TxtMaximo").Text.ToDouble, UsuarioActual.CveUsuario, gvSucursal.Rows(i).DataKey("CveSubProyecto").ToEntero, PrecioMinimo:=gvSucursal.Rows(i).FCTextBox("TxtPrecioMinimo").Text.ToDecimal) Then
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al actualizar sucursales del producto. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
'ObjProductosServicios.UpdatePSSucursales(ObjProductosServicios.CvePS, gvSucursal.Rows(i).FCHiddenField("hdnCveSucursal").Value.ToEntero, gvSucursal.Rows(i).FCTextBox("txtImporte").Text.ToDouble, UsuarioActual.CveUsuario)
|
|
Else
|
|
'Insertarlo
|
|
'ObjProductosServicios.AddPSSucursales(ObjProductosServicios.CvePS, gvSucursal.Rows(i).FCHiddenField("hdnCveSucursal").Value.ToEntero, gvSucursal.Rows(i).FCTextBox("txtImporte").Text.ToDouble, UsuarioActual.CveUsuario)
|
|
If Not ObjProductosServicios.AddPSSucursales(ObjProductosServicios.CvePS, gvSucursal.Rows(i).FCTextBox("txtImporte").Text.ToDouble, gvSucursal.Rows(i).FCTextBox("TxtMinimo").Text.ToDouble, gvSucursal.Rows(i).FCTextBox("TxtMaximo").Text.ToDouble, UsuarioActual.CveUsuario, gvSucursal.Rows(i).DataKey("CveSubProyecto").ToEntero, PrecioMinimo:=gvSucursal.Rows(i).FCTextBox("TxtPrecioMinimo").Text.ToDecimal) Then
|
|
TieneError = True
|
|
Alert("Ocurrió un Error al agregar sucursales del producto. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
Exit For
|
|
End If
|
|
End If
|
|
End If
|
|
Next
|
|
End If
|
|
|
|
|
|
If ObjProductosServicios.CvePS > 0 And Not TieneError Then
|
|
TieneError = GuardaEcommerce()
|
|
End If
|
|
|
|
|
|
If Not TieneError Then
|
|
ObjProductosServicios.Commit()
|
|
Alert("El Producto/Servicio se guardo correctamente.", TipoMensaje.MsgInformacion, AccionJS)
|
|
Else
|
|
ObjProductosServicios.RollBack()
|
|
End If
|
|
|
|
ObjProductosServicios.Dispose()
|
|
|
|
RecargaGlobal()
|
|
End Sub
|
|
Protected Sub HFProducto_ValueChanged(sender As Object, e As EventArgs) Handles HFProducto.ValueChanged
|
|
ddlUnidad.DataSource = GlobalDTProductosServiciosEquivalencias(HFProducto.Value.ToEntero, -1, UsuarioActual.CveEmpresa)
|
|
ddlUnidad.DataBind()
|
|
End Sub
|
|
Protected Sub LbAgregar_Click(sender As Object, e As System.EventArgs) Handles LbAgregar.Click
|
|
Dim ObjAliasAdd As New ClsProductosServicios
|
|
Dim TieneError = False
|
|
|
|
If ObjAliasAdd.AddPSAlias(TxtAlias.Text.ToString, CvePS, UsuarioActual.CveUsuario) Then
|
|
CargarAlias()
|
|
UPGVAlias.Update()
|
|
Alert("Alias " + TxtAlias.Text + " agregado.", TipoMensaje.MsgInformacion)
|
|
TxtAlias.Text = ""
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
ObjAliasAdd.Dispose()
|
|
|
|
If Not TieneError Then
|
|
RecargaGlobal()
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "G L O B L A L"
|
|
Private Sub RecargaGlobal()
|
|
'Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalDT)
|
|
'Hilo.Start()
|
|
GeneraGlobalDT()
|
|
End Sub
|
|
Private Sub GeneraGlobalDT()
|
|
|
|
GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) = Nothing
|
|
GlobalDTProductosServiciosAlias(UsuarioActual.CveEmpresa) = Nothing
|
|
GlobalDTImpuestosLocales(-1, UsuarioActual.CveEmpresa) = Nothing
|
|
GlobalDTProductosServiciosEquivalencias(-1, -1, UsuarioActual.CveEmpresa) = Nothing
|
|
GlobalDTPSAdicionales(-1, UsuarioActual.CveEmpresa) = Nothing
|
|
GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, -1, -1) = Nothing
|
|
|
|
'Dim ObjPS As New ClsProductosServicios
|
|
|
|
'If ObjPS.GetPSSimplificado(UsuarioActual.CveEmpresa) Then Application(String.Format("GlobalDTPSSimplificado{0}", UsuarioActual.CveEmpresa)) = ObjPS.DtResultados.AsEnumerable()
|
|
|
|
''If ObjPS.GetPSAlias(-1, UsuarioActual.CveEmpresa) Then
|
|
' GlobalDTProductosServiciosAlias(UsuarioActual.CveEmpresa) = ObjPS.DtResultados
|
|
'End If
|
|
|
|
'If ObjPS.GetPSImpuestosLocales(-1, UsuarioActual.CveEmpresa) Then
|
|
' GlobalDTImpuestosLocales(-1, UsuarioActual.CveEmpresa) = ObjPS.DtResultados
|
|
'End If
|
|
|
|
'If ObjPS.GetPSEquivalencias(-1, UsuarioActual.CveEmpresa) Then
|
|
' GlobalDTProductosServiciosEquivalencias(-1, -1, UsuarioActual.CveEmpresa) = ObjPS.DtResultados
|
|
'End If
|
|
|
|
'If ObjPS.GetPSAdicionales(-1, UsuarioActual.CveEmpresa) Then
|
|
' GlobalDTPSAdicionales(-1, UsuarioActual.CveEmpresa) = ObjPS.DtResultados
|
|
'End If
|
|
|
|
'ObjPS.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "GV ALIAS"
|
|
Protected Sub GVAlias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVAlias.RowDeleting
|
|
Dim ObjAliasDelete As New ClsProductosServicios
|
|
Dim TieneError = False
|
|
|
|
If ObjAliasDelete.RemovePSAlias(GVAlias.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero, GVAlias.Rows(e.RowIndex).DataKey("PSAlias").ToString, -1) Then
|
|
GVAlias.EditIndex = -1
|
|
CargarAlias()
|
|
UPGVAlias.Update()
|
|
Alert("El Alias ha sido Eliminado", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Error al Eliminar", TipoMensaje.MsgError)
|
|
TieneError = True
|
|
End If
|
|
ObjAliasDelete.Dispose()
|
|
|
|
If Not TieneError Then
|
|
RecargaGlobal()
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " EQUIVALENCIAS "
|
|
Private Sub CargaEquivalencias()
|
|
|
|
DivEquivalencia.Visible = True
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If ObjProductosServicios.GetPSEquivalencias(CvePS, UsuarioActual.CveEmpresa) Then
|
|
DtEquivalencias = ObjProductosServicios.DtResultados
|
|
Else
|
|
DtEquivalencias = Nothing
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
|
|
CargaGvEquivalencias()
|
|
|
|
End Sub
|
|
Private Sub RecargaGlobalEquivalencias()
|
|
'Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalEquivalencias)
|
|
'Hilo.Start()
|
|
GeneraGlobalEquivalencias()
|
|
End Sub
|
|
Private Sub GeneraGlobalEquivalencias()
|
|
GlobalDTProductosServiciosEquivalencias(-1, -1, UsuarioActual.CveEmpresa) = Nothing
|
|
'Dim ObjPS = New ClsProductosServicios
|
|
'If ObjPS.GetPSEquivalencias(-1, -1) Then
|
|
' GlobalDTProductosServiciosEquivalencias(-1, -1, UsuarioActual.CveEmpresa) = ObjPS.DtResultados
|
|
'End If
|
|
'ObjPS.Dispose()
|
|
End Sub
|
|
Private Sub CargaGvEquivalencias()
|
|
If DtEquivalencias IsNot Nothing Then
|
|
GvEquivalencia.DataSource = DtEquivalencias
|
|
End If
|
|
GvEquivalencia.DataBind()
|
|
UpEquivalencias.Update()
|
|
End Sub
|
|
Private Sub GvEquivalencia_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvEquivalencia.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("UnidadBase") = "True" Then
|
|
e.Row.FCLinkButton("imgR").Visible = False
|
|
End If
|
|
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
If e.Row.DBCampo("UnidadBase") = "True" Then
|
|
'e.Row.FCCheckBox("ChkBase").Checked = True
|
|
End If
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
Protected Sub GvEquivalencia_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvEquivalencia.RowEditing
|
|
GvEquivalencia.EditIndex = e.NewEditIndex
|
|
CargaGvEquivalencias()
|
|
End Sub
|
|
Protected Sub GvEquivalencia_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvEquivalencia.RowCancelingEdit
|
|
GvEquivalencia.EditIndex = -1
|
|
CargaGvEquivalencias()
|
|
End Sub
|
|
Private Sub GvEquivalencia_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvEquivalencia.RowUpdating
|
|
Dim TieneError = False
|
|
|
|
Dim CveUM = GvEquivalencia.Rows(e.RowIndex).DataKey("CveUM").ToEntero
|
|
Dim UnidadBase = GvEquivalencia.Rows(e.RowIndex).DataKey("UnidadBase").ToString = "True"
|
|
Dim Cantidad = DirectCast(GvEquivalencia.Rows(e.RowIndex).FindControl("TxtCantidadEquivalencia"), TextBox).Text.Trim.ToDecimal
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If Not ObjProductosServicios.UpdatePSEquivalencias(CvePS, CveUM, Cantidad, UnidadBase, 0, UsuarioActual.CveUsuario) Then
|
|
TieneError = True
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
|
|
If Not TieneError Then
|
|
Alert("La equivalencia se actualizó correctamente.", TipoMensaje.MsgInformacion)
|
|
GvEquivalencia.EditIndex = -1
|
|
CargaEquivalencias()
|
|
CargaGvEquivalencias()
|
|
RecargaGlobalEquivalencias()
|
|
Else
|
|
Alert("ocurrió un error al actualizar la equivalencia.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub GvEquivalencia_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvEquivalencia.RowDeleting
|
|
Dim TieneError = False
|
|
|
|
Dim CveUM = GvEquivalencia.Rows(e.RowIndex).DataKey("CveUM").ToEntero
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If Not ObjProductosServicios.RemovePSEquivalencias(CvePS, CveUM) Then
|
|
TieneError = True
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
|
|
If Not TieneError Then
|
|
Alert("La equivalencia se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
CargaEquivalencias()
|
|
CargaGvEquivalencias()
|
|
RecargaGlobalEquivalencias()
|
|
Else
|
|
Alert("ocurrió un error al eliminar la equivalencia.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "PS ADICIONALES"
|
|
|
|
Private Sub CargaPSAdicionales()
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If ObjProductosServicios.GetPSAdicionales(CvePS, UsuarioActual.CveEmpresa) Then
|
|
DtPSAdicionales = ObjProductosServicios.DtResultados
|
|
Else
|
|
DtPSAdicionales = Nothing
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
|
|
CargaGvPSAdicionales()
|
|
|
|
End Sub
|
|
Private Sub CargaGvPSAdicionales()
|
|
If DtPSAdicionales IsNot Nothing Then
|
|
GvPSAdicionales.DataSource = DtPSAdicionales
|
|
End If
|
|
GvPSAdicionales.DataBind()
|
|
UpPSAdicionales.Update()
|
|
End Sub
|
|
Private Sub GvPSAdicionales_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPSAdicionales.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5 Then
|
|
e.Row.FCDropDownList("DdlPSAdicional").DataSource = GlobalDTPS(UsuarioActual.CveEmpresa) '.FiltraParametros("CvePS = " + CvePS.ToString)
|
|
e.Row.FCDropDownList("DdlPSAdicional").DataBind()
|
|
e.Row.FCDropDownList("DdlPSAdicional").SelectedValue = e.Row.DBCampo("CvePSAdicional")
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
Protected Sub GvPSAdicionales_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvPSAdicionales.RowCancelingEdit
|
|
GvPSAdicionales.EditIndex = -1
|
|
CargaGvPSAdicionales()
|
|
End Sub
|
|
Private Sub GvPSAdicionales_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvPSAdicionales.RowDeleting
|
|
Dim TieneError = False
|
|
|
|
Dim CvePSAdicional = GvPSAdicionales.Rows(e.RowIndex).DataKey("CvePSAdicional").ToEntero
|
|
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
If Not ObjProductosServicios.RemovePSAdicionales(CvePS, CvePSAdicional) Then
|
|
TieneError = True
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
|
|
If Not TieneError Then
|
|
Alert("El Producto/Servicio Adicionala se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
CargaPSAdicionales()
|
|
CargaGvPSAdicionales()
|
|
'RecargaGlobalEquivalencias()
|
|
RecargaGlobal()
|
|
Else
|
|
Alert("ocurrió un error al eliminar el Producto/Servicio Adicional.", TipoMensaje.MsgError)
|
|
End If
|
|
|
|
End Sub
|
|
|
|
Private Sub BtnAgregarPSAdicionalesModal_Click(sender As Object, e As EventArgs) Handles BtnAgregarPSAdicionalesModal.Click
|
|
BtnAgregarPSAdicional.Text = "Agregar"
|
|
CvePSAdicional = -1
|
|
|
|
DdlPSAdicional.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa)
|
|
DdlPSAdicional.DataBind()
|
|
DdlPSAdicional.Items.Add(New ListItem("Seleccione", "-1"))
|
|
UpAddPSAdicional.Update()
|
|
|
|
DdlPSAdicional.SelectedValue = "-1"
|
|
TxtCantidadPSAdicional.Text = ""
|
|
UpCantidad.Visible = False
|
|
RBLCantidad.SelectedValue = "1"
|
|
RegistraScript("$('#divAddPSAdicional').modal();")
|
|
End Sub
|
|
Private Sub BtnAgregarPSAdicional_Click(sender As Object, e As EventArgs) Handles BtnAgregarPSAdicional.Click
|
|
Dim ObjProductosServicios As New ClsProductosServicios()
|
|
ObjProductosServicios.IniciaTransacSQL()
|
|
Dim TieneError = False
|
|
|
|
If CvePSAdicional < 0 Then
|
|
If Not ObjProductosServicios.AddPSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
|
TieneError = True
|
|
End If
|
|
Else
|
|
|
|
If Not ObjProductosServicios.UpdatePSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
|
TieneError = True
|
|
End If
|
|
|
|
End If
|
|
|
|
If TieneError Then
|
|
Alert("Ocurrio un error al agregar/actualizar el Producto/Servicio Adicional.", TipoMensaje.MsgError)
|
|
ObjProductosServicios.RollBack()
|
|
Else
|
|
ObjProductosServicios.Commit()
|
|
RegistraScript("$('#divAddPSAdicional').modal('hide');")
|
|
CvePSAdicional = -1
|
|
CargaPSAdicionales()
|
|
CargaGvPSAdicionales()
|
|
RecargaGlobal()
|
|
End If
|
|
ObjProductosServicios.Dispose()
|
|
End Sub
|
|
|
|
Protected Sub Edit_Click(sender As Object, e As EventArgs)
|
|
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
|
BtnAgregarPSAdicional.Text = "Guardar"
|
|
TxtCantidadPSAdicional.Text = GvRow.DataKey("Cantidad")
|
|
|
|
If TxtCantidadPSAdicional.Text.ToEntero = 0 Then
|
|
UpCantidad.Visible = False
|
|
RBLCantidad.SelectedValue = "1"
|
|
Else
|
|
UpCantidad.Visible = True
|
|
RBLCantidad.SelectedValue = "2"
|
|
End If
|
|
UpAddPSAdicional.Update()
|
|
|
|
DdlPSAdicional.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa)
|
|
DdlPSAdicional.DataBind()
|
|
DdlPSAdicional.Items.Add(New ListItem("Seleccione", "-1"))
|
|
UpAddPSAdicional.Update()
|
|
|
|
CvePSAdicional = GvRow.DataKey("CvePSAdicional").ToEntero
|
|
DdlPSAdicional.SelectedValue = GvRow.DataKey("CvePSAdicional")
|
|
|
|
RegistraScript("$('#divAddPSAdicional').modal();")
|
|
End Sub
|
|
|
|
Protected Sub RBLCantidad_SelectedIndexChanged1(sender As Object, e As EventArgs)
|
|
If RBLCantidad.SelectedValue.ToEntero = 2 Then
|
|
UpCantidad.Visible = True
|
|
Else
|
|
UpCantidad.Visible = False
|
|
End If
|
|
UpAddPSAdicional.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " CARGA MARCA Y COMPUESTOS "
|
|
|
|
Protected Sub CargarMarcas()
|
|
If UsuarioActual.Empresa.Funcionalidad(130) = "1" Then
|
|
|
|
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) And CvePS = -1 Then
|
|
DivMarcaPSDes.Visible = True
|
|
Else
|
|
DivMarca.Visible = True
|
|
End If
|
|
|
|
Dim ObjMarcas As New ClsProductosServicios
|
|
ObjMarcas.GetMarcas(UsuarioActual.CveEmpresa)
|
|
DdlMarca.DataSource = ObjMarcas.DtResultados
|
|
DdlMarcaPSDes.DataSource = ObjMarcas.DtResultados
|
|
ObjMarcas.Dispose()
|
|
DdlMarca.DataBind()
|
|
DdlMarcaPSDes.DataBind()
|
|
End If
|
|
DdlMarca.Items.Insert(0, New ListItem(" - ", "-1"))
|
|
DdlMarcaPSDes.Items.Insert(0, New ListItem(" - ", "-1"))
|
|
End Sub
|
|
|
|
Protected Sub CargarCompuestos()
|
|
If UsuarioActual.Empresa.Funcionalidad(143) = "1" Then
|
|
DivCompuesto.Visible = True
|
|
Dim PS As New ClsProductosServicios
|
|
PS.GetCompuestosActivos(UsuarioActual.CveEmpresa)
|
|
DdlCompuesto.DataSource = PS.DtResultados
|
|
PS.Dispose()
|
|
DdlCompuesto.DataBind()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "IMPUESTOS LOCALES"
|
|
Public Sub CargaImpuestosLocales()
|
|
Dim ObjPS As New ClsProductosServicios
|
|
If ObjPS.GetPSImpuestosLocales(CvePS, UsuarioActual.CveEmpresa) Then
|
|
GvImpuestosLocales.DataSource = ObjPS.DtResultados
|
|
End If
|
|
ObjPS.Dispose()
|
|
GvImpuestosLocales.DataBind()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " IEPS "
|
|
Private Sub ChkAplicaIeps_CheckedChanged(sender As Object, e As EventArgs) Handles ChkAplicaIeps.CheckedChanged
|
|
If ChkAplicaIeps.Checked Then
|
|
DdlIEPSPorcentaje.Enabled = True
|
|
ChkIepsIVA.Enabled = True
|
|
Else
|
|
DdlIEPSPorcentaje.SelectedIndex = 0
|
|
DdlIEPSPorcentaje.Enabled = False
|
|
ChkIepsIVA.Enabled = False
|
|
ChkIepsIVA.Checked = False
|
|
End If
|
|
UpDatos.Update()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "UNIFICAR PRODUCTOS"
|
|
Private Sub LnkUnificar_Click(sender As Object, e As EventArgs) Handles LnkUnificar.Click
|
|
CargaPSUnificar()
|
|
RegistraScript("$('#DivUnificar').modal();LimpiaModalUnificar()")
|
|
End Sub
|
|
Public Sub CargaPSUnificar()
|
|
DdlPsUnificar.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
|
|
DdlPsUnificar.DataBind()
|
|
'DdlPsUnificar.setEsWebService(True)
|
|
'DdlPsUnificar.ddlWS.Attributes.Add("data-clear", "1")
|
|
|
|
UpBodyUnificar.Update()
|
|
End Sub
|
|
Private Sub BtnUnificar_Click(sender As Object, e As EventArgs) Handles BtnUnificar.Click
|
|
If DdlPsUnificar.SelectedValue.ToEntero() > 0 Then
|
|
If DdlPsUnificar.SelectedValue.ToEntero() = CvePS Then
|
|
Alert("No se puede seleccionar el mismo producto y/o servicio", TipoMensaje.MsgAdvertencia)
|
|
Else
|
|
Dim ObjPS As New ClsProductosServicios
|
|
If ObjPS.UnificarPS(CvePS, DdlPsUnificar.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Alert("Los productos y/o servicios han sido unificados", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Los productos y/o servicios no han podido ser unificados", TipoMensaje.MsgError)
|
|
End If
|
|
ObjPS.Dispose()
|
|
RecargaGlobal()
|
|
RegistraScript("$('#DivUnificar').modal('hide');")
|
|
UpDatos.Update()
|
|
End If
|
|
Else
|
|
Alert("Es necesario seleccionar un producto y/o servicio", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "BITACORA"
|
|
|
|
Private Sub CargaGvBitacora()
|
|
Dim ObjGral As New ClsGenerales()
|
|
If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, CvePS, -1, -1, UsuarioActual.CveEmpresa) Then
|
|
GvBitacora.DataSource = ObjGral.DtResultados
|
|
GvBitacora.DataBind()
|
|
End If
|
|
ObjGral.Dispose()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
Private Sub BtnRemove_Click(sender As Object, e As EventArgs) Handles BtnRemove.Click
|
|
If Not TxtDescripcion.Text = "" Then
|
|
Dim ObjProductosServcios As New ClsProductosServicios()
|
|
Dim ObjGral As New ClsGenerales(ObjProductosServcios.IniciaTransacSQL())
|
|
|
|
|
|
If ObjProductosServcios.RemovePS(CvePS) Then
|
|
Borrar = True
|
|
Else
|
|
Borrar = False
|
|
End If
|
|
|
|
If Borrar = True Then
|
|
If ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, TxtDescripcion.Text, "PS", TxtCodigo.Text + " / " + TxtPS.Text) Then
|
|
ObjProductosServcios.Commit()
|
|
RecargaGlobal()
|
|
Alert("El Producto o Servicio se eliminó correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPS.aspx"";")
|
|
Else
|
|
ObjProductosServcios.RollBack()
|
|
Alert("Ocurrió un Error al actualizar el historial de eliminación.", TipoMensaje.MsgError)
|
|
End If
|
|
Else
|
|
ObjProductosServcios.RollBack()
|
|
Alert("Ocurrió un Error al eliminar el Producto o Servicio. Por favor vuelva a intentar.", TipoMensaje.MsgError)
|
|
End If
|
|
ObjProductosServcios.Dispose()
|
|
ObjGral.Dispose()
|
|
Else
|
|
Alert("Tiene que decir el motivo de su eliminacion.", TipoMensaje.MsgInformacion)
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "Codigo Barras"
|
|
|
|
'Codigo barras/QR se retorna como una imagen bmp
|
|
Private Function GeneraCodigoQR(CodigoBarras As String, Alto As Integer, Largo As Integer, Margen As Integer, Formato As String) As Byte()
|
|
|
|
Dim barcodeWriter As New BarcodeWriter
|
|
Dim opciones As New ZXing.Common.EncodingOptions
|
|
Dim FormatoBar As New BarcodeFormat
|
|
'Dim Respuesta As Byte()
|
|
|
|
opciones.Height = Alto
|
|
opciones.Width = Largo
|
|
opciones.Margin = Margen
|
|
|
|
barcodeWriter.Options = opciones
|
|
|
|
Select Case Formato
|
|
Case "All_1D"
|
|
barcodeWriter.Format = BarcodeFormat.All_1D
|
|
Exit Select
|
|
Case "AZTEC"
|
|
barcodeWriter.Format = BarcodeFormat.AZTEC
|
|
Exit Select
|
|
Case "CODABAR"
|
|
barcodeWriter.Format = BarcodeFormat.CODABAR
|
|
Exit Select
|
|
Case "CODE_128"
|
|
barcodeWriter.Format = BarcodeFormat.CODE_128
|
|
Exit Select
|
|
Case "CODE_39"
|
|
barcodeWriter.Format = BarcodeFormat.CODE_39
|
|
Exit Select
|
|
Case "CODE_93"
|
|
barcodeWriter.Format = BarcodeFormat.CODE_93
|
|
Exit Select
|
|
Case "DATA_MATRIX"
|
|
barcodeWriter.Format = BarcodeFormat.DATA_MATRIX
|
|
Exit Select
|
|
Case "EAN_13"
|
|
barcodeWriter.Format = BarcodeFormat.EAN_13
|
|
Exit Select
|
|
Case "EAN_8"
|
|
barcodeWriter.Format = BarcodeFormat.EAN_8
|
|
Exit Select
|
|
Case "IMB"
|
|
barcodeWriter.Format = BarcodeFormat.IMB
|
|
Exit Select
|
|
Case "ITF"
|
|
barcodeWriter.Format = BarcodeFormat.ITF
|
|
Exit Select
|
|
Case "MAXICODE"
|
|
barcodeWriter.Format = BarcodeFormat.MAXICODE
|
|
Exit Select
|
|
Case "MSI"
|
|
barcodeWriter.Format = BarcodeFormat.MSI
|
|
Exit Select
|
|
Case "PDF_417"
|
|
barcodeWriter.Format = BarcodeFormat.PDF_417
|
|
Exit Select
|
|
Case "PLESSEY"
|
|
barcodeWriter.Format = BarcodeFormat.PLESSEY
|
|
Exit Select
|
|
Case "QR_CODE"
|
|
barcodeWriter.Format = BarcodeFormat.QR_CODE
|
|
Exit Select
|
|
Case "RSS_14"
|
|
barcodeWriter.Format = BarcodeFormat.RSS_14
|
|
Exit Select
|
|
Case "RSS_EXPANDED"
|
|
barcodeWriter.Format = BarcodeFormat.RSS_EXPANDED
|
|
Exit Select
|
|
Case "UPC_A"
|
|
barcodeWriter.Format = BarcodeFormat.UPC_A
|
|
Exit Select
|
|
Case "UPC_E"
|
|
barcodeWriter.Format = BarcodeFormat.UPC_E
|
|
Exit Select
|
|
Case "UPC_EAN_EXTENSION"
|
|
barcodeWriter.Format = BarcodeFormat.UPC_EAN_EXTENSION
|
|
Exit Select
|
|
|
|
End Select
|
|
|
|
Dim imgCod As Drawing.Bitmap = barcodeWriter.Write(CodigoBarras)
|
|
Dim memoriStream As New System.IO.MemoryStream
|
|
imgCod.Save(memoriStream, Drawing.Imaging.ImageFormat.Bmp)
|
|
|
|
'Respuesta = Convert.ToBase64String(memoriStream.ToArray())
|
|
|
|
Return memoriStream.ToArray()
|
|
|
|
End Function
|
|
|
|
Private Sub LnkModalCodigoBarrasQr_Click(sender As Object, e As EventArgs) Handles LnkModalCodigoBarrasQr.Click
|
|
|
|
LnkDescargaImagen.Enabled = False
|
|
LnkDescargaImpresion.Enabled = False
|
|
UpModalBotonesCodigos.Update()
|
|
|
|
TxtCodigoBarrasModal.Text = TxtCodigoBarras.Text.Trim
|
|
UpModalUploadCodigoBarras.Update()
|
|
RegistraScript("$('#ModalCodigoBarrasQR').modal({ backdrop: 'static', keyboard: false});")
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub LnkModalGenerarCodigoBarrasQR_Click(sender As Object, e As EventArgs) Handles LnkModalGenerarCodigoBarrasQR.Click
|
|
|
|
Dim Alto As Integer = 150
|
|
Dim Ancho As Integer = 150
|
|
Dim Base64Code As String
|
|
|
|
If TxtAlto.Text.ToEntero > 0 Then Alto = TxtAlto.Text.ToEntero
|
|
If TxtAncho.Text.ToEntero > 0 Then Ancho = TxtAncho.Text.ToEntero
|
|
|
|
Try
|
|
Base64Code = Convert.ToBase64String(GeneraCodigoQR(TxtCodigoBarrasModal.Text.Trim, Alto, Ancho, 0, DDLCodigoFormato.SelectedValue))
|
|
ImgModalCodigo.Attributes.Add("src", $"data:image/gif;base64,{Base64Code}")
|
|
ImgModalCodigo.Width = Ancho
|
|
ImgModalCodigo.Height = Alto
|
|
LnkDescargaImagen.Enabled = True
|
|
LnkDescargaImpresion.Enabled = True
|
|
UpModalBotonesCodigos.Update()
|
|
Catch ex As Exception
|
|
ImgModalCodigo.Attributes.Add("src", "")
|
|
ImgModalCodigo.Width = Ancho
|
|
ImgModalCodigo.Height = Alto
|
|
LnkDescargaImagen.Enabled = False
|
|
LnkDescargaImpresion.Enabled = False
|
|
UpModalBotonesCodigos.Update()
|
|
End Try
|
|
|
|
UpModalUploadCodigoBarras.Update()
|
|
|
|
End Sub
|
|
|
|
Private Sub LnkDescargaImagen_Click(sender As Object, e As EventArgs) Handles LnkDescargaImagen.Click
|
|
|
|
Dim Alto As Integer = 150
|
|
Dim Ancho As Integer = 150
|
|
|
|
|
|
If TxtAlto.Text.ToEntero > 0 Then Alto = TxtAlto.Text.ToEntero
|
|
If TxtAncho.Text.ToEntero > 0 Then Ancho = TxtAncho.Text.ToEntero
|
|
|
|
Try
|
|
Dim memoryStream As New System.IO.MemoryStream(GeneraCodigoQR(TxtCodigoBarrasModal.Text.Trim, Alto, Ancho, 0, DDLCodigoFormato.SelectedValue))
|
|
Response.Clear()
|
|
Response.ContentType = "application/bmp"
|
|
Response.AddHeader("content-disposition", $"attachment;filename=code_{TxtCodigoBarrasModal.Text.Trim}.bmp")
|
|
Response.Buffer = True
|
|
memoryStream.WriteTo(Response.OutputStream)
|
|
Response.End()
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Private Sub DDLCodigoFormato_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDLCodigoFormato.SelectedIndexChanged
|
|
LnkDescargaImagen.Enabled = False
|
|
LnkDescargaImpresion.Enabled = False
|
|
UpModalBotonesCodigos.Update()
|
|
End Sub
|
|
Private Sub LnkDescargaImpresion_Click(sender As Object, e As EventArgs) Handles LnkDescargaImpresion.Click
|
|
Dim Alto As Integer = 150
|
|
Dim Ancho As Integer = 150
|
|
|
|
|
|
If TxtAlto.Text.ToEntero > 0 Then Alto = TxtAlto.Text.ToEntero
|
|
If TxtAncho.Text.ToEntero > 0 Then Ancho = TxtAncho.Text.ToEntero
|
|
|
|
Try
|
|
|
|
|
|
Dim Doc As New iTextSharp.text.Document(iTextSharp.text.PageSize.A4, 10.0F, 10.0F, 100.0F, 0F)
|
|
Dim para As New iTextSharp.text.Paragraph
|
|
Dim memoryStreamDoc As New System.IO.MemoryStream
|
|
|
|
Dim gemBox As New clsGemBoxDocument()
|
|
|
|
gemBox.AgregarImagen(GeneraCodigoQR(TxtCodigoBarrasModal.Text.Trim, Alto, Ancho, 0, DDLCodigoFormato.SelectedValue))
|
|
gemBox.GuardarStreamPDF()
|
|
|
|
|
|
|
|
Dim memoryStream As New System.IO.MemoryStream(gemBox.GetBytesDocumento())
|
|
gemBox.Dispose()
|
|
Response.Clear()
|
|
Response.ContentType = "application/pdf"
|
|
Response.AddHeader("content-disposition", $"attachment;filename=code_{TxtCodigoBarrasModal.Text.Trim}.pdf")
|
|
Response.Buffer = True
|
|
memoryStream.WriteTo(Response.OutputStream)
|
|
Response.End()
|
|
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
|
|
|
|
#End Region
|
|
|
|
#Region "SELECTED INDEX CHANGE"
|
|
Public Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged
|
|
If DdlClasificacion.SelectedValue.ToEntero > 0 Then
|
|
If Me.CvePS <= 0 AndAlso (Not CveSATPS > 0 Or CveSATPS = 46920) Then
|
|
Dim Dr = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue.ToEntero()))(0)
|
|
|
|
If Dr IsNot Nothing Then
|
|
DdlSATPS.SelectedValue = Dr("CveSATPS").ToString
|
|
DdlSATPS.SelectedText = Dr("SATClaveProductoServicio").ToString
|
|
End If
|
|
|
|
End If
|
|
|
|
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
|
|
VerificaRequiereSerieLote()
|
|
End If
|
|
' CargaClasificacionesDetalles()
|
|
End If
|
|
|
|
Try
|
|
Dim Dr = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue.ToEntero()))(0)
|
|
If Boolean.Parse(Dr("EsAcumulador").ToString) Then
|
|
MostarOcultarDivTamanio(True)
|
|
Else
|
|
MostarOcultarDivTamanio(False)
|
|
End If
|
|
'SI ES MOTOBATERIA
|
|
If DdlClasificacion.SelectedValue = "20517" Then
|
|
MostarOcultarDivTamanio(True)
|
|
End If
|
|
Catch ex As Exception
|
|
|
|
End Try
|
|
End Sub
|
|
|
|
Sub MostarOcultarDivTamanio(Mostrar As Boolean)
|
|
|
|
|
|
If Mostrar And UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
|
DvTamanio.Visible = True
|
|
Else
|
|
DvTamanio.Visible = False
|
|
DdlTamanio.SelectedValueExist("-1")
|
|
End If
|
|
|
|
|
|
UpDatos.Update()
|
|
|
|
End Sub
|
|
|
|
|
|
Private Sub DdlTipoFactor_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoFactor.SelectedIndexChanged
|
|
If DdlTipoFactor.SelectedValue.Contiene("1", "2") Then 'tasa
|
|
DdlIVA.Visible = True
|
|
LIva.Visible = True
|
|
Else
|
|
DdlIVA.SelectedValue = "0"
|
|
DdlIVA.Visible = False
|
|
LIva.Visible = False
|
|
End If
|
|
End Sub
|
|
Protected Sub DdlUsoClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
CargaClasificaciones()
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region "FRACCION ARANCELARIA"
|
|
|
|
Protected Sub DdlFraccionArancelaria_selectedindexchange(sender As Object, e As EventArgs)
|
|
If DdlFraccionArancelaria.SelectedValue.ToEntero > 0 Then
|
|
LblUnidadAduana.Text = GlobalDTFraccionArancelaria().FiltraParametros($"CveFraccionArancelaria = {DdlFraccionArancelaria.SelectedValue}")(0)("ClaveSATUnidadAduanaDescripcion").ToString
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " ECOMMERCE "
|
|
Private Sub InicializaEcommerce()
|
|
AplicaEcommerce = False
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(700).ToEntero = 1 And CvePS > 0 Then
|
|
|
|
TabEcommerce.Visible = True
|
|
LBBitacoraEcommerce.Visible = True
|
|
|
|
'INICIALIZA PRODUCTOS ECOMMERCE
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.InsigniasGet(-1, "", UsuarioActual.CveEmpresa) Then
|
|
DdlEcommerceInsignia.DataSource = ObjEcommerce.DtResultados
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
DdlEcommerceInsignia.DataBind()
|
|
CargaEcommerce()
|
|
|
|
'INICIALIZA PRODUCTOS INSIGNIAS
|
|
CargaPSInsigniasEcommerce()
|
|
|
|
'INICIALIZA PRODUCTOS IMAGENES
|
|
CargarGaleriaImagenesEcommerce()
|
|
|
|
'INICIALIZA PRODUCTOS RELACIONADOS
|
|
DdlEcommercePSRelacionado.setEsWebService(True)
|
|
CargaPSRelacionadosEcommerce()
|
|
|
|
UpEcommerce.Update()
|
|
|
|
End If
|
|
End Sub
|
|
|
|
#Region " PRODUCTOS ECOMMERCE "
|
|
Private Sub CargaEcommerce()
|
|
Dim DrEcommerce As DataRow = Nothing
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosGet(CvePS, -1, -1, -1, UsuarioActual.CveEmpresa) Then
|
|
DrEcommerce = ObjEcommerce.DtResultados.FiltroPrimero("")
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
If DrEcommerce IsNot Nothing Then
|
|
AplicaEcommerce = True
|
|
|
|
TxtEcommerceDescripcion.Text = DrEcommerce("Descripcion").ToString
|
|
TxtEcommercePrecioBase.Text = DrEcommerce("PrecioBase").ToString.FormatoNumero
|
|
TxtEcommercePrecioPromocion.Text = DrEcommerce("PrecioPromocion").ToString.FormatoNumero
|
|
ChkEcommerceDisponible.Checked = CBool(DrEcommerce("Disponible").ToString)
|
|
End If
|
|
GvEcommercePSRealacionados.DataBind()
|
|
UpEcommercePSRelacionados.Update()
|
|
End Sub
|
|
Private Function GuardaEcommerce() As Boolean
|
|
Dim TieneError = False
|
|
|
|
If UsuarioActual.Empresa.Funcionalidad(700) = "1" Then
|
|
|
|
'SI NO SE HA GUARDADO EN ECOMMERCE Y NO TIENE NINGUN VALOR OMITE
|
|
If Not AplicaEcommerce And Not ChkEcommerceDisponible.Checked And TxtEcommerceDescripcion.Text.Length = 0 And TxtEcommercePrecioBase.Text.Length = 0 And TxtEcommercePrecioPromocion.Text.Length = 0 Then
|
|
Return False
|
|
End If
|
|
|
|
If ChkEcommerceDisponible.Checked Then
|
|
If Not ValidaGuardarEcommerce() Then
|
|
Return True
|
|
End If
|
|
End If
|
|
|
|
Dim Descripcion = TxtEcommerceDescripcion.Text.Trim
|
|
Dim PrecioBase = TxtEcommercePrecioBase.Text.Trim.ToDouble
|
|
Dim PrecioPromocion = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
|
|
Dim Disponible = ChkEcommerceDisponible.Checked
|
|
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If Not ObjEcommerce.ProductosAddUpdate(CvePS, Descripcion, PrecioBase, PrecioPromocion, Disponible, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
TieneError = True
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
End If
|
|
|
|
Return TieneError
|
|
End Function
|
|
Private Function ValidaGuardarEcommerce() As Boolean
|
|
Dim Retorno = True
|
|
Dim Mensaje As New StringBuilder
|
|
|
|
'DESCRIPCION
|
|
Dim Descripcion = TxtEcommerceDescripcion.Text.Trim
|
|
If Descripcion.Length = 0 Then
|
|
Mensaje.Append("- El campo <b>Descripción</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
|
|
End If
|
|
If Descripcion.Length > 255 Then
|
|
Mensaje.Append("- El campo <b>Descripción</b> admite maximo 255 caracteres. Por favor verifique y vuelva a intentar. <br>")
|
|
End If
|
|
|
|
'PRECIO BASE
|
|
Dim PrecioBase = TxtEcommercePrecioBase.Text.Trim.ToDouble
|
|
If PrecioBase = 0 Then
|
|
Mensaje.Append("- El campo <b>Precio</b> es obligatorio. Por favor verifique y vuelva a intentar. <br>")
|
|
End If
|
|
If PrecioBase < 0 Then
|
|
Mensaje.Append("- El campo <b>Precio</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
|
|
End If
|
|
|
|
'PRECIO FINAL
|
|
Dim PrecioPromocion = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
|
|
If PrecioPromocion < 0 Then
|
|
Mensaje.Append("- El campo <b>Precio Final</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
|
|
End If
|
|
|
|
|
|
'VALIDACION
|
|
If Mensaje.ToString.Length > 0 Then
|
|
Retorno = False
|
|
Alert($"Si el producto aplica para Ecommerce es necesarios los siguientes campos: <br>{Mensaje.ToString}", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
Return Retorno
|
|
End Function
|
|
#End Region
|
|
|
|
#Region " PRODUCTOS INSIGNIAS "
|
|
|
|
Private Sub CargaPSInsigniasEcommerce()
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosInsigniasGet(CvePS, -1, UsuarioActual.CveEmpresa) Then
|
|
GvEcommercePSInsignias.DataSource = ObjEcommerce.DtResultados
|
|
Else
|
|
GvEcommercePSInsignias.DataSource = Nothing
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
GvEcommercePSInsignias.DataBind()
|
|
UpEcommerceInsignias.Update()
|
|
End Sub
|
|
Protected Sub BtnEcommerceInsignias_Click(sender As Object, e As EventArgs)
|
|
If Not ValidaAgregarProductosInsigniasEcommerce() Then
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim TieneError = False
|
|
Dim CveInsignia = DdlEcommerceInsignia.SelectedValue.ToEntero
|
|
|
|
'AGREGAR
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosInsigniasAdd(Me.CvePS, CveInsignia, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Alert("La Insignia se agregó correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
If Not TieneError Then
|
|
DdlEcommerceInsignia.SelectedValueExist(-1)
|
|
CargaPSInsigniasEcommerce()
|
|
End If
|
|
End Sub
|
|
Private Function ValidaAgregarProductosInsigniasEcommerce() As Boolean
|
|
Dim Retorno = True
|
|
Dim Mensaje As New StringBuilder
|
|
|
|
'INSIGNIA
|
|
Dim CveInsignia = DdlEcommerceInsignia.SelectedValue.ToEntero
|
|
If CveInsignia = 0 Then
|
|
Mensaje.Append("- El campo <b>Insignia</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
|
|
End If
|
|
For Each GvRow As GridViewRow In GvEcommercePSInsignias.Rows
|
|
If GvRow.DataKey("CveInsignia").ToString.ToEntero = CveInsignia Then
|
|
Mensaje.Append($"- La Insignia <b>{DdlEcommerceInsignia.SelectedItem.Text}</b> ya es parte del producto y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
'VALIDACION
|
|
If Mensaje.ToString.Length > 0 Then
|
|
Retorno = False
|
|
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
Return Retorno
|
|
End Function
|
|
Protected Sub GvEcommercePSInsignias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSInsignias.RowDeleting
|
|
Dim TieneError = False
|
|
Dim GvRow = GvEcommercePSInsignias.Rows(e.RowIndex)
|
|
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosInsigniasRemove(GvRow.DataKey("CvePS").ToString.ToEntero, GvRow.DataKey("CveInsignia").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Alert("La Insignia se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
If Not TieneError Then
|
|
CargaPSInsigniasEcommerce()
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " PRODUCTOS IMAGENES "
|
|
Private Sub CargarGaleriaImagenesEcommerce()
|
|
Dim TmpDT As DataTable = Nothing
|
|
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosImagenesGet(CvePS, UsuarioActual.CveEmpresa) Then
|
|
TmpDT = ObjEcommerce.DtResultados
|
|
Else
|
|
TmpDT = Nothing
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
RptFotos.DataSource = TmpDT
|
|
RptFotos.DataBind()
|
|
UpEcommerceGaleriaImagenes.Update()
|
|
End Sub
|
|
Protected Sub BtnEcommerceImagenes_Click(sender As Object, e As EventArgs)
|
|
|
|
Dim FilesGral As List(Of Archivo) = TxtEcommerceImagenes.getfiles().Archivos
|
|
Dim FileMove = ""
|
|
Dim Archivo = ""
|
|
Dim DirectorioTemporal = ""
|
|
|
|
Dim DirectorioDestino = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\Ecommerce\Productos\Imagenes\"
|
|
If Not Directory.Exists(DirectorioDestino) Then
|
|
Directory.CreateDirectory(DirectorioDestino)
|
|
End If
|
|
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
For Each FileItem As Archivo In FilesGral
|
|
Archivo = DateTime.Now.Ticks.ToString
|
|
Try
|
|
FileMove = FileItem.filename
|
|
DirectorioTemporal = $"{AppDomain.CurrentDomain.BaseDirectory}Temp\{FileMove}"
|
|
|
|
Archivo = $"{Archivo}{IO.Path.GetExtension(DirectorioTemporal)}"
|
|
DirectorioDestino += Archivo
|
|
If ObjEcommerce.ProductosImagenesAdd(CvePS, $"Ecommerce\Productos\Imagenes\{Archivo}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
CargarGaleriaImagenesEcommerce()
|
|
My.Computer.FileSystem.MoveFile(DirectorioTemporal, DirectorioDestino)
|
|
End If
|
|
Catch ex As Exception
|
|
End Try
|
|
Next
|
|
ObjEcommerce.Dispose()
|
|
|
|
RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
|
|
TxtEcommerceImagenes.Text = "[]"
|
|
UpUpFotos.Update()
|
|
|
|
End Sub
|
|
Protected Sub BtnEcommerceEliminarImagenes_Click(sender As Object, e As System.EventArgs)
|
|
Dim CveImagenActivoFijo As Integer = 0
|
|
CveImagenActivoFijo = Integer.Parse(DirectCast(sender, Button).CommandArgument)
|
|
|
|
If (CveImagenActivoFijo > 0) Then
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosImagenesRemove(CveImagenActivoFijo, UsuarioActual.CveEmpresa) Then
|
|
File.Delete(String.Format("{0}Empresas\{1}\{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, ObjEcommerce.DtResultados.Rows(0)("URL")))
|
|
CargarGaleriaImagenesEcommerce()
|
|
RegistraScript("initcarusel();")
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
End If
|
|
|
|
End Sub
|
|
#End Region
|
|
|
|
#Region " PRODUCTOS RELACIONADOS "
|
|
Private Sub CargaPSRelacionadosEcommerce()
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosRelacionadosGet(CvePS, UsuarioActual.CveEmpresa) Then
|
|
GvEcommercePSRealacionados.DataSource = ObjEcommerce.DtResultados
|
|
Else
|
|
GvEcommercePSRealacionados.DataSource = Nothing
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
GvEcommercePSRealacionados.DataBind()
|
|
UpEcommercePSRelacionados.Update()
|
|
End Sub
|
|
Protected Sub BtnEcommercePSRelacionados_Click(sender As Object, e As EventArgs)
|
|
If Not ValidaAgregarProductosRelacionadosEcommerce() Then
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim TieneError = False
|
|
Dim CvePS = DdlEcommercePSRelacionado.SelectedValue.ToEntero
|
|
|
|
'AGREGAR
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosRelacionadosAdd(Me.CvePS, CvePS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Alert("La relación se agregó correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
If Not TieneError Then
|
|
DdlEcommercePSRelacionado.SelectedValue = "-1"
|
|
DdlEcommercePSRelacionado.SelectedText = ""
|
|
CargaPSRelacionadosEcommerce()
|
|
End If
|
|
End Sub
|
|
Private Function ValidaAgregarProductosRelacionadosEcommerce() As Boolean
|
|
Dim Retorno = True
|
|
Dim Mensaje As New StringBuilder
|
|
|
|
'PS
|
|
Dim CvePS = DdlEcommercePSRelacionado.SelectedValue.ToEntero
|
|
If CvePS = 0 Then
|
|
Mensaje.Append("- El campo <b>Producto</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
|
|
End If
|
|
For Each GvRow As GridViewRow In GvEcommercePSRealacionados.Rows
|
|
If GvRow.DataKey("CvePS").ToString.ToEntero = CvePS Then
|
|
Mensaje.Append($"- El producto <b>{DdlEcommercePSRelacionado.SelectedText}</b> ya esta relacionado y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
'VALIDACION
|
|
If Mensaje.ToString.Length > 0 Then
|
|
Retorno = False
|
|
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
|
|
Return Retorno
|
|
End Function
|
|
Protected Sub GvEcommercePSRealacionados_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSRealacionados.RowDeleting
|
|
Dim TieneError = False
|
|
Dim GvRow = GvEcommercePSRealacionados.Rows(e.RowIndex)
|
|
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosRelacionadosRemove(GvRow.DataKey("CvePS1").ToString.ToEntero, GvRow.DataKey("CvePS2").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
Alert("La relación se eliminó correctamente.", TipoMensaje.MsgInformacion)
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
If Not TieneError Then
|
|
CargaPSRelacionadosEcommerce()
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region " BITACORA "
|
|
Protected Sub LBBitacoraEcommerce_Click(sender As Object, e As EventArgs)
|
|
CargaBitacoraEcommerce()
|
|
End Sub
|
|
Private Sub CargaBitacoraEcommerce()
|
|
Dim ObjEcommerce As New ClsECommerce
|
|
If ObjEcommerce.ProductosGetBitacora(CvePS, UsuarioActual.CveEmpresa) Then
|
|
GvBitacoraEcommerce.DataSource = ObjEcommerce.DtResultados
|
|
End If
|
|
ObjEcommerce.Dispose()
|
|
|
|
GvBitacoraEcommerce.DataBind()
|
|
UpBitacoraEcommerce.Update()
|
|
RegistraScript("$('#ModalBitacoraEcommerce').modal('show');")
|
|
End Sub
|
|
Protected Sub GvBitacora_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvBitacora.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
End If
|
|
End Sub
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
#Region "CLASIFICACIONES DETALLES"
|
|
|
|
Protected Sub BtnAddClasificacionDetalle_Click(sender As Object, e As EventArgs)
|
|
TxtClasificacionDetalle.Text = ""
|
|
DdlClasificacionModal.SelectedValueExist(DdlClasificacion.SelectedValue)
|
|
UpModal.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal('show');", "DModalClasificacion"))
|
|
End Sub
|
|
Protected Sub BtnAddClasificacionDetalleModal_Click(sender As Object, e As EventArgs)
|
|
Dim ObjVentas As New ClsVentas
|
|
If ObjVentas.AddClasificacionDetalle(TxtClasificacionDetalle.Text, DdlClasificacionModal.SelectedValue.ToEntero,
|
|
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
|
|
|
If ObjVentas.GetClasificacionDetalle(-1, -1, -1, -1) Then
|
|
GlobalDTClasificacionesDetalle = ObjVentas.DtResultados
|
|
End If
|
|
CargaClasificacionesDetalles()
|
|
DdlTipoPSDes.SelectedValueExist(ObjVentas.CveClasificacionDetalle)
|
|
UpDatos.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal('hide');", "DModalClasificacion"), "1")
|
|
RegistraScript("CreaDescripcionPS();", "2")
|
|
|
|
|
|
End If
|
|
|
|
ObjVentas.Dispose()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "EXISTENCIAS"
|
|
|
|
Protected Sub GVExistencias_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("CveAlmacen") = "" Then
|
|
e.Row.CssClass = "Totales"
|
|
End If
|
|
If UsuarioActual.CveEmpresa = 119 Then
|
|
GVExistencias.Columns(5).Visible = True
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaExistencias()
|
|
Dim ObjInventarios As New ClsInventarios()
|
|
If ObjInventarios.GetExistenciasProducto(CvePS, -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), ExcluyeApartados:=-1) Then
|
|
If ObjInventarios.DtResultados.Rows.Count > 0 Then
|
|
GVExistencias.DataSource = ObjInventarios.DtResultados
|
|
Else
|
|
GVExistencias.DataSource = Nothing
|
|
End If
|
|
End If
|
|
|
|
ObjInventarios.Dispose()
|
|
GVExistencias.DataBind()
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
Protected Sub DdlImpTipoProducto_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
|
|
CargaClaveGenerica(DdlImpTipoProducto.SelectedValue)
|
|
|
|
End Sub
|
|
|
|
Private Sub CargaClaveGenerica(TipoProducto As String)
|
|
DdlCategoriaToxicidad.Items.Clear()
|
|
DdlCategoriaToxicidad.DataBind() 'para que quite el selectedvalue
|
|
|
|
If TipoProducto = "019" Then
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("Seleccione", "-1"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("000 - Sin selección", "000"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("001 - Categorías 1 y 2", "001"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("002 - Categoría 3", "002"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("003 - Categoría 4", "003"))
|
|
DdlCategoriaToxicidad.SelectedValue = "000"
|
|
|
|
ElseIf TipoProducto = "021" Then
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("Seleccione", "-1"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("000 - Sin selección", "000"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("001 - Gasolina Menor a 92 octanos", "001"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("002 - Gasolina Mayor o igual a 92 octanos", "002"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("003 - Diesel", "003"))
|
|
DdlCategoriaToxicidad.Items.Add(New ListItem("004 - Combustibles no fósiles", "004"))
|
|
DdlCategoriaToxicidad.SelectedValue = "000"
|
|
End If
|
|
End Sub
|
|
|
|
#Region "SECCION ALMACEN"
|
|
|
|
Private Sub CreaDtSeccionAlmacen()
|
|
DtSeccionAlmacen = New DataTable
|
|
DtSeccionAlmacen.Columns.Add("CvePSAlmacenSeccion", GetType(Integer))
|
|
DtSeccionAlmacen.Columns.Add("CveAlmacen", GetType(Integer))
|
|
DtSeccionAlmacen.Columns.Add("Almacen", GetType(String))
|
|
DtSeccionAlmacen.Columns.Add("CveAlmacenSeccion", GetType(Integer))
|
|
DtSeccionAlmacen.Columns.Add("AlmacenSeccion", GetType(String))
|
|
End Sub
|
|
Private Sub CargaGvSeccionAlmacen()
|
|
Dim ObjInv As New ClsInventarios
|
|
If ObjInv.GetProductosServiciosAlmacenSeccion(CvePS, -1, -1, UsuarioActual.CveEmpresa) Then
|
|
GvSeccionAlmacen.DataSource = ObjInv.DtResultados
|
|
DtSeccionAlmacen = ObjInv.DtResultados
|
|
|
|
End If
|
|
ObjInv.Dispose()
|
|
GvSeccionAlmacen.DataBind()
|
|
UpSeccionAlmacen.Update()
|
|
End Sub
|
|
|
|
|
|
Private Sub CargaCombosSeccionAlmacen()
|
|
DdlAlmacen.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa)
|
|
DdlAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
|
|
DdlAlmacen.DataBind()
|
|
|
|
UpModalSeccionAlmacen.Update()
|
|
End Sub
|
|
|
|
Protected Sub LnkSeccionAlmacenAdd_Click(sender As Object, e As EventArgs)
|
|
DdlAlmacen.SelectedIndex = 0
|
|
DdlSeccionAlmacen.SelectedIndex = 0
|
|
RegistraScript("$('#DivAddSeccionAlmacen').modal();")
|
|
UpModalSeccionAlmacen.Update()
|
|
End Sub
|
|
'Protected Sub LnkEditarSeccionAlmacen_Click(sender As Object, e As EventArgs)
|
|
' Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
|
' DdlAlmacen.SelectedValueExist(gvRow.DataKey("CvAlmacen"))
|
|
' DdlSeccionAlmacen.SelectedValueExist(gvRow.DataKey("CveAlmacenSeccion"))
|
|
' RegistraScript("$('#DivAddSeccionAlmacen').modal();")
|
|
' UpModalSeccionAlmacen.Update()
|
|
'End Sub
|
|
Protected Sub LnkRemoveSeccionAlmacen_Click(sender As Object, e As EventArgs)
|
|
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
|
|
If gvRow.DataKey("CvePSAlmacenSeccion").ToEntero > 0 Then
|
|
DtSeccionAlmacen.Rows(gvRow.RowIndex)("CveAlmacen") = -1
|
|
Else
|
|
DtSeccionAlmacen.Rows(gvRow.RowIndex.ToEntero).Delete()
|
|
End If
|
|
DtSeccionAlmacen.AcceptChanges()
|
|
GvSeccionAlmacen.DataSource = DtSeccionAlmacen
|
|
GvSeccionAlmacen.DataBind()
|
|
UpSeccionAlmacen.Update()
|
|
End Sub
|
|
|
|
Protected Sub BtnAddSeccionAlmacen_Click(sender As Object, e As EventArgs)
|
|
'If DtSeccionAlmacen.FiltraParametros($"CveAlmacen = {DdlAlmacen.SelectedValue}").Rows.Count > 0 Then
|
|
' Alert("No se puede especificar el mismo almacen en dos secciones", TipoMensaje.MsgAdvertencia)
|
|
' Exit Sub
|
|
'End If
|
|
|
|
Dim Row As DataRow = Nothing
|
|
Row = DtSeccionAlmacen.NewRow
|
|
Row("CvePSAlmacenSeccion") = -1
|
|
Row("CveAlmacen") = DdlAlmacen.SelectedValue.ToEntero
|
|
Row("Almacen") = DdlAlmacen.SelectedItem.Text
|
|
Row("CveAlmacenSeccion") = DdlSeccionAlmacen.SelectedValue.ToEntero
|
|
Row("AlmacenSeccion") = DdlSeccionAlmacen.SelectedItem.Text
|
|
DtSeccionAlmacen.Rows.Add(Row)
|
|
DtSeccionAlmacen.AcceptChanges()
|
|
GvSeccionAlmacen.DataSource = DtSeccionAlmacen
|
|
GvSeccionAlmacen.DataBind()
|
|
UpSeccionAlmacen.Update()
|
|
|
|
RegistraScript("$('#DivAddSeccionAlmacen').modal('hide');")
|
|
End Sub
|
|
|
|
Protected Sub GvSeccionAlmacen_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If Not e.Row.DBCampo("CveAlmacen").ToEntero > 0 Then
|
|
e.Row.Visible = False
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
Protected Sub DdlIEPSPorcentaje_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlIEPSPorcentaje.SelectedIndexChanged
|
|
Select Case DdlIEPSPorcentaje.SelectedValue
|
|
Case "0.09"
|
|
DdlCategoriaToxicidad.SelectedValueExist("001")
|
|
Case "0.07"
|
|
DdlCategoriaToxicidad.SelectedValueExist("002")
|
|
Case "0.06"
|
|
DdlCategoriaToxicidad.SelectedValueExist("003")
|
|
Case Else
|
|
DdlCategoriaToxicidad.SelectedValueExist("000")
|
|
End Select
|
|
End Sub
|
|
|
|
Protected Sub ddlMetodos_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
|
|
If ddlMetodos.SelectedValue = "5" Then
|
|
ChkSerie.Checked = True
|
|
Else
|
|
ChkSerie.Checked = False
|
|
End If
|
|
UpConta.Update()
|
|
End Sub
|
|
|
|
Protected Sub ChkSerie_CheckedChanged(sender As Object, e As EventArgs)
|
|
If ElProductoTieneExistencia() Then
|
|
ChkSerie.Checked = Not ChkSerie.Checked
|
|
Alert("el producto no se puede cambiar la opcion, porque tiene existencia.", TipoMensaje.MsgAdvertencia)
|
|
Else
|
|
If ChkSerie.Checked Then
|
|
ddlMetodos.SelectedValueExist("5")
|
|
Else
|
|
ddlMetodos.SelectedValueExist("-1")
|
|
End If
|
|
UpConta.Update()
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub ChkSeccion_CheckedChanged(sender As Object, e As EventArgs)
|
|
If ElProductoTieneExistencia() Then
|
|
ChkSeccion.Checked = Not ChkSerie.Checked
|
|
Alert("el producto no se puede cambiar la opcion, porque tiene existencia.", TipoMensaje.MsgAdvertencia)
|
|
Else
|
|
If ChkSeccion.Checked Then
|
|
DivSeccionAlmacen.Visible = True
|
|
Else
|
|
DivSeccionAlmacen.Visible = False
|
|
End If
|
|
|
|
UpSeccionAlmacen.Update()
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub DdlAlmacen_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
DdlSeccionAlmacen.Items.Clear()
|
|
DdlSeccionAlmacen.DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero)
|
|
DdlSeccionAlmacen.Items.Add(New ListItem("Seleccione", "-1"))
|
|
DdlSeccionAlmacen.DataBind()
|
|
|
|
UpModalSeccionAlmacen.Update()
|
|
End Sub
|
|
|
|
Protected Sub DdlUnidadMedida_SelectedIndexChanged(sender As Object, e As EventArgs)
|
|
If ElProductoTieneExistencia() Then
|
|
DdlUnidadMedida.SelectedValue = CveUnidadMedida.ToString
|
|
Alert("el producto no se puede cambiar la opcion, porque tiene existencia.")
|
|
End If
|
|
End Sub
|
|
|
|
Private Function ElProductoTieneExistencia() As Boolean
|
|
Dim Existencia As Decimal = 0
|
|
If CvePS > 0 Then
|
|
Dim ObjInventarios As New ClsInventarios
|
|
Existencia = ObjInventarios.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, -1)
|
|
ObjInventarios.Dispose()
|
|
End If
|
|
Return Existencia > 0
|
|
End Function
|
|
|
|
Protected Sub ChkCaducidad_CheckedChanged(sender As Object, e As EventArgs)
|
|
Dim Activar As Boolean = ChkCaducidad.Checked
|
|
DivTiempoCaducidad.Visible = Activar
|
|
RfvTxtTiempoCaducidad.Enabled = Activar
|
|
End Sub
|
|
End Class
|