- Serie, Lote Caducidad, SeccionAlmacen

This commit is contained in:
rrene
2020-05-18 13:30:42 -07:00
parent 5166b17d17
commit 21de74f1cc
14 changed files with 459 additions and 346 deletions

View File

@@ -436,7 +436,6 @@ Partial Class Inventarios_RecepcionAlmacen
DivRemision.Visible = True
End If
TxtFechaCaducidad.Text = Now.ToShortDateString
TxtFechaPendientes.Text = Now.ToShortDateString
TipoCambio = -1
CreaDtDetalle()
@@ -1268,6 +1267,7 @@ Partial Class Inventarios_RecepcionAlmacen
e.Row.FCDropDownList("DdlSeccionAlmacen").DataBind()
e.Row.FCDropDownList("DdlSeccionAlmacen").Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
e.Row.FCTextBox("TxtDividir").Visible = True
Else
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
@@ -1277,6 +1277,7 @@ Partial Class Inventarios_RecepcionAlmacen
e.Row.FCTextBox("TxtCaducidad").Visible = True
e.Row.FCLinkButton("LnkCaducidad").Visible = True
e.Row.FCTextBox("TxtCaducidad").Text = Now.ToShortDateString
e.Row.FCTextBox("TxtDividir").Visible = True
Else
e.Row.FCTextBox("TxtCaducidad").Visible = False
e.Row.FCLinkButton("LnkCaducidad").Visible = False
@@ -1446,7 +1447,6 @@ Partial Class Inventarios_RecepcionAlmacen
LbProducto.Text = Argumentos(3)
LbCantidad.Text = Argumentos(4).FormatoNumero
TxtFechaCaducidad.Text = Now.ToShortDateString()
CvePSSerie = Argumentos(0).ToEntero
CveUMSerie = Argumentos(1).ToEntero
@@ -1638,7 +1638,6 @@ Partial Class Inventarios_RecepcionAlmacen
If Tipo = 1 Then
TxtSerie.Text = ""
TxtFechaCaducidad.Text = Now.ToShortDateString
End If
CargaSerie(Tipo, True)
@@ -1752,10 +1751,10 @@ Partial Class Inventarios_RecepcionAlmacen
End Sub
Protected Sub BtnAddPSLote_Click(sender As Object, e As EventArgs)
AgregaLote(TxtLote.Text.Trim, TxtFechaCaducidad.Text.ToDate, 1)
AgregaLote(TxtLote.Text.Trim, 1)
End Sub
Private Sub AgregaLote(Lote As String, FechaCaducidad As Date, Tipo As Integer)
Private Sub AgregaLote(Lote As String, Tipo As Integer)
If Lote.Trim = "" Then
Alert("El campo Lote es obligatorio. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
@@ -1783,15 +1782,15 @@ Partial Class Inventarios_RecepcionAlmacen
'VERIFICA EXISTENCIAS
If TipoMovimiento > 1 Then
Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerie, CveUMSerie, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Lote, FechaCaducidad:=FechaCaducidad)
Dim Existencia = ObjInventarios.GetExistenciasPS(CvePSSerie, CveUMSerie, UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Lote:=Lote)
If Existencia < CantidadLote Then
Alert($"<br/> El numero de Lote <b>""{Lote}""</b> y FechaCaducidad = '{FechaCaducidad}' proporcionado ya se encuentra ingresado.", TipoMensaje.MsgAdvertencia)
Alert($"<br/> El numero de Lote <b>""{Lote}""</b> proporcionado ya se encuentra ingresado.", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If
If TipoMovimiento = 2 Then
If Not DtExistencias.SUM("Existencia", $"Lote = '{Lote}' FechaCaducidad = '{FechaCaducidad}'") = 0 Then
Alert($"<br/> El numero de Lote <b>""{Lote}""</b> y FechaCaducidad '{FechaCaducidad}' proporcionado ya se encuentra ingresado.", TipoMensaje.MsgAdvertencia)
If Not DtExistencias.SUM("Existencia", $"Lote = '{Lote}' ") = 0 Then
Alert($"<br/> El numero de Lote <b>""{Lote}""</b> proporcionado ya se encuentra ingresado.", TipoMensaje.MsgAdvertencia)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If
End If
@@ -1804,8 +1803,8 @@ Partial Class Inventarios_RecepcionAlmacen
Row("CveUM") = CveUMSerie
Row("PU") = PUSerie
Row("Lote") = Lote
Row("FechaCaducidad") = FechaCaducidad
Row("FechaCaducidad") = If(IsDate(TxtFechaCaducidadLote.Text), TxtFechaCaducidadLote.Text, MinFecha.ToShortDateString)
'Row("FechaCaducidad") = FechaCaducidad
'Row("FechaCaducidad") = If(IsDate(TxtFechaCaducidadLote.Text), TxtFechaCaducidadLote.Text, MinFecha.ToShortDateString)
'Row("FechaCaducidad") = If(AplicaCaducidad, TxtFechaCaducidadLote.Text, MinFecha.ToShortDateString)
DtDatosLoteDetalle.Rows.Add(Row)
@@ -1813,8 +1812,6 @@ Partial Class Inventarios_RecepcionAlmacen
If Tipo = 1 Then
TxtLote.Text = ""
TxtBatch.Text = ""
TxtFechaCaducidad.Text = Now.ToShortDateString
End If
CargaLote(1, True)
@@ -2817,68 +2814,77 @@ Partial Class Inventarios_RecepcionAlmacen
End If
End If
Else
ErrorMovInv = True
MensajeError = "Error al obtener movimientos"
End If
'PREPOLIZA - NC
If TipoMovimiento = 3 AndAlso ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
Dim DtCostos As DataTable = Nothing
DtCostos = ObjInventario.DtResultados
Dim TotalCosto As Decimal = DtCostos.SUM("Total").ToDecimal
Dim TotalNC As Decimal = 0
Dim CveClasificacionDifCostoNC = -1
Dim tTipoCambio As Decimal = 1
If CveMoneda <> 1 Then tTipoCambio = TipoCambio.ToDecimal
For Each gvr As GridViewRow In GvInv.Rows
TotalNC += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * gvr.DataKey("PU").ToDecimal * tTipoCambio
CveClasificacionDifCostoNC = gvr.DataKey("CveClasificacion").ToEntero
Next
Dim IdCtaContableClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
Dim CveCuentaClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
TotalCosto = Math.Round(TotalCosto, 2)
TotalNC = Math.Round(TotalNC, 2)
Dim DifCostoNC = Math.Round(TotalCosto - TotalNC, 2)
If TipoMovimiento = 3 Then
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
'VARIABLES
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
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim CveProveedor As Integer = -1
Dim ProveedorNombre As String = ""
Dim SerieFolio As String = ""
Dim IdCtaContableNC = 0
Dim CveConceptoContableNC = -1
If DtCostos.Rows.Count > 0 Then
If CveCompraSurtir > 0 Then
If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
SerieFolio = $"NC: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
Dim DtCostos As DataTable = Nothing
DtCostos = ObjInventario.DtResultados
Dim TotalCosto As Decimal = DtCostos.SUM("Total").ToDecimal
CveConceptoContableNC = 225
If ObjConta.GetRetCuenta(CveConceptoContableNC, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
IdCtaContableNC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
Dim TotalNC As Decimal = 0
Dim CveClasificacionDifCostoNC = -1
Dim tTipoCambio As Decimal = 1
If CveMoneda <> 1 Then tTipoCambio = TipoCambio.ToDecimal
For Each gvr As GridViewRow In GvInv.Rows
TotalNC += gvr.FCTextBox("TbCantidadF").Text.ToDecimal * gvr.DataKey("PU").ToDecimal * tTipoCambio
CveClasificacionDifCostoNC = gvr.DataKey("CveClasificacion").ToEntero
Next
Dim IdCtaContableClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
Dim CveCuentaClasificacion As Integer = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {CveClasificacionDifCostoNC}").ToEntero
TotalCosto = Math.Round(TotalCosto, 2)
TotalNC = Math.Round(TotalNC, 2)
Dim DifCostoNC = Math.Round(TotalCosto - TotalNC, 2)
'VARIABLES
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
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim CveProveedor As Integer = -1
Dim ProveedorNombre As String = ""
Dim SerieFolio As String = ""
Dim IdCtaContableNC = 0
Dim CveConceptoContableNC = -1
If DtCostos.Rows.Count > 0 Then
If CveCompraSurtir > 0 Then
If ObjCompras.GetCompras(CveCompraSurtir, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
CveProveedor = ObjCompras.DtResultados(0)("CveProveedor").ToString.ToEntero
ProveedorNombre = ObjCompras.DtResultados(0)("RazonSocial").ToString
SerieFolio = $"NC: {ObjCompras.DtResultados(0)("SerieFolio").ToString}"
CveConceptoContableNC = 225
If ObjConta.GetRetCuenta(CveConceptoContableNC, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
IdCtaContableNC = ObjConta.DtResultados.FiltroPrimeroValor("IdCtaContable").ToEntero
End If
Else
ErrorMovInv = True
End If
Else
ErrorMovInv = True
End If
End If
If Not ErrorMovInv Then
CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen-NC", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen) Then
If DifCostoNC <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion) Then
ErrorMovInv = True
If Not ErrorMovInv Then
CvePrePoliza = ObjConta.AddPrePolizas("Inventario/RecepcionAlmacen-NC", 74, TotalCosto, TotalCosto, 1, Fecha, ProveedorNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza > 0 Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalNC, SerieFolio, CveConceptoContableNC, SerieFolio, Fecha, IdCtaContableNC, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalNC) Then
If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, TotalCosto * -1, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=TotalCosto * -1, CveCuenta:=CveCuentaAlmacen) Then
If DifCostoNC <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DifCostoNC * -1, SerieFolio, 69, SerieFolio, Fecha, IdCtaContableClasificacion, -1, CveClasificacion:=CveClasificacionDifCostoNC, CveCompra:=CveCompraSurtir, CveProveedor:=CveProveedor, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DifCostoNC * -1, CveCuenta:=CveCuentaClasificacion) Then
ErrorMovInv = True
End If
End If
Else
ErrorMovInv = True
End If
Else
ErrorMovInv = True
@@ -2886,51 +2892,53 @@ Partial Class Inventarios_RecepcionAlmacen
Else
ErrorMovInv = True
End If
Else
ErrorMovInv = True
End If
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPNC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPNC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
End If
End If
End If
'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
If Not ErrorMovInv Then
'CONTABILIZAR - UNIFICAR Y SIMPLIFICAR CON PP DE LA COMPRA
If Not ErrorMovInv Then
If CvePrePolizaCompra > 0 Then
If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
ErrorMovInv = True
MensajeError = "Error al unificar los conceptos contables"
If CvePrePolizaCompra > 0 Then
If UsuarioActual.Empresa.Funcionalidad(219) = "1" Then
If Not ObjConta.PrePolizaUnificacion(CvePrePoliza, CvePrePolizaCompra) Then
ErrorMovInv = True
MensajeError = "Error al unificar los conceptos contables"
End If
End If
End If
End If
If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
ErrorMovInv = True
MensajeError = "Error al simplificar los conceptos contables"
If UsuarioActual.Empresa.Funcionalidad(220) <> "" Then
If Not ObjConta.PrePolizaSimplificacion(CvePrePoliza, UsuarioActual.CveEmpresa) Then
ErrorMovInv = True
MensajeError = "Error al simplificar los conceptos contables"
End If
End If
End If
If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaContPAQ.IniciaTransacSQL()
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
MensajeContabilidad = $"<br>Movimiento contabilizado en el folio: <b><a class='Texto' href = '/Contabilidad/RegPoliza.aspx?IdPoliza={ObjConta.ContaIdPoliza}'>{ObjConta.ContaFolio}</a></b><br>"
Else
ErrorMovInv = True
MensajeError = "Error al contabilizar los conceptos contables"
If UsuarioActual.Empresa.Funcionalidad(200) = "1" Then
ObjContaContPAQ = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaContPAQ.IniciaTransacSQL()
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContaContPAQ) Then
MensajeContabilidad = $"<br>Movimiento contabilizado en el folio: <b><a class='Texto' href = '/Contabilidad/RegPoliza.aspx?IdPoliza={ObjConta.ContaIdPoliza}'>{ObjConta.ContaFolio}</a></b><br>"
Else
ErrorMovInv = True
MensajeError = "Error al contabilizar los conceptos contables"
End If
End If
End If
End If
Else
ErrorMovInv = True
MensajeError = "Error al obtener movimientos"
End If
End If