--SMS, armado de paquetes con serie y lote
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
<%@ Page Title="SIG | Paquetes: Armado - Desarmado" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PaquetesArmadoDesarmado.aspx.vb" Inherits="Inventarios_PaquetesArmadoDesarmado" %>
|
<%@ Page Title="SIG | Paquetes: Armado - Desarmado" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PaquetesArmadoDesarmado.aspx.vb" Inherits="Inventarios_PaquetesArmadoDesarmado" EnableEventValidation="false" %>
|
||||||
|
|
||||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
@@ -129,6 +129,7 @@
|
|||||||
<asp:Label Text="" ID="LbCantidadArmado" runat="server" />
|
<asp:Label Text="" ID="LbCantidadArmado" runat="server" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<%--
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<hr />
|
<hr />
|
||||||
@@ -145,7 +146,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<asp:Label Text="" ID="LbFechaArmado" runat="server" />
|
<asp:Label Text="" ID="LbFechaArmado" runat="server" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>--%>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Observaciones:</td>
|
<td>Observaciones:</td>
|
||||||
<td>
|
<td>
|
||||||
@@ -216,7 +217,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="portlet-body">
|
<div class="portlet-body">
|
||||||
<asp:GridView ID="GvDatosArmado" DataKeyNames="Cantidad,CvePS,CveUM,Consec,AplicaSeccion,AplicaSerie,AplicaCaducidad,AplicaLote" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover Widthall" BorderColor="#D3D3D3" GridLines="None">
|
<asp:GridView ID="GvDatosArmado" DataKeyNames="Cantidad,CvePS,CveUM,Consec,AplicaSeccion,AplicaSerie,AplicaCaducidad,AplicaLote" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos con los filtros especificados" CssClass="table table-striped table-hover ScrollAD Widthall" BorderColor="#D3D3D3" data-heighterror="450" data-freezerows="1" GridLines="None">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField HeaderText="Cant. Necesaria" DataField="Cantidad" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
|
<asp:BoundField HeaderText="Cant. Necesaria" DataField="Cantidad" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
|
||||||
<asp:BoundField HeaderText="Cant. Disponible" DataField="CantidadDisponible2" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
|
<asp:BoundField HeaderText="Cant. Disponible" DataField="CantidadDisponible2" ItemStyle-Width="15%" DataFormatString="{0:###,###,###,##0.##}" ItemStyle-HorizontalAlign="Right" />
|
||||||
@@ -225,12 +226,12 @@
|
|||||||
<asp:TemplateField HeaderText="Serie">
|
<asp:TemplateField HeaderText="Serie">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
|
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
|
||||||
<asp:LinkButton Text="<i class='fa fa-star'></i>" ID="BtnSeriePaquete" OnClick="BtnSeriePaquete_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" data-toggle="tooltip" title="Seleccionar como serie del paquete" />
|
<asp:LinkButton Text="<i class='fa fa-star'></i>" ID="BtnSeriePaquete" OnClick="BtnSeriePaquete_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" data-toggle="tooltip" title="Seleccionar como serie del paquete" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Sección">
|
<asp:TemplateField HeaderText="Sección">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server"/>
|
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Lote">
|
<asp:TemplateField HeaderText="Lote">
|
||||||
@@ -238,9 +239,19 @@
|
|||||||
<asp:TextBox ID="TxtLote" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
|
<asp:TextBox ID="TxtLote" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Fecha Caducidad">
|
<asp:TemplateField HeaderText="Fecha Caducidad">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:TextBox ID="TxtCaducidad" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
|
||||||
|
<asp:TextBox ID="TxtCaducidad" Text="" CssClass="form-control input-sm ADSMaskDate" Style="width: 78px" runat="server" Visible="false" Enabled="false"></asp:TextBox>
|
||||||
|
<span class="input-group-btn ">
|
||||||
|
<asp:LinkButton runat="server" ID="LnkCaducidad" class="btn default" Visible="false" Enabled="false"> <i class="fa fa-calendar"></i> </asp:LinkButton>
|
||||||
|
|
||||||
|
<ajax:MaskedEditExtender ID="MEECaducidad" runat="server" TargetControlID="TxtCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
|
<ajax:CalendarExtender runat="server" Enabled="false" ID="CECaducidad" TargetControlID="TxtCaducidad" PopupButtonID="LnkCaducidad" PopupPosition="BottomLeft" Format="dd/MM/yyyy"></ajax:CalendarExtender>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVCaducidad" runat="server" ControlToValidate="TxtCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Caducidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VCECaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVCaducidad"></ajax:ValidatorCalloutExtender>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
|
|
||||||
@@ -256,7 +267,7 @@
|
|||||||
<div class="col-md-12" style="text-align: center;">
|
<div class="col-md-12" style="text-align: center;">
|
||||||
<asp:UpdatePanel runat="server">
|
<asp:UpdatePanel runat="server">
|
||||||
<ContentTemplate>
|
<ContentTemplate>
|
||||||
<asp:Button ID="BtnGuadarArmado" OnClick="BtnGuadarArmado_Click" Text="Armar" Visible="false" CssClass="btn btn-primary" Width="150px" runat="server" />
|
<asp:Button ID="BtnGuadarArmado" OnClick="BtnGuadarArmado_Click" Text="Armar" Visible="false" CssClass="btn btn-primary" Width="150px" runat="server" ValidationGroup="GrpGuardar" />
|
||||||
</ContentTemplate>
|
</ContentTemplate>
|
||||||
</asp:UpdatePanel>
|
</asp:UpdatePanel>
|
||||||
</div>
|
</div>
|
||||||
@@ -505,9 +516,29 @@
|
|||||||
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
|
<asp:Button Text="Serie" ID="BtnSerie" OnClick="BtnSerie_Click" CssClass="btn btn-xs btn-primary" runat="server" Style="float: left;" />
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:TemplateField HeaderText="Sección">
|
<asp:TemplateField HeaderText="Sección">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server"/>
|
<asp:DropDownList ID="DdlSeccionAlmacen" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" CssClass="select2me" runat="server" />
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Lote">
|
||||||
|
<ItemTemplate>
|
||||||
|
<asp:TextBox ID="TxtLote" CssClass="form-control input-sm" runat="server" Width="80px" Style="text-align: right;"></asp:TextBox>
|
||||||
|
</ItemTemplate>
|
||||||
|
</asp:TemplateField>
|
||||||
|
<asp:TemplateField HeaderText="Fecha Caducidad">
|
||||||
|
<ItemTemplate>
|
||||||
|
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
|
||||||
|
<asp:TextBox ID="TxtCaducidad" Text="" CssClass="form-control input-sm ADSMaskDate" Style="width: 78px" runat="server" Visible="false" Enabled="false"></asp:TextBox>
|
||||||
|
<span class="input-group-btn ">
|
||||||
|
<asp:LinkButton runat="server" ID="LnkCaducidad" class="btn default" Visible="false" Enabled="false"> <i class="fa fa-calendar"></i> </asp:LinkButton>
|
||||||
|
|
||||||
|
<ajax:MaskedEditExtender ID="MEECaducidad" runat="server" TargetControlID="TxtCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||||
|
<ajax:CalendarExtender runat="server" Enabled="false" ID="CECaducidad" TargetControlID="TxtCaducidad" PopupButtonID="LnkCaducidad" PopupPosition="BottomLeft" Format="dd/MM/yyyy"></ajax:CalendarExtender>
|
||||||
|
<asp:RequiredFieldValidator ID="RFVCaducidad" runat="server" ControlToValidate="TxtCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Caducidad''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
|
||||||
|
<ajax:ValidatorCalloutExtender ID="VCECaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RFVCaducidad"></ajax:ValidatorCalloutExtender>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
</Columns>
|
</Columns>
|
||||||
|
|||||||
@@ -271,17 +271,17 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
LbPaqueteArmado.Text = DdlPaqueteArmado.SelectedItem.Text
|
LbPaqueteArmado.Text = DdlPaqueteArmado.SelectedItem.Text
|
||||||
CvePaqueteArmado = DdlPaqueteArmado.SelectedValue.ToEntero
|
CvePaqueteArmado = DdlPaqueteArmado.SelectedValue.ToEntero
|
||||||
LbCantidadArmado.Text = TxtCantidadArmado.Text
|
LbCantidadArmado.Text = TxtCantidadArmado.Text
|
||||||
LbAlmacenArmado.Text = DdlAlmacenArmado.SelectedItem.Text
|
'LbAlmacenArmado.Text = DdlAlmacenArmado.SelectedItem.Text
|
||||||
CveAlmacenArmado = DdlAlmacenArmado.SelectedValue.ToEntero
|
CveAlmacenArmado = DdlAlmacenArmado.SelectedValue.ToEntero
|
||||||
LbFechaArmado.Text = TxtFechaArmado.Text
|
'LbFechaArmado.Text = TxtFechaArmado.Text
|
||||||
|
|
||||||
GvDatosArmado.DataSource = DtDatos
|
GvDatosArmado.DataSource = DtDatos
|
||||||
GvDatosArmado.DataBind()
|
GvDatosArmado.DataBind()
|
||||||
|
|
||||||
GvDatosArmado.Columns(4).Visible = DtDatos.MAX("AplicaSerie", "") = "True"
|
GvDatosArmado.Columns(4).Visible = DtDatos.MAX("AplicaSerie", "") = "True"
|
||||||
GvDatosArmado.Columns(5).Visible = DtDatos.MAX("AplicaSeccion") = "True"
|
GvDatosArmado.Columns(5).Visible = DtDatos.MAX("AplicaSeccion") = "True"
|
||||||
GvDatosArmado.Columns(6).Visible = False 'DtDatos.MAX("Lote", "") <> ""
|
GvDatosArmado.Columns(6).Visible = DtDatos.MAX("AplicaLote") = "True"
|
||||||
GvDatosArmado.Columns(7).Visible = False 'DtDatos.MAX("FechaCaducidad", "FechaCaducidad is not null").ToDate > MinFecha
|
GvDatosArmado.Columns(7).Visible = DtDatos.MAX("AplicaCaducidad") = "True"
|
||||||
|
|
||||||
'If ErrorExistencias Then
|
'If ErrorExistencias Then
|
||||||
' GvDatosArmado.Columns(4).Visible = False
|
' GvDatosArmado.Columns(4).Visible = False
|
||||||
@@ -374,8 +374,10 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
GvDatosDesarmado.DataSource = DtDatos
|
GvDatosDesarmado.DataSource = DtDatos
|
||||||
GvDatosDesarmado.DataBind()
|
GvDatosDesarmado.DataBind()
|
||||||
|
|
||||||
GvDatosDesarmado.Columns(4).Visible = CBool(DtDatos.MAX("AplicaSerie"))
|
GvDatosArmado.Columns(4).Visible = DtDatos.MAX("AplicaSerie", "") = "True"
|
||||||
GvDatosDesarmado.Columns(5).Visible = CBool(DtDatos.MAX("AplicaSeccion"))
|
GvDatosArmado.Columns(5).Visible = DtDatos.MAX("AplicaSeccion") = "True"
|
||||||
|
GvDatosArmado.Columns(6).Visible = DtDatos.MAX("AplicaLote") = "True"
|
||||||
|
GvDatosArmado.Columns(7).Visible = DtDatos.MAX("AplicaCaducidad") = "True"
|
||||||
|
|
||||||
BtnGuadarDesarmado.Visible = True
|
BtnGuadarDesarmado.Visible = True
|
||||||
|
|
||||||
@@ -456,7 +458,8 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
|
|
||||||
|
|
||||||
Dim ObjInventario As New ClsInventarios
|
Dim ObjInventario As New ClsInventarios
|
||||||
ObjInventario.IniciaTransacSQL() 'Inicia la transacción
|
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
|
||||||
|
|
||||||
Dim TieneError As Boolean = False
|
Dim TieneError As Boolean = False
|
||||||
Dim MensajeError As String = ""
|
Dim MensajeError As String = ""
|
||||||
|
|
||||||
@@ -464,10 +467,19 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
Dim FolioSalida As Integer = 0
|
Dim FolioSalida As Integer = 0
|
||||||
Dim CveMovimientoEntrada As Integer = 0
|
Dim CveMovimientoEntrada As Integer = 0
|
||||||
Dim FolioEntrada As Integer = 0
|
Dim FolioEntrada As Integer = 0
|
||||||
Dim Fecha As Date = If(Tipo = 1, LbFechaArmado.Text.ToDate, LbFechaDesarmado.Text.ToDate)
|
Dim Fecha As Date = If(Tipo = 1, TxtFechaArmado.Text.ToDate, LbFechaDesarmado.Text.ToDate)
|
||||||
Dim DtDetalle As New DataTable
|
Dim DtDetalle As New DataTable
|
||||||
|
|
||||||
|
Dim ConcepPrePoliza1 = "ARMPAQ1"
|
||||||
|
Dim ConcepPrePoliza2 = "ARMPAQ2"
|
||||||
|
|
||||||
|
Dim Concepto As String = "ARMPAQ2"
|
||||||
|
Dim Modulo As String = "ARMPAQ1/ARMPAQ2"
|
||||||
|
Try
|
||||||
|
|
||||||
|
Catch ex As Exception
|
||||||
|
|
||||||
|
End Try
|
||||||
Select Case (Tipo)
|
Select Case (Tipo)
|
||||||
Case 1 ' ARMADO
|
Case 1 ' ARMADO
|
||||||
|
|
||||||
@@ -588,43 +600,6 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
Dim ImportePrePoliza As Decimal = 0D
|
|
||||||
|
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
|
||||||
ImportePrePoliza = ObjInventario.DtResultados.SUMD("Total")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Dim MovAlmacen As Boolean = True
|
|
||||||
|
|
||||||
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 19).ToEntero
|
|
||||||
|
|
||||||
If OrigenMov = 1 Then
|
|
||||||
MovAlmacen = True
|
|
||||||
Else
|
|
||||||
MovAlmacen = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
|
|
||||||
|
|
||||||
Dim Concepto As String = "ARMPAQ2"
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("ARMPAQ1/ARMPAQ2", 74, ImportePrePoliza, ImportePrePoliza, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, "ARMPAQ2", "ARMPAQ2", CveMovimientoAlmacen:=CveMovimientoEntrada, CveSubProyecto:=-1, Contabilizable:=True) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, "ARMPAQ1", "ARMPAQ1", CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=True) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=6) Then
|
|
||||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
|
||||||
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
Case 2 'DESARMADO
|
Case 2 'DESARMADO
|
||||||
|
|
||||||
@@ -682,77 +657,111 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
TieneError = True
|
TieneError = True
|
||||||
Else
|
Else
|
||||||
For Each Gvr As GridViewRow In GvDatosDesarmado.Rows
|
For Each Gvr As GridViewRow In GvDatosDesarmado.Rows
|
||||||
If Gvr.DataKey("Cantidad").ToString.ToDouble > 0 Then
|
'If Gvr.DataKey("Cantidad").ToString.ToDouble > 0 Then
|
||||||
If CBool(Gvr.DataKey("AplicaSeccion")) Then
|
' If CBool(Gvr.DataKey("AplicaSeccion")) Then
|
||||||
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenDesarmado, CvePaqueteDesarmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
|
' CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenDesarmado, CvePaqueteDesarmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
|
||||||
End If
|
' End If
|
||||||
|
|
||||||
If CBool(Gvr.DataKey("AplicaSerie")) Then
|
' If CBool(Gvr.DataKey("AplicaSerie")) Then
|
||||||
For Each Dr As DataRow In DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec").ToEntero)).Rows
|
' For Each Dr As DataRow In DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec").ToEntero)).Rows
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString) Then
|
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString) Then
|
||||||
MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de entrada. Por favor vuelva a intentar."
|
' MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de entrada. Por favor vuelva a intentar."
|
||||||
TieneError = True
|
' TieneError = True
|
||||||
Exit For
|
' Exit For
|
||||||
End If
|
' End If
|
||||||
Next
|
' Next
|
||||||
Else
|
' Else
|
||||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Gvr.DataKey("Cantidad").ToString.ToDecimal, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen) Then
|
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Gvr.DataKey("Cantidad").ToString.ToDecimal, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.FCTextBox("TxtCosto").Text.ToDecimal, CveSeccionAlmacen:=CveSeccionAlmacen) Then
|
||||||
MensajeError = "Ocurrió un error al guardar los detalles del movimiento de entrada. Por favor vuelva a intentar."
|
' MensajeError = "Ocurrió un error al guardar los detalles del movimiento de entrada. Por favor vuelva a intentar."
|
||||||
|
' TieneError = True
|
||||||
|
' Exit For
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
'End If
|
||||||
|
|
||||||
|
Dim Lote As String = If(Gvr.FCTextBox("TxtLote").Text = "", "-1", Gvr.FCTextBox("TxtLote").Text)
|
||||||
|
Dim FechaCaducidad As String = If(Gvr.FCTextBox("TxtCaducidad").Text = "", "-1", Gvr.FCTextBox("TxtCaducidad").Text)
|
||||||
|
If CBool(Gvr.DataKey("AplicaSeccion")) Then
|
||||||
|
CveSeccionAlmacen = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, CveAlmacenDesarmado, CvePaqueteDesarmado).FiltroPrimeroValor("CveSeccionAlmacen").ToEntero
|
||||||
|
End If
|
||||||
|
|
||||||
|
If CBool(Gvr.DataKey("AplicaSerie")) Then
|
||||||
|
For Each Dr As DataRow In DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec").ToEntero)).Rows
|
||||||
|
If Not ObjInventario.GetExistenciasPS(Gvr.DataKey("CvePS").ToString.ToEntero, Gvr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenArmado.SelectedValue.ToEntero, FechaMovto:=Fecha.ToDateTime.ToString("yyyy/MM/dd HH:mm"), Serie:=Dr("Serie").ToString, CveVendedor:=CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente)) >= 1 Then
|
||||||
|
MensajeError = String.Format("El Producto <b>{0}</b> con Serie: <b>{1}</b> no tiene existencia suficiente", Dr("PS"), Dr("Serie"))
|
||||||
TieneError = True
|
TieneError = True
|
||||||
Exit For
|
Exit For
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, 1, Gvr.DataKey("CveUM").ToString.ToEntero, Gvr.DataKey("CvePS").ToString.ToEntero, 0, -1,
|
||||||
|
CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Dr("Serie").ToString, Lote:=Lote, FechaCaducidad:=FechaCaducidad.ToDate) Then
|
||||||
|
MensajeError = "Ocurrió un error al guardar los detalles con serie del movimiento de salida. Por favor vuelva a intentar."
|
||||||
|
TieneError = True
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
Next
|
||||||
|
|
||||||
|
If TieneError Then
|
||||||
|
Exit For
|
||||||
|
End If
|
||||||
|
|
||||||
|
Else
|
||||||
|
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Gvr.DataKey("Cantidad").ToString.ToDecimal, Gvr.DataKey("CveUM").ToString.ToEntero,
|
||||||
|
Gvr.DataKey("CvePS").ToString.ToEntero, 0, -1, CveSeccionAlmacen:=CveSeccionAlmacen, Lote:=Lote,
|
||||||
|
FechaCaducidad:=FechaCaducidad.ToDate) Then
|
||||||
|
MensajeError = "Ocurrió un error al guardar los detalles del movimiento de salida. Por favor vuelva a intentar."
|
||||||
|
TieneError = True
|
||||||
|
Exit For
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
Next
|
Next
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
ConcepPrePoliza1 = "ARMPAQ3"
|
||||||
|
ConcepPrePoliza1 = "ARMPAQ4"
|
||||||
|
|
||||||
|
|
||||||
Dim ImportePrePoliza As Decimal = 0D
|
|
||||||
|
|
||||||
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
|
||||||
ImportePrePoliza = ObjInventario.DtResultados.SUMD("Total")
|
|
||||||
End If
|
|
||||||
|
|
||||||
|
|
||||||
Dim MovAlmacen As Boolean = True
|
|
||||||
|
|
||||||
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 4).ToEntero
|
|
||||||
|
|
||||||
If OrigenMov = 1 Then
|
|
||||||
MovAlmacen = True
|
|
||||||
Else
|
|
||||||
MovAlmacen = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
|
|
||||||
|
|
||||||
Dim Concepto As String = "ARMPAQ2"
|
|
||||||
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("ARMPAQ1/ARMPAQ2", 74, ImportePrePoliza, ImportePrePoliza, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
||||||
'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, "ARMPAQ4", "ARMPAQ4", CveMovimientoAlmacen:=CveMovimientoEntrada, CveSubProyecto:=-1, Contabilizable:=True) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, "ARMPAQ3", "ARMPAQ3", CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=True) Then
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
|
|
||||||
If ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=6) Then
|
|
||||||
If ObjConta.ValorPolizaDescuadre > 0 Then
|
|
||||||
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
|
||||||
TieneError = True
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Select
|
End Select
|
||||||
|
|
||||||
|
'CONTABILIZAR MOVIMIENTOS
|
||||||
If Not TieneError Then
|
If Not TieneError Then
|
||||||
|
Dim ImportePrePoliza As Decimal = 0D
|
||||||
|
|
||||||
|
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
|
||||||
|
ImportePrePoliza = ObjInventario.DtResultados.SUMD("Total")
|
||||||
|
End If
|
||||||
|
|
||||||
|
|
||||||
|
Dim MovAlmacen As Boolean = True
|
||||||
|
|
||||||
|
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 19).ToEntero
|
||||||
|
|
||||||
|
If OrigenMov = 1 Then
|
||||||
|
MovAlmacen = True
|
||||||
|
Else
|
||||||
|
MovAlmacen = False
|
||||||
|
End If
|
||||||
|
|
||||||
|
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas(Modulo, 74, ImportePrePoliza, ImportePrePoliza, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||||
|
'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, ConcepPrePoliza2, ConcepPrePoliza2, CveMovimientoAlmacen:=CveMovimientoEntrada, CveSubProyecto:=-1, Contabilizable:=True) Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ImportePrePoliza, ImportePrePoliza, 68, ConcepPrePoliza1, ConcepPrePoliza1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=True) Then
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
|
||||||
|
If ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=6) Then
|
||||||
|
If ObjConta.ValorPolizaDescuadre > 0 Then
|
||||||
|
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
|
||||||
|
TieneError = True
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
|
If Not TieneError Then
|
||||||
Dim Msg As New StringBuilder
|
Dim Msg As New StringBuilder
|
||||||
Msg.AppendFormat("<br/>El Movimiento de salida se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalida, FolioSalida)
|
Msg.AppendFormat("<br/>El Movimiento de salida se registro con el Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"" target=""_blank"">{1}</a></b>", CveMovimientoSalida, FolioSalida)
|
||||||
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
|
Msg.AppendFormat("<br/><a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
|
||||||
@@ -786,9 +795,9 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
LbPaqueteArmado.Text = ""
|
LbPaqueteArmado.Text = ""
|
||||||
CvePaqueteArmado = -1
|
CvePaqueteArmado = -1
|
||||||
LbCantidadArmado.Text = ""
|
LbCantidadArmado.Text = ""
|
||||||
LbAlmacenArmado.Text = ""
|
'LbAlmacenArmado.Text = ""
|
||||||
CveAlmacenArmado = -1
|
CveAlmacenArmado = -1
|
||||||
LbFechaArmado.Text = ""
|
'LbFechaArmado.Text = ""
|
||||||
TxtObservacionesArmado.Text = ""
|
TxtObservacionesArmado.Text = ""
|
||||||
UpGeneralesArmado.Update()
|
UpGeneralesArmado.Update()
|
||||||
|
|
||||||
@@ -840,7 +849,7 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
|
|
||||||
'If AplicaSerie Then
|
'If AplicaSerie Then
|
||||||
e.Row.FCLinkButton("BtnSeriePaquete").Visible = True
|
e.Row.FCLinkButton("BtnSeriePaquete").Visible = True
|
||||||
e.Row.FCLinkButton("BtnSeriePaquete").Attributes.Add("data-toggle", "tooltip")
|
e.Row.FCLinkButton("BtnSeriePaquete").Attributes.Add("data-toggle", "tooltip")
|
||||||
'End If
|
'End If
|
||||||
|
|
||||||
Else
|
Else
|
||||||
@@ -851,10 +860,23 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
|
e.Row.FCDropDownList("DdlSeccionAlmacen").Visible = False
|
||||||
Else
|
Else
|
||||||
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenArmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
|
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenArmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
e.Row.FCTextBox("TxtCaducidad").Visible = e.Row.DataKey("AplicaCaducidad") = "True"
|
If e.Row.DataKey("AplicaCaducidad") = "True" Then
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Visible = True
|
||||||
|
e.Row.FCLinkButton("LnkCaducidad").Visible = True
|
||||||
|
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").ReadOnly = False
|
||||||
|
CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = True
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Enabled = True
|
||||||
|
Else
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Visible = False
|
||||||
|
e.Row.FCLinkButton("LnkCaducidad").Visible = False
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Enabled = True
|
||||||
|
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").ReadOnly = True
|
||||||
|
CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = False
|
||||||
|
End If
|
||||||
|
|
||||||
e.Row.FCTextBox("TxtLote").Visible = e.Row.DataKey("AplicaLote") = "True"
|
e.Row.FCTextBox("TxtLote").Visible = e.Row.DataKey("AplicaLote") = "True"
|
||||||
|
|
||||||
@@ -883,6 +905,23 @@ Partial Class Inventarios_PaquetesArmadoDesarmado
|
|||||||
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenDesarmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
|
CargaSeccionesAlmacen(e.Row.FCDropDownList("DdlSeccionAlmacen"), DdlAlmacenDesarmado.SelectedValue.ToEntero, e.Row.DBCampo("CvePS").ToEntero, UsuarioActual.CveEmpresa)
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
If e.Row.DataKey("AplicaCaducidad") = "True" Then
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Visible = True
|
||||||
|
e.Row.FCLinkButton("LnkCaducidad").Visible = True
|
||||||
|
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").ReadOnly = False
|
||||||
|
CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = True
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Enabled = True
|
||||||
|
Else
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Visible = False
|
||||||
|
e.Row.FCLinkButton("LnkCaducidad").Visible = False
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").Enabled = True
|
||||||
|
|
||||||
|
e.Row.FCTextBox("TxtCaducidad").ReadOnly = True
|
||||||
|
CType(e.Row.FindControl("RFVCaducidad"), RequiredFieldValidator).Enabled = False
|
||||||
|
End If
|
||||||
|
e.Row.FCTextBox("TxtLote").Visible = e.Row.DataKey("AplicaLote") = "True"
|
||||||
|
|
||||||
e.Row.FCTextBox("TxtCosto").Attributes.Add("onkeyup", "SumaValores();")
|
e.Row.FCTextBox("TxtCosto").Attributes.Add("onkeyup", "SumaValores();")
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|||||||
Reference in New Issue
Block a user