merge- RecepcionAlmacen

This commit is contained in:
2021-03-05 16:37:37 -07:00
1455 changed files with 22842 additions and 210686 deletions

View File

@@ -88,7 +88,7 @@
<asp:TemplateField ItemStyle-Width="7%">
<ItemTemplate>
<%--<asp:Literal ID="LtlExistencia" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>'></asp:Literal>--%>
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>' Width="35px" />
<asp:TextBox ID="TxtCantidad" runat="server" Text='<%# Eval("Existencia").ToString().Split("."c)(0) %>' Width="45px" style='text-align:right;' />
<asp:RangeValidator ID="RVR" Display="Dynamic" ControlToValidate="TxtCantidad" runat="server" MinimumValue="0" Type="Double" ErrorMessage="No cumple con la cantidad especificada"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
@@ -135,7 +135,7 @@
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="BtnCambiarSeccion" runat="server" Text="Cambiar Sección" CssClass="btn btn-primary" />
<asp:Button ID="BtnCambiarSeccion" runat="server" Text="Aplicar Cambios" CssClass="btn btn-primary" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivCargaExcel" class="modal ADS fade" role="dialog">

View File

@@ -42,7 +42,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
If ObjInv.DtResultados.FiltraParametros("Serie <> '' ").Rows.Count = 0 Then GvD.columns(2).visible = False
If ObjInv.DtResultados.FiltraParametros("Lote <> ''").Rows.Count = 0 Then GvD.columns(3).visible = False
If ObjInv.DtResultados.FiltraParametros("FechaCaducidad <> ''").Rows.Count = 0 Then GvD.columns(4).visible = False
If ObjInv.DtResultados.FiltraParametros("FechaCaducidad IS NOT NULL ").Rows.Count = 0 Then GvD.columns(4).visible = False
If ObjInv.DtResultados.FiltraParametros("CveSeccionAlmacen > 0").Rows.Count = 0 Then GvD.columns(5).visible = False
End If
@@ -177,11 +177,14 @@ Partial Class Inventarios_AjustesSeccionAlmacen
End If
'actualizamos el PS, para que tenga el aplica seccion
If Lista.ContainsKey(CvePS) Then
ObjPS.UpdateAplicaSeccionAlmacen(Row("CvePS").ToString().ToEntero(), UsuarioActual.CveEmpresa, True)
End If
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
If CveSeccionAlmacen > 0 Then
If Lista.ContainsKey(CvePS) Then
ObjPS.UpdateAplicaSeccionAlmacen(Row("CvePS").ToString().ToEntero(), UsuarioActual.CveEmpresa, True)
End If
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
End If
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Cantidad, CveUM, CvePS, PU, -1, CostoIndirecto:=CostoIndirecto, CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote, Serie:=Serie, FechaCaducidad:=FechaCaducidad, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -201,7 +204,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, Concepto, 68, Concepto, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Concepto, 68, Concepto, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=contabilizable, ImporteMX:=importe) Then
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Concepto, 68, Concepto, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
@@ -368,6 +371,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim ObjInventario As New ClsInventarios()
Dim ObjPS As New ClsProductosServicios(ObjInventario.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Try
Dim DtExistenciasSecciones As DataTable = Nothing
@@ -381,10 +385,13 @@ Partial Class Inventarios_AjustesSeccionAlmacen
'ENTRADA ALMACÉN
Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 2, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", TipoCambio:=-1,
MovimientoFijo:=False, Modulo:="ASA/EA")
MovimientoFijo:=False, Modulo:="ASA/EA", CveMovimientoRelacionado:=CveMovimientoSalida)
Dim dtSecciones As DataTable = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, CveAlmacen)
dtSecciones.CaseSensitive = False
Dim resultado As DataTable = Nothing
DtExcel = DtExcel.FiltraParametros("Código <> ''")
For Each RowExcel As DataRow In DtExcel.Rows
@@ -393,7 +400,7 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim DrPS As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo='{Codigo}'")
If DrPS IsNot Nothing Then
If Codigo <> "" AndAlso DrPS IsNot Nothing Then
If Not ErrorMovInv Then
Dim CantidadEntrada As Decimal = RowExcel("Cantidad").ToString().ToDecimal()
@@ -415,9 +422,9 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim RowExistencia As DataRow = DtExistenciasSecciones.FiltroPrimero($"CvePS={CvePS} and ISNULL(Serie,'') = '{Serie}'")
If RowExistencia IsNot Nothing AndAlso CveSeccionAlmacen > 0 Then
If RowExistencia IsNot Nothing Then
Dim CveSeccionAlmacenSalida As Integer = RowExistencia("CveSeccionAlmacen").ToString().ToEntero()
Dim CantidadSalida As Decimal = RowExistencia("Existencia").ToString().ToDecimal()
Dim CantidadSalida As Decimal = RowExcel("Cantidad").ToString().ToDecimal()
Dim SerieSalida As String = RowExistencia("Serie").ToString()
Dim LoteSalida As String = RowExistencia("Lote").ToString()
Dim FechaCaducidadSalida As Date = IfNull(RowExistencia("FechaCaducidad"), MinFecha).ToString.ToDate
@@ -430,6 +437,13 @@ Partial Class Inventarios_AjustesSeccionAlmacen
ErrorMovInv = Not ObjPS.UpdateAplicaSeccionAlmacen(CvePS, UsuarioActual.CveEmpresa, False)
End If
If LoteSalida = "" Then
ErrorMovInv = Not ObjPS.UpdateAplicaLoteCaducidadAlmacen(CvePS, UsuarioActual.CveEmpresa, False, False)
Else
ErrorMovInv = Not ObjPS.UpdateAplicaLoteCaducidadAlmacen(CvePS, UsuarioActual.CveEmpresa, True, True)
End If
'GENERA LA SALIDA DE LOS PRODUCTOS QUE VIENEN EN EL EXCEL
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, CantidadSalida, CveUM, CvePS, PUSalida, CveSeccionAlmacen:=CveSeccionAlmacenSalida, Serie:=SerieSalida, Lote:=LoteSalida, FechaCaducidad:=FechaCaducidadSalida, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
@@ -440,9 +454,11 @@ Partial Class Inventarios_AjustesSeccionAlmacen
ErrorMovInv = CveMovimientoDetalleSalida <= 0
'GENERA LA ENTRADA DE LOS PRODUCTOS QUE SE DIERON ENTRADA
'GENERA LA ENTRADA DE LOS PRODUCTOS QUE SE DIERON SALIDA
If Not ErrorMovInv Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa, CveMovimientoDetalle:=CveMovimientoDetalleSalida) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
resultado = ObjInventario.DtResultados
Dim RowEntrada As DataRow = ObjInventario.DtResultados.Rows(0)
Dim CvePSEntrada = RowEntrada("CvePS").ToString().ToEntero()
@@ -452,9 +468,18 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Dim CostoIndirecto As Decimal = RowEntrada("CostoIndirecto").ToString().ToDecimal()
'ACTUALIZAMOS EL PS, PARA QUE TENGA EL APLICA SECCION
ErrorMovInv = Not ObjPS.UpdateAplicaSeccionAlmacen(CvePS, UsuarioActual.CveEmpresa, True)
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
If CveSeccionAlmacen > 0 Then
ErrorMovInv = Not ObjPS.UpdateAplicaSeccionAlmacen(CvePS, UsuarioActual.CveEmpresa, True)
If Not ObjInventario.AddProductosServiciosAlmacenSeccion(CvePS, CveAlmacen, CveSeccionAlmacen) Then
ErrorMovInv = True
End If
End If
If Lote = "" Then
ErrorMovInv = Not ObjPS.UpdateAplicaLoteCaducidadAlmacen(CvePS, UsuarioActual.CveEmpresa, False, False)
Else
ErrorMovInv = Not ObjPS.UpdateAplicaLoteCaducidadAlmacen(CvePS, UsuarioActual.CveEmpresa, True, True)
End If
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, CantidadEntrada, CveUMEntrada, CvePSEntrada, PUEntrada, -1, CostoIndirecto:=CostoIndirecto, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -471,11 +496,14 @@ Partial Class Inventarios_AjustesSeccionAlmacen
End If
If RowExistencia Is Nothing Then
ExistenciasNoEncontradas.AppendFormat("{0} - S:{1}<br/>", Codigo, Serie)
Dim str As String = ""
If Serie <> "" Then Serie = String.Format(" - Serie:{0} ")
ExistenciasNoEncontradas.AppendFormat("{0} {1}<br/>", Codigo, str)
ErrorMovInv = True
End If
If CveSeccionAlmacen <= 0 Then
If CveSeccionAlmacen <= 0 And SeccionAlmacen <> "" Then
SeccionesNoEncontradas.AppendFormat("{0},", SeccionAlmacen)
ErrorMovInv = True
End If
@@ -489,6 +517,26 @@ Partial Class Inventarios_AjustesSeccionAlmacen
Next
dtSecciones.Dispose()
'inserto la prepoliza
If CveMovimientoEntrada > 0 AndAlso CveMovimientoSalida > 0 Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
resultado = ObjInventario.DtResultados
Dim Concepto As String = "Ajuste Sección"
Dim IdCtaContableOrigen As Integer = 0
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/AjusteAlmacen", 53, 0, 0, 1, Now, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
Dim contabilizable As Boolean = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, Concepto, 68, Concepto, Now, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Concepto, 68, Concepto, Now, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
Catch ex As Exception
ErrorMovInv = True
OnError("Ocurrió un error al agregar el inventario", ex)

