3566 lines
168 KiB
VB.net
3566 lines
168 KiB
VB.net
Option Explicit On
|
||
Option Strict On
|
||
|
||
Imports System.Data
|
||
Imports System.Data.SqlClient
|
||
Imports System.IO
|
||
Imports Extensiones
|
||
Imports ZXing
|
||
|
||
Partial Class ProductosyServicios
|
||
Inherits ClsPaginas
|
||
|
||
#Region " Propiedades "
|
||
Private ReadOnly Property CvePS As Integer
|
||
Get
|
||
Return IfNull(ViewState("CvePS"), "-1").ToString.ToEntero
|
||
End Get
|
||
End Property
|
||
Public Property PSAdicionalAnterior As String
|
||
Get
|
||
Return ViewState("PSAdicionalAnterior").ToString
|
||
End Get
|
||
Set(value As String)
|
||
ViewState("PSAdicionalAnterior") = value
|
||
End Set
|
||
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
|
||
|
||
Private Property GeneraServicioAF As Integer
|
||
Get
|
||
Return IfNull(ViewState("GeneraServicioAF"), "-1", ViewState("GeneraServicioAF")).ToString().ToEntero()
|
||
End Get
|
||
Set(value As Integer)
|
||
ViewState("GeneraServicioAF") = value
|
||
End Set
|
||
End Property
|
||
#End Region
|
||
|
||
Private ReadOnly Property PermiteClasificacion2 As Boolean
|
||
Get
|
||
Return (UsuarioActual.CveEmpresa.Contiene(1, 72, 80, 119))
|
||
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
|
||
|
||
|
||
#Region "Material peligroso"
|
||
|
||
Property ValidaMaterialPeligrosoMensaje As Boolean
|
||
Get
|
||
|
||
If ViewState("ValidaMaterialPeligroso") Is Nothing Then
|
||
ViewState("ValidaMaterialPeligroso") = False
|
||
End If
|
||
|
||
Return Boolean.Parse(ViewState("ValidaMaterialPeligroso").ToString)
|
||
|
||
End Get
|
||
Set(value As Boolean)
|
||
ViewState("ValidaMaterialPeligroso") = 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")
|
||
|
||
If CargaDatos() Then
|
||
|
||
'Configuración de Modalidad Update
|
||
BtnGuardar.Text = "Guardar Cambios"
|
||
CargarAlias()
|
||
CargaExistencias()
|
||
End If
|
||
CargaDatosCartaPorte()
|
||
Else
|
||
'Configuración de Modalidad Insert
|
||
RegistraScript("$('#C_Tab_TabPaquetes_tab').css('display' , 'none')")
|
||
|
||
ViewState("CvePS") = -1
|
||
|
||
ChkEstado.Enabled = False
|
||
ChkEstado.Checked = True
|
||
LblFechaCaptura.Text = NowADS().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
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(170) <> "" Then
|
||
ChkSerie.Checked = UsuarioActual.Empresa.Funcionalidad(170).Contains("SERIE")
|
||
ChkLote.Checked = UsuarioActual.Empresa.Funcionalidad(170).Contains("LOTE")
|
||
ChkCaducidad.Checked = UsuarioActual.Empresa.Funcionalidad(170).Contains("CADUCIDAD")
|
||
ChkSeccion.Checked = UsuarioActual.Empresa.Funcionalidad(170).Contains("SECCION")
|
||
End If
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(143) = "1" Then
|
||
|
||
DivRegistroRSCO1.Visible = True
|
||
DivRegistroRSCO2.Visible = True
|
||
DivRegistroRSCO3.Visible = True
|
||
|
||
TxtRegistroRSCO.Text = ""
|
||
TxtFechaVigenciaRSCO.Text = ""
|
||
ChkFechaIndeterminadaRSCO.Checked = False
|
||
End If
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
||
DdlIVA.Items.Insert(0, New ListItem("Seleccione", "-2"))
|
||
If CvePS > 0 Then
|
||
DdlIVA.SelectedValueExist(-2)
|
||
End If
|
||
Else
|
||
DdlIVA.SelectedValueExist(-1)
|
||
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()
|
||
|
||
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.Empresa.Funcionalidad(558) = "1" Then
|
||
'DivDatos.Attributes("class") = "col-md-12"
|
||
|
||
DivDdlTipo.Visible = True
|
||
'DdlTipoPSDes.Attributes.Add("onChange", "CreaDescripcionPS();")
|
||
|
||
End If
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
|
||
TxtPS.CssClass = "form-control Mayuscula"
|
||
End If
|
||
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(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)
|
||
|
||
|
||
If Request("GeneraServicioAF") IsNot Nothing AndAlso IsNumeric(Request("GeneraServicioAF")) AndAlso Request("GeneraServicioAF").ToEntero() = 1 Then
|
||
GeneraServicioAF = 1
|
||
TxtPS.Text = "Servicio de facturación de activos fijos"
|
||
|
||
DdlTipoPS.SelectedValueExist("1")
|
||
DdlTipoPS.Enabled = False
|
||
|
||
ChkAplicaParaVenta.Checked = True
|
||
|
||
Dim DrSAT As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, SATClavePS:="84111506", AplicaParaVenta:=1).FiltroPrimero("") ', SATClavePS:=CveSATNC
|
||
|
||
DdlSATPS.SelectedValue = DrSAT("CveSATPS").ToString()
|
||
DdlSATPS.SelectedText = DrSAT("SATClaveProductoServicio").ToString()
|
||
End If
|
||
|
||
|
||
|
||
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()
|
||
CargarMarcas()
|
||
CargaCombosPSComplementos()
|
||
'CargaPSAdicional(DdlPSAdicional)
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||
DivPSAdicionalVigencia.Visible = True
|
||
divLitraje.Visible = True
|
||
DivClasificacion2.Visible = True
|
||
CargaPSAdicionalesVigencias()
|
||
|
||
DdlTamanio.DataSource = GlobalDTAcumTamaños(UsuarioActual.CveEmpresa)
|
||
DdlTamanio.DataBind()
|
||
|
||
LtlNumberParte.Text = "Código CPK"
|
||
Else
|
||
LtlNumberParte.Text = "Número de parte"
|
||
End If
|
||
|
||
|
||
|
||
divPrecio.Visible = UsuarioActual.Empresa.Funcionalidad(404) = "" ' si tiene lista de precio, se oculta el precio por ps
|
||
|
||
If UsuarioActual.CveEmpresa = 1 Then
|
||
divPrecio.Visible = True
|
||
End If
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then '' empresa deduce IEPS
|
||
divIEPS.Visible = True
|
||
End If
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(1, 13) Then
|
||
DivPSAdicionalVigencia.Visible = True
|
||
LtlPSAdicionalVigencia.Text = "Producto Relacionado:"
|
||
CargaPSAdicionalesVigencias()
|
||
End If
|
||
|
||
'Nuevo R: 26/09/2017
|
||
CargaProveedores()
|
||
|
||
CargarCompuestos()
|
||
CargaPS()
|
||
'ChangeDdl()
|
||
CargaDdlSATPS()
|
||
CargaDdlFraccionArancelaria()
|
||
CveSATPS = -1
|
||
|
||
CargaCombosSeccionAlmacen()
|
||
|
||
DdlObjetoImpuesto.DataSource = GlobalDTSATObjetosImpuestos
|
||
DdlObjetoImpuesto.DataBind()
|
||
DdlObjetoImpuesto.SelectedValue = "2" 'se sugiere este valor, que sería el más utilizado
|
||
|
||
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)
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then
|
||
DivLlantas.Visible = True
|
||
DivPSAdicionales.Visible = True
|
||
CargaPanelLlantas()
|
||
End If
|
||
|
||
CvePSAdicional = -1
|
||
|
||
'Nueva funcionalidad MLopez: 18/11/2022 -- Empresa Citrícola
|
||
If UsuarioActual.Empresa.Funcionalidad(267) = "1" Then
|
||
DivCitricos.Visible = True
|
||
CargaPanelCitricos()
|
||
End If
|
||
If UsuarioActual.CveEmpresa = 119 Then
|
||
DiveCommerce.Visible = True
|
||
Dim CveCategoria2 As Integer = GlobalDTGralCategorias2(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveCategoria", "Categoria = 'Ecommerce'").ToEntero
|
||
DdlEcommerceClasificacion.DataSource = GlobalDTClasificaciones2(UsuarioActual.CveEmpresa, CveCategoria2)
|
||
DdlEcommerceClasificacion.DataBind()
|
||
End If
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
|
||
|
||
DVCodigoPSAlterno.Visible = True
|
||
|
||
End If
|
||
|
||
End Sub
|
||
|
||
Private Sub CargaCombosPSComplementos()
|
||
|
||
DdlClaveSectorCOFEPRIS.DataSource = GlobalDT_SAT_CP_SectorCOFEPRIS
|
||
DdlClaveSectorCOFEPRIS.DataBind()
|
||
DdlClaveSectorCOFEPRIS.Items.Insert(0, New ListItem("-", "-1"))
|
||
|
||
DdlClaveFormaFarmaceutica.DataSource = GlobalDT_SAT_CP_FormaFarmaceutica
|
||
DdlClaveFormaFarmaceutica.DataBind()
|
||
DdlClaveFormaFarmaceutica.Items.Insert(0, New ListItem("-", "-1"))
|
||
|
||
DdlCondicionesEspTransporte.DataSource = GlobalDT_SAT_CP_CondicionesEspeciales
|
||
DdlCondicionesEspTransporte.DataBind()
|
||
DdlCondicionesEspTransporte.Items.Insert(0, New ListItem("-", "-1"))
|
||
|
||
DdlTipoMateria.DataSource = GlobalDT_SAT_CP_TipoMateria
|
||
DdlTipoMateria.DataBind()
|
||
DdlTipoMateria.Items.Insert(0, New ListItem("-", "-1"))
|
||
|
||
End Sub
|
||
|
||
Private Sub CargaPanelLlantas()
|
||
Dim ObjGral As New ClsGenerales()
|
||
If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then
|
||
DdlModelo.DataSource = ObjGral.DtResultados.Copy()
|
||
End If
|
||
ObjGral.Dispose()
|
||
DdlMedida.DataSource = GlobalDTPSMedidas(UsuarioActual.CveEmpresa)
|
||
|
||
DdlRin.DataSource = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa)
|
||
DdlModelo.DataBind()
|
||
DdlMedida.DataBind()
|
||
DdlRin.DataBind()
|
||
|
||
End Sub
|
||
|
||
Private Sub CargaPanelCitricos()
|
||
DdlEmpacado.DataSource = GlobalDTGralEmpacados(UsuarioActual.CveEmpresa)
|
||
DdlTipoOrganico.DataSource = GlobalDTGralTipoOrganicos(UsuarioActual.CveEmpresa)
|
||
DdlEmpacado.DataBind()
|
||
DdlTipoOrganico.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) = Nothing
|
||
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:=DdlUsoClasificacion.SelectedValue.ToEntero).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
|
||
Else
|
||
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=DdlUsoClasificacion.SelectedValue.ToEntero).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 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 Function CargaDatos() As Boolean
|
||
Dim Retorno As Boolean = False
|
||
Dim ObjProductosServicios As New ClsProductosServicios()
|
||
If ObjProductosServicios.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then
|
||
If ObjProductosServicios.DtResultados.Rows.Count > 0 Then
|
||
Retorno = True
|
||
'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.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString.ToEntero() > 0 Then
|
||
DdlPSAdicionalVigencia.SelectedValue = ObjProductosServicios.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString
|
||
DdlPSAdicionalVigencia.SelectedText = ObjProductosServicios.DtResultados.Rows(0)("CodigoPSVigencia").ToString
|
||
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
|
||
|
||
If ObjProductosServicios.CveMaterialPeligroso > 0 Then
|
||
DdlMaterialPeligroso.SelectedValue = ObjProductosServicios.CveMaterialPeligroso.ToString
|
||
DdlMaterialPeligroso.SelectedText = GlobalDTMaterialPeligroso(ObjProductosServicios.CveMaterialPeligroso).FiltroPrimeroValor("ClaveMaterialPeligrosoDescripcion")
|
||
End If
|
||
If ObjProductosServicios.CveEmbalaje > 0 Then
|
||
DdlEmbalaje.SelectedValue = ObjProductosServicios.CveEmbalaje.ToString
|
||
DdlEmbalaje.SelectedText = GlobalDTEmbalajes(ObjProductosServicios.CveEmbalaje).FiltroPrimeroValor("ClaveEmbalajeDescripcion")
|
||
End If
|
||
|
||
If ObjProductosServicios.PesoKg > 0 Then
|
||
TxtPesoKg.Text = ObjProductosServicios.PesoKg.ToString
|
||
End If
|
||
TxtDimensiones.Text = ObjProductosServicios.Dimensiones
|
||
|
||
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
|
||
TxtNumeroParte.Text = ObjProductosServicios.NumeroParte
|
||
TxtCodigoBarras.Text = ObjProductosServicios.CodigoBarras
|
||
CodigoBarrasCargado = ObjProductosServicios.CodigoBarras
|
||
TxtLitraje.Text = ObjProductosServicios.DtResultados.Rows(0)("Litraje").ToString
|
||
|
||
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)
|
||
|
||
If UsuarioActual.CveEmpresa.Contiene(119) Then
|
||
DdlIVA.Items.Insert(0, New ListItem("Seleccione", "-2"))
|
||
If ObjProductosServicios.DtResultados.Rows(0)("IVACatPS").ToString = "" Then
|
||
DdlIVA.SelectedValueExist(-2)
|
||
End If
|
||
End If
|
||
|
||
|
||
|
||
|
||
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
|
||
|
||
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
|
||
|
||
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)
|
||
|
||
DdlObjetoImpuesto.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveObjetoImpuesto").ToString)
|
||
|
||
DdlEmpacado.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoEmpacado").ToString)
|
||
DdlTipoOrganico.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoOrganico").ToString)
|
||
TxtNombreComercial.Text = ObjProductosServicios.DtResultados.Rows(0)("NombreComercial").ToString
|
||
|
||
ChkActivoEcommerce.Checked = ObjProductosServicios.DtResultados.Rows(0)("ActivoEcommerce").ToString = "True"
|
||
TxtEcommerceNota.Text = ObjProductosServicios.DtResultados.Rows(0)("NotasAdicionales").ToString
|
||
TxtEcommerceEtiquetas.Text = ObjProductosServicios.DtResultados.Rows(0)("EcommerceEtiquetas").ToString
|
||
TxtEcommercePrecio.Text = ObjProductosServicios.DtResultados.Rows(0)("EcommercePrecio").ToString.ToDecimal.ToString("#,###.####")
|
||
DdlEcommerceClasificacion.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveClasificacionEcommerce").ToString)
|
||
TxtEcommerceCantidad.Text = ObjProductosServicios.DtResultados.Rows(0)("EcommerceCantidad").ToString.ToDecimal.ToString("#,###.####")
|
||
|
||
Try
|
||
DdlClasificacion_SelectedIndexChanged(DdlClasificacion, Nothing)
|
||
DdlTamanio.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTamaño").ToString)
|
||
If DdlTamanio.SelectedValue.ToEntero() > 0 Then
|
||
Dim Dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue.ToEntero()))(0)
|
||
|
||
Dim DebeTenerTamanio As Boolean = Boolean.Parse(Dr("EsAcumulador").ToString)
|
||
'SI ES MOTOBATERIA
|
||
If DdlClasificacion.SelectedValue = "20517" Then
|
||
DebeTenerTamanio = True
|
||
End If
|
||
|
||
'VALIDA QUE EL PRODUCTO, NO ES ACUMULADOR QUE NO TENGA TAMAÑO
|
||
If Not DebeTenerTamanio AndAlso DdlTamanio.SelectedValue.ToEntero() > 0 Then
|
||
Alert($"Un producto/servicio con la clasificación '{Dr("Clasificacion")}' no debe tener especificado un tamaño.", TipoMensaje.MsgAdvertencia)
|
||
RfvDdlTamanio.Visible = False
|
||
CERfvDdlTamanio.Enabled = False
|
||
End If
|
||
|
||
'VALIDA QUE EL PRODUCTO, SI ES ACUMULADOR QUE TENGA TAMAÑO
|
||
If DebeTenerTamanio AndAlso DdlTamanio.SelectedValue.ToEntero() <= 0 Then
|
||
Alert($"Un producto/servicio con la clasificación '{Dr("Clasificacion")}' debe tener especificado un tamaño.", TipoMensaje.MsgAdvertencia)
|
||
End If
|
||
DvTamanio.Visible = True
|
||
End If
|
||
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
|
||
|
||
TxtTiempoCaducidad.Text = ObjProductosServicios.DtResultados.Rows(0)("TiempoCaducidad").ToString()
|
||
HabilitaAplicaCaducidadTiempo()
|
||
|
||
If ObjProductosServicios.AplicaSeccion Then
|
||
CargaGvSeccionAlmacen()
|
||
DivSeccionAlmacen.Visible = True
|
||
End If
|
||
|
||
CargaCaracteristicas()
|
||
|
||
LnkUnificar.Visible = True
|
||
ChkPrecioLibre.Checked = ObjProductosServicios.PrecioLibre
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(143) = "1" Then
|
||
|
||
TxtRegistroRSCO.Text = ObjProductosServicios.DtResultados.Rows(0)("RegistroRSCO").ToString
|
||
ChkFechaIndeterminadaRSCO.Checked = Boolean.Parse(ObjProductosServicios.DtResultados.Rows(0)("VigenciaIndeterminadaRSCO").ToString)
|
||
|
||
DivRegistroRSCO1.Visible = True
|
||
DivRegistroRSCO2.Visible = True
|
||
|
||
If ChkFechaIndeterminadaRSCO.Checked Then
|
||
TxtFechaVigenciaRSCO.Text = "01/01/1900"
|
||
Else
|
||
TxtFechaVigenciaRSCO.Text = ObjProductosServicios.DtResultados.Rows(0)("FechaVigenciaRSCO").ToString.ToDate.ToString("dd/MM/yyyy")
|
||
DivRegistroRSCO3.Visible = True
|
||
|
||
If TxtFechaVigenciaRSCO.Text = "01/01/1900" Then
|
||
TxtFechaVigenciaRSCO.Text = ""
|
||
End If
|
||
End If
|
||
Else
|
||
TxtRegistroRSCO.Text = ""
|
||
TxtFechaVigenciaRSCO.Text = ""
|
||
ChkFechaIndeterminadaRSCO.Checked = False
|
||
End If
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
|
||
TxtCodigoAlterno.Text = ObjProductosServicios.DtResultados.Rows(0)("CodigoAlterno").ToString
|
||
TxtPSAlterno.Text = ObjProductosServicios.DtResultados.Rows(0)("PSAlterno").ToString
|
||
DVCodigoPSAlterno.Visible = True
|
||
|
||
End If
|
||
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()
|
||
Return Retorno
|
||
End Function
|
||
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 CargaPSAdicionalesVigencias()
|
||
DdlPSAdicionalVigencia.setEsWebService(True)
|
||
DdlPSAdicionalVigencia.Attributes.Add("data-cvesubproyecto", "-1")
|
||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-cveclasificacion", "-1")
|
||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
|
||
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-Estatus", "1")
|
||
End Sub
|
||
|
||
Public Sub CargaDdlFraccionArancelaria()
|
||
DdlFraccionArancelaria.setEsWebService(True)
|
||
DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria")
|
||
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then
|
||
divCartaPorte.Visible = True
|
||
|
||
DdlMaterialPeligroso.setEsWebService(True)
|
||
DdlMaterialPeligroso.Attributes.Add("data-metodo", "getsatmatpeligroso")
|
||
|
||
DdlEmbalaje.setEsWebService(True)
|
||
DdlEmbalaje.Attributes.Add("data-metodo", "getsatembalajes")
|
||
End If
|
||
|
||
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 = -1
|
||
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 DdlFraccionArancelaria.SelectedValue.ToEntero > 0 AndAlso TxtCodigo.Text.Trim.Length = 0 Then
|
||
Alert("El campo Numero de Parte / Código es requerido (al seleccionar una Fracción Arancelaria el campo Numero de Parte / Código se vuelve requerido).", TipoMensaje.MsgAdvertencia)
|
||
Exit Sub
|
||
End If
|
||
|
||
If DdlSATPS.txtValue.Value.ToEntero > 0 Then
|
||
If UsuarioActual.Empresa.Funcionalidad(161) = "1" Then ' si tiene activada la carta porte
|
||
|
||
|
||
If Not ValidaMaterialPeligrosoMensaje Then
|
||
ValidaMaterialPeligroso(DdlSATPS.txtValue.Value.ToEntero)
|
||
Exit Sub
|
||
End If
|
||
End If
|
||
|
||
End If
|
||
|
||
If DdlSATPS.SelectedValue.Contiene("46920", "0", "-1") AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158, 72, 80, 145) 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 códigos 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 'Serie' 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 UsuarioActual.Empresa.Funcionalidad(265) = "1" And TxtCodigo.Text = "" Then
|
||
Alert("El código es requerido.", TipoMensaje.MsgAdvertencia)
|
||
Return
|
||
End If
|
||
|
||
If TxtCodigo.Text <> "" AndAlso Not TxtCodigo.Text.Length >= 3 Then
|
||
Alert("El código 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 CveTamaño As Integer = DdlTamanio.SelectedValue.ToEntero
|
||
|
||
'VALIDAR TAMAÑOS Y ACUMULADORES
|
||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||
Dim Dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue.ToEntero()))(0)
|
||
|
||
Dim DebeTenerTamanio As Boolean = Boolean.Parse(Dr("EsAcumulador").ToString)
|
||
|
||
'SI ES MOTOBATERIA
|
||
If DdlClasificacion.SelectedValue = "20517" Then
|
||
DebeTenerTamanio = True
|
||
End If
|
||
|
||
'VALIDA QUE EL PRODUCTO, NO ES ACUMULADOR QUE NO TENGA TAMAÑO
|
||
If Not DebeTenerTamanio AndAlso CveTamaño > 0 Then
|
||
Alert($"Un producto/servicio con la clasificación '{Dr("Clasificacion")}' no debe tener especificado un tamaño.", TipoMensaje.MsgAdvertencia)
|
||
Return
|
||
End If
|
||
'VALIDA QUE EL PRODUCTO, SI ES ACUMULADOR QUE TENGA TAMAÑO
|
||
If DebeTenerTamanio AndAlso CveTamaño <= 0 Then
|
||
Alert($"Un producto/servicio con la clasificación '{Dr("Clasificacion")}' debe tener especificado un tamaño.", TipoMensaje.MsgAdvertencia)
|
||
Return
|
||
End If
|
||
End If
|
||
|
||
Dim ObjProductosServicios As New ClsProductosServicios()
|
||
Dim ObjInv As New ClsInventarios(ObjProductosServicios.IniciaTransacSQL())
|
||
Dim ObjEmpresas As New ClsSisEmpresas(ObjProductosServicios.IniciaTransacSQL())
|
||
|
||
Dim TieneError As Boolean = False
|
||
Dim AccionJS As String = ""
|
||
|
||
Try
|
||
|
||
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 AndAlso DivTiempoCaducidad.Visible 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 TxtFechaVigenciaRSCO.Text = "" Then
|
||
TxtFechaVigenciaRSCO.Text = "01/01/1900"
|
||
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,
|
||
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:=CveTamaño,
|
||
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
|
||
CveTipoEmpacado:=DdlEmpacado.SelectedValue.ToEntero(), CveTipoOrganico:=DdlTipoOrganico.SelectedValue.ToEntero(),
|
||
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
|
||
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString,
|
||
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad,
|
||
CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked,
|
||
CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim,
|
||
CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero, Litraje:=TxtLitraje.Text.ToDecimal, RegistroRSCO:=TxtRegistroRSCO.Text, FechaVigenciaRSCO:=TxtFechaVigenciaRSCO.Text.ToDate, VigenciaIndeterminadaRSCO:=ChkFechaIndeterminadaRSCO.Checked,
|
||
NombreComercial:=TxtNombreComercial.Text.Trim, NotasAdicionales:=TxtEcommerceNota.Text.Trim, EcommerceEtiquetas:=TxtEcommerceEtiquetas.Text.Trim.Replace(".", ""), EcommercePrecio:=TxtEcommercePrecio.Text.Trim.ToDecimal,
|
||
CveClasificacionEcommerce:=DdlEcommerceClasificacion.SelectedValue.ToEntero, EcommerceCantidad:=TxtEcommerceCantidad.Text.Trim.ToDecimal, CodigoAlterno:=TxtCodigoAlterno.Text.Trim, PSAlterno:=TxtPSAlterno.Text.Trim) > 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
|
||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" AndAlso ChkAplicaParaVenta.Checked Then
|
||
TieneError = GuardarProductoEnFranquicia(ObjProductosServicios, PSS, CveMetodoInv, EsPaquete, True)
|
||
End If
|
||
|
||
If GeneraServicioAF = 1 Then
|
||
|
||
Dim RowFuncionalidad380 As DataRow = Nothing
|
||
|
||
If ObjEmpresas.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa) Then
|
||
RowFuncionalidad380 = ObjEmpresas.DtResultados.FiltroPrimero("CveFuncionalidad = 380")
|
||
Else
|
||
TieneError = True
|
||
End If
|
||
|
||
'SI NO TIENE LA FUNCIONALIDAD 380 GUARDAR LA FUNCIONALIDAD
|
||
If Not TieneError AndAlso RowFuncionalidad380 Is Nothing Then
|
||
If Not ObjEmpresas.AddUpdateEmpresaFuncionalidades(UsuarioActual.CveEmpresa, 380, $"{Me.CvePS}") Then
|
||
TieneError = True
|
||
End If
|
||
End If
|
||
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 'RMF.2021.07.30, se comentó, por no entender la validaci´n, y nodeja limpiar codigos
|
||
' 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, TxtNumeroParte.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, UsuarioActual.CveEmpresa,
|
||
CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarca, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim,
|
||
AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal,
|
||
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:=CveTamaño,
|
||
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
|
||
CveTipoEmpacado:=DdlEmpacado.SelectedValue.ToEntero(), CveTipoOrganico:=DdlTipoOrganico.SelectedValue.ToEntero(),
|
||
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
|
||
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString,
|
||
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero(), PrecioLibre:=ChkPrecioLibre.Checked,
|
||
CveMaterialPeligroso:=DdlMaterialPeligroso.SelectedValue.ToEntero, CveEmbalaje:=DdlEmbalaje.SelectedValue.ToEntero, PesoKg:=TxtPesoKg.Text.ToDecimal, Dimensiones:=TxtDimensiones.Text.Trim,
|
||
CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero, Litraje:=TxtLitraje.Text.ToDecimal,
|
||
RegistroRSCO:=TxtRegistroRSCO.Text, FechaVigenciaRSCO:=TxtFechaVigenciaRSCO.Text.ToDate, VigenciaIndeterminadaRSCO:=ChkFechaIndeterminadaRSCO.Checked,
|
||
NombreComercial:=TxtNombreComercial.Text.Trim, NotasAdicionales:=TxtEcommerceNota.Text.Trim, EcommerceEtiquetas:=TxtEcommerceEtiquetas.Text.Trim.Replace(".", ""), ActivoEcommerce:=ChkActivoEcommerce.Checked,
|
||
EcommercePrecio:=TxtEcommercePrecio.Text.Trim.ToDecimal, CveClasificacionEcommerce:=DdlEcommerceClasificacion.SelectedValue.ToEntero, EcommerceCantidad:=TxtEcommerceCantidad.Text.Trim.ToDecimal,
|
||
CodigoAlterno:=TxtCodigoAlterno.Text.Trim, PSAlterno:=TxtPSAlterno.Text.Trim) 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
|
||
|
||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" AndAlso ChkAplicaParaVenta.Checked Then
|
||
TieneError = GuardarProductoEnFranquicia(ObjProductosServicios, PSS, CveMetodoInv, EsPaquete, False)
|
||
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
|
||
Catch ex As Exception
|
||
TieneError = True
|
||
OnError("Ocurrió un error al guardar al guardar el producto/servicio.", ex)
|
||
End Try
|
||
|
||
If Not TieneError Then
|
||
If Not GuardaDatosCartPorte(ObjProductosServicios.IniciaTransacSQL) Then
|
||
TieneError = True
|
||
End If
|
||
End If
|
||
|
||
If Not TieneError Then
|
||
ObjProductosServicios.Commit()
|
||
Alert("El Producto/Servicio se guardo correctamente." + If(GeneraServicioAF = 1, " Recargue la pagina de ventas para poder utilizar el servicio", ""), 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 As Boolean = False
|
||
|
||
If ObjAliasAdd.AddPSAlias(TxtAlias.Text.ToString, CvePS, False, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 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 As Boolean = False
|
||
|
||
If ObjAliasDelete.RemovePSAlias(GVAlias.Rows(e.RowIndex).DataKey("CvePS").ToString.ToEntero, GVAlias.Rows(e.RowIndex).DataKey("PSAlias").ToString, UsuarioActual.CveUsuario) 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 As Boolean = False
|
||
|
||
Dim CveUM As Integer = GvEquivalencia.Rows(e.RowIndex).DataKey("CveUM").ToEntero
|
||
Dim UnidadBase As Boolean = GvEquivalencia.Rows(e.RowIndex).DataKey("UnidadBase").ToString = "True"
|
||
Dim Cantidad As Decimal = 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 As Boolean = False
|
||
|
||
Dim CveUM As Integer = 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 As Boolean = False
|
||
|
||
Dim CvePSAdicional As Integer = GvPSAdicionales.Rows(e.RowIndex).DataKey("CvePSAdicional").ToEntero
|
||
Dim PSAdicional As String = GvPSAdicionales.Rows(e.RowIndex).DataKey("PS").ToString
|
||
|
||
Dim ObjProductosServicios As New ClsProductosServicios()
|
||
If Not ObjProductosServicios.RemovePSAdicionales(CvePS, CvePSAdicional) Then
|
||
TieneError = True
|
||
Else
|
||
TieneError = EliminarProductosEquivalenteEnFranquicia(ObjProductosServicios, PSAdicional)
|
||
End If
|
||
ObjProductosServicios.Dispose()
|
||
|
||
If Not TieneError Then
|
||
Alert("El Producto/Servicio Adicional 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 As Boolean = False
|
||
|
||
If CvePSAdicional < 0 Then
|
||
If Not ObjProductosServicios.AddPSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
||
TieneError = True
|
||
Else
|
||
TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, True)
|
||
End If
|
||
Else
|
||
|
||
If Not ObjProductosServicios.UpdatePSAdicionales(CvePS, DdlPSAdicional.SelectedValue.ToEntero, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
||
TieneError = True
|
||
Else
|
||
TieneError = GuardarProductosEquivalenteEnFranquicia(ObjProductosServicios, False, PSAdicionalAnterior)
|
||
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")
|
||
PSAdicionalAnterior = GvRow.DataKey("PS").ToString
|
||
|
||
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
|
||
|
||
DdlMarca.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa)
|
||
DdlMarcaPSDes.DataSource = GlobalDTGralMarcas(UsuarioActual.CveEmpresa)
|
||
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()
|
||
|
||
divRowRSCO.Visible = True
|
||
|
||
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, Estatus:=-1)
|
||
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 ErrorUnificacion As Boolean = False
|
||
|
||
Dim ObjPS As New ClsProductosServicios
|
||
|
||
ObjPS.IniciaTransacSQL()
|
||
|
||
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)
|
||
ErrorUnificacion = True
|
||
End If
|
||
|
||
If ErrorUnificacion Then
|
||
ObjPS.RollBack()
|
||
Else
|
||
ObjPS.Commit()
|
||
End If
|
||
|
||
ObjPS.Dispose()
|
||
|
||
If Not ErrorUnificacion Then
|
||
RecargaGlobal()
|
||
RegistraScript("$('#DivUnificar').modal('hide');")
|
||
UpDatos.Update()
|
||
End If
|
||
|
||
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 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 As DataRow = 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
|
||
|
||
|
||
If DdlClasificacion.SelectedValue.ToEntero > 0 Then
|
||
Try
|
||
Dim Dr As DataRow = 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
|
||
OnError("Ocurrió un error al mostrar los tamaños", ex)
|
||
End Try
|
||
End If
|
||
End Sub
|
||
|
||
Private 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().CopyToDataTable.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 As Boolean = 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 As String = TxtEcommerceDescripcion.Text.Trim
|
||
Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
|
||
Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
|
||
Dim Disponible As Boolean = 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 As Boolean = True
|
||
Dim Mensaje As New StringBuilder
|
||
|
||
'DESCRIPCION
|
||
Dim Descripcion As String = 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 As Double = 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 As Double = 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 As Boolean = False
|
||
Dim CveInsignia As Integer = 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 As Boolean = True
|
||
Dim Mensaje As New StringBuilder
|
||
|
||
'INSIGNIA
|
||
Dim CveInsignia As Integer = 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 As Boolean = False
|
||
Dim GvRow As GridViewRow = 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 As String = ""
|
||
Dim Archivo As String = ""
|
||
Dim DirectorioTemporal As String = ""
|
||
|
||
Dim DirectorioDestino As String = $"{UsuarioActual.Empresa.Ruta}\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 = NowADS().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}{1}", UsuarioActual.Empresa.Ruta, 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 As Boolean = False
|
||
Dim CvePS As Integer = 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 As Boolean = True
|
||
Dim Mensaje As New StringBuilder
|
||
|
||
'PS
|
||
Dim CvePS As Integer = 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 As Boolean = False
|
||
Dim GvRow As GridViewRow = 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(UsuarioActual.CveEmpresa) = Nothing
|
||
'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)
|
||
HabilitaAplicaCaducidadTiempo()
|
||
End Sub
|
||
Private Sub HabilitaAplicaCaducidadTiempo()
|
||
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
|
||
DivTiempoCaducidad.Visible = ChkCaducidad.Checked
|
||
RfvTxtTiempoCaducidad.Enabled = ChkCaducidad.Checked
|
||
End If
|
||
End Sub
|
||
|
||
Private Function GuardarProductoEnFranquicia(ObjPS As ClsProductosServicios, PSS As String, CveMetodoInv As Integer, EsPaquete As Integer, Agregar As Boolean) As Boolean
|
||
Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563)
|
||
Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x))
|
||
For Each CveEmpresaFranquicia As Integer In EmpresasFranquicia
|
||
Dim nombreEmpresa As String = GlobalDTEmpresas(CveEmpresaFranquicia).FiltroPrimeroValor("Empresa")
|
||
Dim CveClasificacion As Integer = GlobalDTClasificaciones(CveEmpresa:=CveEmpresaFranquicia).FiltroPrimeroValor("CveClasificacion", String.Format("Clasificacion = '{0}'", DdlClasificacion.SelectedItem.Text)).ToEntero
|
||
Dim CveUnidadMedida As Integer = GlobalDTUnidadesMedida(CveEmpresa:=CveEmpresaFranquicia).FiltroPrimeroValor("CveUnidadMedida", String.Format("UnidadMedida = '{0}'", DdlUnidadMedida.SelectedItem.Text)).ToEntero
|
||
Dim CveClasificacion2 As Integer = GlobalDTClasificaciones(CveEmpresa:=CveEmpresaFranquicia).FiltroPrimeroValor("CveClasificacion", String.Format("Clasificacion = '{0}'", DdlClasificacion2.SelectedItem.Text)).ToEntero
|
||
Dim CveTipo As Integer = GlobalDTClasificacionesDetalle(CveEmpresa:=CveEmpresaFranquicia).FiltroPrimeroValor("CveClasificacionDetalle", String.Format("ClasificacionDetalle = '{0}'", DdlTipoPSDes.SelectedItem.Text)).ToEntero
|
||
Dim CveMarcaFranquicia As Integer = -1
|
||
If ObjPS.GetMarcas(CveEmpresaFranquicia) Then
|
||
CveMarcaFranquicia = ObjPS.DtResultados.FiltroPrimeroValor("CveMarca", String.Format("Marca = '{0}'", DdlMarca.SelectedItem.Text)).ToEntero
|
||
End If
|
||
Dim CveModelo As Integer = -1
|
||
Dim CveMedida As Integer = -1
|
||
Dim CveRin As Integer = -1
|
||
|
||
Dim ObjGral As New ClsGenerales()
|
||
If ObjGral.GetModelos(CveEmpresaFranquicia) Then
|
||
CveModelo = ObjGral.DtResultados.FiltroPrimeroValor("CveModelo", String.Format("Modelo = '{0}'", DdlModelo.SelectedItem.Text)).ToEntero
|
||
End If
|
||
|
||
CveMedida = GlobalDTPSMedidas(CveEmpresaFranquicia).FiltroPrimeroValor("CveMedida", String.Format("Medida = '{0}'", DdlMedida.SelectedItem.Text)).ToEntero
|
||
CveRin = GlobalDTPSRinTamaños(CveEmpresaFranquicia).FiltroPrimeroValor("CveRinTamaño", String.Format("RinTamaño = '{0}'", DdlRin.SelectedItem.Text)).ToEntero
|
||
|
||
|
||
ObjGral.Dispose()
|
||
|
||
If CveClasificacion <= 0 Then
|
||
Alert(String.Format("La clasificación indicada no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveUnidadMedida <= 0 Then
|
||
Alert(String.Format("La unidad de medida indicada no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveTipo <= 0 And DdlTipoPSDes.SelectedValue.ToEntero <> -1 Then
|
||
Alert(String.Format("El tipo de producto indicado no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveMarcaFranquicia <= 0 And DdlMarca.SelectedValue.ToEntero <> -1 Then
|
||
Alert(String.Format("La marca indicada no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveModelo <= 0 And DdlModelo.SelectedValue.ToEntero <> -1 Then
|
||
Alert(String.Format("El modelo indicado no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveMedida <= 0 And DdlMedida.SelectedValue.ToEntero <> -1 Then
|
||
Alert(String.Format("La medida indicada no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
If CveRin <= 0 And DdlRin.SelectedValue.ToEntero <> -1 Then
|
||
Alert(String.Format("El rin indicado no existe en la franquicia: '{0}'", nombreEmpresa), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
|
||
If Agregar Then
|
||
If Not ObjPS.AddPS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtNumeroParte.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble,
|
||
(TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, DdlProveedor.txtValue.Value.ToEntero, True, ChkAplicaParaVenta.Checked, UsuarioActual.CveUsuario,
|
||
CveEmpresaFranquicia, CveMetodoInv, EsPaquete, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, FuePorXML:=False, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2,
|
||
CveMarca:=CveMarcaFranquicia, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal,
|
||
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:=CveTipo, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveModelo:=CveModelo,
|
||
CveMedida:=CveMedida, CveRinTamaño:=CveRin, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString,
|
||
CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero,
|
||
ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString,
|
||
TiempoCaducidad:=TxtTiempoCaducidad.Text.ToEntero()) > 0 Then
|
||
'Alert(String.Format("Error al agregar el nuevo producto en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")))
|
||
Return True
|
||
|
||
End If
|
||
Else
|
||
|
||
If ObjPS.GetPS(-1, -1, CveEmpresaFranquicia, Codigo:=TxtCodigo.Text.Trim.ToUpper) Then
|
||
Dim CvePS As Integer = ObjPS.DtResultados.FiltroPrimeroValor("CvePS", String.Format(" Codigo = '{0}'", TxtCodigo.Text.Trim.ToUpper)).ToEntero()
|
||
If Not ObjPS.UpdatePS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtNumeroParte.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble,
|
||
(TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, -1, True, ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv,
|
||
EsPaquete, DdlSATPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarcaFranquicia,
|
||
AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal,
|
||
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:=CveTipo, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveModelo:=CveModelo,
|
||
CveMedida:=CveMedida, CveRinTamaño:=CveRin, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString,
|
||
CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero,
|
||
ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString,
|
||
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked,
|
||
TiempoCaducidad:=TxtTiempoCaducidad.Text.ToEntero()) Then
|
||
Return True
|
||
|
||
End If
|
||
Else
|
||
Alert(String.Format("El producto no existe en la franquicia: '{0}'", GlobalDTEmpresas(CveEmpresaFranquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia)
|
||
Return True
|
||
End If
|
||
End If
|
||
|
||
GlobalDTPSSimplificado(CveEmpresaFranquicia) = Nothing
|
||
GlobalDTProductosServiciosEquivalencias(-1, -1, CveEmpresaFranquicia) = Nothing
|
||
Next
|
||
|
||
Return False
|
||
End Function
|
||
|
||
Private Function GuardarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, Agregar As Boolean, Optional PSAdicionalAnterior As String = "") As Boolean
|
||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
|
||
|
||
Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563)
|
||
Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x))
|
||
For Each Franquicia As Integer In EmpresasFranquicia
|
||
Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero
|
||
Dim CvePSAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", DdlPSAdicional.SelectedItem.Text)).ToEntero
|
||
|
||
If CvePSPagina <= 0 Then
|
||
Alert(String.Format("El producto de la página no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia)
|
||
End If
|
||
|
||
If CvePSAdicional <= 0 Then
|
||
Alert(String.Format("El producto adicional no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia)
|
||
End If
|
||
|
||
If Agregar Then
|
||
If Not ObjPS.AddPSAdicionales(CvePSPagina, CvePSAdicional, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
||
Return True
|
||
End If
|
||
Else
|
||
Dim CvepsAdicionalAnt As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", PSAdicionalAnterior)).ToEntero
|
||
|
||
If CvepsAdicionalAnt <= 0 Then
|
||
Alert(String.Format("El producto adicional no existe en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa")), TipoMensaje.MsgAdvertencia)
|
||
Else
|
||
If Not ObjPS.UpdatePSAdicionales(CvePSPagina, CvePSAdicional, CvepsAdicionalAnt, If(TxtCantidadPSAdicional.Visible, TxtCantidadPSAdicional.Text.ToDecimal, 0)) Then
|
||
Return True
|
||
End If
|
||
End If
|
||
|
||
|
||
End If
|
||
Next
|
||
End If
|
||
Return False
|
||
End Function
|
||
|
||
|
||
Private Function EliminarProductosEquivalenteEnFranquicia(ObjPS As ClsProductosServicios, PSAdicional As String) As Boolean
|
||
If UsuarioActual.Empresa.Funcionalidad(563) <> "" Then
|
||
Dim StrEmpresas As String = UsuarioActual.Empresa.Funcionalidad(563)
|
||
Dim EmpresasFranquicia As List(Of Integer) = StrEmpresas.Split(","c).ToList().ConvertAll(Function(x) Convert.ToInt32(x))
|
||
For Each Franquicia As Integer In EmpresasFranquicia
|
||
Dim CvepsAdicional As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("PS = '{0}'", PSAdicional)).ToEntero
|
||
Dim CvePSPagina As Integer = GlobalDTPS(Franquicia).FiltroPrimeroValor("CvePS", String.Format("Codigo = '{0}'", TxtCodigo.Text.Trim)).ToEntero
|
||
If Not ObjPS.RemovePSAdicionales(CvePSPagina, CvepsAdicional) Then
|
||
Return True
|
||
End If
|
||
Next
|
||
End If
|
||
Return False
|
||
End Function
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Sub ValidaMaterialPeligroso(CveSATPS As Integer)
|
||
|
||
Dim EsPeligroso As Boolean = False
|
||
|
||
Dim ObjGrales As New ClsGenerales
|
||
|
||
|
||
If ObjGrales.GetSATProductosServicios(CveSATPS:=CveSATPS) Then
|
||
|
||
Dim DTDatos As New DataTable
|
||
DTDatos = ObjGrales.DtResultados.FiltraParametros($" CveSATPS= {CveSATPS}")
|
||
|
||
'Es material Peligros
|
||
If DTDatos.Rows(0)("EsPeligroso").ToString.ToEntero = 1 Then
|
||
|
||
If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 And DdlEmbalaje.txtValue.Value.ToEntero > 0 And TxtPesoKg.Text.Trim.Length > 0 Then
|
||
ValidaMaterialPeligrosoMensaje = True
|
||
Else
|
||
|
||
RegistraScript("$('#DivModalMensaje').modal('show');")
|
||
ValidaMaterialPeligrosoMensaje = False
|
||
LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado esta clasificado como material peligroso, favor de llenar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios."
|
||
UPModalMensaje.Update()
|
||
End If
|
||
|
||
Else
|
||
'No es matgerial peligroso
|
||
|
||
If DdlMaterialPeligroso.txtValue.Value.ToEntero > 0 Or DdlEmbalaje.txtValue.Value.ToEntero > 0 Then
|
||
RegistraScript("$('#DivModalMensaje').modal('show');")
|
||
ValidaMaterialPeligrosoMensaje = False
|
||
LblModalMensajeCuerpo.Text = "El producto servicio del SAT seleccionado no esta clasificado como material peligroso, favor de limpiar los datos de la sección carta porte en la pestaña Contabilidad - Inventarios, el incluir estos datos en un material no peligroso generara errores al timbrar traslados."
|
||
UPModalMensaje.Update()
|
||
|
||
Else
|
||
ValidaMaterialPeligrosoMensaje = True
|
||
End If
|
||
|
||
|
||
End If
|
||
End If
|
||
|
||
|
||
If ValidaMaterialPeligrosoMensaje Then
|
||
|
||
End If
|
||
|
||
ObjGrales.Dispose()
|
||
|
||
If ValidaMaterialPeligrosoMensaje Then
|
||
BtnGuardar_Click(Nothing, Nothing)
|
||
End If
|
||
|
||
'Return Respuesta
|
||
|
||
End Sub
|
||
|
||
Protected Sub BtnmodalMensajeOK_Click(sender As Object, e As EventArgs)
|
||
|
||
ValidaMaterialPeligrosoMensaje = True
|
||
RegistraScript("$('#DivPersonalizar').modal('hide');")
|
||
|
||
BtnGuardar_Click(Nothing, Nothing)
|
||
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
Protected Sub LnkCPLimpiarConfiguracion_Click(sender As Object, e As EventArgs)
|
||
|
||
DdlMaterialPeligroso.txtText.Value = ""
|
||
DdlMaterialPeligroso.txtValue.Value = ""
|
||
DdlEmbalaje.txtText.Value = ""
|
||
DdlEmbalaje.txtValue.Value = ""
|
||
|
||
DdlClaveSectorCOFEPRIS.SelectedValueExist(-1)
|
||
DdlClaveFormaFarmaceutica.SelectedValueExist(-1)
|
||
TxtDimensiones.Text = ""
|
||
TxtPesoKg.Text = ""
|
||
'TxtNombreIngredienteActivo.Text = ""
|
||
'TxtNomQuimico.Text = ""
|
||
'TxtDenominacionGenerica.Text = ""
|
||
'TxtDenominacionDistintiva.Text = ""
|
||
'TxtFabricante.Text = ""
|
||
'TxtCondicionesTransporte.Text = ""
|
||
'TxtRegistroSanitarioAutorizacion.Text = ""
|
||
'TxtPermisoImportacion.Text = ""
|
||
'TxtFolioImportacionVUCEM.Text = ""
|
||
'TxtNumCAS.Text = ""
|
||
'TxtRazonSocialEmpImportacion.Text = ""
|
||
'TxtNumRegistroPlagCOFEPRIS.Text = ""
|
||
'TxtDatosFabricante.Text = ""
|
||
'TxtDatosFormulador.Text = ""
|
||
'TxtDatosMaquilador.Text = ""
|
||
'TxtUsoAutorizado.Text = ""
|
||
|
||
MostrarOcultarControlesCCP(LimpiarControles:=True)
|
||
|
||
UpCartaPorte.Update()
|
||
|
||
End Sub
|
||
|
||
|
||
Protected Sub ChkFechaIndeterminadaRSCO_CheckedChanged(sender As Object, e As EventArgs)
|
||
|
||
DivRegistroRSCO3.Visible = If(ChkFechaIndeterminadaRSCO.Checked, False, True)
|
||
If TxtFechaVigenciaRSCO.Text = "01/01/1900" Then
|
||
TxtFechaVigenciaRSCO.Text = ""
|
||
End If
|
||
|
||
UpDatos.Update()
|
||
|
||
End Sub
|
||
|
||
Private Sub CargaDatosCartaPorte()
|
||
|
||
|
||
Dim ObjPS As New ClsProductosServicios
|
||
|
||
If ObjPS.GetProductosServiciosComplementos(CvePS) AndAlso ObjPS.DtResultados.Rows.Count > 0 Then
|
||
|
||
DdlMaterialPeligroso.txtText.Value = ObjPS.DtResultados.Rows(0)("MaterialPeligroso").ToString
|
||
DdlMaterialPeligroso.txtValue.Value = ObjPS.DtResultados.Rows(0)("CveMaterialPeligroso").ToString
|
||
DdlEmbalaje.txtText.Value = ObjPS.DtResultados.Rows(0)("Embalaje").ToString
|
||
DdlEmbalaje.txtValue.Value = ObjPS.DtResultados.Rows(0)("CveEmbalaje").ToString
|
||
DdlClaveSectorCOFEPRIS.SelectedValueExist(ObjPS.DtResultados.Rows(0)("CveSectorCOFEPRIS").ToString)
|
||
DdlClaveFormaFarmaceutica.SelectedValueExist(ObjPS.DtResultados.Rows(0)("CveFormaFarmaceutica").ToString)
|
||
|
||
TxtPesoKg.Text = ObjPS.DtResultados.Rows(0)("PesoKg").ToString
|
||
TxtDimensiones.Text = ObjPS.DtResultados.Rows(0)("Dimensiones").ToString
|
||
|
||
TxtNombreIngredienteActivo.Text = ObjPS.DtResultados.Rows(0)("NombreIngredienteActivo").ToString
|
||
TxtNomQuimico.Text = ObjPS.DtResultados.Rows(0)("NomQuimico").ToString
|
||
TxtDenominacionGenerica.Text = ObjPS.DtResultados.Rows(0)("DenominacionGenerica").ToString
|
||
TxtDenominacionDistintiva.Text = ObjPS.DtResultados.Rows(0)("DenominacionDistintiva").ToString
|
||
TxtFabricante.Text = ObjPS.DtResultados.Rows(0)("Fabricante").ToString
|
||
'TxtCondicionesTransporte.Text = ObjPS.DtResultados.Rows(0)("CondicionesTransporte").ToString
|
||
TxtRegistroSanitarioAutorizacion.Text = ObjPS.DtResultados.Rows(0)("RegistroSanitarioAutorizacion").ToString
|
||
TxtPermisoImportacion.Text = ObjPS.DtResultados.Rows(0)("PermisoImportacion").ToString
|
||
TxtFolioImportacionVUCEM.Text = ObjPS.DtResultados.Rows(0)("FolioImportacionVUCEM").ToString
|
||
TxtNumCAS.Text = ObjPS.DtResultados.Rows(0)("NumCAS").ToString
|
||
TxtRazonSocialEmpImportacion.Text = ObjPS.DtResultados.Rows(0)("RazonSocialEmpImportacion").ToString
|
||
TxtNumRegistroPlagCOFEPRIS.Text = ObjPS.DtResultados.Rows(0)("NumRegistroPlagCOFEPRIS").ToString
|
||
TxtDatosFabricante.Text = ObjPS.DtResultados.Rows(0)("DatosFabricante").ToString
|
||
TxtDatosFormulador.Text = ObjPS.DtResultados.Rows(0)("DatosFormulador").ToString
|
||
TxtDatosMaquilador.Text = ObjPS.DtResultados.Rows(0)("DatosMaquilador").ToString
|
||
TxtUsoAutorizado.Text = ObjPS.DtResultados.Rows(0)("UsoAutorizado").ToString
|
||
DdlCondicionesEspTransporte.SelectedValueExist(ObjPS.DtResultados.Rows(0)("CveCondicionesEspTransporte").ToString)
|
||
DdlTipoMateria.SelectedValueExist(ObjPS.DtResultados.Rows(0)("CveTipoMateria").ToString)
|
||
|
||
MostrarOcultarControlesCCP(LimpiarControles:=False)
|
||
|
||
End If
|
||
|
||
UpCartaPorte.Update()
|
||
|
||
End Sub
|
||
|
||
Private Sub MostrarOcultarControlesCCP(Optional LimpiarControles As Boolean = False)
|
||
DVClaveFormaFarmaceutica.Visible = False
|
||
DVNombreIngredienteActivo.Visible = False
|
||
DVNomQuimico.Visible = False
|
||
DVDenominacionGenerica.Visible = False
|
||
DVDenominacionDistintiva.Visible = False
|
||
DVFabricante.Visible = False
|
||
DVCondicionesTransporte.Visible = False
|
||
DVRegistroSanitarioAutorizacion.Visible = False
|
||
'DVPermisoImportacion.Visible = False '--------------
|
||
'DVFolioImportacionVUCEM.Visible = False '-----------
|
||
DVNumCAS.Visible = False
|
||
'DVRazonSocialEmpImportacion.Visible = False '---------
|
||
DVNumRegistroPlagCOFEPRIS.Visible = False
|
||
DVDatosFabricante.Visible = False
|
||
DVDatosFormulador.Visible = False
|
||
DVDatosMaquilador.Visible = False
|
||
DVUsoAutorizado.Visible = False
|
||
|
||
If LimpiarControles Then
|
||
DdlClaveFormaFarmaceutica.SelectedValueExist(-1)
|
||
TxtNombreIngredienteActivo.Text = ""
|
||
TxtNomQuimico.Text = ""
|
||
TxtDenominacionGenerica.Text = ""
|
||
TxtDenominacionDistintiva.Text = ""
|
||
TxtFabricante.Text = ""
|
||
TxtRegistroSanitarioAutorizacion.Text = ""
|
||
TxtPermisoImportacion.Text = ""
|
||
TxtFolioImportacionVUCEM.Text = ""
|
||
TxtNumCAS.Text = ""
|
||
TxtRazonSocialEmpImportacion.Text = ""
|
||
TxtNumRegistroPlagCOFEPRIS.Text = ""
|
||
TxtDatosFabricante.Text = ""
|
||
TxtDatosFormulador.Text = ""
|
||
TxtDatosMaquilador.Text = ""
|
||
TxtUsoAutorizado.Text = ""
|
||
End If
|
||
|
||
|
||
If DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero = 1 Then ' 1 - Medicamento
|
||
DVDenominacionGenerica.Visible = True
|
||
DVDenominacionDistintiva.Visible = True
|
||
DVFabricante.Visible = True
|
||
DVClaveFormaFarmaceutica.Visible = True
|
||
DVCondicionesTransporte.Visible = True
|
||
DVRegistroSanitarioAutorizacion.Visible = True
|
||
ElseIf DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero = 2 Then '2 - Precursores y químicos de uso dual
|
||
DVNombreIngredienteActivo.Visible = True
|
||
DVNomQuimico.Visible = True
|
||
DVFabricante.Visible = True
|
||
DVClaveFormaFarmaceutica.Visible = True
|
||
DVCondicionesTransporte.Visible = True
|
||
ElseIf DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero = 3 Then ' 3 - Psicotrópicos y estupefacientes
|
||
DVDenominacionGenerica.Visible = True
|
||
DVDenominacionDistintiva.Visible = True
|
||
DVFabricante.Visible = True
|
||
DVClaveFormaFarmaceutica.Visible = True
|
||
DVCondicionesTransporte.Visible = True
|
||
DVRegistroSanitarioAutorizacion.Visible = True
|
||
ElseIf DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero = 4 Then ' 4 - Sustancias tóxicas
|
||
DVNomQuimico.Visible = True
|
||
DVNumCAS.Visible = True
|
||
ElseIf DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero = 5 Then ' 5 - Plaguicidas y fertilizantes
|
||
DVNumRegistroPlagCOFEPRIS.Visible = True
|
||
DVDatosFabricante.Visible = True
|
||
DVDatosFormulador.Visible = True
|
||
DVDatosMaquilador.Visible = True
|
||
DVUsoAutorizado.Visible = True
|
||
End If
|
||
UpCartaPorte.Update()
|
||
End Sub
|
||
|
||
|
||
Private Function GuardaDatosCartPorte(ByRef transaccionSQL As SqlTransaction) As Boolean
|
||
Dim Respuesta As Boolean = True
|
||
Dim CamposStringCCP As String = ""
|
||
|
||
CamposStringCCP = CamposStringCCP + TxtNombreIngredienteActivo.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtNomQuimico.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtDenominacionGenerica.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtDenominacionDistintiva.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtFabricante.Text.Trim()
|
||
' CamposStringCCP = CamposStringCCP + TxtCondicionesTransporte.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtRegistroSanitarioAutorizacion.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtPermisoImportacion.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtFolioImportacionVUCEM.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtNumCAS.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtRazonSocialEmpImportacion.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtNumRegistroPlagCOFEPRIS.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtDatosFabricante.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtDatosFormulador.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtDatosMaquilador.Text.Trim()
|
||
CamposStringCCP = CamposStringCCP + TxtUsoAutorizado.Text.Trim()
|
||
|
||
If CamposStringCCP.Length > 0 And (DdlMaterialPeligroso.SelectedValue.ToEntero <= 0 Or DdlEmbalaje.SelectedValue.ToEntero <= 0 Or TxtPesoKg.Text = "") Then
|
||
Alert("Para guardar los datos de carta porte los campos Material Peligroso, Embalaje, Peso en Kg son requeridos", TipoMensaje.MsgAdvertencia)
|
||
Respuesta = False
|
||
Else
|
||
|
||
'If DdlMaterialPeligroso.SelectedValue.ToEntero > 0 And DdlEmbalaje.SelectedValue.ToEntero > 0 And DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero > 0 And CamposStringCCP.Length > 0 Then
|
||
Dim ObjPS As New ClsProductosServicios(transaccionSQL)
|
||
If Not ObjPS.AddUpdateProductosServiciosComplementos(CvePS, TxtPesoKg.Text.ToDecimal, DdlMaterialPeligroso.SelectedValue.ToEntero, DdlEmbalaje.SelectedValue.ToEntero, TxtDimensiones.Text, DdlClaveSectorCOFEPRIS.SelectedValue.ToEntero,
|
||
TxtNombreIngredienteActivo.Text.Trim, TxtNomQuimico.Text.Trim, TxtDenominacionGenerica.Text.Trim, TxtDenominacionDistintiva.Text.Trim, TxtFabricante.Text.Trim, DdlClaveFormaFarmaceutica.SelectedValue.ToEntero, DdlCondicionesEspTransporte.SelectedValue.ToEntero,
|
||
TxtRegistroSanitarioAutorizacion.Text.Trim, TxtPermisoImportacion.Text.Trim, TxtFolioImportacionVUCEM.Text.Trim, TxtNumCAS.Text.Trim, TxtRazonSocialEmpImportacion.Text, TxtNumRegistroPlagCOFEPRIS.Text.Trim, TxtDatosFabricante.Text.Trim,
|
||
TxtDatosFormulador.Text.Trim, TxtDatosMaquilador.Text.Trim, TxtUsoAutorizado.Text, DdlTipoMateria.SelectedValue.ToEntero) Then
|
||
Respuesta = False
|
||
End If
|
||
' End If
|
||
End If
|
||
|
||
Return Respuesta
|
||
|
||
End Function
|
||
|
||
|
||
|
||
|
||
Protected Sub DdlClaveSectorCOFEPRIS_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||
|
||
MostrarOcultarControlesCCP(LimpiarControles:=True)
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
End Class
|