Files
SIG/Inventarios/Apartados.aspx.vb
2022-02-18 12:50:39 -07:00

1014 lines
45 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Inventarios_Apartados
Inherits ClsPaginas
#Region " PROPIEDADES "
Public Property DtMovimientos() As DataTable
Get
Return CType(ViewState("DtMovimientos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtMovimientos") = value
End Set
End Property
Private Property DtTraslado As DataTable
Get
Return CType(ViewState("DtTraslado"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtTraslado") = value
End Set
End Property
Private Property CargadoDeMov As Boolean
Get
Return CType(ViewState("CargadoDeMov"), Boolean)
End Get
Set(value As Boolean)
ViewState("CargadoDeMov") = value
End Set
End Property
Private Property CvePSSerie As Integer
Get
Return CType(ViewState("CvePSSerie"), Integer)
End Get
Set(value As Integer)
ViewState("CvePSSerie") = value
End Set
End Property
Private Property CveUMSerie As Integer
Get
Return CType(ViewState("CveUMSerie"), Integer)
End Get
Set(value As Integer)
ViewState("CveUMSerie") = value
End Set
End Property
Private Property CveCliente As Integer
Get
Return CType(ViewState("CveCliente"), Integer)
End Get
Set(value As Integer)
ViewState("CveCliente") = value
End Set
End Property
Private Property CveVendedor As Integer
Get
Return CType(ViewState("CveVendedor"), Integer)
End Get
Set(value As Integer)
ViewState("CveVendedor") = value
End Set
End Property
Private Property IndexSeccionAlmacen As Integer
Get
Return CType(ViewState("IndexSeccionAlmacen"), Integer)
End Get
Set(value As Integer)
ViewState("IndexSeccionAlmacen") = value
End Set
End Property
Private Property CantidadTotal As Decimal
Get
Return CType(ViewState("CantidadTotal"), Decimal)
End Get
Set(value As Decimal)
ViewState("CantidadTotal") = value
End Set
End Property
Private Property CvePS As Integer
Get
Return CType(ViewState("CvePS"), Integer)
End Get
Set(value As Integer)
ViewState("CvePS") = value
End Set
End Property
Private Property TipoSeccionAlmacen As Integer
Get
Return CType(ViewState("TipoSeccionAlmacen"), Integer)
End Get
Set(value As Integer)
ViewState("TipoSeccionAlmacen") = 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()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFecha.Text = Now.ToShortDateString
TxtFechaDesapartado.Text = Now.ToShortDateString
CargaCombos()
CreaDT()
If UsuarioActual.Empresa.Funcionalidad(132) = "1" Then
DivCodigoSeriePS.Visible = True
Else
DivCodigoSeriePS.Visible = False
End If
CveCliente = -1
CveVendedor = -1
CantidadTotal = 0
IndexSeccionAlmacen = 0
CvePS = 0
TipoSeccionAlmacen = 0
End Sub
Private Sub CargaCombos()
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione ", "-1"))
DdlSubProyectoDesapartado.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyectoDesapartado.DataBind()
DdlSubProyectoDesapartado.Items.Insert(0, New ListItem(" Todas ", "-1"))
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
DdlUnidad.DataSource = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa)
DdlUnidad.DataBind()
CargaAlmacenOrigen()
CargaAlmacenDestino()
CargaPS()
Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
If EsWS Then
DdlClientes.setEsWebService(True)
DdlClienteDesapartado.setEsWebService(True)
Else
DdlClientes.setEsWebService(False)
DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClientes.DataBind()
DdlClientes.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClienteDesapartado.setEsWebService(False)
DdlClienteDesapartado.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
DdlClienteDesapartado.DataBind()
DdlClienteDesapartado.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
'DdlCliente.DataBind()
'DdlCliente.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
'DdlClienteDesapartado.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa, -1)
'DdlClienteDesapartado.DataBind()
'DdlClienteDesapartado.Items.Insert(0, New ListItem(" Todos ", "-1"))
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa)
DdlVendedor.DataBind()
DdlVendedor.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
DdlVendedorDesapartado.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, Estatus:=-1)
DdlVendedorDesapartado.DataBind()
DdlVendedorDesapartado.Items.Insert(0, New ListItem(" Todos ", "-1"))
End Sub
Private Sub CargaPS()
DdlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.CveEmpresa = 66 Then
DdlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
DdlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue.ToString)
End If
If Not DdlProducto2.UsaWebService AndAlso CType(DdlProducto2.DataSource, DataTable) Is Nothing Then
DdlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlProducto2.DataBind()
End If
End Sub
Protected Sub CreaDT()
Dim dt As New DataTable
Dim column As DataColumn = New DataColumn("No")
column.DataType = Type.GetType("System.Int32")
With column
.AutoIncrement = True
.AutoIncrementSeed = 1
.AutoIncrementStep = 1
End With
dt.Columns.Add(column)
dt.Columns.Add("Cantidad", Type.GetType("System.Double"))
dt.Columns.Add("CveUM", Type.GetType("System.Int32"))
dt.Columns.Add("UnidadMedida")
dt.Columns.Add("CvePS", Type.GetType("System.Int32"))
dt.Columns.Add("CveAF", Type.GetType("System.Int32"))
dt.Columns.Add("PS")
dt.Columns.Add("CveSeccionAlmacen", Type.GetType("System.Int32"))
dt.Columns.Add("SeccionAlmacen")
dt.Columns.Add("Serie")
dt.Columns.Add("Lote")
dt.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime"))
dt.Columns.Add("CveClasificacion", Type.GetType("System.Int32"))
dt.Columns.Add("EstatusExistencia")
DtMovimientos = dt
CargaGvDatos()
End Sub
#End Region
#Region " APARTADOS "
#Region " DDL CLASIFICACION "
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DdlClasificacion.SelectedIndexChanged
ChangeDdlProducto()
End Sub
Private Sub ChangeDdlProducto()
If UsuarioActual.Empresa.Funcionalidad(105) = "" Then
DdlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero).FiltraParametros("", "PSCodigo")
DdlProducto2.DataBind()
DdlProducto2.ddl.Items.Insert(0, New ListItem(" ", "-1"))
Else
DdlProducto2.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlProducto2.SelectedText = "Seleccione"
DdlProducto2.SelectedValue = "-1"
End If
End Sub
Protected Sub DdlProducto_ValueChanged(sender As Object, e As EventArgs) Handles DdlProducto2.selectedindexchange
ElProductoChange()
End Sub
Private Sub ElProductoChange()
TxtnSerie.Visible = False
If DdlProducto2.SelectedValue.ToEntero > 0 Then
Dim drP As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlProducto2.SelectedValue.ToEntero).FiltroPrimero("")
If drP IsNot Nothing Then
If CBool(drP("AplicaSerie")) Then
ThSerie.Visible = True
TdSerie.Visible = True
TxtnSerie.Visible = True
GvDatos.Columns(4).Visible = True
End If
If CBool(drP("AplicaLote")) Then
ThLote.Visible = True
TdLote.Visible = True
GvDatos.Columns(5).Visible = True
End If
If CBool(drP("AplicaCaducidad")) Then
ThCaducidad.Visible = True
TdCaducidad.Visible = True
GvDatos.Columns(6).Visible = True
End If
If CBool(drP("AplicaSeccion")) Then
ThSeccion.Visible = True
TdSeccionAlmacen.Visible = True
CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
'DdlSeccionAlmacen.DataSource = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero)
'DdlSeccionAlmacen.DataBind()
GvDatos.Columns(7).Visible = True
End If
End If
End If
DdlUnidad.Items.Clear()
DdlUnidad.DataSource = GlobalDTProductosServiciosEquivalencias(DdlProducto2.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
DdlUnidad.DataBind()
UpDatos.Update()
End Sub
Protected Sub DdlClasificacion_GV(sender As Object, e As System.EventArgs)
Dim pDdlClasificacion As DropDownList = CType(sender, DropDownList)
Dim pDdlProducto As DropDownList = CType(pDdlClasificacion.NamingContainer.FindControl("DdlProducto"), DropDownList)
If pDdlClasificacion.SelectedValue = "-1" Then
pDdlProducto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
Else
pDdlProducto.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=pDdlClasificacion.SelectedValue.ToEntero)
End If
'If pDdlClasificacion.SelectedValue = "-1" Then
' pDdlProducto.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa)
'Else
' If isWhitFamily() Then
' pDdlProducto.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubFamilia={0}", DdlClasificacion.SelectedValue))
' Else
' pDdlProducto.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveClasificacion={0}", DdlClasificacion.SelectedValue))
' End If
'End If
pDdlProducto.DataBind()
pDdlProducto.Items.Insert(0, New ListItem("----", "-1"))
End Sub
#End Region
#Region " DDL SUCURSAL "
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
CargaAlmacenes()
End Sub
Private Sub CargaAlmacenes()
CargaAlmacenOrigen(DdlSubProyecto.SelectedValue.ToEntero)
CargaAlmacenDestino(DdlSubProyecto.SelectedValue.ToEntero)
End Sub
Private Sub CargaAlmacenOrigen(Optional CveSubProyecto As Integer = -1)
DdlAlmacenOrigen.Items.Clear()
If CveSubProyecto > 0 Then
DdlAlmacenOrigen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveTipoAlmacen NOT IN (3,9) {If(CveSubProyecto > 0, $" AND CveSubProyecto = {CveSubProyecto}", "")}")
End If
DdlAlmacenOrigen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
DdlAlmacenOrigen.SelectedValue = "-1"
DdlAlmacenOrigen.DataBind()
End Sub
Private Sub CargaAlmacenDestino(Optional CveSubProyecto As Integer = -1)
DivAdvertencia.Visible = False
BtnGuardar.Enabled = True
DdlAlmacenDestino.Items.Clear()
Dim DtDestinos As New DataTable
If CveSubProyecto > 0 Then
DtDestinos = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros($"CveTipoAlmacen IN (9) AND Estatus = 'Activo' {If(CveSubProyecto > 0, $" And CveSubProyecto = {CveSubProyecto}", "")}")
DdlAlmacenDestino.DataSource = DtDestinos
If DtDestinos.Rows.Count = 0 Then
DivAdvertencia.Visible = True
BtnGuardar.Enabled = False
End If
End If
DdlAlmacenDestino.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacenDestino.DataBind()
If DtDestinos.Rows.Count > 0 Then
DdlAlmacenDestino.SelectedIndex = 1
Else
DdlAlmacenDestino.SelectedValue = "-1"
End If
End Sub
#End Region
#Region " DDL CLIENTE "
Protected Sub DdlCliente_SelectedIndexChanged(sender As Object, e As EventArgs)
SeleccionaVendedor()
End Sub
Private Sub SeleccionaVendedor()
DdlVendedor.SelectedValue = "-1"
DdlVendedor.SelectedValueExist(GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CveVendedor", $"CveCliente = {DdlClientes.SelectedValue}"))
End Sub
#End Region
#Region " AGREGAR "
#Region " AGREGAR CON CODIGO DE BARRAS "
Protected Sub BtnCodigoPS_Click(sender As Object, e As EventArgs)
If TxtCodigoPS.Text = "" Then
Exit Sub
End If
TdSeriePS.Visible = False
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"CodigoBarras = '{TxtCodigoPS.Text}'")
If DrPS Is Nothing Then
Alert($"No se ha encontrado un producto del Codigo ""<b>{TxtCodigoPS.Text}</b>"". ", TipoMensaje.MsgAdvertencia, "window.setTimeout(Focus,200);")
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
TxtCodigoPS.Text = ""
Exit Sub
End If
If DrPS("Inv_CveMetodoInventario").ToString.ToEntero = 5 Then
TdSeriePS.Visible = True
TxtSeriePS.Focus()
CvePSSerie = DrPS("CvePS").ToString.ToEntero
CveUMSerie = DrPS("CveUnidadMedida").ToString.ToEntero
Exit Sub
End If
AgregarPS(1, DrPS("CvePS").ToString.ToEntero, DrPS("CveUnidadMedida").ToString.ToEntero)
TxtCodigoPS.Text = ""
End Sub
Protected Sub BtnSeriePS_Click(sender As Object, e As EventArgs)
If TxtSeriePS.Text.Trim = "" Then
Exit Sub
End If
txtCantidad.Text = "1"
Dim Valido = ValidaExistencia(1, CvePSSerie, CveUMSerie, TxtSeriePS.Text.Trim)
If Valido Then
AgregarPS(1, CvePSSerie, CveUMSerie, Serie:=TxtSeriePS.Text.Trim)
Else
TxtSeriePS.Text = ""
TxtSeriePS.Focus()
Exit Sub
End If
TdSeriePS.Visible = False
TxtSeriePS.Text = ""
TxtCodigoPS.Text = ""
TxtCodigoPS.Focus()
End Sub
#End Region
Protected Sub btnAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click
BtnAgregarPS(txtCantidad.Text.ToDouble)
End Sub
Protected Sub BtnSerieAddNew_Click(sender As Object, e As EventArgs)
BtnAgregarPS(1)
End Sub
Private Sub BtnAgregarPS(Cantidad As Double)
Dim CveProducto As Integer = DdlProducto2.SelectedValue.ToEntero
Dim FuncionalidadSinSerie = True
If CveProducto > 0 Then
If TxtnSerie.Visible Then
Cantidad = 1
If TxtnSerie.Text = "" Then
Alert("Serie es necesario", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
Exit Sub
End If
If txtCantidad.Text.ToDouble > 1 Then
FuncionalidadSinSerie = False
End If
End If
Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, Serie:=If(TxtnSerie.Visible, TxtnSerie.Text, "-1"))
If Valido Then
Dim StrSeccion As String = If(DdlSeccionAlmacen.SelectedValue.ToEntero > 0, DdlSeccionAlmacen.SelectedItem.Text, "")
AgregarPS(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=StrSeccion, Serie:=If(TxtnSerie.Text <> "", TxtnSerie.Text, ""), Limpia:=FuncionalidadSinSerie)
End If
End If
End Sub
Private Function ValidaExistencia(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer, Optional Serie As String = "-1",
Optional Lote As String = "-1", Optional FechaCaducidad As Date = MinFecha, Optional CveSeccionAlmacen As Integer = -1) As Boolean
Dim Retorno = True
Dim Inv As New ClsInventarios
Dim Existencia As Double = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad)
Inv.Dispose()
If Existencia - Cantidad - DtMovimientos.SUM("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUnidadMedida} {If(Serie <> "-1", $" AND Serie = '{Serie}'", "")}") < 0 Then
If Existencia < 0 Then
Alert("No hay existencia del producto", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
Else
Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
Retorno = False
End If
Return Retorno
End Function
Private Sub AgregarPS(Cantidad As Double, CvePS As Integer, CveUnidadMedida As Integer,
Optional CveSeccionAlmacen As Integer = -1, Optional Serie As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha, Optional Limpia As Boolean = True, Optional SeccionAlmacen As String = "")
If Cantidad <= 0 Then
Alert("La cantidad debe ser mayor a cero (0). Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If
Dim CveClasificacion As Integer
Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If DrPS IsNot Nothing Then CveClasificacion = DrPS("CveClasificacion").ToString.ToEntero
Dim DrUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimero($"CveUnidadMedida = {CveUnidadMedida}")
Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUnidadMedida
registro.Item("UnidadMedida") = DrUM("UnidadMedida")
registro.Item("CvePS") = CvePS
registro.Item("PS") = DrPS("PSCodigo")
registro.Item("Serie") = Serie
registro.Item("Lote") = Lote
registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("CveAF") = -1
registro.Item("EstatusExistencia") = "1"
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = If(CveSeccionAlmacen > 0, SeccionAlmacen, "")
DtMovimientos.Rows.Add(registro)
RegistraScript("playsonidito('beep-07.wav')")
CargaGvDatos(Limpia)
If Limpia Then
LimpiaAgregar()
Else
txtCantidad.Text = (txtCantidad.Text.ToDouble - 1.0).ToString
TxtnSerie.Text = ""
TxtnSerie.Focus()
End If
End Sub
Private Sub LimpiaAgregar()
DdlClasificacion.SelectedValue = "-1"
DdlClasificacion_SelectedIndexChanged(DdlClasificacion, EventArgs.Empty)
txtCantidad.Text = ""
TxtnSerie.Text = ""
TxtnSerie.Visible = False
txtCantidad.Focus()
If TxtCodigoPS.Visible Then
TxtCodigoPS.Focus()
End If
End Sub
#End Region
#Region " GV DATOS "
Private Sub CargaGvDatos(Optional EscondeSerie As Boolean = True)
'If EscondeSerie Then
' TxtnSerie.Visible = False
' ThSerie.Visible = False
' TdSerie.Visible = False
' GvDatos.Columns(4).Visible = False
'End If
GvDatos.Columns(4).Visible = DtMovimientos.MAX("Serie").ToString <> ""
GvDatos.Columns(5).Visible = DtMovimientos.MAX("Lote").ToString <> ""
GvDatos.Columns(6).Visible = DtMovimientos.MAX("FechaCaducidad").ToString.ToDate > MinFecha
GvDatos.Columns(7).Visible = DtMovimientos.MAX("CveSeccionAlmacen").ToString.ToEntero > 0
GvDatos.DataSource = DtMovimientos
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("EstatusExistencia").ToEntero < 0 Then
e.Row.Cells(0).BackColor = Drawing.Color.Red
End If
If CargadoDeMov Then
e.Row.FCLiteral("ltlCantidad").Visible = False
e.Row.FCTextBox("TxtCantidad2").Visible = True
e.Row.FCTextBox("TxtCantidad2").Attributes.Add("onblur", String.Format("ValidaCantidad(this,{0})", e.Row.DBCampo("Cantidad")))
End If
'If If(e.Row.DBCampo("Serie").ToString = "", "-1", e.Row.DBCampo("Serie").ToString) <> "-1" Then
' TxtnSerie.Visible = True
' ThSerie.Visible = True
' TdSerie.Visible = True
' GvDatos.Columns(4).Visible = True
' e.Row.Cells(4).Text = e.Row.DBCampo("Serie").ToString
'Else
' e.Row.Cells(4).Text = ""
'End If
'If DtSeccionAlmacen.FiltraParametros($"IndexSeccionAlmacen = {e.Row.RowIndex}").SUMD("CantidadSeccionAlmacen") > 0 Then
' e.Row.FCLinkButton("lnkRemove").Visible = False
' e.Row.FCLinkButton("lnkRemove").ToolTip = "Cuenta con sección almacen"
'End If
End If
End Sub
Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim DbRow As DataRow = Nothing
DbRow = DtMovimientos.Rows(e.RowIndex)
DtMovimientos.Rows.Remove(DbRow)
CargaGvDatos()
End Sub
#End Region
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
'VALIDA ALMACEN ORIGEN Y DESTINO
If DdlAlmacenOrigen.SelectedValue = DdlAlmacenDestino.SelectedValue Then
Alert("No se puede realizar un traspaso entre el mismo almacén.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'VALIDA QUE TENGA MOVTOS
If Not GvDatos.Rows.Count > 0 Then
Alert("No hay movimientos para el traspaso", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Exit Sub
End If
'VALIDA ESTATUS EXISTENCIA
For Each dr As DataRow In DtMovimientos.Rows
If dr("EstatusExistencia").ToString = "-1" Then
Alert("Tiene que rectificar los movimientos con error.", TipoMensaje.MsgError)
Exit Sub
End If
Next
Dim TotalCantidad As Double = DtMovimientos.SUMD("Cantidad")
Dim ObjInventario As New ClsInventarios
'VALIDA LA EXISTENCIA DEL ALMACEN DE ORIGEN
Dim ErrorExistencia = False
Dim TextoExistencia As StringBuilder = New StringBuilder
Dim Existencia As Double
TextoExistencia.Append("Los siguiente productos se ajustaron por falta de exitencia:<br/>")
If Not CargadoDeMov Then
For Each dr As DataRow In DtMovimientos.Rows
Existencia = ObjInventario.GetExistenciasPS(dr("CvePS").ToString.ToEntero, dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=If(dr("Serie").ToString = "", "-1", dr("Serie").ToString))
Existencia -= DtMovimientos.SUM("Cantidad", $"CvePS = {dr("CvePS").ToString.ToEntero} AND CveUM = {dr("CveUM").ToString.ToEntero} {If(dr("Serie").ToString <> "-1", $" AND Serie = '{dr("Serie").ToString}'", "")}")
'DtMovimientos.SUM("Cantidad", String.Format("CvePS = {0}", dr("CvePS").ToString.ToEntero))
If Existencia < 0 Then
ErrorExistencia = True
dr("EstatusExistencia") = "-1"
dr("Cantidad") = Existencia
TextoExistencia.AppendFormat("- #{0} {1}<br/>", dr("No").ToString, dr("PS").ToString)
End If
Next
Else
For Each gvr As GridViewRow In GvDatos.Rows
Existencia = ObjInventario.GetExistenciasPS(gvr.DataKey("CvePS").ToString.ToEntero, gvr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=gvr.DataKey("CveSeccionAlmacen").ToString.ToEntero, Serie:=If(gvr.DataKey("Serie").ToString = "", "-1", gvr.DataKey("Serie").ToString))
Existencia -= gvr.FCTextBox("TxtCantidad2").Text.ToEntero
If Existencia < 0 Then
ErrorExistencia = True
gvr.FCTextBox("TxtCantidad2").Text = (Existencia + gvr.FCTextBox("TxtCantidad2").Text.ToEntero).ToString
TextoExistencia.AppendFormat("- #{0} {1}<br/>", gvr.DataKey("No").ToString, gvr.DataKey("PS").ToString)
End If
Next
End If
'VALIDACIONES
If ErrorExistencia Then
Alert(TextoExistencia.ToString, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
ObjInventario.Dispose()
Exit Sub
End If
'Inicia la transacción
ObjInventario.IniciaTransacSQL()
Dim CveMovimientoSalida = 0
Dim CveMovimientoEntrada = 0
Dim IDPoliza As Integer = 0
Dim FolioSalida = 0
Dim FolioEntrada = 0
Dim AlmacenEntrada = -1
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False
Dim TextoError = ""
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:="", CveAlmacenDestino:=DdlAlmacenDestino.SelectedValue.ToEntero, CveCliente:=DdlClientes.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero)
FolioSalida = ObjInventario.Folio
Dim Cont As Integer = 0
If CveMovimientoSalida <= 0 Then
TextoError = "No se pudo generar el movimiento de salida correctamente"
ErrorMovInv = True
Else
For Each Dr As DataRow In DtMovimientos.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=Dr("Serie").ToString) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
End If
Cont += 1
Next
End If
'AGREGAMOS LA ENTRADA
If Not ErrorMovInv Then
Cont = 0
AlmacenEntrada = DdlAlmacenDestino.SelectedValue.ToEntero
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:="-1",
CveAlmacenDestino:=-1, CveMovimientoRelacionado:=CveMovimientoSalida, CveCliente:=DdlClientes.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero)
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
TextoError = "No se pudo generar el movimiento de entrada correctamente"
ErrorMovInv = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim CveSec As Integer = 0
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
CveSec = -3 'GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacenDestino.SelectedValue.ToEntero, Dr("CvePS").ToString.ToEntero).FiltroPrimeroValor("CveSeccionAlmacen", "").ToEntero
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=CveSec, Serie:=Dr("Serie").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
End If
Cont += 1
Next
End If
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit()
Dim Mensaje As StringBuilder = New StringBuilder
Mensaje.Append("Se realizó con éxito el apartado.")
Mensaje.AppendFormat("<br/><br/> Folio de Salida: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioSalida, CveMovimientoSalida)
Mensaje.AppendFormat("<br/><a style=""color:#337ab7;"" target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
Mensaje.AppendFormat("<br/><br/> Folio de Entrada: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioEntrada, CveMovimientoEntrada)
Mensaje.AppendFormat("<br/><a style=""color:#337ab7;"" target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
LimpiaMovimiento()
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
Else
ObjInventario.RollBack()
Alert(TextoError, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
'SI OCURRIO UN ERROR EN LA EXISTENCIA RECARGAMOS EL GRID PARA COLOREAR LOS DETALLES CON ERROR
If ErrorExistencia Then
CargaGvDatos()
End If
ObjInventario.Dispose()
End Sub
#End Region
#Region " NUEVO - LIMPIA - MOVIMIENTO DE APARTADO "
Protected Sub BtnNuevo_Click(sender As Object, e As EventArgs)
LimpiaMovimiento()
End Sub
Private Sub LimpiaMovimiento()
CargaAlmacenOrigen()
TxtFecha.Text = Now.ToShortDateString
TxtObservaciones.Text = ""
txtCantidad.Text = ""
DdlSubProyecto.SelectedValue = "-1"
CargaAlmacenes()
DdlClientes.SelectedValue = "-1"
SeleccionaVendedor()
CargadoDeMov = False
DtMovimientos.Rows.Clear()
CargaGvDatos()
End Sub
#End Region
#End Region
#Region " DESAPARTADOS "
#Region " DDL CLIENTE FILTRO "
Protected Sub DdlClienteDesapartado_SelectedIndexChanged(sender As Object, e As EventArgs)
SeleccionaVendedorFiltro()
End Sub
Private Sub SeleccionaVendedorFiltro()
DdlVendedorDesapartado.SelectedValue = "-1"
DdlVendedorDesapartado.SelectedValueExist(GlobalDTCliente(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CveVendedor", $"CveCliente = {DdlClienteDesapartado.SelectedValue}"))
End Sub
#End Region
Protected Sub GvDatosDesapartado_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatosDesapartado.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onblur", String.Format("ValidaCantidad(this,{0})", e.Row.DBCampo("Cantidad")))
If CBool(e.Row.DBCampo("AplicaSeccion")) AndAlso DdlAlmacenDestinoDesapartado.SelectedValue.ToEntero > 0 Then
Dim dtt As DataTable = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacenDestinoDesapartado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero).FiltraParametros("Predeterminado = 1")
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = True
e.Row.FCDropDownList("DdlSeccionAlmacen").DataSource = dtt
e.Row.FCDropDownList("DdlSeccionAlmacen").DataBind()
If dtt.Rows.Count = 0 Then
e.Row.FCDropDownList("DdlSeccionAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
dtt.Dispose()
End If
End If
End Sub
Protected Sub BtnVerificarExistenciasDesarmado_Click(sender As Object, e As EventArgs)
LblSucursal.Text = DdlSubProyectoDesapartado.SelectedItem.Text
CargaAlmacenDestinoDesapartado(DdlSubProyectoDesapartado.SelectedValue.ToEntero)
CveCliente = DdlClienteDesapartado.SelectedValue.ToEntero
CveVendedor = DdlVendedorDesapartado.SelectedValue.ToEntero
CargaExistencias()
UpDatosGenerales.Update()
End Sub
Private Sub CargaExistencias()
Dim DtTemp = GetExistenciasDT()
If DtTemp IsNot Nothing Then
GvDatosDesapartado.Columns(5).Visible = DtTemp.MAX("Serie").ToString <> ""
GvDatosDesapartado.Columns(6).Visible = DtTemp.MAX("Lote").ToString <> ""
GvDatosDesapartado.Columns(7).Visible = DtTemp.MAX("FechaCaducidad").ToString.ToDate > MinFecha
GvDatosDesapartado.Columns(8).Visible = DtTemp.MAX("AplicaSeccion") = "True"
GvDatosDesapartado.DataSource = DtTemp
GvDatosDesapartado.DataBind()
UpDatosDesapartado.Update()
End If
End Sub
Private Function GetExistenciasDT() As DataTable
Dim DtRetorno As New DataTable
Dim CveAlmacenApartado = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen IN (9) AND Estatus = 'Activo' And CveSubProyecto = {DdlSubProyectoDesapartado.SelectedValue.ToEntero}").ToEntero
If CveAlmacenApartado <= 0 Then
Alert("No se encontro el almacen de Apartado de la sucursal seleccionada. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Return DtRetorno
End If
Dim ObjInventarios As New ClsInventarios
If ObjInventarios.DesapartadosGet(CveAlmacenApartado, DdlClienteDesapartado.SelectedValue.ToEntero, DdlVendedorDesapartado.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
DtRetorno = ObjInventarios.DtResultados
End If
ObjInventarios.Dispose()
Return DtRetorno
End Function
Private Sub CargaAlmacenDestinoDesapartado(Optional CveSubProyecto As Integer = -1)
DdlAlmacenDestinoDesapartado.Items.Clear()
If CveSubProyecto > 0 Then
DdlAlmacenDestinoDesapartado.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros($"CveTipoAlmacen NOT IN (3,9) {If(CveSubProyecto > 0, $" AND CveSubProyecto = {CveSubProyecto}", "")}")
End If
DdlAlmacenDestinoDesapartado.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
DdlAlmacenDestinoDesapartado.SelectedValue = "-1"
DdlAlmacenDestinoDesapartado.DataBind()
End Sub
#Region " GUARDAR "
Protected Sub BtnGuardarDesapartado_Click(sender As Object, e As EventArgs) Handles BtnGuardarDesapartado.Click
'VALIDA ALMACEN ORIGEN Y DESTINO
Dim CveAlmacenApartado = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveAlmacen", $"CveTipoAlmacen IN (9) AND Estatus = 'Activo' And CveSubProyecto = {DdlSubProyectoDesapartado.SelectedValue.ToEntero}").ToEntero
If DdlAlmacenDestinoDesapartado.SelectedValue.ToEntero = CveAlmacenApartado Then
Alert("No se puede realizar un traspaso entre el mismo almacén.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'VALIDA QUE TENGA MOVTOS
Dim TieneMovto = False
For Each Gvr As GridViewRow In GvDatosDesapartado.Rows
If Gvr.FCTextBox("TxtCantidad").Text.ToDouble > 0 Then
TieneMovto = True
Exit For
End If
Next
If Not TieneMovto Then
Alert("No hay movimientos para el traspaso", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Exit Sub
End If
Dim TotalCantidad As Double = 0
For Each Gvr As GridViewRow In GvDatosDesapartado.Rows
If Gvr.FCTextBox("TxtCantidad").Text.ToDouble > 0 Then
TotalCantidad += Gvr.FCTextBox("TxtCantidad").Text.ToDecimal
End If
Next
'VALIDA SI HUBO CAMBIOS EN LA EXISTENCIA
Dim CantidadGV = GvDatosDesapartado.Rows.Cast(Of GridViewRow)().Sum(Function(gvr) gvr.DataKey("Cantidad").ToDouble)
'Alert($"Cantidad GV {CantidadGV} <br/> Cantidad DT {GetExistenciasDT().SUM("Cantidad")}")
'Exit Sub
If CantidadGV <> GetExistenciasDT().SUM("Cantidad") Then
Alert("Ah ocurrido un cambio en las existencias del apartado, por lo cual la pagina ah sido actualizada con los nuevos valores", TipoMensaje.MsgAdvertencia)
CargaExistencias()
Exit Sub
End If
'Inicia la transacción
Dim ObjInventario As New ClsInventarios
ObjInventario.IniciaTransacSQL()
Dim CveMovimientoSalida = 0
Dim CveMovimientoEntrada = 0
Dim FolioSalida = 0
Dim FolioEntrada = 0
Dim Fecha As Date = TxtFechaDesapartado.Text.ToDate
Dim ErrorMovInv As Boolean = False
Dim TextoError = ""
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenApartado, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, MovimientoFijo:=True,
Observaciones:=TxtObservacionesDesapartado.Text.Trim, Recibio:="", CveAlmacenDestino:=DdlAlmacenDestinoDesapartado.SelectedValue.ToEntero,
CveCliente:=CveCliente, CveVendedor:=CveVendedor)
FolioSalida = ObjInventario.Folio
Dim Diccionario As New HybridDictionary
Dim Cont As Integer = 0
If CveMovimientoSalida <= 0 Then
ErrorMovInv = True
TextoError = "No se pudo generar el movimiento de salida correctamente"
Else
For Each Gvr As GridViewRow In GvDatosDesapartado.Rows
If Gvr.FCTextBox("TxtCantidad").Text.ToDouble > 0 Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Gvr.FCTextBox("TxtCantidad").Text.ToDouble, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.DataKey("PU").ToString.ToDecimal, -1, CveSeccionAlmacen:=Gvr.DataKey("CveSeccionAlmacen").ToEntero, Serie:=Gvr.DataKey("Serie").ToString, Lote:=Gvr.DataKey("Lote").ToString, FechaCaducidad:=Gvr.DataKey("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Gvr.DataKey("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
Else
Diccionario.Add(ObjInventario.CveMovimientoDetalle, Gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue)
End If
End If
Cont += 1
Next
End If
'AGREGAMOS LA ENTRADA
If Not ErrorMovInv Then
CveMovimientoEntrada = ObjInventario.AddMovimiento(DdlAlmacenDestinoDesapartado.SelectedValue.ToEntero, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservacionesDesapartado.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida)
FolioEntrada = ObjInventario.Folio
Cont = 0
If CveMovimientoEntrada <= 0 Then
TextoError = "No se pudo generar el movimiento de entrada correctamente"
ErrorMovInv = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim i As Integer = 0
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CveSeccionAlmacen As Integer = Diccionario(Dr("CveMovimientoDetalle").ToString.ToEntero).ToString.ToEntero
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
End If
Cont += 1
Next
End If
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit()
Dim Mensaje As StringBuilder = New StringBuilder
Mensaje.Append("Se realizó con éxito el apartado.")
Mensaje.AppendFormat("<br/><br/> Folio de Salida: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioSalida, CveMovimientoSalida)
Mensaje.AppendFormat("<br/><a target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
Mensaje.AppendFormat("<br/><br/> Folio de Entrada: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioEntrada, CveMovimientoEntrada)
Mensaje.AppendFormat("<br/><a target='_blank' href='/Compras/PopUpVerFactura.aspx?P={0}'>Imprimir Reporte</a>", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
TxtObservacionesDesapartado.Text = ""
DdlAlmacenDestinoDesapartado.SelectedValueExist("-1")
CargaExistencias()
LblSucursal.Text = ""
UpDatosGenerales.Update()
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
Else
ObjInventario.RollBack()
Alert(TextoError, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
ObjInventario.Dispose()
End Sub
Private Sub DdlAlmacenDestinoDesapartado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlAlmacenDestinoDesapartado.SelectedIndexChanged
CargaExistencias()
End Sub
#End Region
#End Region
End Class