View File

@@ -1073,13 +1073,13 @@
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="Literal2" runat="server">Ajuste Inventario Fisico</asp:Literal></h4>
<asp:Literal ID="Literal2" runat="server">Ajuste Inventario Físico</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-6">
<div style="text-align: center">
<label for="<%= DdlAlmacenInventarioFisico.ClientID.ToString()%>">Almacen:</label>
<label for="<%= DdlAlmacenInventarioFisico.ClientID.ToString()%>">Almacén:</label>
<asp:DropDownList ID="DdlAlmacenInventarioFisico" runat="server" DataTextField="Almacen" DataValueField="CveAlmacen" Width="60%" CssClass="form-control input-sm select2me" AppendDataBoundItems="true"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVAlmacenInvFisico" runat="server" InitialValue="-1" ControlToValidate="DdlAlmacenInventarioFisico" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacen''</b> es necesario, por favor ingréselo." ValidationGroup="InvFisico"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="CERFVAlmacenInvFisico" runat="server" HighlightCssClass="vco" TargetControlID="RFVAlmacenInvFisico" Width="350px"></ajax:ValidatorCalloutExtender>
@@ -1183,14 +1183,21 @@
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</td>
<td runat="server" id="TrSerieEntrada" visible="false">
<asp:TextBox ID="TxtSerieEntrada" runat="server" Width="50px"></asp:TextBox>
<td runat="server" id="TrSerieEntrada" visible="false" >
<asp:TextBox ID="TxtSerieEntrada" runat="server" Width="50px" CssClass="form-control input-sm"></asp:TextBox>
</td>
<td runat="server" id="TrLoteEntrada" visible="false">
<asp:TextBox ID="TxtLoteEntrada" runat="server" Width="50px"></asp:TextBox>
<asp:TextBox ID="TxtLoteEntrada" runat="server" Width="70px" CssClass="form-control input-sm"></asp:TextBox>
</td>
<td runat="server" id="TrCaducidadEntrada" visible="false">
<asp:TextBox ID="TxtCaducidadEntrada" runat="server" Width="50px"></asp:TextBox>
<asp:TextBox ID="TxtCaducidadEntrada" runat="server" Width="80px" CssClass="form-control input-sm"></asp:TextBox>
<asp:LinkButton ID="ImgFechaCadEntrada" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
<asp:RequiredFieldValidator ID="RFVFechaCadEntrada" runat="server" ControlToValidate="TxtCaducidadEntrada" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="AddPSInvFisico"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCFechaCadEntrada" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaCadEntrada" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MEEFechaCadEntrada" runat="server" TargetControlID="TxtCaducidadEntrada" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaCadEntrada" TargetControlID="TxtCaducidadEntrada" PopupButtonID="ImgFechaCadEntrada" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCadEntrada" runat="server" ControlToValidate="TxtCaducidadEntrada" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="AddPSInvFisico"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaCadEntrada" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCadEntrada" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td align="center">
<asp:LinkButton ID="BtnAgregarEntrada" runat="server" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-plus'></i>" ValidationGroup="AddPSInvFisico" />
@@ -1258,7 +1265,7 @@
<th style="width: 10%" runat="server" id="ThSeccionSalida" visible="false">Sección almacén</th>
<th style="width: 10%" runat="server" id="ThSerieSalida" visible="false">Serie</th>
<th style="width: 10%" runat="server" id="ThLoteSalida" visible="false">Lote</th>
<th style="width: 10%" runat="server" id="ThCaducidadSalida" visible="false">Caducidad</th>
<th style="width: 25%" runat="server" id="ThCaducidadSalida" visible="false">Caducidad</th>
<th style="width: 73px;"></th>
</tr>
<tr align="center">
@@ -1277,13 +1284,20 @@
</asp:DropDownList>
</td>
<td runat="server" id="TrSerieSalida" visible="false">
<asp:TextBox ID="TxtSerieSalida" runat="server" Width="50px"></asp:TextBox>
<asp:TextBox ID="TxtSerieSalida" runat="server" Width="50px" CssClass="form-control input-sm"></asp:TextBox>
</td>
<td runat="server" id="TrLoteSalida" visible="false">
<asp:TextBox ID="TxtLoteSalida" runat="server" Width="50px"></asp:TextBox>
<asp:TextBox ID="TxtLoteSalida" runat="server" Width="70px" CssClass="form-control input-sm"></asp:TextBox>
</td>
<td runat="server" id="TrCaducidadSalida" visible="false">
<asp:TextBox ID="TxtCaducidadSalida" runat="server" Width="50px"></asp:TextBox>
<asp:TextBox ID="TxtCaducidadSalida" runat="server" Width="75px" CssClass="form-control input-sm"></asp:TextBox>
<asp:LinkButton ID="ImgFechaCadSalida" class="btn default input-sm" Text="<i class='fa fa-calendar'></i>" runat="server" ></asp:LinkButton>
<asp:RequiredFieldValidator ID="RFVFechaCadSalida" runat="server" ControlToValidate="TxtCaducidadSalida" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="AddPSInvFisicoSalida"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCFechaCadSalida" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaCadSalida" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MEEFechaCadSalida" runat="server" TargetControlID="TxtCaducidadSalida" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaCadSalida" TargetControlID="TxtCaducidadSalida" PopupButtonID="ImgFechaCadSalida" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCadSalida" runat="server" ControlToValidate="TxtCaducidadSalida" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="AddPSInvFisicoSalida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaCadSalida" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCadSalida" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td align="center">
<asp:LinkButton ID="BtnAgregarSalida" runat="server" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-plus'></i>" ValidationGroup="AddPSInvFisicoSalida" />
@@ -1307,7 +1321,7 @@
<asp:BoundField HeaderText="Sección Alm" ReadOnly="true" DataField="SeccionAlmacen" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Serie" ReadOnly="true" DataField="Serie" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Lote" ReadOnly="true" DataField="Lote" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Caducidad" ReadOnly="true" DataField="FechaCaducidad" DataFormatString="{0:d}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Elaboración" ReadOnly="true" DataField="FechaCaducidad" DataFormatString="{0:d}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px">
<ItemTemplate>
<asp:LinkButton ID="LnkRemoveInvFisicoSalida" runat="server" AlternateText="Eliminar" OnClick="DeleteRowInvFisicoSalida" CommandArgument='<%# Eval("No")%>' CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar el concepto?" data-btn-ok-label="si" />

