Validaciones para mostrar correctamente la fecha y validar la existencia de los productos en el almacen

This commit is contained in:
HECTOR RODRIGUEZ
2021-03-03 20:28:20 -07:00
parent 9c0d6aa01e
commit fc3d988855
2 changed files with 42 additions and 11 deletions

View File

@@ -1190,7 +1190,14 @@
<asp:TextBox ID="TxtLoteEntrada" runat="server" Width="50px"></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"></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" />
@@ -1284,6 +1291,13 @@
</td>
<td runat="server" id="TrCaducidadSalida" visible="false">
<asp:TextBox ID="TxtCaducidadSalida" runat="server" Width="50px"></asp:TextBox>
<asp:LinkButton ID="ImgFechaCadSalida" class="btn default " 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,30 @@ 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 CveUM As Integer
Dim Mensaje 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
ObjProductosServicios.Dispose()
Dim ObjInventario As New ClsInventarios
If ObjInventario.GetExistenciasPS(DdlPSSalida.SelectedValue.ToEntero, CveUM, UsuarioActual.CveEmpresa, DdlAlmacenInventarioFisico.SelectedValue.ToEntero, PendientePorSurtir:=1) >= 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)
AddPSSalida(DdlPSSalida.SelectedValue.ToEntero, TxtCantidadSalidaInv.Text.ToDouble)
Else
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", DdlPSSalida.SelectedValue.ToEntero)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Alert(Mensaje, TipoMensaje.MsgError)
End If
ObjInventario.Dispose()
End Sub
Protected Sub AddPSSalida(CvePS As Integer, Cantidad As Double)
@@ -3881,7 +3898,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 = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Elaboración")
End If
End Sub
@@ -4013,7 +4030,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 = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Elaboración")
End If
UpGvCambioSalidas.Update()
End Sub
@@ -4406,7 +4423,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 = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Elaboración")
TrCaducidadEntrada.Visible = AplicaCaducidad
Else
@@ -4440,7 +4457,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 = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Elaboración")
TrCaducidadSalida.Visible = AplicaCaducidad
Else