--Campo ultimo costo en alta de producto
This commit is contained in:
@@ -415,7 +415,7 @@ Public Class ClsProductosServicios
|
||||
Optional RegistroRSCO As String = "-1", Optional FechaVigenciaRSCO As Date = MinFecha, Optional VigenciaIndeterminadaRSCO As Boolean = False, Optional CveTipoEmpacado As Integer = -1, Optional CveTipoOrganico As Integer = -1,
|
||||
Optional NombreComercial As String = "", Optional NotasAdicionales As String = "", Optional EcommerceEtiquetas As String = "", Optional ActivoEcommerce As Boolean = False, Optional EcommercePrecio As Decimal = 0,
|
||||
Optional CveClasificacionEcommerce As Integer = -1, Optional EcommerceCantidad As Decimal = 0, Optional CodigoAlterno As String = "-1", Optional PSAlterno As String = "-1", Optional ProductoExhibicion As Boolean = False,
|
||||
Optional Imagen As String = "", Optional PorcentajeMinimoUtilidad As Decimal = 0, Optional CveSelectiva As Integer = -1) As Integer
|
||||
Optional Imagen As String = "", Optional PorcentajeMinimoUtilidad As Decimal = 0, Optional CveSelectiva As Integer = -1, Optional UltimoCosto As Decimal = 0) As Integer
|
||||
Dim Retorno As Integer = -1
|
||||
|
||||
DataAdapter("PA_ProductosServiciosAdd")
|
||||
@@ -527,6 +527,7 @@ Public Class ClsProductosServicios
|
||||
.Add("@Imagen", SqlDbType.VarChar).Value = Imagen
|
||||
.Add("@PorcentajeMinimoUtilidad", SqlDbType.Decimal).Value = PorcentajeMinimoUtilidad
|
||||
.Add("@CveSelectiva", SqlDbType.Int).Value = CveSelectiva
|
||||
.Add("@UltimoCosto", SqlDbType.Money).Value = UltimoCosto
|
||||
End With
|
||||
|
||||
Try
|
||||
|
||||
@@ -114,7 +114,7 @@
|
||||
<asp:TextBox ID="TxtCodigo" CssClass="form-control " runat="server" MaxLength="50"></asp:TextBox>
|
||||
<label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigo.ClientID.ToString()%>">Código:</label>
|
||||
<i></i>
|
||||
<asp:Button ID="BtnConsultaCodigo" runat="server" Text="" Visible="false" style="display:none;" OnClick="BtnConsultaCodigo_Click" />
|
||||
<asp:Button ID="BtnConsultaCodigo" runat="server" Text="" Visible="false" Style="display: none;" OnClick="BtnConsultaCodigo_Click" />
|
||||
</asp:Panel>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input input-iconright col-xs-4">
|
||||
@@ -647,42 +647,42 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DivListaPrecios" runat="server" visible="false">
|
||||
<div class="portlet xspadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-briefcase font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Lista de Precios </span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body form">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvPLMultiple" Width="100%" runat="server" GridLines="None" ClientIDMode="Static" AutoGenerateColumns="false" DataKeyNames="CvePrecioLista,PrecioLista,Precio"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" EmptyDataText="No se encontraron registros" OnRowDataBound="GvMultiple_RowDataBound">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="PrecioLista" HeaderText="Lista de Precio" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
|
||||
<HeaderTemplate>
|
||||
<asp:Label ID="LtlLista" runat="server">Precio</asp:Label>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtPrecio" runat="server" MaxLength="39" Text='<%# Eval("Precio") %>' onkeypress="return onlyNumberKey(event)" Style="text-align: right !important;"></asp:TextBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DivListaPrecios" runat="server" visible="false">
|
||||
<div class="portlet xspadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-briefcase font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Lista de Precios </span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body form">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvPLMultiple" Width="100%" runat="server" GridLines="None" ClientIDMode="Static" AutoGenerateColumns="false" DataKeyNames="CvePrecioLista,PrecioLista,Precio"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" EmptyDataText="No se encontraron registros" OnRowDataBound="GvMultiple_RowDataBound">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="PrecioLista" HeaderText="Lista de Precio" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
|
||||
<HeaderTemplate>
|
||||
<asp:Label ID="LtlLista" runat="server">Precio</asp:Label>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtPrecio" runat="server" MaxLength="39" Text='<%# Eval("Precio") %>' onkeypress="return onlyNumberKey(event)" Style="text-align: right !important;"></asp:TextBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DivImagen" runat="server" visible="false">
|
||||
<div class="portlet xspadding light bordered">
|
||||
@@ -761,7 +761,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
@@ -1206,11 +1206,12 @@
|
||||
</div>
|
||||
<div class="row" style="margin-top: 5px;">
|
||||
<label class="col-md-6 truncate">Ultimo Costo</label>
|
||||
<div class="col-md-1">
|
||||
<div class="col-md-1" id="DivUltimoCosto" runat="server">
|
||||
<asp:Label ID="LblUltimoCosto" runat="server"></asp:Label>
|
||||
</div>
|
||||
<div class="col-md-5" runat="server" id="DVEditaUltimoCosto" visible="false" style="text-align:left">
|
||||
<asp:LinkButton ID="LnkEditarUltimoCostoMostrarModal" runat="server" CssClass="btn btn-circle btn-sm green" OnClick="LnkEditarUltimoCostoMostrarModal_Click" Text="<i class='fa fa-pencil'></i>" />
|
||||
<div class="col-md-5" runat="server" style="text-align: left">
|
||||
<asp:TextBox ID="TxtUltimoCosto" CssClass="form-control " runat="server" Visible="false" Width="150px"></asp:TextBox>
|
||||
<asp:LinkButton ID="LnkEditarUltimoCostoMostrarModal" runat="server" visible="false" CssClass="btn btn-circle btn-sm green" OnClick="LnkEditarUltimoCostoMostrarModal_Click" Text="<i class='fa fa-pencil'></i>" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row" style="margin-top: 5px;">
|
||||
@@ -2529,7 +2530,7 @@
|
||||
</asp:UpdatePanel>
|
||||
|
||||
|
||||
<%-- <asp:UpdatePanel runat="server" ID="UpUltimoCostoModal" UpdateMode="Conditional">
|
||||
<%-- <asp:UpdatePanel runat="server" ID="UpUltimoCostoModal" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div id="" class="modal fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
@@ -2559,37 +2560,37 @@
|
||||
</asp:UpdatePanel>--%>
|
||||
|
||||
|
||||
|
||||
<div id="DVUltimoCostoModal" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpUltimoCostoModal" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">Actualizar Ultimo Costo</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group form-md-line-input input-iconright" style="width:100px">
|
||||
<asp:TextBox ID="TxtUltimoCostoModal" runat="server" Width="100px" CausesValidation="true" CssClass="form-control" onkeyup="FormatoMoneda6Decimales(this)" ></asp:TextBox>
|
||||
<label for="<%= TxtUltimoCostoModal.ClientID.ToString()%>">Ultimo Costo:</label>
|
||||
<asp:RequiredFieldValidator ID="RfvTxtUltimoCostoModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtUltimoCostoModal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ultimo Costo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpUltimoCostoModal"></asp:RequiredFieldValidator>
|
||||
<i></i>
|
||||
|
||||
<div id="DVUltimoCostoModal" class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpUltimoCostoModal" class="modal-content rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">Actualizar Ultimo Costo</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer" style="display: block">
|
||||
<asp:UpdatePanel ID="UpdatePanel4" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnGuardarUltimoCostoModal" runat="server" Text="Guardar" CssClass="btn btn-sm blue" OnClick="BtnGuardarUltimoCostoModal_Click" ValidationGroup="GrpUltimoCostoModal" />
|
||||
<asp:Button ID="Button2" runat="server" Text="Cancelar" CssClass="btn btn-sm default" data-dismiss="modal" />
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="form-group form-md-line-input input-iconright" style="width: 100px">
|
||||
<asp:TextBox ID="TxtUltimoCostoModal" runat="server" Width="100px" CausesValidation="true" CssClass="form-control" onkeyup="FormatoMoneda6Decimales(this)"></asp:TextBox>
|
||||
<label for="<%= TxtUltimoCostoModal.ClientID.ToString()%>">Ultimo Costo:</label>
|
||||
<asp:RequiredFieldValidator ID="RfvTxtUltimoCostoModal" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtUltimoCostoModal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Ultimo Costo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpUltimoCostoModal"></asp:RequiredFieldValidator>
|
||||
<i></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer" style="display: block">
|
||||
<asp:UpdatePanel ID="UpdatePanel4" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnGuardarUltimoCostoModal" runat="server" Text="Guardar" CssClass="btn btn-sm blue" OnClick="BtnGuardarUltimoCostoModal_Click" ValidationGroup="GrpUltimoCostoModal" />
|
||||
<asp:Button ID="Button2" runat="server" Text="Cancelar" CssClass="btn btn-sm default" data-dismiss="modal" />
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
@@ -2792,38 +2793,38 @@
|
||||
}
|
||||
|
||||
|
||||
function FormatoMoneda6Decimales(t) {
|
||||
function FormatoMoneda6Decimales(t) {
|
||||
|
||||
|
||||
|
||||
var input = t.value.replace(/[^0-9.]/g, "");
|
||||
|
||||
|
||||
|
||||
var firstDotIndex = input.indexOf(".");
|
||||
if (firstDotIndex !== -1) {
|
||||
|
||||
|
||||
var beforeDot = input.substring(0, firstDotIndex + 1);
|
||||
var afterDot = input.substring(firstDotIndex + 1).replace(/\./g, "");
|
||||
input = beforeDot + afterDot;
|
||||
}
|
||||
|
||||
|
||||
var decimalIndex = input.indexOf(".");
|
||||
var integerPart = decimalIndex !== -1 ? input.slice(0, decimalIndex) : input;
|
||||
var decimalPart = decimalIndex !== -1 ? input.slice(decimalIndex + 1) : "";
|
||||
|
||||
|
||||
|
||||
if (integerPart === "" && decimalIndex === 0) {
|
||||
integerPart = "0";
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (decimalPart.length > 6) {
|
||||
decimalPart = decimalPart.substring(0, 6);
|
||||
}
|
||||
|
||||
|
||||
var reversed = integerPart.split("").reverse().join("");
|
||||
reversed = reversed.replace(/(\d{3})(?=\d)/g, "$1,");
|
||||
integerPart = reversed.split("").reverse().join("");
|
||||
|
||||
|
||||
t.value = decimalIndex !== -1
|
||||
? integerPart + "." + decimalPart
|
||||
: integerPart;
|
||||
|
||||
@@ -356,10 +356,18 @@ Partial Class ProductosyServicios
|
||||
End If
|
||||
|
||||
|
||||
If CvePS > 0 And UsuarioActual.TienePermisoProceso(402) Then
|
||||
DVEditaUltimoCosto.Visible = True
|
||||
If UsuarioActual.TienePermisoProceso(402) Then
|
||||
If CvePS > 0 Then
|
||||
LnkEditarUltimoCostoMostrarModal.Visible = True
|
||||
Else
|
||||
DivUltimoCosto.Visible = False
|
||||
End If
|
||||
TxtUltimoCosto.Visible = True
|
||||
|
||||
UpConta.Update()
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -1423,6 +1431,13 @@ Partial Class ProductosyServicios
|
||||
End Sub
|
||||
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso CvePS <= 0 AndAlso DdlTipoPS.SelectedValue = "2" Then
|
||||
If TxtUltimoCosto.Text.ToDecimal() <= 0 Then
|
||||
Alert("El campo 'Ultimo costo' es requerido.", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
If DdlFraccionArancelaria.SelectedValue.ToEntero > 0 AndAlso TxtCodigo.Text.Trim.Length = 0 Then
|
||||
Alert("El campo Numero de Parte / Código es requerido (al seleccionar una Fracción Arancelaria el campo Numero de Parte / Código se vuelve requerido).", TipoMensaje.MsgAdvertencia)
|
||||
@@ -1583,7 +1598,7 @@ Partial Class ProductosyServicios
|
||||
CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero, Litraje:=TxtLitraje.Text.ToDecimal, RegistroRSCO:=TxtRegistroRSCO.Text, FechaVigenciaRSCO:=TxtFechaVigenciaRSCO.Text.ToDate, VigenciaIndeterminadaRSCO:=ChkFechaIndeterminadaRSCO.Checked,
|
||||
NombreComercial:=TxtNombreComercial.Text.Trim, NotasAdicionales:=TxtEcommerceNota.Text.Trim, EcommerceEtiquetas:=TxtEcommerceEtiquetas.Text.Trim.Replace(".", ""), EcommercePrecio:=TxtEcommercePrecio.Text.Trim.ToDecimal,
|
||||
CveClasificacionEcommerce:=DdlEcommerceClasificacion.SelectedValue.ToEntero, EcommerceCantidad:=TxtEcommerceCantidad.Text.Trim.ToDecimal, CodigoAlterno:=TxtCodigoAlterno.Text.Trim, PSAlterno:=TxtPSAlterno.Text.Trim, ProductoExhibicion:=ChkPSExhibicion.Checked,
|
||||
PorcentajeMinimoUtilidad:=TxtPorMinimoUtilidad.Text.ToDecimal(), CveSelectiva:=DdlSelectiva.SelectedValue.ToEntero()) > 0 Then
|
||||
PorcentajeMinimoUtilidad:=TxtPorMinimoUtilidad.Text.ToDecimal(), CveSelectiva:=DdlSelectiva.SelectedValue.ToEntero(), UltimoCosto:=TxtUltimoCosto.Text.ToDecimal()) > 0 Then
|
||||
ViewState("CvePS") = ObjProductosServicios.CvePS
|
||||
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
|
||||
If GVR.FCCheckBox("ChkDeduccion").Checked Then
|
||||
|
||||
Reference in New Issue
Block a user