diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index 4bc6ba35a..4541aa752 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -1817,7 +1817,7 @@ Public Class ClsInventarios
CveAlmacen As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional CveTipoAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1,
Optional FechaMovto As String = "-1", Optional SerieLote As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1,
Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional Lote As String = "-1", Optional Batch As String = "-1",
- Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Boolean
+ Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional Caducidad As Date = MinFecha) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ExistenciasGet")
@@ -1839,6 +1839,7 @@ Public Class ClsInventarios
.Add("@PendientePorSurtir", SqlDbType.Int).Value = PendientePorSurtir
.Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados
.Add("@RestringirAlmacenes", SqlDbType.Int).Value = RestringirAlmacenes
+ .Add("@Caducidad", SqlDbType.Date).Value = Caducidad
.Add("@Existencia", SqlDbType.Money).Direction = ParameterDirection.Output
End With
Try
@@ -4922,6 +4923,28 @@ Public Class ClsInventarios
Return Retorno
End Function
+
+#Region "SUGERENCIAS SALIDA DE ALMACEN"
+
+ Public Function GetSugerenciasSalidaAlmacen(CveVenta As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Inv_SugerenciasSalidasGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveVenta", SqlDbType.Int).Value = CveVenta
+ .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener las sugerencias para la salida de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+#End Region
+
#Region " IDisposable Support "
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
diff --git a/Inventarios/RecepcionAlmacen.aspx b/Inventarios/RecepcionAlmacen.aspx
index 0c9fa6b71..8d742140e 100644
--- a/Inventarios/RecepcionAlmacen.aspx
+++ b/Inventarios/RecepcionAlmacen.aspx
@@ -167,7 +167,7 @@
Almacén:
-
@@ -1135,7 +1161,28 @@
$("#DivCantidadEspecial").show(200);
}
+ function Dividir(t) {
+ $get("HdnCantidadMovimiento").value = $get(t).value;
+ }
+ function LimitaCantidad(C, textbox, button) {
+
+ // var contenedor = $(textbox).parent().find("#" + buttonIdDiv);
+
+ if (ToDouble(textbox.value) >= C) {
+ textbox.value = "";
+ }
+
+ if (parseFloat(textbox.value) > 0) {
+ $get(button).style.display = "";
+ //$(contenedor).show();
+ }
+ else {
+ $get(button).style.display = "none";
+ //$(contenedor).hide();
+
+ }
+ }
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index 6a926090f..05ef7a391 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -388,116 +388,131 @@ Partial Class Inventarios_RecepcionAlmacen
End Sub
#End Region
-#Region " INICIALIZA VALORES "
- Private Sub InicializaValores()
- CveCompraParametro = -1
- CveCompraSurtir = -1
- CvePrePolizaCompra = -1
- CveOCSurtir = -1
- CveImportacionSurtir = -1
- CveImportacionProveedor = -1
- CveImportacionCompra = -1
- CveFleteSurtir = -1
- CveFleteOrdenCompra = -1
- CveFleteCompra = -1
- BuscaEntregaDirecta = -1
- CveAlmacenApartado = -1
- TipoMovimiento = 1
-
- CantidadTotal = 0
- IndexSeccionAlmacen = 0
- CreaDtSeccionAlmacen()
- CargaDdlAlmacen()
-
- ddlAlmacenAdd.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen NOT IN (9)")
- ddlAlmacenAdd.DataBind()
-
- CargaAlmacenes(-1)
-
- ddlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
-
- If ddlProveedor.UsaWebService Then
-
- ddlProveedor.Attributes.Add("data-metodo", "getproveedores")
- Else
- ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
- ddlProveedor.DataBind()
- ddlProveedor.ddl.Items.Insert(0, New ListItem("Seleccione el Proveedor", "-1"))
- ddlProveedor.SelectedValue = "-1"
- End If
-
-
- DdlFolio.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlFolioOC.Items.Insert(0, New ListItem("Seleccione", "-1"))
-
- ConfiguraTipoRecepcion()
-
- If UsuarioActual.CveEmpresa = 119 Then
- DivRemision.Visible = True
- End If
-
- TxtFechaCaducidad.Text = Now.ToShortDateString
- TxtFechaPendientes.Text = Now.ToShortDateString
- TipoCambio = -1
- CreaDtDetalle()
-
- ImgClose.Attributes.Add("onclick", "$('#DivAlmacen').hide();")
- ImgAdd.Attributes.Add("onclick", "$('#DivAlmacen').hide();")
-
- BtnGuardar.Visible = False
- TxtFecha.Text = Now.ToShortDateString
- RVFecha.MaximumValue = MaxFecha.ToShortDateString
- If UsuarioActual.CveEmpresa.Contiene(119) Then RVFecha.MinimumValue = Now.ToShortDateString : CEFecha.StartDate = Now Else RVFecha.MinimumValue = MinFecha.ToShortDateString
- InicializaBitacoraTemporal()
- DdlMonedaTC.Enabled = False
-
-
-
+#Region " INICIALIZA VALORES "
+ Private Sub InicializaValores()
+ CveCompraParametro = -1
+ CveCompraSurtir = -1
+ CvePrePolizaCompra = -1
+ CveOCSurtir = -1
+ CveImportacionSurtir = -1
+ CveImportacionProveedor = -1
+ CveImportacionCompra = -1
+ CveFleteSurtir = -1
+ CveFleteOrdenCompra = -1
+ CveFleteCompra = -1
+ BuscaEntregaDirecta = -1
+ CveAlmacenApartado = -1
+ TipoMovimiento = 1
+
+ CantidadTotal = 0
+ IndexSeccionAlmacen = 0
+ CreaDtSeccionAlmacen()
+ CargaDdlAlmacen()
+
+ ddlAlmacenAdd.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen NOT IN (9)")
+ ddlAlmacenAdd.DataBind()
+
+ CargaAlmacenes(-1)
+
+ ddlProveedor.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
+
+ If ddlProveedor.UsaWebService Then
+
+ ddlProveedor.Attributes.Add("data-metodo", "getproveedores")
+ Else
+ ddlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
+ ddlProveedor.DataBind()
+ ddlProveedor.ddl.Items.Insert(0, New ListItem("Seleccione el Proveedor", "-1"))
+ ddlProveedor.SelectedValue = "-1"
+ End If
+
+
+ DdlFolio.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ DdlFolioOC.Items.Insert(0, New ListItem("Seleccione", "-1"))
+
+ ConfiguraTipoRecepcion()
+
+ If UsuarioActual.CveEmpresa = 119 Then
+ DivRemision.Visible = True
+ End If
+
+ TxtFechaCaducidad.Text = Now.ToShortDateString
+ TxtFechaPendientes.Text = Now.ToShortDateString
+ TipoCambio = -1
+ CreaDtDetalle()
+
+ ImgClose.Attributes.Add("onclick", "$('#DivAlmacen').hide();")
+ ImgAdd.Attributes.Add("onclick", "$('#DivAlmacen').hide();")
+
+ BtnGuardar.Visible = False
+ TxtFecha.Text = Now.ToShortDateString
+ RVFecha.MaximumValue = MaxFecha.ToShortDateString
+ If UsuarioActual.CveEmpresa.Contiene(119) Then RVFecha.MinimumValue = Now.ToShortDateString : CEFecha.StartDate = Now Else RVFecha.MinimumValue = MinFecha.ToShortDateString
+ InicializaBitacoraTemporal()
+ DdlMonedaTC.Enabled = False
+
+
+
+ End Sub
+ '''
+ ''' Recarga los almacenes [DdlAlmacen] que se pueden usar para el movimiento
+ '''
+ '''
+ ''' Parametro sin espacios y separado por comas ["1,2,3,21"]
+ Private Sub CargaAlmacenes(CveSubProyecto As Integer, Optional CveTiposAlmacen As String = "")
+ Dim StrAlmacenes As String = ""
+
+ If UsuarioActual.CveSubProyecto = 8804 Then 'AGS
+ StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,12,15")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}"
+ Else
+ StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,15,6")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}"
+ End If
+
+ DdlAlmacen.Items.Clear()
+ DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(StrAlmacenes) 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
+ DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
+ DdlAlmacen.SelectedValue = "-1"
+ DdlAlmacen.DataBind()
+ DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
+
+ UpGenerales.Update()
End Sub
- '''
- ''' Recarga los almacenes [DdlAlmacen] que se pueden usar para el movimiento
- '''
- '''
- ''' Parametro sin espacios y separado por comas ["1,2,3,21"]
- Private Sub CargaAlmacenes(CveSubProyecto As Integer, Optional CveTiposAlmacen As String = "")
- Dim StrAlmacenes As String = ""
- If UsuarioActual.CveSubProyecto = 8804 Then 'AGS
- StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,12,15")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}"
- Else
- StrAlmacenes = $"CveTipoAlmacen IN ({If(CveTiposAlmacen.Length > 0, CveTiposAlmacen, "1,2,15,6")}) {If(CveSubProyecto > 0, $"And CveSubProyecto = {CveSubProyecto}", "")}"
+ Protected Sub DdlAlmacen_SelectedIndexChanged(sender As Object, e As EventArgs)
+ If DdlAlmacen.SelectedValue <> "-1" Then
+ For Each Gvr As GridViewRow In GvInv.Rows
+ If Gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue = "-1" Then
+ Dim Dr As DataRow = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa).FiltroPrimero($"CveAlmacen = {DdlAlmacen.SelectedValue}")
+ If Dr IsNot Nothing Then
+ Gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValueExist(Dr("CveSeccion"))
+ End If
+ End If
+ Next
+ UPInv.Update()
End If
-
- DdlAlmacen.Items.Clear()
- DdlAlmacen.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros(StrAlmacenes) 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
- DdlAlmacen.Items.Insert(0, New ListItem(" Seleccione ", "-1"))
- DdlAlmacen.SelectedValue = "-1"
- DdlAlmacen.DataBind()
- DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
-
- UpGenerales.Update()
- End Sub
- Private Sub ConfiguraTipoRecepcion()
- DdlTipo.Items.Insert(0, New ListItem("Compra", "1"))
-
- If UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 Then
- DdlTipo.Items.Insert(1, New ListItem("OC", "2"))
- If UsuarioActual.Empresa.Funcionalidad(153).ToEntero > 0 Then
- DdlTipo.Items.RemoveAt(0)
- DdlTipo.SelectedValue = "2"
- ModalidadRecepcion()
- End If
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(155).ToEntero > 0 Then
- DdlTipo.Items.Insert(DdlTipo.Items.Count - 1, New ListItem("Importación", "3"))
- End If
-
- If UsuarioActual.Empresa.Funcionalidad(158).ToEntero > 0 Then
- DdlTipo.Items.Insert(DdlTipo.Items.Count - 1, New ListItem("Costo Indirecto", "4"))
- End If
-
- UpFiltros.Update()
+ End Sub
+
+ Private Sub ConfiguraTipoRecepcion()
+ DdlTipo.Items.Insert(0, New ListItem("Compra", "1"))
+
+ If UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 Then
+ DdlTipo.Items.Insert(1, New ListItem("OC", "2"))
+ If UsuarioActual.Empresa.Funcionalidad(153).ToEntero > 0 Then
+ DdlTipo.Items.RemoveAt(0)
+ DdlTipo.SelectedValue = "2"
+ ModalidadRecepcion()
+ End If
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(155).ToEntero > 0 Then
+ DdlTipo.Items.Insert(DdlTipo.Items.Count - 1, New ListItem("Importación", "3"))
+ End If
+
+ If UsuarioActual.Empresa.Funcionalidad(158).ToEntero > 0 Then
+ DdlTipo.Items.Insert(DdlTipo.Items.Count - 1, New ListItem("Costo Indirecto", "4"))
+ End If
+
+ UpFiltros.Update()
End Sub
#End Region
@@ -1088,131 +1103,196 @@ Partial Class Inventarios_RecepcionAlmacen
End Sub
#End Region
-#Region " GVINV "
- Private Sub CreaDTInv(TmDT As DataTable)
- TmDT.Columns.Add("CveAlmacen", GetType(Integer))
- TmDT.Columns.Add("PUExtranjero", GetType(Double))
- TmDT.Columns.Add("CostoIndirectoExtranjero", GetType(Double))
- TmDT.Columns.Add("Consec", GetType(Integer))
- TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double))
- If Not TmDT.Columns.Contains("CostoIndirecto") Then
- TmDT.Columns.Add("CostoIndirecto", GetType(Double))
- End If
-
- GvInv.Columns(2).Visible = False
- GvInv.Columns(3).Visible = False
- GvInv.Columns(9).Visible = TmDT.SUM("CostoIndirecto") > 0
-
- Dim VariableCampo = If(TipoMovimiento.Contiene(1, 3), "CantidadF", "CantidadS")
-
- Dim Index = 1
- For Each Dr As DataRow In TmDT.Rows
- Dr("PUExtranjero") = Dr("PU")
- Dr("CostoIndirectoExtranjero") = Dr("CostoIndirecto")
- Dr("Consec") = Index
- Index += 1
- Dr("CantidadF") = Dr(VariableCampo)
-
- If Dr(VariableCampo).ToString.ToDecimal <> Dr("CantidadC").ToString.ToDecimal Then
- GvInv.Columns(3).Visible = True
+#Region " GVINV "
+ Private Sub CreaDTInv(TmDT As DataTable)
+ TmDT.Columns.Add("CveAlmacen", GetType(Integer))
+ TmDT.Columns.Add("PUExtranjero", GetType(Double))
+ TmDT.Columns.Add("CostoIndirectoExtranjero", GetType(Double))
+ TmDT.Columns.Add("Consec", GetType(Integer))
+ TmDT.Columns.Add("CantidadSurtidaPantalla", GetType(Double))
+ TmDT.Columns.Add("AplicaSeccion", GetType(Boolean))
+ TmDT.Columns.Add("AplicaSerie", GetType(Boolean))
+ TmDT.Columns.Add("AplicaLote", GetType(Boolean))
+ TmDT.Columns.Add("AplicaCaducidad", GetType(Boolean))
+ If Not TmDT.Columns.Contains("CostoIndirecto") Then
+ TmDT.Columns.Add("CostoIndirecto", GetType(Double))
+ End If
+ If Not TmDT.Columns.Contains("Lote") Then
+ TmDT.Columns.Add("Lote", GetType(String))
+ End If
+ If Not TmDT.Columns.Contains("CveSeccion") Then
+ TmDT.Columns.Add("CveSeccion", GetType(Integer))
+ End If
+ If Not TmDT.Columns.Contains("Caducidad") Then
+ TmDT.Columns.Add("Caducidad", GetType(Date))
+ End If
+ If Not TmDT.Columns.Contains("Seleccionado") Then
+ TmDT.Columns.Add("Seleccionado", GetType(Boolean))
+ End If
+ If Not TmDT.Columns.Contains("CantidadSeleccionada") Then
+ TmDT.Columns.Add("CantidadSeleccionada", GetType(Double))
+ End If
+
+
+ GvInv.Columns(2).Visible = False
+ GvInv.Columns(3).Visible = False
+ GvInv.Columns(9).Visible = TmDT.SUM("CostoIndirecto") > 0
+
+ Dim VariableCampo = If(TipoMovimiento.Contiene(1, 3), "CantidadF", "CantidadS")
+
+ Dim Index = 1
+ For Each Dr As DataRow In TmDT.Rows
+ Dr("PUExtranjero") = Dr("PU")
+ Dr("CostoIndirectoExtranjero") = Dr("CostoIndirecto")
+ Dr("Consec") = Index
+ Index += 1
+ Dr("CantidadF") = Dr(VariableCampo)
+
+ If Dr(VariableCampo).ToString.ToDecimal <> Dr("CantidadC").ToString.ToDecimal Then
+ GvInv.Columns(3).Visible = True
+ End If
+ Dr("Caducidad") = Now
+ Next
+
+ DtInv = TmDT '.FiltraParametros("CantidadF > 0")
+ dt = TmDT
+ If DtInv.SUM("CantidadS") > 0 Then
+ GvInv.Columns(2).Visible = True
+ End If
+
+ End Sub
+ Private Sub CargaGVInv()
+ If UsuarioActual.CveEmpresa = 119 Then
+ DtInv = DtInv.FiltraParametros("", "PS")
+ End If
+
+ For Each item As DataRow In DtInv.Rows
+ Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("")
+ If Dr IsNot Nothing Then
+ item("AplicaSeccion") = CBool(Dr("AplicaSeccion"))
+ If CBool(Dr("AplicaSeccion")) Then GvInv.Columns(10).Visible = True
+ item("AplicaSerie") = CBool(Dr("AplicaSerie"))
+ item("AplicaLote") = CBool(Dr("AplicaLote"))
+ If CBool(Dr("AplicaLote")) Then GvInv.Columns(11).Visible = True
+ item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad"))
+ If CBool(Dr("AplicaCaducidad")) Then GvInv.Columns(12).Visible = True
+ If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then
+ GvInv.Columns(15).Visible = True
+ End If
End If
- Next
-
- DtInv = TmDT '.FiltraParametros("CantidadF > 0")
- dt = TmDT
- If DtInv.SUM("CantidadS") > 0 Then
- GvInv.Columns(2).Visible = True
- End If
-
- End Sub
- Private Sub CargaGVInv()
- If UsuarioActual.CveEmpresa = 119 Then
- DtInv = DtInv.FiltraParametros("", "PS")
- End If
- GvInv.DataSource = DtInv
- GvInv.DataBind()
- UPInv.Update()
- End Sub
- Protected Sub GVINV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvInv.RowDataBound
-
+ Next
+
+ GvInv.DataSource = DtInv
+ GvInv.DataBind()
+ UPInv.Update()
+ End Sub
+ Protected Sub GVINV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvInv.RowDataBound
+
If e.Row.RowType = DataControlRowType.DataRow Then
- If e.Row.DBCampo("CveMetodoInventario").ToString.Contiene("5", "6") Then
+ 'If e.Row.DBCampo("CveMetodoInventario").ToString.Contiene("5", "6") Then
- If e.Row.DBCampo("CveMetodoInventario").ToString = "5" Then
- e.Row.FCButton("BtnSerieLote").Visible = True
- e.Row.FCButton("BtnSerieLote").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"))
+ If CBool(e.Row.DBCampo("AplicaSerie")) Then
- e.Row.FCTextBox("TbCantidadF").Enabled = False
- e.Row.FCCheckBox("cbInv").Enabled = False
- Dim Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
- e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
- ElseIf e.Row.DBCampo("CveMetodoInventario").ToString = "6" Then
- e.Row.FCButton("BtnLote").Visible = True
- e.Row.FCButton("BtnLote").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"))
+ 'If e.Row.DBCampo("CveMetodoInventario").ToString = "5" Then
+ e.Row.FCButton("BtnSerieLote").Visible = True
+ e.Row.FCButton("BtnSerieLote").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"))
- e.Row.FCTextBox("TbCantidadF").Enabled = False
- e.Row.FCCheckBox("cbInv").Enabled = False
- Dim Contador = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
- e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
- End If
-
- Else
- e.Row.FCButton("BtnSerieLote").Visible = False
- e.Row.FCButton("BtnLote").Visible = False
-
- e.Row.FCTextBox("TbCantidadF").Enabled = True
- e.Row.FCTextBox("TbCantidadF").Attributes.Add("onblur", String.Format("ValidarCantidad(this,{0})", e.Row.DBCampo("CantidadF")))
- e.Row.FCCheckBox("cbInv").Attributes.Add("onclick", String.Format("Check(this, {0}, {1});", e.Row.FCTextBox("TbCantidadF").ClientID, e.Row.DBCampo("CantidadF")))
-
- If e.Row.DBCampo("EntregaDirecta").ToString = "1" And TipoMovimiento = 1 Then
- e.Row.FCCheckBox("cbInv").Checked = True
- e.Row.FCCheckBox("cbInv").Enabled = False
- e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero
- e.Row.FCTextBox("TbCantidadF").Enabled = False
- End If
- End If
-
-
- 'FUNCIONALIDAD PISTOLA DE CODIGOS
- If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" And Not UsuarioActual.TienePermisoProceso(174) Then
e.Row.FCTextBox("TbCantidadF").Enabled = False
+ e.Row.FCCheckBox("cbInv").Enabled = False
+ Dim Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
+ e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
+ 'ElseIf e.Row.DBCampo("CveMetodoInventario").ToString = "6" Then
+ ' e.Row.FCButton("BtnLote").Visible = True
+ ' e.Row.FCButton("BtnLote").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"))
+
+ ' e.Row.FCTextBox("TbCantidadF").Enabled = False
+ ' e.Row.FCCheckBox("cbInv").Enabled = False
+ ' Dim Contador = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
+ ' e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
+ 'End If
+
+ Else
+ e.Row.FCButton("BtnSerieLote").Visible = False
+ e.Row.FCButton("BtnLote").Visible = False
+
+ e.Row.FCTextBox("TbCantidadF").Enabled = True
+ e.Row.FCTextBox("TbCantidadF").Attributes.Add("onblur", String.Format("ValidarCantidad(this,{0})", e.Row.DBCampo("CantidadF")))
+ e.Row.FCCheckBox("cbInv").Attributes.Add("onclick", String.Format("Check(this, {0}, {1});", e.Row.FCTextBox("TbCantidadF").ClientID, e.Row.DBCampo("CantidadF")))
+
+ If e.Row.DBCampo("EntregaDirecta").ToString = "1" And TipoMovimiento = 1 Then
+ e.Row.FCCheckBox("cbInv").Checked = True
+ e.Row.FCCheckBox("cbInv").Enabled = False
+ e.Row.FCTextBox("TbCantidadF").Text = e.Row.DBCampo("CantidadF").FormatoNumero
+ e.Row.FCTextBox("TbCantidadF").Enabled = False
+ End If
End If
- If e.Row.DBCampo("CantidadF").ToDecimal = 0 Then
- e.Row.FCTextBox("TbCantidadF").Visible = False
- e.Row.Cells(3).Text = "0"
- e.Row.FCCheckBox("cbInv").Visible = False
+ If CBool(e.Row.DBCampo("AplicaSeccion")) Then
+ e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = True
+ Else
+ e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
+ End If
+
+ If CBool(e.Row.DBCampo("AplicaCaducidad")) Then
+ e.Row.FCTextBox("TxtCaducidad").Visible = True
+ e.Row.FCLinkButton("LnkCaducidad").Visible = True
+ e.Row.FCTextBox("TxtCaducidad").Text = Now.ToShortDateString
+ Else
+ e.Row.FCTextBox("TxtCaducidad").Visible = False
+ e.Row.FCLinkButton("LnkCaducidad").Visible = False
+ End If
+
+ If CBool(e.Row.DBCampo("AplicaLote")) Then
+ e.Row.FCTextBox("TxtLote").Visible = True
+ Else
+ e.Row.FCTextBox("TxtLote").Visible = False
+ End If
+
+ e.Row.FCButton("BtnDividir").Attributes.Add("onclick", String.Format("Dividir('{0}');", e.Row.FCTextBox("TxtDividir").ClientID))
+ e.Row.FCButton("BtnDividir").CommandArgument = e.Row.RowIndex.ToString
+ e.Row.FCTextBox("TxtDividir").Attributes.Add("onkeyup", String.Format("LimitaCantidad({0},this,'{1}');", e.Row.DBCampo("CantidadF"), e.Row.FCButton("BtnDividir").ClientID))
+
+
+ 'FUNCIONALIDAD PISTOLA DE CODIGOS
+ If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" And Not UsuarioActual.TienePermisoProceso(174) Then
+ e.Row.FCTextBox("TbCantidadF").Enabled = False
+ End If
+
+ If e.Row.DBCampo("CantidadF").ToDecimal = 0 Then
+ e.Row.FCTextBox("TbCantidadF").Visible = False
+ e.Row.Cells(3).Text = "0"
+ e.Row.FCCheckBox("cbInv").Visible = False
End If
'TotalGV += e.Row.DBCampo("PU").ToString.ToDecimal * e.Row.DBCampo("CantidadF").ToString.ToDecimal
- If UsuarioActual.Empresa.Funcionalidad(147) = "1" Then
- e.Row.FCDropDownList("DdlSeccionAlmacen").DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa)
- e.Row.FCDropDownList("DdlSeccionAlmacen").DataBind()
- e.Row.FCDropDownList("DdlSeccionAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
- End If
-
- e.Row.FCLabel("LbTotal").Text = ((e.Row.DBCampo("PU").ToDecimal + e.Row.DBCampo("CostoIndirecto").ToDecimal) * e.Row.DBCampo("CantidadF").ToDecimal).FormatoNumero
-
- TotalGV += (e.Row.DBCampo("PU").ToDecimal + e.Row.DBCampo("CostoIndirecto").ToDecimal) * e.Row.DBCampo("CantidadF").ToDecimal
-
- End If
-
- If e.Row.RowType = DataControlRowType.Footer Then
- Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
-
- e.Row.FCLabel("LbTotal").Visible = TienePermisoImportes
-
- If TienePermisoImportes Then
- e.Row.FCLabel("LbTotal").Text = TotalGV.FormatoNumero
- TotalGV = 0.0D
- e.Row.Font.Bold = True
- e.Row.Cells(6).Text = "Total"
- e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
- End If
-
- End If
+ 'If UsuarioActual.Empresa.Funcionalidad(147) = "1" Then
+ e.Row.FCDropDownList("DdlSeccionAlmacen").DataSource = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa)
+ e.Row.FCDropDownList("DdlSeccionAlmacen").DataBind()
+ e.Row.FCDropDownList("DdlSeccionAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
+ 'End If
+
+ e.Row.FCLabel("LbTotal").Text = ((e.Row.DBCampo("PU").ToDecimal + e.Row.DBCampo("CostoIndirecto").ToDecimal) * e.Row.DBCampo("CantidadF").ToDecimal).FormatoNumero
+
+ TotalGV += (e.Row.DBCampo("PU").ToDecimal + e.Row.DBCampo("CostoIndirecto").ToDecimal) * e.Row.DBCampo("CantidadF").ToDecimal
+
+ End If
+
+ If e.Row.RowType = DataControlRowType.Footer Then
+ Dim TienePermisoImportes As Boolean = UsuarioActual.TienePermisoProceso(201)
+
+ e.Row.FCLabel("LbTotal").Visible = TienePermisoImportes
+
+ If TienePermisoImportes Then
+ e.Row.FCLabel("LbTotal").Text = TotalGV.FormatoNumero
+ TotalGV = 0.0D
+ e.Row.Font.Bold = True
+ e.Row.Cells(6).Text = "Total"
+ e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
+ End If
+
+ End If
End Sub
#End Region
@@ -1327,234 +1407,234 @@ Partial Class Inventarios_RecepcionAlmacen
End Sub
#End Region
-#Region " AGREGA POR SERIE/LOTE "
- Protected Sub BtnSerieLote_Click(sender As Object, e As EventArgs)
-
- Dim Argumentos = CType(sender, Button).CommandArgument.Split("°"c)
-
- LbProducto.Text = Argumentos(3)
- LbCantidad.Text = Argumentos(4).FormatoNumero
- TxtFechaCaducidad.Text = Now.ToShortDateString()
-
- CvePSSerieLote = Argumentos(0).ToEntero
- CveUMSerieLote = Argumentos(1).ToEntero
- PUSerieLote = Argumentos(2).ToDecimal
- CveConsecSerieLote = Argumentos(5).ToEntero
-
- CargaSerie(1)
-
- End Sub
- Private Sub CreaDtDetalle()
- If DtDatosDetalle Is Nothing Then
- DtDatosDetalle = New DataTable
- DtDatosDetalle.Columns.Add("Consec", GetType(Integer))
- DtDatosDetalle.Columns.Add("ConsecId", GetType(Integer))
- DtDatosDetalle.Columns.Add("CvePS", GetType(Integer))
- DtDatosDetalle.Columns.Add("CveUM", GetType(Integer))
- DtDatosDetalle.Columns.Add("PU", GetType(Decimal))
- DtDatosDetalle.Columns.Add("Serie", GetType(String))
- DtDatosDetalle.Columns.Add("FechaCaducidad", GetType(String))
- End If
- End Sub
-
- Private Sub CargaSerie(Tipo As Integer, Optional CerrarCompletado As Boolean = False)
- 'RegistraScript("document.getElementById(""TxtSerieLote"").focus();")
- RegistraScript("$('#DivSerie').modal();", "ModalLote")
-
- Dim AplicaCaducidad = False
- If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
- AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
- End If
-
- If AplicaCaducidad Then
- GvSerie.Columns(1).Visible = True
- TdCaducidad1.Visible = True
- TdCaducidad2.Visible = True
- Else
- GvSerie.Columns(1).Visible = False
- TdCaducidad1.Visible = False
- TdCaducidad2.Visible = False
- End If
-
- GvSerie.DataSource = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote), "Consec DESC")
- GvSerie.DataBind()
-
- 'VALIDA QUE SIGA AGREGANDO
- If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote)).Rows.Count < LbCantidad.Text.ToEntero Then
- BtnAgregarPS.Enabled = False
- If CerrarCompletado Then
- RegistraScript("$('#DivSerie').modal('hide');")
- End If
- Else
- BtnAgregarPS.Enabled = True
- End If
-
- 'SI TIENE ENTRADA POR SERIE LOTE, BLOQUEAMOS CHECK Y TXTCANTIDAD
- Dim Contador = 0
- For Each Gvr As GridViewRow In GvInv.Rows
- If Gvr.DataKey("CvePS").ToEntero = CvePSSerieLote Then
- Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec"))).Rows.Count
- Gvr.FCCheckBox("cbInv").Enabled = False
- Gvr.FCTextBox("TbCantidadF").Enabled = False
- If DtDatosDetalle IsNot Nothing AndAlso Contador > 0 Then
- Gvr.FCCheckBox("cbInv").Checked = True
- Gvr.FCTextBox("TbCantidadF").Text = Contador.ToString
- ElseIf Gvr.DataKey("CantidadF").ToString.ToDecimal <> 0 Then
- Gvr.FCCheckBox("cbInv").Checked = False
- Gvr.FCTextBox("TbCantidadF").Text = "0"
- End If
- End If
-
- Dim Dr = DtInv.Select($"Consec = {Gvr.DataKey("Consec")}")(0)
- Dr("CantidadSurtidaPantalla") = Gvr.FCTextBox("TbCantidadF").Text.ToDouble
- DtInv.AcceptChanges()
- Next
-
-
- UPInv.Update()
- UpSerie.Update()
- TxtSerieLote.Text = ""
- TxtSerieLote.Focus()
-
- If Tipo = 1 Then
- RegistraScript(String.Format("$('#{0}').on('shown.bs.modal', function () {{$('#{0}').focus(); $('#{0}').trigger(jQuery.Event('keypress', {{which: 13}})); }});$('#DivSerie').modal('show'); ", TxtSerieLote.ClientID))
- End If
-
- End Sub
- Protected Sub BtnAgregarPS_Click(sender As Object, e As EventArgs)
- AgregaSerieLote(TxtSerieLote.Text.Replace(" ", String.Empty), 1)
- End Sub
- Private Sub AgregaSerieLote(SerieLote As String, Tipo As Integer)
- 'SerieLote = SerieLote.Trim.Replace(" ", " ")
-
- If SerieLote.Trim = "" Then
- Alert("El campo Serie es obligatorio. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
- Exit Sub
- End If
-
- Dim SeriesArreglo = SerieLote.Trim.Split(";"c)
-
- 'VALIDACION DE SERIES DUPLICADAS
- Dim MensajeAlert As New StringBuilder
- Dim DtDuplicado As New DataTable
- Dim DtSeriesNuevas As New DataTable
- DtSeriesNuevas.Columns.Add("Serie", GetType(String))
-
- 'PARA VALIDAR SI LA SERIE ES IGUAL AL CODIGO O CODIGOBARRAS
- Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltroPrimero("", "PS")
-
- For Each Serie In SeriesArreglo
- DtDuplicado = DtDatosDetalle.FiltraParametros($"ConsecId = {CveConsecSerieLote} AND Serie = '{Serie}'")
- If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
- MensajeAlert.Append($" El numero de Serie ""{Serie}"" proporcionado ya se encuentra ingresado.")
- Continue For
- End If
-
- DtDuplicado = DtSeriesNuevas.FiltraParametros($"Serie = '{Serie}'")
- If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
- MensajeAlert.Append($" El numero de Serie ""{Serie}"" proporcionado se encuentra duplicado.")
- Continue For
- End If
-
- 'PARA VALIDAR SI LA SERIE ES IGUAL AL CODIGO O CODIGOBARRAS
- If Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper Then
- MensajeAlert.Append($" El numero de Serie {Serie} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.")
- Continue For
- End If
-
- Dim Row = DtSeriesNuevas.NewRow
- Row("Serie") = Serie
- DtSeriesNuevas.Rows.Add(Row)
- Next
-
- If MensajeAlert.ToString <> "" Then
- Alert(MensajeAlert.ToString, TipoMensaje.MsgAdvertencia)
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- Exit Sub
- End If
-
-
- Dim MensajeSinExistencias As New StringBuilder
- Dim ObjInventarios As New ClsInventarios
- Dim Index = 0
-
- For Each Serie In SeriesArreglo
- Dim Row = DtDatosDetalle.NewRow
-
- Index = Index + 1
- If Index > LbCantidad.Text.ToEntero Then
- Exit For
- End If
-
- 'VALIDA QUE SIGA AGREGANDO
- If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote)).Rows.Count < LbCantidad.Text.ToEntero Then
- Exit For
- End If
-
- 'VERIFICA EXISTENCIAS
- If TipoMovimiento > 1 Then
- Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerieLote, CveUMSerieLote, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=Serie)
- If Existencia < 1 Then
- MensajeSinExistencias.Append($"Serie: {Serie}. ")
- Continue For
- End If
-
- If TipoMovimiento = 2 Then
- If DtExistencias.SUM("Existencia", $"SerieLote = {Serie}") = 0 Then
- MensajeSinExistencias.Append($"Serie: {Serie}. ")
- Continue For
- End If
- End If
- End If
-
- Dim AplicaCaducidad = False
- If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
- AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
- End If
-
- Row("ConsecId") = CveConsecSerieLote
- Row("Consec") = DtDatosDetalle.Rows.Count + 1
- Row("CvePS") = CvePSSerieLote
- Row("CveUM") = CveUMSerieLote
- Row("PU") = PUSerieLote
- Row("Serie") = Serie
- Row("FechaCaducidad") = If(AplicaCaducidad, TxtFechaCaducidad.Text, MinFecha.ToShortDateString)
-
- DtDatosDetalle.Rows.Add(Row)
- Next
- ObjInventarios.Dispose()
-
- If Tipo = 1 Then
- TxtSerieLote.Text = ""
- TxtFechaCaducidad.Text = Now.ToShortDateString
- End If
-
- CargaSerie(Tipo, True)
-
- If MensajeAlert.ToString <> "" Then
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- Else
- If MensajeSinExistencias.ToString <> "" Then
- Alert($"Las siguientes Series no cuentan con la existencia suficiente por lo cual se omitieron.
{MensajeSinExistencias.ToString}", TipoMensaje.MsgAdvertencia)
- End If
- RegistraScript("playsonidito('beep-07.wav')")
- End If
-
- End Sub
-
- Protected Sub GvSerie_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvSerie.RowDeleting
- Dim keySerieLote As String = e.Keys("Serie").ToString
- Try
- For Each dr As DataRow In DtDatosDetalle.Rows
- If dr("Serie").ToString = keySerieLote Then
- dr.Delete()
- End If
- Next
- Catch ex As Exception
-
- End Try
-
- DtDatosDetalle.AcceptChanges()
+#Region " AGREGA POR SERIE/LOTE "
+ Protected Sub BtnSerieLote_Click(sender As Object, e As EventArgs)
+
+ Dim Argumentos = CType(sender, Button).CommandArgument.Split("°"c)
+
+ LbProducto.Text = Argumentos(3)
+ LbCantidad.Text = Argumentos(4).FormatoNumero
+ TxtFechaCaducidad.Text = Now.ToShortDateString()
+
+ CvePSSerieLote = Argumentos(0).ToEntero
+ CveUMSerieLote = Argumentos(1).ToEntero
+ PUSerieLote = Argumentos(2).ToDecimal
+ CveConsecSerieLote = Argumentos(5).ToEntero
+
+ CargaSerie(1)
+
+ End Sub
+ Private Sub CreaDtDetalle()
+ If DtDatosDetalle Is Nothing Then
+ DtDatosDetalle = New DataTable
+ DtDatosDetalle.Columns.Add("Consec", GetType(Integer))
+ DtDatosDetalle.Columns.Add("ConsecId", GetType(Integer))
+ DtDatosDetalle.Columns.Add("CvePS", GetType(Integer))
+ DtDatosDetalle.Columns.Add("CveUM", GetType(Integer))
+ DtDatosDetalle.Columns.Add("PU", GetType(Decimal))
+ DtDatosDetalle.Columns.Add("Serie", GetType(String))
+ DtDatosDetalle.Columns.Add("FechaCaducidad", GetType(String))
+ End If
+ End Sub
+
+ Private Sub CargaSerie(Tipo As Integer, Optional CerrarCompletado As Boolean = False)
+ 'RegistraScript("document.getElementById(""TxtSerieLote"").focus();")
+ RegistraScript("$('#DivSerie').modal();", "ModalLote")
+
+ 'Dim AplicaCaducidad = False
+ 'If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
+ ' AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
+ 'End If
+
+ 'If AplicaCaducidad Then
+ ' GvSerie.Columns(1).Visible = True
+ ' TdCaducidad1.Visible = True
+ ' TdCaducidad2.Visible = True
+ 'Else
+ ' GvSerie.Columns(1).Visible = False
+ ' TdCaducidad1.Visible = False
+ ' TdCaducidad2.Visible = False
+ 'End If
+
+ GvSerie.DataSource = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote), "Consec DESC")
+ GvSerie.DataBind()
+
+ 'VALIDA QUE SIGA AGREGANDO
+ If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote)).Rows.Count < LbCantidad.Text.ToEntero Then
+ BtnAgregarPS.Enabled = False
+ If CerrarCompletado Then
+ RegistraScript("$('#DivSerie').modal('hide');")
+ End If
+ Else
+ BtnAgregarPS.Enabled = True
+ End If
+
+ 'SI TIENE ENTRADA POR SERIE LOTE, BLOQUEAMOS CHECK Y TXTCANTIDAD
+ Dim Contador = 0
+ For Each Gvr As GridViewRow In GvInv.Rows
+ If Gvr.DataKey("CvePS").ToEntero = CvePSSerieLote Then
+ Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec"))).Rows.Count
+ Gvr.FCCheckBox("cbInv").Enabled = False
+ Gvr.FCTextBox("TbCantidadF").Enabled = False
+ If DtDatosDetalle IsNot Nothing AndAlso Contador > 0 Then
+ Gvr.FCCheckBox("cbInv").Checked = True
+ Gvr.FCTextBox("TbCantidadF").Text = Contador.ToString
+ ElseIf Gvr.DataKey("CantidadF").ToString.ToDecimal <> 0 Then
+ Gvr.FCCheckBox("cbInv").Checked = False
+ Gvr.FCTextBox("TbCantidadF").Text = "0"
+ End If
+ End If
+
+ Dim Dr = DtInv.Select($"Consec = {Gvr.DataKey("Consec")}")(0)
+ Dr("CantidadSurtidaPantalla") = Gvr.FCTextBox("TbCantidadF").Text.ToDouble
+ DtInv.AcceptChanges()
+ Next
+
+
+ UPInv.Update()
+ UpSerie.Update()
+ TxtSerieLote.Text = ""
+ TxtSerieLote.Focus()
+
+ If Tipo = 1 Then
+ RegistraScript(String.Format("$('#{0}').on('shown.bs.modal', function () {{$('#{0}').focus(); $('#{0}').trigger(jQuery.Event('keypress', {{which: 13}})); }});$('#DivSerie').modal('show'); ", TxtSerieLote.ClientID))
+ End If
+
+ End Sub
+ Protected Sub BtnAgregarPS_Click(sender As Object, e As EventArgs)
+ AgregaSerieLote(TxtSerieLote.Text.Replace(" ", String.Empty), 1)
+ End Sub
+ Private Sub AgregaSerieLote(SerieLote As String, Tipo As Integer)
+ 'SerieLote = SerieLote.Trim.Replace(" ", " ")
+
+ If SerieLote.Trim = "" Then
+ Alert("El campo Serie es obligatorio. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim SeriesArreglo = SerieLote.Trim.Split(";"c)
+
+ 'VALIDACION DE SERIES DUPLICADAS
+ Dim MensajeAlert As New StringBuilder
+ Dim DtDuplicado As New DataTable
+ Dim DtSeriesNuevas As New DataTable
+ DtSeriesNuevas.Columns.Add("Serie", GetType(String))
+
+ 'PARA VALIDAR SI LA SERIE ES IGUAL AL CODIGO O CODIGOBARRAS
+ Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltroPrimero("", "PS")
+
+ For Each Serie In SeriesArreglo
+ DtDuplicado = DtDatosDetalle.FiltraParametros($"ConsecId = {CveConsecSerieLote} AND Serie = '{Serie}'")
+ If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
+ MensajeAlert.Append($" El numero de Serie ""{Serie}"" proporcionado ya se encuentra ingresado.")
+ Continue For
+ End If
+
+ DtDuplicado = DtSeriesNuevas.FiltraParametros($"Serie = '{Serie}'")
+ If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
+ MensajeAlert.Append($" El numero de Serie ""{Serie}"" proporcionado se encuentra duplicado.")
+ Continue For
+ End If
+
+ 'PARA VALIDAR SI LA SERIE ES IGUAL AL CODIGO O CODIGOBARRAS
+ If Serie.ToUpper = dr("Codigo").ToString.ToUpper Or Serie.ToUpper = dr("CodigoBarras").ToString.ToUpper Then
+ MensajeAlert.Append($" El numero de Serie {Serie} coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.")
+ Continue For
+ End If
+
+ Dim Row = DtSeriesNuevas.NewRow
+ Row("Serie") = Serie
+ DtSeriesNuevas.Rows.Add(Row)
+ Next
+
+ If MensajeAlert.ToString <> "" Then
+ Alert(MensajeAlert.ToString, TipoMensaje.MsgAdvertencia)
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ Exit Sub
+ End If
+
+
+ Dim MensajeSinExistencias As New StringBuilder
+ Dim ObjInventarios As New ClsInventarios
+ Dim Index = 0
+
+ For Each Serie In SeriesArreglo
+ Dim Row = DtDatosDetalle.NewRow
+
+ Index = Index + 1
+ If Index > LbCantidad.Text.ToEntero Then
+ Exit For
+ End If
+
+ 'VALIDA QUE SIGA AGREGANDO
+ If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerieLote)).Rows.Count < LbCantidad.Text.ToEntero Then
+ Exit For
+ End If
+
+ 'VERIFICA EXISTENCIAS
+ If TipoMovimiento > 1 Then
+ Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerieLote, CveUMSerieLote, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=Serie)
+ If Existencia < 1 Then
+ MensajeSinExistencias.Append($"Serie: {Serie}. ")
+ Continue For
+ End If
+
+ If TipoMovimiento = 2 Then
+ If DtExistencias.SUM("Existencia", $"SerieLote = {Serie}") = 0 Then
+ MensajeSinExistencias.Append($"Serie: {Serie}. ")
+ Continue For
+ End If
+ End If
+ End If
+
+ 'Dim AplicaCaducidad = False
+ 'If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0) IsNot Nothing Then
+ ' AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerieLote).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString = "True", True, False)
+ 'End If
+
+ Row("ConsecId") = CveConsecSerieLote
+ Row("Consec") = DtDatosDetalle.Rows.Count + 1
+ Row("CvePS") = CvePSSerieLote
+ Row("CveUM") = CveUMSerieLote
+ Row("PU") = PUSerieLote
+ Row("Serie") = Serie
+ Row("FechaCaducidad") = MinFecha.ToShortDateString
+
+ DtDatosDetalle.Rows.Add(Row)
+ Next
+ ObjInventarios.Dispose()
+
+ If Tipo = 1 Then
+ TxtSerieLote.Text = ""
+ TxtFechaCaducidad.Text = Now.ToShortDateString
+ End If
+
+ CargaSerie(Tipo, True)
+
+ If MensajeAlert.ToString <> "" Then
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ Else
+ If MensajeSinExistencias.ToString <> "" Then
+ Alert($"Las siguientes Series no cuentan con la existencia suficiente por lo cual se omitieron.
{MensajeSinExistencias.ToString}", TipoMensaje.MsgAdvertencia)
+ End If
+ RegistraScript("playsonidito('beep-07.wav')")
+ End If
+
+ End Sub
+
+ Protected Sub GvSerie_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvSerie.RowDeleting
+ Dim keySerieLote As String = e.Keys("Serie").ToString
+ Try
+ For Each dr As DataRow In DtDatosDetalle.Rows
+ If dr("Serie").ToString = keySerieLote Then
+ dr.Delete()
+ End If
+ Next
+ Catch ex As Exception
+
+ End Try
+
+ DtDatosDetalle.AcceptChanges()
CargaSerie(1)
End Sub
@@ -2092,7 +2172,7 @@ Partial Class Inventarios_RecepcionAlmacen
PU = Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (PU))
End If
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
ErrorMovInv = True
Exit For
End If
@@ -2107,7 +2187,7 @@ Partial Class Inventarios_RecepcionAlmacen
PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - (Dr("Cantidad").ToString.ToDecimal * (PU)))) / Dr("Cantidad").ToString.ToDecimal
End If
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
ErrorMovInv = True
Exit For
End If
@@ -2122,7 +2202,7 @@ Partial Class Inventarios_RecepcionAlmacen
PU = (Math.Round((TotalCompraOC * If(TipoCambio > 1, TipoCambio, 1)), 2).ToDecimal - (SumaTotal - tTotal)) / gvr.FCTextBox("TbCantidadF").Text.ToDecimal
End If
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, CveUsuarioModifico:=UsuarioActual.CveUsuario, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
ErrorMovInv = True
Exit For
End If
@@ -2793,306 +2873,306 @@ Partial Class Inventarios_RecepcionAlmacen
If CveMovimientoVirtual > 0 Then
link = String.Format("{1}", CveMovimientoVirtual, FolioVirtual)
Msg.AppendFormat(" Movimiento de Entrada al Almacen Virtual: Folio: {0}", link)
- Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtual)))
-
- End If
-
- 'CONTABILIDAD
- Msg.Append(MensajeContabilidad)
-
- Alert(Msg.ToString, TipoMensaje.MsgInformacion)
-
- If ObjInventario.RecepcionAlmacenGet(CveCompraSurtir, -1, UsuarioActual.CveEmpresa) Then
- CreaDTInv(ObjInventario.DtResultados)
- CargaGVInv()
- BtnGuardar.Visible = True
- End If
- Limpia()
-
- Else
- ObjInventario.RollBack()
- If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
- If ObjContaContPAQ IsNot Nothing Then ObjContaContPAQ.RollBack()
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- Alert($"Ocurrió un error al guardar el movimiento de almacén. Por favor vuelva a intentar.
{MensajeError}", TipoMensaje.MsgError)
- End If
-
- ObjInventario.Dispose()
- If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
- If ObjContaContPAQ IsNot Nothing Then ObjContaContPAQ.Dispose()
- End Sub
- Private Sub GuardaImportacionFlete()
- Dim CveMovimiento As Integer
- Dim InvFolio As String = ""
- Dim FechaMovto As Date = TxtFecha.Text.ToDate
- Dim ErrorMovInv As Boolean
- Dim MensajeError = ""
-
- Dim ObjInventario As New ClsInventarios
- Dim ObjBitacora As New ClsOIEventos(ObjInventario.IniciaTransacSQL())
- Dim ObjCompras As New ClsCompras(ObjInventario.IniciaTransacSQL())
- Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
- Dim ObjOC As New ClsOC(ObjInventario.IniciaTransacSQL())
- Dim ObjContaAC As ClsContPAQi = Nothing
-
- 'ENTRADA ALMACÉN
- CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 2, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveImportacionCompra, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=-1, Remision:=TxtRemision.Text, Modulo:="RA/G")
- If CveMovimiento > 0 Then
- InvFolio = ObjInventario.Folio.ToString
- Dim DtDetalle As New DataTable
- Dim DtDetalleLote As New DataTable
- Dim PU As Decimal = 0
- Dim CostoIndirecto As Decimal = 0
- Dim PUExtranjero As Decimal = 0
- For Each gvr As GridViewRow In GvInv.Rows
- If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
-
- PU = DtInv.Rows(gvr.RowIndex)("PU").ToString.ToDecimal
- CostoIndirecto = DtInv.Rows(gvr.RowIndex)("CostoIndirecto").ToString.ToDecimal
- PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
-
- 'SI FUE POR SERIE LOTE
- DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
- DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
- If DtDetalle.Rows.Count > 0 Then
- For Each Dr As DataRow In DtDetalle.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- ElseIf DtDetalleLote.Rows.Count > 0 Then
- For Each Dr As DataRow In DtDetalleLote.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto) Then
- ErrorMovInv = True
- Exit For
- End If
- Next
- Else
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, CveSeccionAlmacen:=gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto) Then
- ErrorMovInv = True
- Exit For
- End If
- End If
-
- End If
- Next
- Else
- ErrorMovInv = True
- End If
-
- 'AGREGA BITACORA TEMPORAL
- If DtBitacora IsNot Nothing AndAlso DtBitacora.Rows.Count > 0 Then
- ErrorMovInv = GuardaBitacoraTemporal(ObjBitacora, CveMovimiento)
- End If
- Dim CvePrePoliza As Integer = 0
- Dim UsaComplementariaCostoIndirecto As Boolean = False
- If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaCostoIndirecto = False
- Dim PorcentajeCompraImportacion As Decimal = 0 ' si hay mas de una factura de importación saber lo que se está recibiendo
-
- 'SE REGISTRAN LAS PREPOLIZAS
- If Not ErrorMovInv Then
- CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen CostoInd", 74, 0, 0, 1, FechaMovto, TxtObservaciones.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- Dim DtTempCompras As DataTable = Nothing
- PorcentajeCompraImportacion = 1
- If CveFleteSurtir > 0 Then
- If ObjInventario.GetFleteDetalle(CveFleteSurtir) Then
- DtTempCompras = ObjInventario.DtResultados
- ' faltaría agregar la factura de producto,
- If ObjCompras.GetCompras(CveFleteCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
- Dim drc As DataRow = DtTempCompras.NewRow
- Dim drr As DataRow = ObjCompras.DtResultados.FiltroPrimero("")
- If drr IsNot Nothing Then
- drc("CveCompra") = CveFleteCompra
- drc("SubTotal") = drr("SubTotal")
- drc("TipoCambio") = drr("TipoCambio")
- drc("CveProveedor") = drr("CveProveedor")
- DtTempCompras.Rows.Add(drc)
- End If
-
- End If
-
- Else
- ErrorMovInv = True
- End If
- Else
-
- If CveImportacionSurtir > 0 Then
-
- If ObjCompras.GetImportacionesDetalle(CveImportacionSurtir, -1) Then
- DtTempCompras = ObjCompras.DtResultados
- Dim CveCompraImportacion As Integer = -1
- If (DdlFactura.SelectedValue.ToEntero > 0) Then CveCompraImportacion = DdlFactura.SelectedValue.ToEntero
-
- If ObjCompras.GetImportacionCompras(CveImportacionSurtir, CveCompraImportacion) Then
- For Each drt As DataRow In ObjCompras.DtResultados.Rows
- PorcentajeCompraImportacion = If(CveCompraImportacion > 0, drt("PorcentajeCompra").ToString.ToDecimal, 1)
- Dim drc As DataRow = DtTempCompras.NewRow
- drc("CveCompra") = drt("CveCompra")
- drc("SubTotal") = drt("SubTotal")
- drc("TipoCambio") = drt("TipoCambio")
- drc("CveProveedor") = drt("CveProveedor")
- DtTempCompras.Rows.Add(drc)
- Next
-
- End If
-
-
-
- Else
- ErrorMovInv = True
- End If
- End If
- End If
- If CvePrePoliza > 0 Then
- Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
- ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa)
- Dim TotalCosto As Decimal = ObjInventario.DtResultados.SUMD("Total").RoundSQL()
- Dim IdCtaContableCostoInd As Integer = 0
-
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, InvFolio, 68, InvFolio, FechaMovto, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
- 'se recorren las facturas a descontar el recepción
- If DtTempCompras IsNot Nothing AndAlso DtTempCompras.Rows.Count > 0 Then
-
- For Each dr As DataRow In DtTempCompras.Rows
- Dim CveComp As Integer = dr("CveCompra").ToString.ToEntero
- 'el porcentaje solo aplica a las facturas de costo indirecto
- Dim SubTotalPartida As Decimal = dr("SubTotal").ToString.ToDecimal * If(dr("TipoCompra").ToString = "CI", PorcentajeCompraImportacion, 1)
- Dim ImporteAbono As Decimal = (SubTotalPartida * dr("TipoCambio").ToString.ToDecimal).RoundSQL
- Dim ImporteAbonoME As Decimal = 0
- Dim CveConceptoCostoIndirecto As Integer = If(CveImportacionSurtir > 0, 240, 237)
-
- If ObjConta.GetRetCuenta(CveConceptoCostoIndirecto, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
- IdCtaContableCostoInd = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
- End If
-
- If UsaComplementariaCostoIndirecto Then
- CveConceptoCostoIndirecto = If(CveImportacionSurtir > 0, 241, 238)
- ImporteAbono = SubTotalPartida
- ImporteAbonoME = (SubTotalPartida * dr("TipoCambio").ToString.ToDecimal) - SubTotalPartida
- End If
-
-
-
- If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAbono, InvFolio, CveConceptoCostoIndirecto, InvFolio, FechaMovto, IdCtaContableCostoInd, -1, CveCompra:=CveComp, CveProveedor:=dr("CveProveedor").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ImporteAbono) Then
- ' si tiene valor es que hay complementaria
- If ImporteAbonoME > 0 Then
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAbono, InvFolio, If(CveImportacionSurtir > 0, 242, 239), InvFolio, FechaMovto, IdCtaContableCostoInd, -1, CveCompra:=CveComp, CveProveedor:=dr("CveProveedor").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ImporteAbono) Then
- ErrorMovInv = True
- End If
- End If
- Else
- ErrorMovInv = True
- End If
- Next
-
- End If
- End If
-
-
- Else
- ErrorMovInv = True
- End If
- End If
-
- If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
- If ObjConta.ValorPolizaDescuadre > 0 Then
- GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
- ErrorMovInv = True
- End If
- End If
-
- If Not ErrorMovInv AndAlso UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
- ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
- ObjContaAC.IniciaTransacSQL()
- If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaAC) Then
- MensajeError = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
- Else
- ErrorMovInv = True
- MensajeError = "Error al contabilizar los conceptos contables"
- End If
- End If
-
-
- 'FINAL
- If Not ErrorMovInv Then
- ObjInventario.Commit() ' aplica los movimientos insertados
- If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
- RegistraScript("playsonidito('beep-07.wav')")
-
- Dim Msg As New StringBuilder
- Dim link As String = String.Format("{1}", CveMovimiento, InvFolio)
- Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link)
- Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
-
- Alert(Msg.ToString, TipoMensaje.MsgInformacion)
-
- Limpia()
- Else
- ObjInventario.RollBack()
- If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
- RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
- GuardaLog(MensajeError)
- Alert("Error al guardar el movimiento de almacen. Por favor vuelva a intentar.", TipoMensaje.MsgError)
- End If
-
- ObjInventario.Dispose()
- If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
- End Sub
- Private Sub Limpia()
- CveCompraSurtir = -1
- CvePrePolizaCompra = -1
- CveOCSurtir = -1
- CveImportacionSurtir = -1
- CveImportacionProveedor = -1
- CveImportacionCompra = -1
- BuscaEntregaDirecta = -1
- DivAdvertencia.Visible = False
- EntregaDirecta = False
- DtInv = Nothing
- CargaGVInv()
- TxtObservaciones.Text = ""
- TxtOC.Text = ""
- TxtFecha.Text = Now.ToShortDateString
- DdlAlmacen.SelectedValueExist(-1)
- TxtRemision.Text = ""
-
- 'ddlProveedor.SelectedValueExist(-1)
- ddlProveedor.SelectedValue = "-1"
- DdlFolio.Items.Clear()
- DdlFolio.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlFolioOC.Items.Clear()
- DdlFolioOC.Items.Insert(0, New ListItem("Seleccione", "-1"))
- DdlFolioImportacion.Items.Clear()
- DdlFolioImportacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
- CargaFoliosRecepcion()
-
- DtBitacora.Clear()
- DivBitacora.Visible = False
- CargaEventoBitacoraTemp()
-
- DdlMonedaTC.SelectedValueExist("1")
- TipoCambio = 0
- 'TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString
- DivTipoCambio.Visible = False
-
- DivAdvertencia.Visible = False
-
- UpTipoCambio.Update()
- UPInv.Update()
- UpGenerales.Update()
- UpFiltros.Update()
-
- HLFolio.Text = ""
- HLFolio.NavigateUrl = "#"
- LbProveedor.Text = ""
- LbDescripcionCompra.Text = ""
- UpDatosCompra.Update()
- CargaPendientes()
-
- End Sub
- Private Function GuardaPrePoliza() As Boolean
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtual)))
+
+ End If
+
+ 'CONTABILIDAD
+ Msg.Append(MensajeContabilidad)
+
+ Alert(Msg.ToString, TipoMensaje.MsgInformacion)
+
+ If ObjInventario.RecepcionAlmacenGet(CveCompraSurtir, -1, UsuarioActual.CveEmpresa) Then
+ CreaDTInv(ObjInventario.DtResultados)
+ CargaGVInv()
+ BtnGuardar.Visible = True
+ End If
+ Limpia()
+
+ Else
+ ObjInventario.RollBack()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
+ If ObjContaContPAQ IsNot Nothing Then ObjContaContPAQ.RollBack()
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ Alert($"Ocurrió un error al guardar el movimiento de almacén. Por favor vuelva a intentar.
{MensajeError}", TipoMensaje.MsgError)
+ End If
+
+ ObjInventario.Dispose()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
+ If ObjContaContPAQ IsNot Nothing Then ObjContaContPAQ.Dispose()
+ End Sub
+ Private Sub GuardaImportacionFlete()
+ Dim CveMovimiento As Integer
+ Dim InvFolio As String = ""
+ Dim FechaMovto As Date = TxtFecha.Text.ToDate
+ Dim ErrorMovInv As Boolean
+ Dim MensajeError = ""
+
+ Dim ObjInventario As New ClsInventarios
+ Dim ObjBitacora As New ClsOIEventos(ObjInventario.IniciaTransacSQL())
+ Dim ObjCompras As New ClsCompras(ObjInventario.IniciaTransacSQL())
+ Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
+ Dim ObjOC As New ClsOC(ObjInventario.IniciaTransacSQL())
+ Dim ObjContaAC As ClsContPAQi = Nothing
+
+ 'ENTRADA ALMACÉN
+ CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 2, 1, FechaMovto, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveImportacionCompra, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, TipoCambio:=-1, Remision:=TxtRemision.Text, Modulo:="RA/G")
+ If CveMovimiento > 0 Then
+ InvFolio = ObjInventario.Folio.ToString
+ Dim DtDetalle As New DataTable
+ Dim DtDetalleLote As New DataTable
+ Dim PU As Decimal = 0
+ Dim CostoIndirecto As Decimal = 0
+ Dim PUExtranjero As Decimal = 0
+ For Each gvr As GridViewRow In GvInv.Rows
+ If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
+
+ PU = DtInv.Rows(gvr.RowIndex)("PU").ToString.ToDecimal
+ CostoIndirecto = DtInv.Rows(gvr.RowIndex)("CostoIndirecto").ToString.ToDecimal
+ PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
+
+ 'SI FUE POR SERIE LOTE
+ DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
+ If DtDetalle.Rows.Count > 0 Then
+ For Each Dr As DataRow In DtDetalle.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), SerieLote:=Dr("Serie").ToString, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ ElseIf DtDetalleLote.Rows.Count > 0 Then
+ For Each Dr As DataRow In DtDetalleLote.Rows
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+ Else
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, gvr.FCTextBox("TbCantidadF").Text.ToDouble, gvr.DataKey("CveUM").ToEntero, gvr.DataKey("CvePS").ToEntero, PU, -1, PUTC:=If(DdlMonedaTC.SelectedValue.ToEntero = 1, -1, PUExtranjero), CveCompraDetalle:=gvr.DataKey("CveCompraDetalle").ToEntero, CveOrdenCompraDetalle:=gvr.DataKey("CveOrdenCompraDetalle").ToEntero, CveVentaDetalle:=gvr.DataKey("CveVentaDetalle").ToEntero, CostoIndirecto:=CostoIndirecto, FechaCaducidad:=If(CBool(gvr.DataKey("AplicaCaducidad")), gvr.FCTextBox("TxtCaducidad").Text.ToDate, MinFecha), Lote:=If(CBool(gvr.DataKey("AplicaLote")), gvr.FCTextBox("TxtLote").Text, ""), CveSeccionAlmacen:=If(CBool(gvr.DataKey("AplicaSeccion")), gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero, -1)) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ End If
+
+ End If
+ Next
+ Else
+ ErrorMovInv = True
+ End If
+
+ 'AGREGA BITACORA TEMPORAL
+ If DtBitacora IsNot Nothing AndAlso DtBitacora.Rows.Count > 0 Then
+ ErrorMovInv = GuardaBitacoraTemporal(ObjBitacora, CveMovimiento)
+ End If
+ Dim CvePrePoliza As Integer = 0
+ Dim UsaComplementariaCostoIndirecto As Boolean = False
+ If UsuarioActual.CveEmpresa = 119 Then UsaComplementariaCostoIndirecto = False
+ Dim PorcentajeCompraImportacion As Decimal = 0 ' si hay mas de una factura de importación saber lo que se está recibiendo
+
+ 'SE REGISTRAN LAS PREPOLIZAS
+ If Not ErrorMovInv Then
+ CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen CostoInd", 74, 0, 0, 1, FechaMovto, TxtObservaciones.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
+ Dim DtTempCompras As DataTable = Nothing
+ PorcentajeCompraImportacion = 1
+ If CveFleteSurtir > 0 Then
+ If ObjInventario.GetFleteDetalle(CveFleteSurtir) Then
+ DtTempCompras = ObjInventario.DtResultados
+ ' faltaría agregar la factura de producto,
+ If ObjCompras.GetCompras(CveFleteCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
+ Dim drc As DataRow = DtTempCompras.NewRow
+ Dim drr As DataRow = ObjCompras.DtResultados.FiltroPrimero("")
+ If drr IsNot Nothing Then
+ drc("CveCompra") = CveFleteCompra
+ drc("SubTotal") = drr("SubTotal")
+ drc("TipoCambio") = drr("TipoCambio")
+ drc("CveProveedor") = drr("CveProveedor")
+ DtTempCompras.Rows.Add(drc)
+ End If
+
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+ Else
+
+ If CveImportacionSurtir > 0 Then
+
+ If ObjCompras.GetImportacionesDetalle(CveImportacionSurtir, -1) Then
+ DtTempCompras = ObjCompras.DtResultados
+ Dim CveCompraImportacion As Integer = -1
+ If (DdlFactura.SelectedValue.ToEntero > 0) Then CveCompraImportacion = DdlFactura.SelectedValue.ToEntero
+
+ If ObjCompras.GetImportacionCompras(CveImportacionSurtir, CveCompraImportacion) Then
+ For Each drt As DataRow In ObjCompras.DtResultados.Rows
+ PorcentajeCompraImportacion = If(CveCompraImportacion > 0, drt("PorcentajeCompra").ToString.ToDecimal, 1)
+ Dim drc As DataRow = DtTempCompras.NewRow
+ drc("CveCompra") = drt("CveCompra")
+ drc("SubTotal") = drt("SubTotal")
+ drc("TipoCambio") = drt("TipoCambio")
+ drc("CveProveedor") = drt("CveProveedor")
+ DtTempCompras.Rows.Add(drc)
+ Next
+
+ End If
+
+
+
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+ End If
+ If CvePrePoliza > 0 Then
+ Dim IdCtaContableAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ Dim CveCuentaAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContableSIG", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
+ ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa)
+ Dim TotalCosto As Decimal = ObjInventario.DtResultados.SUMD("Total").RoundSQL()
+ Dim IdCtaContableCostoInd As Integer = 0
+
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto, InvFolio, 68, InvFolio, FechaMovto, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
+ 'se recorren las facturas a descontar el recepción
+ If DtTempCompras IsNot Nothing AndAlso DtTempCompras.Rows.Count > 0 Then
+
+ For Each dr As DataRow In DtTempCompras.Rows
+ Dim CveComp As Integer = dr("CveCompra").ToString.ToEntero
+ 'el porcentaje solo aplica a las facturas de costo indirecto
+ Dim SubTotalPartida As Decimal = dr("SubTotal").ToString.ToDecimal * If(dr("TipoCompra").ToString = "CI", PorcentajeCompraImportacion, 1)
+ Dim ImporteAbono As Decimal = (SubTotalPartida * dr("TipoCambio").ToString.ToDecimal).RoundSQL
+ Dim ImporteAbonoME As Decimal = 0
+ Dim CveConceptoCostoIndirecto As Integer = If(CveImportacionSurtir > 0, 240, 237)
+
+ If ObjConta.GetRetCuenta(CveConceptoCostoIndirecto, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
+ IdCtaContableCostoInd = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
+ End If
+
+ If UsaComplementariaCostoIndirecto Then
+ CveConceptoCostoIndirecto = If(CveImportacionSurtir > 0, 241, 238)
+ ImporteAbono = SubTotalPartida
+ ImporteAbonoME = (SubTotalPartida * dr("TipoCambio").ToString.ToDecimal) - SubTotalPartida
+ End If
+
+
+
+ If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAbono, InvFolio, CveConceptoCostoIndirecto, InvFolio, FechaMovto, IdCtaContableCostoInd, -1, CveCompra:=CveComp, CveProveedor:=dr("CveProveedor").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ImporteAbono) Then
+ ' si tiene valor es que hay complementaria
+ If ImporteAbonoME > 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAbono, InvFolio, If(CveImportacionSurtir > 0, 242, 239), InvFolio, FechaMovto, IdCtaContableCostoInd, -1, CveCompra:=CveComp, CveProveedor:=dr("CveProveedor").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ImporteAbono) Then
+ ErrorMovInv = True
+ End If
+ End If
+ Else
+ ErrorMovInv = True
+ End If
+ Next
+
+ End If
+ End If
+
+
+ Else
+ ErrorMovInv = True
+ End If
+ End If
+
+ If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
+ If ObjConta.ValorPolizaDescuadre > 0 Then
+ GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
+ ErrorMovInv = True
+ End If
+ End If
+
+ If Not ErrorMovInv AndAlso UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
+ ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
+ ObjContaAC.IniciaTransacSQL()
+ If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaAC) Then
+ MensajeError = $" Movimiento contabilizado en el folio: {ObjConta.ContaFolio} "
+ Else
+ ErrorMovInv = True
+ MensajeError = "Error al contabilizar los conceptos contables"
+ End If
+ End If
+
+
+ 'FINAL
+ If Not ErrorMovInv Then
+ ObjInventario.Commit() ' aplica los movimientos insertados
+ If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
+ RegistraScript("playsonidito('beep-07.wav')")
+
+ Dim Msg As New StringBuilder
+ Dim link As String = String.Format("{1}", CveMovimiento, InvFolio)
+ Msg.AppendFormat("Movimiento Registrado: Folio: {0}", link)
+ Msg.AppendFormat(" Imprimir Movimiento ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimiento)))
+
+ Alert(Msg.ToString, TipoMensaje.MsgInformacion)
+
+ Limpia()
+ Else
+ ObjInventario.RollBack()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
+ RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
+ GuardaLog(MensajeError)
+ Alert("Error al guardar el movimiento de almacen. Por favor vuelva a intentar.", TipoMensaje.MsgError)
+ End If
+
+ ObjInventario.Dispose()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
+ End Sub
+ Private Sub Limpia()
+ CveCompraSurtir = -1
+ CvePrePolizaCompra = -1
+ CveOCSurtir = -1
+ CveImportacionSurtir = -1
+ CveImportacionProveedor = -1
+ CveImportacionCompra = -1
+ BuscaEntregaDirecta = -1
+ DivAdvertencia.Visible = False
+ EntregaDirecta = False
+ DtInv = Nothing
+ CargaGVInv()
+ TxtObservaciones.Text = ""
+ TxtOC.Text = ""
+ TxtFecha.Text = Now.ToShortDateString
+ DdlAlmacen.SelectedValueExist(-1)
+ TxtRemision.Text = ""
+
+ 'ddlProveedor.SelectedValueExist(-1)
+ ddlProveedor.SelectedValue = "-1"
+ DdlFolio.Items.Clear()
+ DdlFolio.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ DdlFolioOC.Items.Clear()
+ DdlFolioOC.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ DdlFolioImportacion.Items.Clear()
+ DdlFolioImportacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ CargaFoliosRecepcion()
+
+ DtBitacora.Clear()
+ DivBitacora.Visible = False
+ CargaEventoBitacoraTemp()
+
+ DdlMonedaTC.SelectedValueExist("1")
+ TipoCambio = 0
+ 'TxtTipoCambio.Text = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString
+ DivTipoCambio.Visible = False
+
+ DivAdvertencia.Visible = False
+
+ UpTipoCambio.Update()
+ UPInv.Update()
+ UpGenerales.Update()
+ UpFiltros.Update()
+
+ HLFolio.Text = ""
+ HLFolio.NavigateUrl = "#"
+ LbProveedor.Text = ""
+ LbDescripcionCompra.Text = ""
+ UpDatosCompra.Update()
+ CargaPendientes()
+
+ End Sub
+ Private Function GuardaPrePoliza() As Boolean
Return True
End Function
#End Region
@@ -3733,6 +3813,94 @@ Partial Class Inventarios_RecepcionAlmacen
CargaSeccionAlmacen()
End Sub
+#End Region
+
+#Region "DIVIDIR"
+
+ Protected Sub Dividir(sender As Object, e As EventArgs)
+ Dim index2 As Integer = 0
+
+ For Each Row As DataRow In DtInv.Rows
+ Row("Seleccionado") = GvInv.Rows(index2).FCCheckBox("cbInv").Checked
+ If GvInv.Rows(index2).FCTextBox("TbCantidadF").Text <> "" Then
+ Row("CantidadSeleccionada") = GvInv.Rows(index2).FCTextBox("TbCantidadF").Text
+ End If
+ If GvInv.Rows(index2).FCTextBox("TxtLote").Text <> "" Then
+ Row("Lote") = GvInv.Rows(index2).FCTextBox("TxtLote").Text
+ End If
+ If GvInv.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue <> "-1" Then
+ Row("CveSeccion") = GvInv.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero
+ End If
+ If GvInv.Rows(index2).FCTextBox("TxtCaducidad").Text <> "" Then
+ Row("Caducidad") = GvInv.Rows(index2).FCTextBox("TxtCaducidad").Text.ToDate
+ End If
+ index2 += 1
+ Next
+ DtInv.AcceptChanges()
+
+ Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, Button)).NamingContainer, GridViewRow)
+ Dim Index As Integer = gvRow.RowIndex
+ Dim Cantidad As String = HdnCantidadMovimiento.Value
+ Dim dr1 As DataRow = DtInv.Rows(Index)
+ Dim dr As DataRow = DtInv.NewRow
+ dr.ItemArray = dr1.ItemArray
+ dr1("CantidadC") = (dr1("CantidadC").ToString.ToDouble - Cantidad.ToDouble)
+ Dim CantidadFOriginal As Double = dr1("CantidadF").ToString.ToDouble
+ dr1("CantidadF") = (dr1("CantidadF").ToString.ToDouble - Cantidad.ToDouble)
+ Dim CantidadSOriginal As Double = dr1("CantidadS").ToString.ToDouble
+ dr1("CantidadS") = (CantidadSOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ Dim CantidadSeleccionadaOriginal As Double = dr1("CantidadSeleccionada").ToString.ToDouble
+ dr1("CantidadSeleccionada") = If(CantidadSeleccionadaOriginal > dr1("CantidadF").ToString.ToDouble, dr1("CantidadF").ToString.ToDouble, CantidadSeleccionadaOriginal)
+ CantidadSeleccionadaOriginal = CantidadSeleccionadaOriginal - dr1("CantidadF").ToString.ToDouble
+
+ Dim CostoIndirectoOriginal As Double = dr1("CostoIndirecto").ToString.ToDouble
+ dr1("CostoIndirecto") = (CostoIndirectoOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ Dim CostoIndirectoExtranjeroOriginal As Double = dr1("CostoIndirectoExtranjero").ToString.ToDouble
+ dr1("CostoIndirectoExtranjero") = (CostoIndirectoExtranjeroOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+
+ DtInv.AcceptChanges()
+
+ dr("CantidadC") = Cantidad.ToDouble
+ dr("CantidadF") = Cantidad.ToDouble
+ dr("CantidadS") = (CantidadSOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ dr("CantidadSeleccionada") = If(CantidadSeleccionadaOriginal > 0, CantidadSeleccionadaOriginal, 0)
+ dr("Seleccionado") = If(CantidadSeleccionadaOriginal > 0, True, False)
+ dr("CostoIndirecto") = (CostoIndirectoOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ dr("CostoIndirectoExtranjero") = (CostoIndirectoExtranjeroOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ DtInv.Rows.InsertAt(dr, Index)
+ DtInv.AcceptChanges()
+
+ index2 = 1
+ For Each Row As DataRow In DtInv.Rows
+ Row("Consec") = index2
+ index2 += 1
+ Next
+ DtInv.AcceptChanges()
+
+ CargaGVInv()
+
+ index2 = 0
+ For Each Row As DataRow In DtInv.Rows
+ GvInv.Rows(index2).FCCheckBox("cbInv").Checked = CBool(Row("Seleccionado"))
+ If Row("CantidadSeleccionada").ToString <> "" Then
+ GvInv.Rows(index2).FCTextBox("TbCantidadF").Text = Row("CantidadSeleccionada").ToString
+ End If
+ If Row("Lote").ToString <> "" Then
+ GvInv.Rows(index2).FCTextBox("TxtLote").Text = Row("Lote").ToString
+ End If
+ If Row("CveSeccion").ToString <> "" Then
+ GvInv.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue = Row("CveSeccion").ToString
+ End If
+ If Row("Caducidad").ToString <> "" Then
+ GvInv.Rows(index2).FCTextBox("TxtCaducidad").Text = Row("Caducidad").ToString.ToDate.ToShortDateString
+ End If
+ index2 += 1
+ Next
+
+ End Sub
+
+
#End Region
+
End Class
diff --git a/Inventarios/RecepcionEntrega.aspx b/Inventarios/RecepcionEntrega.aspx
index a426c9852..91f95119b 100644
--- a/Inventarios/RecepcionEntrega.aspx
+++ b/Inventarios/RecepcionEntrega.aspx
@@ -416,6 +416,14 @@
+
@@ -931,6 +1003,29 @@
$('#TxtCantidadEspecialDiv').focus()
}
+ function Dividir(t) {
+ $get("HdnCantidadMovimiento").value = $get(t).value;
+ }
+
+ function LimitaCantidad(C, textbox, button) {
+
+ // var contenedor = $(textbox).parent().find("#" + buttonIdDiv);
+
+ if (ToDouble(textbox.value) >= C) {
+ textbox.value = "";
+ }
+
+ if (parseFloat(textbox.value) > 0) {
+ $get(button).style.display = "";
+ //$(contenedor).show();
+ }
+ else {
+ $get(button).style.display = "none";
+ //$(contenedor).hide();
+
+ }
+ }
+
diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb
index 50ee62e69..18d66033f 100644
--- a/Inventarios/RecepcionEntrega.aspx.vb
+++ b/Inventarios/RecepcionEntrega.aspx.vb
@@ -34,6 +34,14 @@ Partial Class Inventarios_RecepcionEntrega
ViewState("DtDatosDetalle") = value
End Set
End Property
+ Private Property DtDatosSugerencias As DataTable
+ Get
+ Return CType(ViewState("DtDatosSugerencias"), DataTable)
+ End Get
+ Set(value As DataTable)
+ ViewState("DtDatosSugerencias") = value
+ End Set
+ End Property
Private Property DtDatosDetalleLote As DataTable
Get
Return CType(ViewState("DtDatosDetalleLote"), DataTable)
@@ -287,6 +295,9 @@ Partial Class Inventarios_RecepcionEntrega
CveVendedor = -1
CveCliente = -1
CveSubProyecto = -1
+
+ DtDatosSugerencias = New DataTable
+
Dim StrAlmacenes As String = "CveTipoAlmacen IN (1,2)"
If (UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1") Then
@@ -621,6 +632,30 @@ Partial Class Inventarios_RecepcionEntrega
DdlAlmacen.SelectedValueExist(CveAlmacenTraspasoOrigen)
End If
+ DtDatos.Columns.Add("AplicaSeccion", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaSerie", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaLote", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaCaducidad", GetType(Boolean))
+ If Not DtDatos.Columns.Contains("Lote") Then
+ DtDatos.Columns.Add("Lote", GetType(String))
+ End If
+ If Not DtDatos.Columns.Contains("CveSeccion") Then
+ DtDatos.Columns.Add("CveSeccion", GetType(Integer))
+ End If
+ If Not DtDatos.Columns.Contains("Caducidad") Then
+ DtDatos.Columns.Add("Caducidad", GetType(Date))
+ End If
+ If Not DtDatos.Columns.Contains("Seleccionado") Then
+ DtDatos.Columns.Add("Seleccionado", GetType(Boolean))
+ End If
+ If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then
+ DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
+ End If
+
+ For Each Dr As DataRow In DtDatos.Rows
+ Dr("Caducidad") = Now
+ Next
+
'TxtFecha.Text = If(EsDevolucionVenta = 1, Now.ToShortDateString, DtDatos.Rows(0)("Fecha").ToString)
End If
@@ -775,6 +810,23 @@ Partial Class Inventarios_RecepcionEntrega
Private Sub CargaGvDatos()
If DtDatos IsNot Nothing Then
+
+ For Each item As DataRow In DtDatos.Rows
+ Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, item("CvePS").ToString.ToEntero).FiltroPrimero("")
+ If Dr IsNot Nothing Then
+ item("AplicaSeccion") = CBool(Dr("AplicaSeccion"))
+ If CBool(Dr("AplicaSeccion")) Then GvDatos.Columns(9).Visible = True
+ item("AplicaSerie") = CBool(Dr("AplicaSerie"))
+ item("AplicaLote") = CBool(Dr("AplicaLote"))
+ If CBool(Dr("AplicaLote")) Then GvDatos.Columns(10).Visible = True
+ item("AplicaCaducidad") = CBool(Dr("AplicaCaducidad"))
+ If CBool(Dr("AplicaCaducidad")) Then GvDatos.Columns(11).Visible = True
+ If CBool(Dr("AplicaSeccion")) Or CBool(Dr("AplicaLote")) Or CBool(Dr("AplicaCaducidad")) Or CBool(Dr("AplicaSerie")) Then
+ GvDatos.Columns(12).Visible = True
+ End If
+ End If
+ Next
+
GvDatos.DataSource = DtDatos
End If
@@ -802,7 +854,7 @@ Partial Class Inventarios_RecepcionEntrega
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
- If e.Row.DBCampo("Inv_CveMetodoInventario").Contiene("5", "6") Then
+ If CBool(e.Row.DBCampo("AplicaSerie")) Then
e.Row.FCButton("BtnSerieLote").Visible = True
e.Row.FCButton("BtnSerieLote").Text = If(e.Row.DBCampo("Inv_CveMetodoInventario").ToString = "5", "SerieLote", "Lote-Batch")
e.Row.FCButton("BtnSerieLote").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"), e.Row.DBCampo("Inv_CveMetodoInventario"))
@@ -829,6 +881,32 @@ Partial Class Inventarios_RecepcionEntrega
End If
+ If CBool(e.Row.DBCampo("AplicaSeccion")) Then
+ e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = True
+ Else
+ e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
+ End If
+
+ If CBool(e.Row.DBCampo("AplicaCaducidad")) Then
+ e.Row.FCTextBox("TxtCaducidad").Visible = True
+ e.Row.FCLinkButton("LnkCaducidad").Visible = True
+ e.Row.FCTextBox("TxtCaducidad").Text = Now.ToShortDateString
+ Else
+ e.Row.FCTextBox("TxtCaducidad").Visible = False
+ e.Row.FCLinkButton("LnkCaducidad").Visible = False
+ End If
+
+ If CBool(e.Row.DBCampo("AplicaLote")) Then
+ e.Row.FCTextBox("TxtLote").Visible = True
+ Else
+ e.Row.FCTextBox("TxtLote").Visible = False
+ End If
+
+ e.Row.FCButton("BtnDividir").Attributes.Add("onclick", String.Format("Dividir('{0}');", e.Row.FCTextBox("TxtDividir").ClientID))
+ e.Row.FCButton("BtnDividir").CommandArgument = e.Row.RowIndex.ToString
+ e.Row.FCTextBox("TxtDividir").Attributes.Add("onkeyup", String.Format("LimitaCantidad({0},this,'{1}');", e.Row.DBCampo("CantidadF"), e.Row.FCButton("BtnDividir").ClientID))
+
+
'FUNCIONALIDAD PISTOLA DE CODIGOS
If UsuarioActual.Empresa.Funcionalidad(132) = "1" And e.Row.DBCampo("CodigoBarras").Trim <> "" Then
'NO BLOQUEA PARA ROL AD
@@ -1562,6 +1640,9 @@ Partial Class Inventarios_RecepcionEntrega
For Each gvr As GridViewRow In GvDatos.Rows
If gvr.FCCheckBox("cbInv").Checked AndAlso gvr.FCTextBox("TbCantidadF").Text.ToDecimal > 0 Then
DtDatos.Rows(Index)("CantidadGV") = gvr.FCTextBox("TbCantidadF").Text.ToDecimal
+ DtDatos.Rows(Index)("CveSeccion") = gvr.FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero
+ DtDatos.Rows(Index)("Caducidad") = gvr.FCTextBox("TxtCaducidad").Text.ToDate
+ DtDatos.Rows(Index)("Lote") = gvr.FCTextBox("TxtLote").Text
End If
Index += 1
Next
@@ -1610,10 +1691,10 @@ Partial Class Inventarios_RecepcionEntrega
StrXML.Append("")
For Each Dr As DataRow In DtDatos.Rows
If Dr("CantidadGV").ToString.ToDecimal > 0 Then
- If Dr("Inv_CveMetodoInventario").ToString = "5" Then
+ If CBool(Dr("AplicaSeccion")) Then
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
For Each Dr1 As DataRow In DtDetalle.Rows
- StrXML.AppendFormat("", Dr1("CvePS"), Dr1("CveUM"), 1, Dr1("SerieLote"))
+ StrXML.AppendFormat("", Dr1("CvePS"), Dr1("CveUM"), 1, Dr1("SerieLote"), If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1), If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha))
Next
ElseIf Dr("Inv_CveMetodoInventario").ToString = "6" Then
DtDetalle = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
@@ -1621,7 +1702,7 @@ Partial Class Inventarios_RecepcionEntrega
StrXML.AppendFormat("", Dr1("CvePS"), Dr1("CveUM"), DtDatosDetalleLote.SUM("Cantidad", $"Lote = '{Dr1("Lote").ToString}' AND Batch = '{Dr1("Batch").ToString}'"), Dr1("Lote"))
Next
Else
- StrXML.AppendFormat("", Dr("CvePS"), Dr("CveUM"), Dr("CantidadGV"), "-1")
+ StrXML.AppendFormat("", Dr("CvePS"), Dr("CveUM"), Dr("CantidadGV"), "-1", If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1), If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha))
End If
End If
Next
@@ -1668,11 +1749,11 @@ Partial Class Inventarios_RecepcionEntrega
For Each Dr As DataRow In DtDatos.Rows
If Dr("CantidadGV").ToString.ToDecimal > 0 Then
- If Dr("Inv_CveMetodoInventario").ToString = "5" Then
+ If CBool(Dr("AplicaSeccion")) Then
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
For Each Dr1 As DataRow In DtDetalle.Rows
- If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=Dr1("SerieLote").ToString, CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) Then
+ If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), SerieLote:=Dr1("SerieLote").ToString, CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
For Each Dr2 As DataRow In ObjInventario.DtResultados.FiltraParametros("CveAlmacen > 0 AND ExistenciaFinal > 0").Rows
'BUSCA SI EXISTE YA UN TRASPASO DEL ALMACEN DE APARTADO
@@ -1701,7 +1782,7 @@ Partial Class Inventarios_RecepcionEntrega
CantidadPendiente = 1
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, SerieLote:=Dr1("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, SerieLote:=Dr1("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1720,7 +1801,7 @@ Partial Class Inventarios_RecepcionEntrega
DtDetalle = DtDatosDetalleLote.FiltraParametros(String.Format("ConsecId = {0}", Dr("Consec")))
For Each Dr1 As DataRow In DtDetalle.Rows
- If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) Then
+ If ObjInventario.GetExistenciasProducto(Dr1("CvePS").ToString.ToEntero, Dr1("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
CantidadSaldo = Dr("CantidadGV").ToString.ToDecimal
@@ -1751,7 +1832,7 @@ Partial Class Inventarios_RecepcionEntrega
CantidadPendiente = If(Dr1("Cantidad").ToString.ToDecimal > CantidadSaldo, CantidadSaldo, Dr1("Cantidad").ToString.ToDecimal)
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1769,7 +1850,7 @@ Partial Class Inventarios_RecepcionEntrega
Else
- If ObjInventario.GetExistenciasProducto(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1) Then
+ If ObjInventario.GetExistenciasProducto(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, -1, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveTipoAlmacen:=9, CveVendedor:=CveVendedor, CveSubProyecto:=CveSubProyecto, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeApartados:=-1, Caducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
CantidadSaldo = Dr("CantidadGV").ToString.ToDecimal
@@ -1801,7 +1882,7 @@ Partial Class Inventarios_RecepcionEntrega
CantidadPendiente = If(Dr1("ExistenciaFinal").ToString.ToDecimal > CantidadSaldo, CantidadSaldo, Dr1("ExistenciaFinal").ToString.ToDecimal)
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadPendiente.ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, -1, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1844,7 +1925,7 @@ Partial Class Inventarios_RecepcionEntrega
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaApartado, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, SerieLote:=Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1942,7 +2023,7 @@ Partial Class Inventarios_RecepcionEntrega
End If
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, SerieLote:=Dr("SerieLote").ToString, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de traspaso de apartado. Por favor vuelva a intentar."
Exit For
@@ -1972,7 +2053,7 @@ Partial Class Inventarios_RecepcionEntrega
PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero} AND SerieLote = '{Dr1("SerieLote").ToString}'").ToString.ToDecimal
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, SerieLote:=Dr1("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, 1, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, SerieLote:=Dr1("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar."
Exit For
@@ -1984,7 +2065,7 @@ Partial Class Inventarios_RecepcionEntrega
PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero} AND SerieLote = '{Dr1("SerieLote").ToString}'").ToString.ToDecimal
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr1("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, Lote:=Dr1("Lote").ToString, Batch:=Dr1("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr1("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, Batch:=Dr1("Batch").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos con serie. Por favor vuelva a intentar."
Exit For
@@ -1995,7 +2076,7 @@ Partial Class Inventarios_RecepcionEntrega
PU = DtExistencias.FiltroPrimeroValor("PU", $"CvePS = {Dr("CvePS")} AND CveUM = {Dr("CveUM").ToString.ToEntero}").ToString.ToDecimal
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, CantidadPendiente, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, PU, -1, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("Caducidad").ToString.ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString, "-1"), CveSeccionAlmacen:=If(CBool(Dr("AplicaSeccion")), Dr("CveSeccion").ToString.ToEntero, -1)) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar."
Exit For
@@ -2806,7 +2887,92 @@ Partial Class Inventarios_RecepcionEntrega
#End Region
+#Region "DIVIDIR"
+ Protected Sub Dividir(sender As Object, e As EventArgs)
+ Dim index2 As Integer = 0
+
+ For Each Row As DataRow In DtDatos.Rows
+ Row("Seleccionado") = GvDatos.Rows(index2).FCCheckBox("cbInv").Checked
+ If GvDatos.Rows(index2).FCTextBox("TbCantidadF").Text <> "" Then
+ Row("CantidadSeleccionada") = GvDatos.Rows(index2).FCTextBox("TbCantidadF").Text
+ End If
+ If GvDatos.Rows(index2).FCTextBox("TxtLote").Text <> "" Then
+ Row("Lote") = GvDatos.Rows(index2).FCTextBox("TxtLote").Text
+ End If
+ If GvDatos.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue <> "-1" Then
+ Row("CveSeccion") = GvDatos.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue.ToEntero
+ End If
+ If GvDatos.Rows(index2).FCTextBox("TxtCaducidad").Text <> "" Then
+ Row("Caducidad") = GvDatos.Rows(index2).FCTextBox("TxtCaducidad").Text.ToDate
+ End If
+ index2 += 1
+ Next
+ DtDatos.AcceptChanges()
+
+ Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, Button)).NamingContainer, GridViewRow)
+ Dim Index As Integer = gvRow.RowIndex
+ Dim Cantidad As String = HdnCantidadMovimiento.Value
+ Dim dr1 As DataRow = DtDatos.Rows(Index)
+ Dim dr As DataRow = DtDatos.NewRow
+ dr.ItemArray = dr1.ItemArray
+ dr1("CantidadC") = (dr1("CantidadC").ToString.ToDouble - Cantidad.ToDouble)
+ Dim CantidadFOriginal As Double = dr1("CantidadF").ToString.ToDouble
+ dr1("CantidadF") = (dr1("CantidadF").ToString.ToDouble - Cantidad.ToDouble)
+ Dim CantidadSOriginal As Double = dr1("CantidadS").ToString.ToDouble
+ dr1("CantidadS") = (CantidadSOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ Dim CantidadSeleccionadaOriginal As Double = dr1("CantidadSeleccionada").ToString.ToDouble
+ dr1("CantidadSeleccionada") = If(CantidadSeleccionadaOriginal > dr1("CantidadF").ToString.ToDouble, dr1("CantidadF").ToString.ToDouble, CantidadSeleccionadaOriginal)
+ CantidadSeleccionadaOriginal = CantidadSeleccionadaOriginal - dr1("CantidadF").ToString.ToDouble
+
+ 'Dim CostoIndirectoOriginal As Double = dr1("CostoIndirecto").ToString.ToDouble
+ 'dr1("CostoIndirecto") = (CostoIndirectoOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ 'Dim CostoIndirectoExtranjeroOriginal As Double = dr1("CostoIndirectoExtranjero").ToString.ToDouble
+ 'dr1("CostoIndirectoExtranjero") = (CostoIndirectoExtranjeroOriginal * dr1("CantidadF").ToString.ToDouble) / CantidadFOriginal
+
+ DtDatos.AcceptChanges()
+
+ dr("CantidadC") = Cantidad.ToDouble
+ dr("CantidadF") = Cantidad.ToDouble
+ dr("CantidadS") = (CantidadSOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ dr("CantidadSeleccionada") = If(CantidadSeleccionadaOriginal > 0, CantidadSeleccionadaOriginal, 0)
+ dr("Seleccionado") = If(CantidadSeleccionadaOriginal > 0, True, False)
+ 'dr("CostoIndirecto") = (CostoIndirectoOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ 'dr("CostoIndirectoExtranjero") = (CostoIndirectoExtranjeroOriginal * dr("CantidadF").ToString.ToDouble) / CantidadFOriginal
+ DtDatos.Rows.InsertAt(dr, Index)
+ DtDatos.AcceptChanges()
+
+ index2 = 1
+ For Each Row As DataRow In DtDatos.Rows
+ Row("Consec") = index2
+ index2 += 1
+ Next
+ DtDatos.AcceptChanges()
+
+ CargaGvDatos()
+
+ index2 = 0
+ For Each Row As DataRow In DtDatos.Rows
+ GvDatos.Rows(index2).FCCheckBox("cbInv").Checked = CBool(Row("Seleccionado"))
+ If Row("CantidadSeleccionada").ToString <> "" Then
+ GvDatos.Rows(index2).FCTextBox("TbCantidadF").Text = Row("CantidadSeleccionada").ToString
+ End If
+ If Row("Lote").ToString <> "" Then
+ GvDatos.Rows(index2).FCTextBox("TxtLote").Text = Row("Lote").ToString
+ End If
+ If Row("CveSeccion").ToString <> "" Then
+ GvDatos.Rows(index2).FCDropDownList("DdlSeccionAlmacen").SelectedValue = Row("CveSeccion").ToString
+ End If
+ If Row("Caducidad").ToString <> "" Then
+ GvDatos.Rows(index2).FCTextBox("TxtCaducidad").Text = Row("Caducidad").ToString.ToDate.ToShortDateString
+ End If
+ index2 += 1
+ Next
+
+ End Sub
+
+
+#End Region
#Region " GUIAS - SABE QUE ES PORQUE NO VEO QUE SE UTILIZE EN ALGUNA PARTE - EN MIRAS DE ELIMINAR - IPP 24 AGOSTO 2017 "
Private Sub BtnNumeroGuia_Click(sender As Object, e As EventArgs) Handles BtnNumeroGuia.Click
@@ -2844,6 +3010,86 @@ Partial Class Inventarios_RecepcionEntrega
End Sub
#End Region
+#Region "SUGERENCIAS"
+
+ Protected Sub BtnVerSugerencias_Click(sender As Object, e As EventArgs)
+ If Not CveVentaSurtir > 0 Then
+ Alert("Tiene que seleccionar la venta a surtir", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ If Not DdlAlmacen.SelectedValue.ToEntero > 0 Then
+ Alert("Tiene que seleccionar el almacen", TipoMensaje.MsgAdvertencia)
+ Exit Sub
+ End If
+
+ Dim ObjInv As New ClsInventarios
+ If ObjInv.GetSugerenciasSalidaAlmacen(CveVentaSurtir, DdlAlmacen.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
+ GvSugerencias.DataSource = ObjInv.DtResultados
+
+
+ DtDatosSugerencias = ObjInv.DtResultados
+
+ DtDatos.Columns.Add("Consec", GetType(Integer))
+ DtDatos.Columns.Add("CantidadGV", GetType(Double))
+ DtDatos.Columns.Add("CantidadTraspaso", GetType(Double))
+ DtDatos.Columns.Add("AplicaSeccion", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaSerie", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaLote", GetType(Boolean))
+ DtDatos.Columns.Add("AplicaCaducidad", GetType(Boolean))
+ If Not DtDatos.Columns.Contains("Lote") Then
+ DtDatos.Columns.Add("Lote", GetType(String))
+ End If
+ If Not DtDatos.Columns.Contains("CveSeccion") Then
+ DtDatos.Columns.Add("CveSeccion", GetType(Integer))
+ End If
+ If Not DtDatos.Columns.Contains("Caducidad") Then
+ DtDatos.Columns.Add("Caducidad", GetType(Date))
+ End If
+ If Not DtDatos.Columns.Contains("Seleccionado") Then
+ DtDatos.Columns.Add("Seleccionado", GetType(Boolean))
+ End If
+ If Not DtDatos.Columns.Contains("CantidadSeleccionada") Then
+ DtDatos.Columns.Add("CantidadSeleccionada", GetType(Double))
+ End If
+
+ Dim Index = 1
+ For Each Dr As DataRow In DtDatosSugerencias.Rows
+ Dr("Consec") = Index
+ Dr("Caducidad") = Now
+ Index += 1
+ Next
+
+ DtDatosSugerencias.AcceptChanges()
+
+
+ End If
+ ObjInv.Dispose()
+ GvSugerencias.DataBind()
+
+ UpVerSugerencias.Update()
+
+ RegistraScript("$('#ModalVerSugerencias').modal()")
+ End Sub
+ Protected Sub BtnAplicarSugerencias_Click(sender As Object, e As EventArgs)
+
+ DtDatos = Nothing
+ DtDatos = New DataTable
+ DtDatos = DtDatosSugerencias
+
+ DtDatosDetalle = Nothing
+ CreaDtDetalle()
+
+ DtDatosDetalleLote = Nothing
+ CreaDtDetalleLote()
+
+ CargaGvDatos()
+
+ RegistraScript("$('#ModalVerSugerencias').modal('hide')")
+ End Sub
+
+
+#End Region
diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb
index 9737cf675..647fd13a9 100644
--- a/OS/OrdenesServicios.aspx.vb
+++ b/OS/OrdenesServicios.aspx.vb
@@ -2362,7 +2362,7 @@ Partial Class OS_OrdenesServicios
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, -1, -1) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, -1) Then
TieneError = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
@@ -2389,7 +2389,7 @@ Partial Class OS_OrdenesServicios
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada2, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, -1, -1) Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada2, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, -1) Then
TieneError = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For