View File

@@ -3818,13 +3818,38 @@ Partial Class Inventarios_EntradasSalidas
#Region "SALIDAS"
Private Sub BtnAgregarSalida_Click(sender As Object, e As EventArgs) Handles BtnAgregarSalida.Click
If Not DdlPSSalida.SelectedValue.ToEntero > 0 Then
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Alert("Es necesario especificar el producto.", TipoMensaje.MsgAdvertencia)
Exit Sub
Dim ObjProductosServicios As New ClsProductosServicios()
Dim ObjInventario As New ClsInventarios
Dim CveUM As Integer
Dim Mensaje As String = ""
Dim FechaCaducidad As Date
Dim lote As String
If ObjProductosServicios.GetPS(DdlPSSalida.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa) Then
If ObjProductosServicios.DtResultados.Rows.Count > 0 Then
CveUM = ObjProductosServicios.CveUnidadMedida.ToString.ToEntero
End If
End If
AddPSSalida(DdlPSSalida.SelectedValue.ToEntero, TxtCantidadSalidaInv.Text.ToDouble)
FechaCaducidad = If(ObjProductosServicios.AplicaCaducidad, TxtCaducidadSalida.Text.ToDate, MinFecha)
lote = If(ObjProductosServicios.AplicaLote, TxtLoteSalida.Text.ToString, "-1")
If ObjInventario.GetExistenciasPS(DdlPSSalida.SelectedValue.ToEntero, CveUM, UsuarioActual.CveEmpresa, DdlAlmacenInventarioFisico.SelectedValue.ToEntero, PendientePorSurtir:=1, Lote:=lote, FechaCaducidad:=FechaCaducidad) >= TxtCantidadSalidaInv.Text.ToDouble Then
If Not DdlPSSalida.SelectedValue.ToEntero > 0 Then
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Alert("Es necesario especificar el producto.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
AddPSSalida(DdlPSSalida.SelectedValue.ToEntero, TxtCantidadSalidaInv.Text.ToDouble)
Else
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", ObjProductosServicios.PS)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Alert(Mensaje, TipoMensaje.MsgError)
End If
ObjInventario.Dispose()
ObjProductosServicios.Dispose()
End Sub
Protected Sub AddPSSalida(CvePS As Integer, Cantidad As Double)
@@ -3881,7 +3906,7 @@ Partial Class Inventarios_EntradasSalidas
GvSalidas.Columns(3).Visible = DtTemp.MAX("Serie") <> ""
GvSalidas.Columns(4).Visible = DtTemp.MAX("Lote") <> ""
GvSalidas.Columns(5).Visible = DtTemp.MAX("FechaCaducidad").ToDate > MinFecha
GvSalidas.Columns(5).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
GvSalidas.Columns(5).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
End If
End Sub
@@ -4013,7 +4038,7 @@ Partial Class Inventarios_EntradasSalidas
GvSalidasCambioVigencia.Columns(3).Visible = DtTemp.MAX("Serie") <> ""
GvSalidasCambioVigencia.Columns(4).Visible = DtTemp.MAX("Lote") <> ""
GvSalidasCambioVigencia.Columns(5).Visible = DtTemp.MAX("FechaCaducidad").ToDate > MinFecha
GvSalidasCambioVigencia.Columns(5).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
GvSalidasCambioVigencia.Columns(5).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
End If
UpGvCambioSalidas.Update()
End Sub
@@ -4406,7 +4431,7 @@ Partial Class Inventarios_EntradasSalidas
'activa caducidad
ThCaducidadEntrada.Visible = AplicaCaducidad
ThCaducidadEntrada.InnerText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
ThCaducidadEntrada.InnerText = UsuarioActual.Empresa.Funcionalidad(147)
TrCaducidadEntrada.Visible = AplicaCaducidad
Else
@@ -4440,7 +4465,7 @@ Partial Class Inventarios_EntradasSalidas
'activa caducidad
ThCaducidadSalida.Visible = AplicaCaducidad
ThCaducidadSalida.InnerText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
ThCaducidadSalida.InnerText = UsuarioActual.Empresa.Funcionalidad(147)
TrCaducidadSalida.Visible = AplicaCaducidad
Else

View File

@@ -574,7 +574,7 @@
<asp:UpdatePanel ID="UpProductoCaducidad" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<div runat="server" id="DivImprimir" style="text-align:right" visible="false">
<asp:HyperLink ID="ImprimirQR" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprmir QR</asp:HyperLink>
<asp:HyperLink ID="ImprimirQR" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir QR</asp:HyperLink>
</div>
<asp:GridView ID="GvProductoCaducidad" Width="98%" runat="server" ShowHeader="true" EmptyDataText="No hay registros." AutoGenerateColumns="False" AllowPaging="False"

View File

@@ -181,7 +181,7 @@ Partial Class Inventarios_PrestamosdeProveedor
'faltan las prepólizas
If Not ErrorMovInv AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inv/PrestamodeProvedor", 53, 0, 0, 1, Fecha, $" {TxtObservacionesEntrega.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUM("Total", "").ToDecimal.RoundSQL()
Dim tValorInventario As Decimal = ObjInventario.DtResultados.SUMD("Total", "").RoundAD()
Dim idCtaContable As Integer = 0
Dim IdCtaContableOtro As Integer = UsuarioActual.Empresa.IdCuentaOtrosIngresos
Dim TipoMovtoAlmacen As Boolean = False

View File

@@ -484,7 +484,7 @@ Partial Class Inventarios_RepApartados
End Function
End Class
Public Class MMovimientoAlmacen
Class MMovimientoAlmacen
Public Property CveMovimiento As Integer
Public Property Folio As Integer
Public Property CveConcepto As Integer

View File

@@ -63,11 +63,11 @@
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="width: 100% !important; padding: 0px;display:flex">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LinkButton1" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
<asp:LinkButton ID="ImgCalFechaF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaFin" PopupButtonID="ImgCalFechaIEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaFin" PopupButtonID="ImgCalFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-sm-1" style="text-align:right">
<label>Sucursal:</label>
@@ -90,6 +90,10 @@
<div class="col-md-1">
<asp:DropDownList runat="server" ID="DdlClasificacion" CssClass="select2me" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%" CssStyle="width: 100%;"/>
</div>
<label class="col-md-1 truncate">Productos:</label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width:55%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
</div>
</div>
@@ -98,10 +102,11 @@
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="Cantidad,PS,Lote,FechaCaducidad" EmptyDataText="No se encontraron Tipo Gasto" ToolTip="Reporte de productos caducidad " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="Cantidad,PS,Lote,FechaCaducidad" EmptyDataText="No se encontraron Registros" ToolTip="Reporte de productos caducidad " CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:n2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="PS" DataField="PS" />
<asp:BoundField HeaderText="Almacén" DataField="Almacen" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:#,###.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Producto" DataField="PS" />
<asp:BoundField HeaderText="Lote" DataField="Lote" />
<asp:BoundField HeaderText="Fecha de Caducidad" DataField="FechaCaducidad" DataFormatString = "{0:dd/MM/yyyy}" />
</Columns>

View File

@@ -35,10 +35,11 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
private void CargarDatos()
{
if (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147))) { GvDatos.Columns[3].HeaderText = UsuarioActual.Empresa.Funcionalidad(147); }
// aqui siempre se visualiza la caducidad, sin importar la condición, porque siempre se valida la caducidad
//if (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147))) { GvDatos.Columns[4].HeaderText = UsuarioActual.Empresa.Funcionalidad(147); }
ClsInventarios ObjInventarios = new ClsInventarios();
if (ObjInventarios.GetProductosCaducidad(DdlProveedor.SelectedValue.ToEntero(),TxtFechaInicio.Text.ToDate(),TxtFechaFin.Text.ToDate(), DdlSucursal.SelectedValue.ToEntero(),
DdlClasificacion.SelectedValue.ToEntero()))
DdlClasificacion.SelectedValue.ToEntero(), -1, UsuarioActual.CveEmpresa))
{
GvDatos.DataSource = ObjInventarios.DtResultados;
DTDatos = ObjInventarios.DtResultados;
@@ -60,7 +61,8 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
{
DateTime date = new DateTime(DateTime.Today.Year, DateTime.Today.Month,1);
TxtFechaInicio.Text = date.ToString("dd/MM/yyyy");
TxtFechaFin.Text = date.AddMonths(1).AddDays(-1).ToString("dd/MM/yyyy");
TxtFechaFin.Text = date.AddMonths(3).AddDays(-1).ToString("dd/MM/yyyy");
DdlPS.setEsWebService(true);
}
private void CargarProveedores()
@@ -73,25 +75,27 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
private void CargarSucursales()
{
ClsSubProyectos ObjSubProyectos = new ClsSubProyectos();
if (ObjSubProyectos.GetSubProyectos(UsuarioActual.CveEmpresa))
{
DdlSucursal.DataSource = ObjSubProyectos.DtResultados;
}
ObjSubProyectos.Dispose();
//ClsSubProyectos ObjSubProyectos = new ClsSubProyectos();
//if (ObjSubProyectos.GetSubProyectos(UsuarioActual.CveEmpresa))
//{
// DdlSucursal.DataSource = ObjSubProyectos.DtResultados;
//}
//ObjSubProyectos.Dispose();
DdlSucursal.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSucursal.DataBind();
DdlSucursal.Items.Insert(0, new ListItem("Todas", "-1"));
}
private void CargarClasificaciones()
{
ClsClasificaciones ObjClasificacion = new ClsClasificaciones();
if (ObjClasificacion.GetClasificaciones(UsuarioActual.CveEmpresa))
{
DdlClasificacion.DataSource = ObjClasificacion.DtResultados;
}
ObjClasificacion.Dispose();
DdlClasificacion.DataBind();
//ClsClasificaciones ObjClasificacion = new ClsClasificaciones();
//if (ObjClasificacion.GetClasificaciones(UsuarioActual.CveEmpresa))
//{
// DdlClasificacion.DataSource = ObjClasificacion.DtResultados;
//}
//ObjClasificacion.Dispose();
DdlClasificacion.DataSource = get_GlobalDTClasificaciones(UsuarioActual.CveEmpresa);
DdlClasificacion.DataBind();
DdlClasificacion.Items.Insert(0,new ListItem("Todas","-1"));
}
@@ -135,7 +139,7 @@ public partial class Inventarios_RepProductosPorCaducar : ClsPaginas
{
@params.Add(new ReportParameter("LogoPath", ""));
}
@params.Add(new ReportParameter("FechaCaducidadHeader", (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) ? UsuarioActual.Empresa.Funcionalidad(147) : "Fecha Caducidad")));
@params.Add(new ReportParameter("FechaCaducidadHeader", "Fecha Caducidad")); // (!String.IsNullOrWhiteSpace(UsuarioActual.Empresa.Funcionalidad(147)) ? UsuarioActual.Empresa.Funcionalidad(147) : "Fecha Caducidad")));
ImprimirPDF("Empresas/Grales/Formatos/RepProductosCaducidad.rdlc", DTDatos, @params, "Reporte de Productos por Caducar", formato);
}

