Entradas salidas ajustes

This commit is contained in:
rakcsle
2023-12-21 19:26:47 -07:00
parent 4bac24692c
commit b431ee5400
3 changed files with 339 additions and 161 deletions

View File

@@ -664,7 +664,8 @@
<asp:Button ID="BtnVinculaAFEdit" ClientIDMode="Static" OnClick="BtnVinculaAFEdit_Click" Style="display: none;" runat="server" /> <asp:Button ID="BtnVinculaAFEdit" ClientIDMode="Static" OnClick="BtnVinculaAFEdit_Click" Style="display: none;" runat="server" />
<asp:HiddenField runat="server" ID="HdnCodAFEdit" Value="-1" ClientIDMode="Static" /> <asp:HiddenField runat="server" ID="HdnCodAFEdit" Value="-1" ClientIDMode="Static" />
<asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="tabla_correcto grides Widthall mysmallbtn" EmptyDataText="Aún no hay registros." DataKeyNames="No,CveMovimientoDetalle,Cantidad,CvePS,CveUM,PU,Observaciones,CodigoPS,UnidadMedida,CveAF,Serie,Lote,FechaCaducidad,CveSeccionAlmacen" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True" > <asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="tabla_correcto grides Widthall mysmallbtn" EmptyDataText="Aún no hay registros."
DataKeyNames="No,CveMovimientoDetalle,Cantidad,CvePS,CveUM,PU,Observaciones,CodigoPS,UnidadMedida,CveAF,Serie,Lote,FechaCaducidad,CveSeccionAlmacen" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True" >
<Columns> <Columns>
<asp:TemplateField HeaderText="" ItemStyle-Font-Size="6pt"> <asp:TemplateField HeaderText="" ItemStyle-Font-Size="6pt">
<EditItemTemplate> <EditItemTemplate>
@@ -786,13 +787,19 @@
<asp:TemplateField> <asp:TemplateField>
<EditItemTemplate> <EditItemTemplate>
<center>
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" /> <div class="row" style="max-width:80px!important">
&nbsp;<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" /> <div class="col-md-6">
</center> <asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" />
</div>
<div class="col-md-6">
<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
</div>
</div>
</EditItemTemplate> </EditItemTemplate>
<ItemTemplate> <ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" /> <asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="imgE_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="lnkRemove" runat="server" AlternateText="Eliminar" OnClick="DeleteRow" 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" /> <asp:LinkButton ID="lnkRemove" runat="server" AlternateText="Eliminar" OnClick="DeleteRow" 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" />
<asp:LinkButton ID="lnkDividir" runat="server" AlternateText="Eliminar" OnClick="DividirRow" CommandArgument='<%# Eval("No")%>' Style="font-size: 9px" CssClass="btn btn-circle btn-sm red" Text="<i class='fas fa-chart-pie-alt'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea dividir el concepto en unidades?" data-btn-ok-label="si" /> <asp:LinkButton ID="lnkDividir" runat="server" AlternateText="Eliminar" OnClick="DividirRow" CommandArgument='<%# Eval("No")%>' Style="font-size: 9px" CssClass="btn btn-circle btn-sm red" Text="<i class='fas fa-chart-pie-alt'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea dividir el concepto en unidades?" data-btn-ok-label="si" />
</ItemTemplate> </ItemTemplate>
@@ -1659,11 +1666,14 @@
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<div runat="server" id="divCantidad" class="form-group form-md-line-input input-iconright"> <div runat="server" id="divCantidad" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="txtCantidad" CssClass="form-control" MaxLength="15" runat="server" ValidationGroup="GprAgregaPS"></asp:TextBox> <asp:TextBox ID="txtCantidad" CssClass="form-control" MaxLength="15" runat="server" ValidationGroup="GrpAgregarPS" ClientIDMode="Static" onkeyup="calcularTotal()"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumerosCantidad" runat="server" TargetControlID="txtCantidad" FilterType="Custom, Numbers" ValidChars="." /> <ajax:FilteredTextBoxExtender ID="SoloNumerosCantidad" runat="server" TargetControlID="txtCantidad" FilterType="Custom, Numbers" ValidChars="." />
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="txtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GprAgregaPS"></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="txtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCantidad1" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidad" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCOCantidad1" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CustomValidator ID="CVCantidad" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> no tiene el formato correcto (6 decimales). Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="GprAgregaPS"></asp:CustomValidator> <asp:CustomValidator ID="CVCantidad" runat="server" ClientValidationFunction="ValidaDecimal6digitsM0" ControlToValidate="TxtCantidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> no tiene el formato correcto (6 decimales) y mayor a cero. Por favor rectifique y vuelva a intentar."
ValidateEmptyText="True" ValidationGroup="GrpAgregarPS"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="CVCantidad" Width="300px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="CVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtCantidad.ClientID.ToString()%>">Cantidad</label> <label for="<%= txtCantidad.ClientID.ToString()%>">Cantidad</label>
</div> </div>
@@ -1687,8 +1697,17 @@
<div runat="server" id="divPrecio" class="form-group form-md-line-input input-iconright" visible="false"> <div runat="server" id="divPrecio" class="form-group form-md-line-input input-iconright" visible="false">
<asp:TextBox ID="txtPrecio" CssClass="form-control " runat="server" Width="50%" Visible="false"></asp:TextBox> <asp:TextBox ID="txtPrecio" CssClass="form-control " runat="server" Width="50%" Visible="true" ClientIDMode="Static" onkeyup="calcularTotal()" ></asp:TextBox>
<label for="<%= txtPrecio.ClientID.ToString()%>">Precio unitario</label> <ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="txtPrecio" FilterType="Custom" ValidChars=".1234567890" />
<asp:RequiredFieldValidator ID="RfvtxtPrecio" runat="server" ControlToValidate="txtPrecio" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio unitario''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvtxtPrecio" runat="server" HighlightCssClass="vco" TargetControlID="RfvtxtPrecio" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtPrecio.ClientID.ToString()%>">Precio unitario</label>
</div> </div>
<div class="row"> <div class="row">
@@ -1696,7 +1715,14 @@
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtnSerie" CssClass="form-control " runat="server" Width="120px"></asp:TextBox> <asp:TextBox ID="TxtnSerie" CssClass="form-control " runat="server" Width="120px"></asp:TextBox>
<asp:Button Text="" ID="BtnSerieAddNew" OnClick="BtnSerieAddNew_Click" Style="display: none" runat="server" /> <asp:Button Text="" ID="BtnSerieAddNew" OnClick="BtnSerieAddNew_Click" Style="display: none" runat="server" />
<label for="<%= TxtnSerie.ClientID.ToString()%>">Serie</label> <label for="<%= TxtnSerie.ClientID.ToString()%>">Serie</label>
<asp:RequiredFieldValidator ID="RfvTxtnSerie" runat="server" ControlToValidate="TxtnSerie" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Serie''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnSerie" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnSerie" Width="300px"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
<div class="col-md-6" runat="server" id="divSeccionAlmacen" visible="false"> <div class="col-md-6" runat="server" id="divSeccionAlmacen" visible="false">
@@ -1714,6 +1740,12 @@
<div class="col-md-6" runat="server" id="divLote" visible="false"> <div class="col-md-6" runat="server" id="divLote" visible="false">
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtnLote" CssClass="form-control" runat="server" Width="120px"></asp:TextBox> <asp:TextBox ID="TxtnLote" CssClass="form-control" runat="server" Width="120px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtnLote" runat="server" ControlToValidate="TxtnLote" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Serie''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnLote" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnLote" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtnLote.ClientID.ToString()%>">Lote</label> <label for="<%= TxtnLote.ClientID.ToString()%>">Lote</label>
</div> </div>
</div> </div>
@@ -1729,9 +1761,16 @@
<ajax:MaskedEditExtender ID="MEEFechaCaducidad" runat="server" TargetControlID="TxtnFechaCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender> <ajax:MaskedEditExtender ID="MEEFechaCaducidad" runat="server" TargetControlID="TxtnFechaCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaCaducidad" TargetControlID="TxtnFechaCaducidad" PopupButtonID="LnkFechaCaducidad" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender> <ajax:CalendarExtender runat="server" ID="CEFechaCaducidad" TargetControlID="TxtnFechaCaducidad" PopupButtonID="LnkFechaCaducidad" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup=""></asp:CompareValidator> <asp:CompareValidator ID="CVFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpAgregarPS"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFEchaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCaducidad" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="VCEFEchaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCaducidad" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RfvTxtnFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnFechaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnFechaCaducidad" Width="300px"></ajax:ValidatorCalloutExtender>
</div> </div>
</div> </div>
@@ -1772,23 +1811,29 @@
</div> </div>
<div runat="server" id="ThTotal" class="form-group form-md-line-input input-iconright" visible="false"> <div runat="server" id="ThTotal" class="form-group form-md-line-input input-iconright" visible="false">
<label for="<%= TdTotal.ClientID.ToString()%>">Total</label> <label for="<%= TdTotal.ClientID.ToString()%>">Total</label>
<asp:Literal ID="TdTotal" runat="server" Visible="false"></asp:Literal> <asp:Label ID="TdTotal" runat="server" Visible="false" ClientIDMode="Static"></asp:Label>
</div> </div>
<div runat="server" id="DVCultivosCuadro" class="form-group form-md-line-input input-iconright" visible="false"> <div runat="server" id="DVCultivosCuadro" class="form-group form-md-line-input input-iconright" visible="false">
<asp:DropDownList ID="DdlModalCultivosCuadro" CssClass=" form-control select2me" runat="server" DataTextField="TemporadaCuadro" Style="width: 100%; max-width: 600px;" <asp:DropDownList ID="DdlModalCultivosCuadro" CssClass=" form-control select2me" runat="server" DataTextField="TemporadaCuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpProduccion"> DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpAgregarPS">
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlModalCultivosCuadro" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlModalCultivosCuadro" <asp:RequiredFieldValidator ID="RfvDdlModalCultivosCuadro" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlModalCultivosCuadro"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El Cuadro <b>''Cuadro''</b> es necesario, por favor ingréselo." ValidationGroup="GrpProduccion"> ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El Cuadro <b>''Cuadro''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarPS">
</asp:RequiredFieldValidator> </asp:RequiredFieldValidator>
<label runat="server" for="<%= DdlModalCultivosCuadro.ClientID.ToString()%>">Cultivo:</label> <label runat="server" for="<%= DdlModalCultivosCuadro.ClientID.ToString()%>">Cultivo:</label>
<i></i> <i></i>
</div> </div>
<div class="row">
<div class="col-md-12" style="text-align:right">
<asp:CheckBox runat="server" ID="ChkContinuarRegistrando" Checked="true" Text="Seguir Registrando" TextAlign="Left" />
</div>
</div>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<asp:LinkButton ID="LkAgregarDetalle" runat="server" CssClass="btn btn-primary" Text="Agregar"></asp:LinkButton> <asp:LinkButton ID="LkAgregarDetalle" runat="server" CssClass="btn btn-primary" Text="Agregar" ValidationGroup="GrpAgregarPS" CausesValidation="true">></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button> <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div> </div>
</div> </div>
@@ -1929,58 +1974,42 @@
} }
$('#<%= GvM.ClientID%>').ADScroll({ 'height': Alto }); $('#<%= GvM.ClientID%>').ADScroll({ 'height': Alto });
<%-- if ($("#<%= DdlProductows.ClientID%>")) {
if (!($('#<%= HFProducto.ClientID %>').val() === '')) {
AddItem($('#<%= HFTProducto.ClientID%>').val(), $('#<%= HFProducto.ClientID %>').val());
}
}
if ($("#<%= DdlProductows.ClientID%>").data('creado') === '1') { } else {
$("#<%= DdlProductows.ClientID%>").data('creado', '1')
$("#<%= DdlProductows.ClientID%>").select2({
ajax: {
url: "/Ashx/SIGWeb.ashx",
dataType: 'json',
delay: 250,
data: function (params) {
return {
Name: params.term, // search term
Metodo: 'getps'
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: data,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 3
});
}
if ($("#<%= DdlProductows.ClientID%>")) {
if (!($('#<%= HFProducto.ClientID %>').val() === '')) {
AddItem($('#<%= HFTProducto.ClientID%>').val(), $('#<%= HFProducto.ClientID %>').val());
}
$("#<%= DdlProductows.ClientID%>").on("select2:select", function (e) { console.log(e); $('#<%= HFProducto.ClientID %>').val(e.params.data.id); $('#<%= HFTProducto.ClientID%>').val(e.params.data.text); $('#<%= myhidenbutton.ClientID %>').click(); });
}
if ($("#<%= DdlProducto.ClientID%>")) {
$("#<%= DdlProducto.ClientID%>").on("select2:select", function (e) { console.log(e); $('#<%= HFProducto.ClientID %>').val(e.params.data.id); $('#<%= HFTProducto.ClientID%>').val(e.params.data.text); });
}--%>
}); });
function ValidaDecimal6digitsM0(val, args) {
if (args.Value.match(/^[1-9]\d*(\.\d{1,6})?$/))
args.IsValid = true;
else
args.IsValid = false;
}
function calcularTotal() {
var cantidad = parseFloat($('#txtCantidad').val().replace(/,/g, ''));
var precio = parseFloat($('#txtPrecio').val().replace(/,/g, ''));
if (!isNaN(cantidad) && !isNaN(precio)) {
var resultado = cantidad * precio;
var formatoResultado = formatoMoneda(resultado);
$('#TdTotal').text(formatoResultado);
} else {
$('#TdTotal').text('');
}
}
function formatoMoneda(valor) {
if (valor % 1 !== 0) { // Si el valor tiene decimales
return valor.toLocaleString('es-MX', {
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
} else {
return valor.toLocaleString('es-MX'); // Sin decimales
}
}
</script> </script>
</asp:Content> </asp:Content>

View File

@@ -275,6 +275,23 @@ Partial Class Inventarios_EntradasSalidas
ViewState("CveMovimientoDetalleEdit") = value ViewState("CveMovimientoDetalleEdit") = value
End Set End Set
End Property End Property
Public Property IndexActualTabla() As Integer
Get
If ViewState("IndexActualTabla") Is Nothing Then
ViewState("IndexActualTabla") = -1
End If
Return ViewState("IndexActualTabla").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("IndexActualTabla") = value
End Set
End Property
Public Property CveAFEdit() As Integer Public Property CveAFEdit() As Integer
Get Get
Return ViewState("CveAFEdit").ToString.ToEntero Return ViewState("CveAFEdit").ToString.ToEntero
@@ -1287,10 +1304,23 @@ Partial Class Inventarios_EntradasSalidas
End Sub End Sub
Private Sub LimpiarAgregar() Private Sub LimpiarAgregar()
'DdlClasificacion.SelectedValue = "-1"
txtCantidad.Text = "" txtCantidad.Text = ""
TxtnLote.Text = "" TxtnLote.Text = ""
TxtObservacionesdetalle.Text = "" LblCodigo.Text = ""
TxtnSerie.Text = ""
TxtnFechaCaducidad.Text = ""
HdnCodigoAF.Value = "-1"
HdnCveActivoFijo.Value = "-1"
txtPrecio.Text = ""
divSerie.Visible = False
divLote.Visible = False
divSeccionAlmacen.Visible = False
divCaducidad.Visible = False
UpAgregar.Update()
End Sub End Sub
Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click
@@ -1425,12 +1455,23 @@ Partial Class Inventarios_EntradasSalidas
' AgregarPS() ' AgregarPS()
'End Sub 'End Sub
Protected Sub LkAgregarDetalle_Click(sender As Object, e As EventArgs) Handles LkAgregarDetalle.Click Protected Sub LkAgregarDetalle_Click(sender As Object, e As EventArgs) Handles LkAgregarDetalle.Click
If CveMovimientoDetalleEdit > 0 Then
ActualizarPS() If CveMovimiento > 0 Then
If CveMovimientoDetalleEdit > 0 Then
ActualizarPS()
Else
AgregarPS()
End If
Else Else
AgregarPS() If IndexActualTabla >= 0 Then
ActualizarPS()
Else
AgregarPS()
End If
End If End If
End Sub End Sub
Protected Sub BtnSerieAddNew_Click(sender As Object, e As EventArgs) Protected Sub BtnSerieAddNew_Click(sender As Object, e As EventArgs)
AgregarPS() AgregarPS()
@@ -1464,9 +1505,10 @@ Partial Class Inventarios_EntradasSalidas
TxtnFechaCaducidad.Text = "" TxtnFechaCaducidad.Text = ""
HdnCodigoAF.Value = "-1" HdnCodigoAF.Value = "-1"
HdnCveActivoFijo.Value = "-1" HdnCveActivoFijo.Value = "-1"
txtPrecio.Text = ""
DdlModalCultivosCuadro.SelectedValueExist(-1) DdlModalCultivosCuadro.SelectedValueExist(-1)
RegistraScript("CodigoAF = "";") RegistraScript("CodigoAF = '';")
If Not UsuarioActual.Empresa.Funcionalidad(105).ToString = "1" Then If Not UsuarioActual.Empresa.Funcionalidad(105).ToString = "1" Then
DdlProducto2.SelectedValue = "-1" DdlProducto2.SelectedValue = "-1"
@@ -1475,11 +1517,16 @@ Partial Class Inventarios_EntradasSalidas
DdlProducto2.SelectedText = "" DdlProducto2.SelectedText = ""
End If End If
txtCantidad.Focus() If ChkContinuarRegistrando.Checked Then
txtCantidad.Focus()
Else
RegistraScript("$('#ModalAgregar').modal('hide');")
End If
End Sub End Sub
Protected Sub AddNew(CvePS As Integer, PS As String, CveUM As Integer, UM As String, Cantidad As Decimal, PU As Decimal, Serie As String, CodigoAF As String, Codigo As String, CveAF As String, Observaciones As String, Lote As String, FechaCaducidad As Date, CveSeccionAlmacen As Integer, SeccionAlmacen As String, Optional CargarGV As Boolean = True, Optional CveCultivoCuadroDetalle As Integer = -1) Protected Sub AddNew(CvePS As Integer, PS As String, CveUM As Integer, UM As String, Cantidad As Decimal, PU As Decimal, Serie As String, CodigoAF As String, Codigo As String, CveAF As String, Observaciones As String, Lote As String, FechaCaducidad As Date, CveSeccionAlmacen As Integer, SeccionAlmacen As String, Optional CargarGV As Boolean = True, Optional CveCultivoCuadroDetalle As Integer = -1, Optional IndexEspecidico As Integer = -1)
If DdlAlmacen.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlProducto2.SelectedText = "" : Exit Sub If DdlAlmacen.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlProducto2.SelectedText = "" : Exit Sub
@@ -1539,55 +1586,112 @@ Partial Class Inventarios_EntradasSalidas
End If End If
End If End If
If Valido Then If IndexEspecidico >= 0 Then
Dim CveClasificacion As Integer Dim CveClasificacion As Integer
'Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS") 'Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
If RowPS IsNot Nothing Then CveClasificacion = RowPS("CveClasificacion").ToString.ToEntero If RowPS IsNot Nothing Then CveClasificacion = RowPS("CveClasificacion").ToString.ToEntero
'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS If Valido Then
If Serie <> "" And (Serie.ToUpper = RowPS("Codigo").ToString.ToUpper Or Serie.ToUpper = RowPS("CodigoBarras").ToString.ToUpper) Then
Alert($"La serie indicada <b>{Serie}</b> coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) DtMovimientos.Rows(IndexEspecidico)("Cantidad") = Cantidad
Exit Sub DtMovimientos.Rows(IndexEspecidico)("CveUM") = CveUM
DtMovimientos.Rows(IndexEspecidico)("UnidadMedida") = UM
DtMovimientos.Rows(IndexEspecidico)("CvePS") = CvePS
If Codigo = "-1" Then
DtMovimientos.Rows(IndexEspecidico)("CodigoPS") = PS
Else
DtMovimientos.Rows(IndexEspecidico)("CodigoPS") = String.Format("{0} - {1}", Codigo, PS)
End If
DtMovimientos.Rows(IndexEspecidico)("PS") = PS
DtMovimientos.Rows(IndexEspecidico)("PU") = PU
DtMovimientos.Rows(IndexEspecidico)("PUExtranjero") = PU
DtMovimientos.Rows(IndexEspecidico)("Total") = Cantidad * PU
DtMovimientos.Rows(IndexEspecidico)("CveClasificacion") = CveClasificacion
DtMovimientos.Rows(IndexEspecidico)("Estatus") = ""
DtMovimientos.Rows(IndexEspecidico)("CveSeccionAlmacen") = CveSeccionAlmacen
DtMovimientos.Rows(IndexEspecidico)("SeccionAlmacen") = SeccionAlmacen
DtMovimientos.Rows(IndexEspecidico)("CodigoAF") = CodigoAF
DtMovimientos.Rows(IndexEspecidico)("Codigo") = Codigo
DtMovimientos.Rows(IndexEspecidico)("CveAF") = CveAF
DtMovimientos.Rows(IndexEspecidico)("Serie") = If(Serie <> "", Serie, "")
DtMovimientos.Rows(IndexEspecidico)("Lote") = If(Lote <> "", Lote, "")
DtMovimientos.Rows(IndexEspecidico)("FechaCaducidad") = FechaCaducidad
DtMovimientos.Rows(IndexEspecidico)("Observaciones") = Observaciones
DtMovimientos.Rows(IndexEspecidico)("AplicaCaducidad") = RowPS("AplicaCaducidad").ToString
DtMovimientos.Rows(IndexEspecidico)("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
DtMovimientos.AcceptChanges()
If CargarGV Then
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
RegistraScript("playsonidito('beep-07.wav')")
End If
End If End If
If String.IsNullOrEmpty(PS.Trim()) Then Else
PS = RowPS("PS").ToString() If Valido Then
Dim CveClasificacion As Integer
'Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
If RowPS IsNot Nothing Then CveClasificacion = RowPS("CveClasificacion").ToString.ToEntero
'VALIDA QUE LA SERIE NO SEA IGUAL AL CODIGO O CODIGOBARRAS
If Serie <> "" And (Serie.ToUpper = RowPS("Codigo").ToString.ToUpper Or Serie.ToUpper = RowPS("CodigoBarras").ToString.ToUpper) Then
Alert($"La serie indicada <b>{Serie}</b> coincide con el codigo o codigo de barras del producto. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If String.IsNullOrEmpty(PS.Trim()) Then
PS = RowPS("PS").ToString()
End If
Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUM
registro.Item("UnidadMedida") = UM
registro.Item("CvePS") = CvePS
If Codigo = "-1" Then
registro.Item("CodigoPS") = PS
Else
registro.Item("CodigoPS") = String.Format("{0} - {1}", Codigo, PS)
End If
registro.Item("PS") = PS
registro.Item("PU") = PU
'registro.Item("PUExtranjero") = PU
registro.Item("Total") = Cantidad * PU
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("Estatus") = ""
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CodigoAF") = CodigoAF
registro.Item("Codigo") = Codigo
registro.Item("CveAF") = CveAF
registro.Item("Serie") = If(Serie <> "", Serie, "")
registro.Item("Lote") = If(Lote <> "", Lote, "")
registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("Observaciones") = Observaciones
registro.Item("AplicaCaducidad") = RowPS("AplicaCaducidad").ToString
registro.Item("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
DtMovimientos.Rows.Add(registro)
If CargarGV Then
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
RegistraScript("playsonidito('beep-07.wav')")
End If
End If End If
Dim registro As DataRow = DtMovimientos.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUM
registro.Item("UnidadMedida") = UM
registro.Item("CvePS") = CvePS
registro.Item("CodigoPS") = String.Format("{0} - {1}", Codigo, PS)
registro.Item("PS") = PS
registro.Item("PU") = PU
'registro.Item("PUExtranjero") = PU
registro.Item("Total") = Cantidad * PU
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("Estatus") = ""
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("SeccionAlmacen") = SeccionAlmacen
registro.Item("CodigoAF") = CodigoAF
registro.Item("Codigo") = Codigo
registro.Item("CveAF") = CveAF
registro.Item("Serie") = If(Serie <> "", Serie, "")
registro.Item("Lote") = If(Lote <> "", Lote, "")
registro.Item("FechaCaducidad") = FechaCaducidad
registro.Item("Observaciones") = Observaciones
registro.Item("AplicaCaducidad") = RowPS("AplicaCaducidad").ToString
registro.Item("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
DtMovimientos.Rows.Add(registro)
If CargarGV Then
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
RegistraScript("playsonidito('beep-07.wav')")
End If
End If End If
End Sub End Sub
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click
@@ -2432,7 +2536,7 @@ Partial Class Inventarios_EntradasSalidas
Private Sub VisualizaPU(Opcion As Boolean) Private Sub VisualizaPU(Opcion As Boolean)
'tdPU.Visible = Opcion 'tdPU.Visible = Opcion
'tdTxtPU.Visible = Opcion 'tdTxtPU.Visible = Opcion
txtPrecio.Visible = Opcion divPrecio.Visible = Opcion
GvM.Columns(4).Visible = Opcion GvM.Columns(4).Visible = Opcion
TdTotal.Visible = Opcion TdTotal.Visible = Opcion
@@ -2499,12 +2603,7 @@ Partial Class Inventarios_EntradasSalidas
End If End If
If CBool(dr("AplicaSeccion")) Then If CBool(dr("AplicaSeccion")) Then
divSeccionAlmacen.Visible = True divSeccionAlmacen.Visible = True
'DdlSeccionAlmacen.Items.Clear()
'DdlSeccionAlmacen.ClearSelection()
'DdlSeccionAlmacen.DataSource = GlobalDTInvPSSeccionesAlmacen(UsuarioActual.CveEmpresa, DdlAlmacen.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero)
'DdlSeccionAlmacen.DataBind()
CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAlmacen.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) CargaSeccionesAlmacen(DdlSeccionAlmacen, DdlAlmacen.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero, UsuarioActual.CveEmpresa)
End If End If
If CBool(dr("AplicaCaducidad")) Then If CBool(dr("AplicaCaducidad")) Then
divCaducidad.Visible = True divCaducidad.Visible = True
@@ -2683,11 +2782,21 @@ Partial Class Inventarios_EntradasSalidas
End If End If
End Sub End Sub
Protected Sub GvM_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvM.RowEditing Protected Sub GvM_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvM.RowEditing
Dim i As Integer = e.NewEditIndex
GvM.EditIndex = i
Dim Gv As GridView = DirectCast(sender, GridView)
Dim GvRow As GridViewRow = Gv.Rows(i) End Sub
Protected Sub imgE_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
'Dim i As Integer = e.NewEditIndex
'GvM.EditIndex =
IndexActualTabla = GvRow.RowIndex
If CveMovimiento > 0 Then If CveMovimiento > 0 Then
CveMovimientoDetalleEdit = GvRow.DataKey("CveMovimientoDetalle").ToEntero CveMovimientoDetalleEdit = GvRow.DataKey("CveMovimientoDetalle").ToEntero
txtCantidad.Enabled = False txtCantidad.Enabled = False
@@ -2717,14 +2826,20 @@ Partial Class Inventarios_EntradasSalidas
LkAgregarDetalle.Text = "Actualizar" LkAgregarDetalle.Text = "Actualizar"
Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero
divPrecio.Visible = (Origen = 1) divPrecio.Visible = (Origen = 1)
txtPrecio.Visible = (Origen = 1) 'txtPrecio.Visible = (Origen = 1)
If UsuarioActual.CveRol = 1 Then If UsuarioActual.CveRol = 1 Then
divPrecio.Visible = True divPrecio.Visible = True
txtPrecio.Visible = True 'txtPrecio.Visible = True
End If End If
ChkContinuarRegistrando.Checked = False
ChkContinuarRegistrando.Visible = False
UpAgregar.Update() UpAgregar.Update()
RegistraScript("$('#ModalAgregar').modal()") RegistraScript("$('#ModalAgregar').modal()")
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
' CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
End Sub End Sub
Protected Sub EditPS(sender As Object, e As EventArgs) Protected Sub EditPS(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -2749,8 +2864,12 @@ Partial Class Inventarios_EntradasSalidas
Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero
divPrecio.Visible = Origen = 1 divPrecio.Visible = Origen = 1
txtPrecio.Visible = Origen = 1 'txtPrecio.Visible = Origen = 1
LkAgregarDetalle.Text = "Actualizar" LkAgregarDetalle.Text = "Actualizar"
ChkContinuarRegistrando.Checked = False
ChkContinuarRegistrando.Visible = False
UpAgregar.Update() UpAgregar.Update()
RegistraScript("$('#ModalAgregar').modal()") RegistraScript("$('#ModalAgregar').modal()")
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' ")) CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
@@ -5210,26 +5329,42 @@ Partial Class Inventarios_EntradasSalidas
Private Sub ActualizarPS() Private Sub ActualizarPS()
Dim ObjInventario As New ClsInventarios If CveMovimientoDetalleEdit > 0 Then
If Not ObjInventario.UpdateMovimientoDetalle(txtCantidad.Text.ToDecimal, DdlUnidad.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero, txtPrecio.Text.ToDecimal, CveAFEdit,
CveMovimientoDetalleEdit, DdlSeccionAlmacen.SelectedValue.ToEntero, TxtnSerie.Text, TxtObservacionesdetalle.Text, Dim ObjInventario As New ClsInventarios
CveUsuarioModifico:=UsuarioActual.CveUsuario, CveCultivoCuadroDetalle:=DdlModalCultivosCuadro.SelectedValue.ToEntero) Then If Not ObjInventario.UpdateMovimientoDetalle(txtCantidad.Text.ToDecimal, DdlUnidad.SelectedValue.ToEntero, DdlProducto2.SelectedValue.ToEntero, txtPrecio.Text.ToDecimal, CveAFEdit,
Alert("Error al Actualizar los movimientos") CveMovimientoDetalleEdit, DdlSeccionAlmacen.SelectedValue.ToEntero, TxtnSerie.Text, TxtObservacionesdetalle.Text,
Else CveUsuarioModifico:=UsuarioActual.CveUsuario, CveCultivoCuadroDetalle:=DdlModalCultivosCuadro.SelectedValue.ToEntero) Then
GvM.EditIndex = -1 Alert("Error al Actualizar los movimientos")
'cargar también los movimentos detalle Else
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then GvM.EditIndex = -1
DtMovimientos = ObjInventario.DtResultados 'cargar también los movimentos detalle
CargaGVM(DtMovimientos) If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtMovimientos = ObjInventario.DtResultados
CargaGVM(DtMovimientos)
End If
Alert("Movimiento actualizado correctamente")
RegistraScript("$('#ModalAgregar').modal('hide')")
End If End If
ObjInventario.Dispose()
Else
AddNew(DdlProducto2.SelectedValue.ToEntero, DdlProducto2.SelectedText, DdlUnidad.SelectedValue.ToEntero, DdlUnidad.SelectedItem.Text, txtCantidad.Text.ToDecimal,
txtPrecio.Text.ToDecimal, TxtnSerie.Text.Replace(" ", String.Empty), LblCodigo.Text, HdnCodigoAF.Value, HdnCveActivoFijo.Value, TxtObservacionesdetalle.Text,
TxtnLote.Text.Trim, TxtnFechaCaducidad.Text.ToDate, DdlSeccionAlmacen.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedItem.Text, CveCultivoCuadroDetalle:=DdlModalCultivosCuadro.SelectedValue.ToEntero, IndexEspecidico:=IndexActualTabla)
LimpiarAgregar()
Alert("Movimiento actualizado correctamente") Alert("Movimiento actualizado correctamente")
RegistraScript("$('#ModalAgregar').modal('hide')") RegistraScript("$('#ModalAgregar').modal('hide')")
End If End If
ObjInventario.Dispose()
End Sub End Sub
Private Sub limpiarModalDetalle() Private Sub limpiarModalDetalle()
IndexActualTabla = -1
CveMovimientoDetalleEdit = -1
txtCantidad.Enabled = True txtCantidad.Enabled = True
'DdlClasificacion.Enabled = True 'DdlClasificacion.Enabled = True
DdlProducto2.Enabled = True DdlProducto2.Enabled = True
@@ -5256,7 +5391,11 @@ Partial Class Inventarios_EntradasSalidas
End If End If
Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero Dim Origen As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", String.Format("CveConcepto = {0}", DdlConcepto.SelectedValue)).ToEntero
divPrecio.Visible = Origen = 1 divPrecio.Visible = Origen = 1
txtPrecio.Visible = Origen = 1 'txtPrecio.Visible = Origen = 1
ChkContinuarRegistrando.Checked = True
ChkContinuarRegistrando.Visible = True
UpAgregar.Update() UpAgregar.Update()
End Sub End Sub
@@ -5875,4 +6014,6 @@ Partial Class Inventarios_EntradasSalidas
End Class End Class

View File

@@ -1316,16 +1316,19 @@ Partial Class OS_OrdenesServicios
Next Next
For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows If UsuarioActual.Empresa.Funcionalidad(578) = "" Then
Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveConsecutivoDetalle = {0}", Consecutivo)).Rows
Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero
Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero
Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero
Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero
If Not ObjOrdenServicio.AddUpdateDetalleMateriales(-1, CveOsDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, True) Then
Errores = True
End If
Next
End If
If Not ObjOrdenServicio.AddUpdateDetalleMateriales(-1, CveOsDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, True) Then
Errores = True
End If
Next
Else Else
Errores = True Errores = True
@@ -1453,20 +1456,25 @@ Partial Class OS_OrdenesServicios
Next Next
End If End If
If TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows.Count > 0 Then If UsuarioActual.Empresa.Funcionalidad(578) = "" Then
For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows If TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows.Count > 0 Then
Dim CveMaterial As Integer = RowM("CveMaterial").ToString.ToEntero For Each RowM As DataRow In TmpDTMaterialesDetalle.FiltraParametros(String.Format("CveOSDetalle = {0}", CveOSDetalle)).Rows
Dim CveMaterial As Integer = RowM("CveMaterial").ToString.ToEntero
Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero Dim CveClasificacion As Integer = RowM("CveClasificacion").ToString.ToEntero
Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero Dim CvePSMaterial As Integer = RowM("CvePS").ToString.ToEntero
Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero Dim CveUnidadMedidaM As Integer = RowM("CveUM").ToString.ToEntero
Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero Dim CantidadMaterial As Integer = RowM("Cantidad").ToString.ToEntero
If Not ObjOrdenServicio.AddUpdateDetalleMateriales(CveMaterial, CveOSDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, SeFacturara) Then If Not ObjOrdenServicio.AddUpdateDetalleMateriales(CveMaterial, CveOSDetalle, CantidadMaterial, CveUnidadMedidaM, CveClasificacion, CvePSMaterial, SeFacturara) Then
Errores = True Errores = True
End If End If
Next Next
End If
End If End If
End If End If
Next Next