View File

@@ -311,7 +311,9 @@
<%--<asp:BoundField HeaderText="Direccion Envio" HeaderStyle-HorizontalAlign="Left" DataField="DireccionEnvio" ItemStyle-Width="20%" />--%>
<asp:BoundField HeaderText="Observaciones" DataField="Observaciones" ItemStyle-Width="20%" />
<asp:BoundField HeaderText="Precio" HeaderStyle-HorizontalAlign="Right" DataFormatString="{0:c}" ItemStyle-HorizontalAlign="Right" DataField="Precio" Visible="false" ItemStyle-Width="5%" />
<asp:BoundField HeaderText="Serie" DataField="Serie" Visible="false" ItemStyle-Width="5%" />
<asp:BoundField HeaderText="Serie" DataField="Serie" Visible="false" ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center"/>
<asp:BoundField HeaderText="Lote" DataField="Lote" Visible="false" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center"/>
<asp:BoundField HeaderText="Fecha Caducidad" DataField="FechaCaducidad" Visible="false" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}"/>
<asp:TemplateField HeaderText="Eliminar" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="Si" />
@@ -433,7 +435,7 @@
</div>
</div>
<div id="ModalPS" class="modal ADS fade" role="dialog">
<div id="ModalPS" class="modal ADS fade" role="dialog" data-backdrop="static" >
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpPS" UpdateMode="Conditional">
<ContentTemplate>
@@ -486,6 +488,29 @@
</div>
</div>
<div class="row marginRowLeft">
<div class="col-md-4 form-group form-md-line-input input-iconright" id="divLote" runat="server" visible="false">
<asp:TextBox ID="TxtLote" runat="server" CssClass="form-control"></asp:TextBox>
<label for="<%= TxtLote.ClientID.ToString()%>">Lote:</label>
</div>
<div class="col-md-3 form-group form-md-line-input input-iconright" id="divCaducidad" runat="server" visible="false">
<asp:TextBox ID="TxtCaducidad" runat="server" CssClass="form-control"></asp:TextBox>
<label for="<%= TxtCaducidad.ClientID.ToString()%>">Fecha Elaboracion:</label>
</div>
<div class="col-md-1 form-group form-md-line-input input-iconright" id="divCaducidad2" runat="server" visible="false">
<asp:LinkButton ID="ImgFechaCad" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
<asp:RequiredFieldValidator ID="RFVFechaCad" runat="server" ControlToValidate="TxtCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="AddPSInvFisico"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCFechaCad" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaCad" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MEEFechaCad" runat="server" TargetControlID="TxtCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaCad" TargetControlID="TxtCaducidad" PopupButtonID="ImgFechaCad" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCad" runat="server" ControlToValidate="TxtCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="AddPSInvFisico"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaCad" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCad" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<div class="modal-footer">

View File

@@ -95,7 +95,9 @@ Partial Class Inventarios_TrasladoSolicitud
TempDT.Columns.Add("CveContratoDetalle", Type.GetType("System.Int32"))
'TempDT.Columns.Add("CveContratoDetalle", Type.GetType("System.Int32"))
'TempDT.Columns.Add("CveDireccionEnvio", Type.GetType("System.Int32"))
TempDT.Columns.Add("Serie", Type.GetType("System.String"))
TempDT.Columns.Add("Serie", Type.GetType("System.String"))
TempDT.Columns.Add("Lote", Type.GetType("System.String"))
TempDT.Columns.Add("FechaCaducidad", Type.GetType("System.DateTime"))
TempDT.Columns.Add()
End Sub
@@ -322,6 +324,7 @@ Partial Class Inventarios_TrasladoSolicitud
RegistraScript(String.Format("$('#{0}').modal();", "ModalPS"))
End Sub
Private Sub BtnAgregarPS_Click(sender As Object, e As EventArgs) Handles BtnAgregarPS.Click
Dim Existencia As Boolean
If Not DdlProductoServicio.SelectedValue.ToEntero > 0 Then
Alert("Tiene que seleccionar un producto.", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -329,35 +332,63 @@ Partial Class Inventarios_TrasladoSolicitud
If Not AddPSTemporal() Then
Exit Sub
End If
TxtCantidad.Text = ""
DdlProductoServicio.SelectedText = ""
DdlProductoServicio.SelectedValue = "-1"
DdlUM.SelectedIndex = 0
GvDatos.DataSource = TempDT
GvDatos.DataBind()
If ChkSeguirAgregando.Checked Then
TxtCantidad.Focus()
Else
RegistraScript("$('#ModalPS').hide();", "EscondeAgregar")
End If
UpPS.Update()
UpDatos.Update()
End If
'If ObjInventario.GetExistenciasPS(DdlProductoServicio.SelectedValue.ToEntero, DdlUM.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, PendientePorSurtir:=1, Lote:=TxtLote.Text.ToString, FechaCaducidad:=TxtCaducidad.Text.ToString) >= TxtCantidad.Text.ToDouble Then
TxtCantidad.Text = ""
DdlProductoServicio.SelectedText = ""
DdlProductoServicio.SelectedValue = "-1"
DdlUM.SelectedIndex = 0
TxtCaducidad.Text = ""
TxtSerie.Text = ""
TxtLote.Text = ""
GvDatos.DataSource = TempDT
GvDatos.DataBind()
If ChkSeguirAgregando.Checked Then
TxtCantidad.Focus()
Else
RegistraScript("$('#ModalPS').hide();", "EscondeAgregar")
End If
UpPS.Update()
UpDatos.Update()
End Sub
Private Function AddPSTemporal() As Boolean
Dim Row As DataRow = TempDT.NewRow()
Dim Lote As String
Dim FechaCaducidad As Date
Row("Cantidad") = TxtCantidad.Text.Trim.ToDouble
Row("CvePS") = DdlProductoServicio.SelectedValue.ToEntero
Row("CodigoPS") = DdlProductoServicio.SelectedText
Row("Precio") = 0
Row("CveUM") = DdlUM.SelectedValue.ToEntero
Row("UnidadMedida") = DdlUM.SelectedItem.Text
Row("Observaciones") = ""
Row("Observaciones") = ""
If divLote.Visible Then
Row("Lote") = TxtLote.Text
GvDatos.Columns(6).Visible = True
Lote = TxtLote.Text.ToString
Else
Row("Lote") = "-1"
Lote = "-1"
End If
If divCaducidad.Visible Then
Row("FechaCaducidad") = TxtCaducidad.Text
GvDatos.Columns(7).Visible = True
FechaCaducidad = TxtCaducidad.Text.ToDate
Else
Row("FechaCaducidad") = MinFecha
FechaCaducidad = MinFecha
End If
If Div4.Visible Then
Row("Serie") = TxtSerie.Text
@@ -366,8 +397,10 @@ Partial Class Inventarios_TrasladoSolicitud
Row("Serie") = "-1"
End If
Dim ObjInventarios As New ClsInventarios
Dim Existencia As Double = ObjInventarios.GetExistenciasPS(DdlProductoServicio.SelectedValue.ToEntero, DdlUM.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"))
Dim Existencia As Double = ObjInventarios.GetExistenciasPS(DdlProductoServicio.SelectedValue.ToEntero, DdlUM.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), Lote:=Lote, FechaCaducidad:=FechaCaducidad)
ObjInventarios.Dispose()
If Existencia - TxtCantidad.Text.Trim.ToDouble - TempDT.SUM("Cantidad", $"CvePS = {DdlProductoServicio.SelectedValue.ToEntero} AND CveUM = {DdlUM.SelectedValue.ToEntero}") < 0 Then
@@ -988,6 +1021,14 @@ Partial Class Inventarios_TrasladoSolicitud
DdlUM.SelectedValueExist(drPS("CveUnidadMedida").ToString)
Dim AplicaSerie As Boolean = drPS("AplicaSerie").ToString = "True"
Div4.Visible = AplicaSerie
Dim AplicaLote As Boolean = drPS("AplicaLote").ToString = "True"
divLote.Visible = AplicaLote
Dim AplicaCaducidad As Boolean = drPS("AplicaCaducidad").ToString = "True"
divCaducidad.Visible = AplicaCaducidad
divCaducidad2.Visible = AplicaCaducidad
End If
UpPS.Update()
UpDatos.Update()