--NuevaColumna en PS. NumeroParte

En ventas.aspx:
--poner por default, cantidad 1.
--especificar el cliente, publico general por defecto, RFC XAXX010101000
--poner focus en producto con ya con funcionalidad de escritura
--quitar txtdescripción,  y usar AtenciónA
--bug. al clonar y cuando se tiene activada la lista de precio, marca error ( Ener Elec)
This commit is contained in:
2024-01-05 18:43:54 -07:00
parent f7a3b3d35b
commit 095b731714
6 changed files with 118 additions and 58 deletions

View File

@@ -216,7 +216,15 @@
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:BoundField DataField="Codigo" ItemStyle-Width="5%" HeaderText="Código" /> <asp:BoundField DataField="Codigo" ItemStyle-Width="5%" HeaderText="Código" />
<asp:BoundField DataField="Codigo2" ItemStyle-Width="5%" HeaderText="Código CPK" Visible="false" /> <%--<asp:BoundField DataField="Codigo2" ItemStyle-Width="5%" HeaderText="Código CPK"/>--%>
<asp:TemplateField ItemStyle-Width="5%" Visible="false" >
<HeaderTemplate>
<asp:Literal ID="LtlCodigo2" runat="server" Text='<%# If(UsuarioActual.Empresa.Funcionalidad(531) = "1", "Código CPK", "Numero de parte") %>'></asp:Literal>
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCodigo2" runat="server" Text='<%# Eval("Codigo2", "{0}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="PS" HeaderText="Producto/Servicio" /> <asp:BoundField DataField="PS" HeaderText="Producto/Servicio" />
<asp:BoundField DataField="Clasificacion" ItemStyle-Width="15%" HeaderText="Clasificación" /> <asp:BoundField DataField="Clasificacion" ItemStyle-Width="15%" HeaderText="Clasificación" />
<asp:BoundField DataField="PrecioLista" NullDisplayText="N/A" ItemStyle-Width="10%" HeaderText="Importe" DataFormatString="$ {0:N2}" ItemStyle-HorizontalAlign="right" /> <asp:BoundField DataField="PrecioLista" NullDisplayText="N/A" ItemStyle-Width="10%" HeaderText="Importe" DataFormatString="$ {0:N2}" ItemStyle-HorizontalAlign="right" />

View File

@@ -436,11 +436,16 @@ Partial Class Ventas_ActualizarPrecios
DtExcel.Columns("Codigo").ColumnName = "Código" DtExcel.Columns("Codigo").ColumnName = "Código"
DtExcel.Columns("PS").ColumnName = "Producto / Servicio" DtExcel.Columns("PS").ColumnName = "Producto / Servicio"
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'Empresa Acumuladores DtExcel.Columns("Codigo2").ColumnName = "Número de parte"
DtExcel.Columns("Codigo2").ColumnName = "Código CPK"
If UsuarioActual.Empresa.Funcionalidad(531) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(578) = "1" Then 'Empresa Acumuladores
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DtExcel.Columns("Número de parte").ColumnName = "Código CPK"
End If
Else Else
DtExcel.Columns.Remove("Codigo2") DtExcel.Columns.Remove("Número de parte")
End If End If
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim FileExcel As New ExcelFile() Dim FileExcel As New ExcelFile()
@@ -504,7 +509,16 @@ Partial Class Ventas_ActualizarPrecios
'SI ES EMPRESA DE ACUMULADORES SE AGREGA LA COLUMNA "Código CPK" 'SI ES EMPRESA DE ACUMULADORES SE AGREGA LA COLUMNA "Código CPK"
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
If Not dt.Columns(IndiceActualColExcel).ColumnName = "Código CPK" Then If Not dt.Columns(IndiceActualColExcel).ColumnName = "Código CPK" Then
Alert("El nombre de la segunda columna debe ser 'Precio'. Favor de corregirlo", TipoMensaje.MsgError) Alert("El nombre de la segunda columna debe ser 'Código CPK'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
IndiceActualColExcel += 1
End If
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then
If Not dt.Columns(IndiceActualColExcel).ColumnName = "Número de parte" Then
Alert("El nombre de la segunda columna debe ser 'Número de parte'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub Exit Sub
End If End If
@@ -641,6 +655,10 @@ Partial Class Ventas_ActualizarPrecios
DtExcel.Columns.Add(New DataColumn("Código CPK", GetType(String))) DtExcel.Columns.Add(New DataColumn("Código CPK", GetType(String)))
End If End If
If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then 'Empresa Acumuladores
DtExcel.Columns.Add(New DataColumn("Número de parte", GetType(String)))
End If
DtExcel.Columns.Add(New DataColumn("Producto/Servicio", GetType(String))) DtExcel.Columns.Add(New DataColumn("Producto/Servicio", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Clasificación", GetType(String))) DtExcel.Columns.Add(New DataColumn("Clasificación", GetType(String)))
DtExcel.Columns.Add(New DataColumn("Importe", GetType(Decimal))) DtExcel.Columns.Add(New DataColumn("Importe", GetType(Decimal)))

View File

@@ -105,17 +105,17 @@
<label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigo.ClientID.ToString()%>">Número de Parte / Código:</label> <label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigo.ClientID.ToString()%>">Número de Parte / Código:</label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright col-xs-4">
<asp:TextBox ID="TxtNumeroParte" CssClass="form-control " runat="server" MaxLength="50" ></asp:TextBox>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtNumeroParte.ClientID.ToString()%>"><asp:Literal ID="LtlNumberParte" runat="server" Text="Código CPK"></asp:Literal>:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-4"> <div class="form-group form-md-line-input input-iconright col-xs-4">
<asp:TextBox ID="TxtCodigoBarras" CssClass="form-control " runat="server" MaxLength="50"></asp:TextBox> <asp:TextBox ID="TxtCodigoBarras" CssClass="form-control " runat="server" MaxLength="50"></asp:TextBox>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigoBarras.ClientID.ToString()%>">Código Barras:</label> <label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigoBarras.ClientID.ToString()%>">Código Barras:</label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright col-xs-4" id="divCodigo2" runat="server" visible ="false">
<asp:TextBox ID="TxtCodigo2" CssClass="form-control " runat="server" MaxLength="50" ></asp:TextBox>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtCodigo2.ClientID.ToString()%>">Código CPK:</label>
<i></i>
</div>
<%--<div class="form-group form-md-line-input input-iconright col-xs-1"> <%--<div class="form-group form-md-line-input input-iconright col-xs-1">
<asp:LinkButton ID="LnkModalCodigoBarrasQr" runat="server"> <asp:LinkButton ID="LnkModalCodigoBarrasQr" runat="server">

View File

@@ -376,15 +376,20 @@ Partial Class ProductosyServicios
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DivPSAdicionalVigencia.Visible = True DivPSAdicionalVigencia.Visible = True
divCodigo2.Visible = True
divLitraje.Visible = True divLitraje.Visible = True
DivClasificacion2.Visible = True DivClasificacion2.Visible = True
CargaPSAdicionalesVigencias() CargaPSAdicionalesVigencias()
DdlTamanio.DataSource = GlobalDTAcumTamaños(UsuarioActual.CveEmpresa) DdlTamanio.DataSource = GlobalDTAcumTamaños(UsuarioActual.CveEmpresa)
DdlTamanio.DataBind() DdlTamanio.DataBind()
LtlNumberParte.Text = "Código CPK"
Else
LtlNumberParte.Text = "Número de parte"
End If End If
divPrecio.Visible = UsuarioActual.Empresa.Funcionalidad(404) = "" ' si tiene lista de precio, se oculta el precio por ps divPrecio.Visible = UsuarioActual.Empresa.Funcionalidad(404) = "" ' si tiene lista de precio, se oculta el precio por ps
If UsuarioActual.CveEmpresa = 1 Then If UsuarioActual.CveEmpresa = 1 Then
@@ -943,7 +948,7 @@ Partial Class ProductosyServicios
DdlMarca.SelectedValue = ObjProductosServicios.CveMarca.ToString DdlMarca.SelectedValue = ObjProductosServicios.CveMarca.ToString
DdlMarcaPSDes.SelectedValue = ObjProductosServicios.CveMarca.ToString DdlMarcaPSDes.SelectedValue = ObjProductosServicios.CveMarca.ToString
TxtCodigo.Text = ObjProductosServicios.Codigo TxtCodigo.Text = ObjProductosServicios.Codigo
TxtCodigo2.Text = ObjProductosServicios.Codigo2 TxtNumeroParte.Text = ObjProductosServicios.Codigo2
TxtCodigoBarras.Text = ObjProductosServicios.CodigoBarras TxtCodigoBarras.Text = ObjProductosServicios.CodigoBarras
CodigoBarrasCargado = ObjProductosServicios.CodigoBarras CodigoBarrasCargado = ObjProductosServicios.CodigoBarras
TxtLitraje.Text = ObjProductosServicios.DtResultados.Rows(0)("Litraje").ToString TxtLitraje.Text = ObjProductosServicios.DtResultados.Rows(0)("Litraje").ToString
@@ -1567,7 +1572,7 @@ Partial Class ProductosyServicios
Dim PSS As String = TxtPS.Text.Trim.Replace("|", "") Dim PSS As String = TxtPS.Text.Trim.Replace("|", "")
If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper If UsuarioActual.CveEmpresa.Contiene(1, 72, 80) Then PSS = PSS.ToUpper
If ObjProductosServicios.UpdatePS(DdlClasificacion.SelectedValue.ToEntero, -1, DdlUnidadMedida.SelectedValue.ToEntero, TxtCodigo.Text.Trim, TxtCodigo2.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, If ObjProductosServicios.UpdatePS(DdlClasificacion.SelectedValue.ToEntero, -1, DdlUnidadMedida.SelectedValue.ToEntero, TxtCodigo.Text.Trim, TxtNumeroParte.Text.Trim, TxtCodigoBarras.Text.Trim, PSS,
TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, CveProveedor, True, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, CveProveedor, True,
ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv, EsPaquete, DdlSATPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv, EsPaquete, DdlSATPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa,
CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarca, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarca, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim,

View File

@@ -381,7 +381,7 @@
<asp:LinkButton ID="LnkCancelarSoloCFDI" Visible="false" runat="server" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea cancelar el CFDI?" data-btn-ok-label="si" OnClick="LnkCancelarSoloCFDI_Click"><i class="fa fa-plus"></i>Cancelar solo CFDI</asp:LinkButton> <asp:LinkButton ID="LnkCancelarSoloCFDI" Visible="false" runat="server" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea cancelar el CFDI?" data-btn-ok-label="si" OnClick="LnkCancelarSoloCFDI_Click"><i class="fa fa-plus"></i>Cancelar solo CFDI</asp:LinkButton>
</li>--%> </li>--%>
<li> <li>
<asp:HyperLink ID="HLFAgregarOS" Target="_blank" runat="server" Visible="false"> <i class="fa fa-plus"></i> Agregar Orden de Servicio</asp:HyperLink> <asp:HyperLink ID="HLFAgregarOS" Target="_blank" runat="server" Visible="false"> <i class="fa fa-plus"></i> Agregar Orden de Servicio</asp:HyperLink>
</li> </li>
</ContentTemplate> </ContentTemplate>
@@ -1159,7 +1159,7 @@
<%--</asp:Panel>--%> <%--</asp:Panel>--%>
<asp:GridView ID="GvPS" GridLines="None" runat="server" data-tableheader="#tbps" ShowHeader="true" AutoGenerateColumns="False" <asp:GridView ID="GvPS" GridLines="None" runat="server" data-tableheader="#tbps" ShowHeader="true" AutoGenerateColumns="False"
DataKeyNames="Consec,CvePS,Total, IEPS, CveClasificacion,CveUM,CveProyecto,CveSubProyecto,TipoDocto,PS,Obs,Cantidad,PU,Descuento,IVA,CantidadInventario,CantidadFacturadaRem,CveVentaDetalle,CvePromocionDetalle" DataKeyNames="Consec,CvePS,Total, IEPS, CveClasificacion,Clasificacion,CveUM,UM,CveProyecto,CveSubProyecto,TipoDocto,PS,Obs,Cantidad,PU,Descuento,IVA,CantidadInventario,CantidadFacturadaRem,CveVentaDetalle,CvePromocionDetalle"
CssClass="table table-striped table-advance table-hover Widthall Sortable mysmallbtn ScrollAD" Style="min-width: 980px;"> CssClass="table table-striped table-advance table-hover Widthall Sortable mysmallbtn ScrollAD" Style="min-width: 980px;">
<Columns> <Columns>
<%--0--%> <%--0--%>
@@ -8518,6 +8518,34 @@
<script src="/Metronic/assets/global/scripts/jquery-sortable.js"></script> <script src="/Metronic/assets/global/scripts/jquery-sortable.js"></script>
<script type="text/javascript"> <script type="text/javascript">
function pageLoad()
{
//ABRIR EL DROPDOWN DE PS DESPUES DE ASIGNAR CANTIDAD
if ('<%= UsuarioActual.Empresa.Funcionalidad(109) %>' == '1') {
$('#TxtCantidad').on('keydown', function (e) {
if (e.which == 13 || e.which == 9 ) {
let valorNumericoCantidad = parseFloat($('#TxtCantidad').val());
e.preventDefault();
if(valorNumericoCantidad > 0){
$('#C_Tab_TabGenerales_DdlPS > select').select2('open').next().find(':input.select2-search__field').focus();
}
}
});
$('#TxtPrecio').on('keydown', function (e) {
if (e.which == 13 || e.which == 9 ) {
let valorNumericoPrecio = parseFloat($('#TxtCantidad').val());
e.preventDefault();
if(valorNumericoPrecio > 0){
$('#LbAgregar').focus();
}
}
});
}
}
function DirclienteValidaCodigoPostal() { function DirclienteValidaCodigoPostal() {
$("#BtnDirClienteValidar").click(); $("#BtnDirClienteValidar").click();
} }

View File

@@ -2425,13 +2425,6 @@ Partial Class Ventas
If Not (UsuarioActual.Empresa.Funcionalidad(558) = "1") Then ' If Not (UsuarioActual.Empresa.Funcionalidad(558) = "1") Then '
LnkAgregarCliente.Visible = False LnkAgregarCliente.Visible = False
End If End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
LnkAgregarCliente.Visible = True
'ocultar la columna de subproyecto
GvPS.Columns(ColumnaSubProyecto).Visible = False
ThProyecto.Visible = False
ThProyecto2.Visible = False
End If
DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped")) DdlTipoComprobante.Items.Insert(DdlTipoComprobante.Items.Count, New ListItem("Pedido", "Ped"))
@@ -2601,6 +2594,13 @@ Partial Class Ventas
Else Else
ViewState("CveCliente") = -1 ViewState("CveCliente") = -1
HdnCveCliente.Value = "-1" HdnCveCliente.Value = "-1"
'SI TIENE UN CLIENTE POR DEFECTO DEBE CARGARLO AL INICIAR
If UsuarioActual.Empresa.Funcionalidad(714).ToEntero() > 0 Then
ViewState("CveCliente") = UsuarioActual.Empresa.Funcionalidad(714).ToEntero()
HdnCveCliente.Value = UsuarioActual.Empresa.Funcionalidad(714)
CargaCliente(CveCliente)
End If
End If End If
'Carga empresa CRM 'Carga empresa CRM
@@ -3404,37 +3404,22 @@ Partial Class Ventas
HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}" HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}"
End If End If
End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
LnkAgregarCliente.Visible = True
'ocultar la columna de subproyecto
GvPS.Columns(ColumnaSubProyecto).Visible = False
ThProyecto.Visible = False
ThProyecto2.Visible = False
TxtCantidad.Text = "1"
TxtCantidad.Focus()
TrDescripcionVenta.Visible = False
If UsuarioActual.CveEmpresa.Contiene(189, 190) Then UpPS.Update()
Dim jsFocus As String = "$(document).ready(function () {
$('#TxtCantidad').on('keydown', function (e) {
if (e.which == 13 || e.which == 9 ) {
let valorNumericoCantidad = parseFloat($('#TxtCantidad').val());
e.preventDefault();
if(valorNumericoCantidad > 0){
$('#C_Tab_TabGenerales_DdlPS > select').select2('open').next().find(':input.select2-search__field').focus();
}
}
});
$('#TxtPrecio').on('keydown', function (e) { RegistraScript("$('#TxtCantidad').focus();", "A1")
if (e.which == 13 || e.which == 9 ) { End If
let valorNumericoPrecio = parseFloat($('#TxtCantidad').val());
e.preventDefault();
if(valorNumericoPrecio > 0){
$('#LbAgregar').focus();
}
}
});
});"
RegistraScript(jsFocus)
End If End If
End Sub End Sub
@@ -18133,8 +18118,9 @@ Partial Class Ventas
End If End If
End If End If
If UsuarioActual.CveEmpresa.Contiene(186, 189) Then If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
TxtCantidad.Focus() TxtCantidad.Focus()
TxtCantidad.Text = "1"
End If End If
UpPS.Update() UpPS.Update()
@@ -23828,18 +23814,33 @@ Partial Class Ventas
If e.CommandName = "Clonar" Then If e.CommandName = "Clonar" Then
Dim RowNum As Integer = Convert.ToInt32(e.CommandArgument) Dim RowNum As Integer = Convert.ToInt32(e.CommandArgument)
Dim GvRow As GridViewRow = GvPS.Rows(RowNum) Dim GvRow As GridViewRow = GvPS.Rows(RowNum)
TxtCantidad.Text = GvPS.Rows(RowNum).FCLiteral("LtlCantidad").Text
DdlClasificacion.SelectedValue = GvRow.DataKey("CveClasificacion")
DdlPS.SelectedValue = GvRow.DataKey("CvePS") If (GvRow.RowState = DataControlRowState.Edit OrElse GvRow.RowState = 5) Then
DdlPS_SelectedIndexChanged(Nothing, Nothing) TxtCantidad.Text = GvRow.FCTextBox("TxtCantidad").Text
DdlUnidadMedida.SelectedValue = GvRow.DataKey("CveUM") DdlClasificacion.SelectedValue = GvRow.FCDropDownList("DdlClasificacion").SelectedValue
TxtObsPS.Text = GvRow.FCLiteral("LtlObsPS").Text DdlPS.SelectedValue = GvRow.FCDropDownLost("DdlPS").SelectedValue
DdlPS_SelectedIndexChanged(Nothing, Nothing)
DdlUnidadMedida.SelectedValue = GvRow.FCDropDownList("DdlUnidadMedida").SelectedValue
TxtObsPS.Text = GvRow.FCTextBox("TxtObsPS").Text
TxtPrecio.Text = GvRow.FCTextBox("TxtPrecio").Text
Else
TxtCantidad.Text = GvPS.Rows(RowNum).FCLiteral("LtlCantidad").Text
DdlClasificacion.SelectedValueExistInsert(GvRow.DataKey("CveClasificacion"), GvRow.DataKey("Clasificacion"))
DdlPS.SelectedValue = GvRow.DataKey("CvePS")
DdlPS_SelectedIndexChanged(Nothing, Nothing)
DdlUnidadMedida.SelectedValueExistInsert(GvRow.DataKey("CveUM"), GvRow.DataKey("UM"))
TxtObsPS.Text = GvRow.FCLiteral("LtlObsPS").Text
TxtPrecio.Text = GvRow.FCLiteral("LtlPU").Text
End If
DdlProyecto.SelectedValue = GvRow.DataKey("CveProyecto") DdlProyecto.SelectedValue = GvRow.DataKey("CveProyecto")
DdlProyecto_SelectedIndexChanged(Nothing, Nothing) DdlProyecto_SelectedIndexChanged(Nothing, Nothing)
DdlSubProyecto.SelectedValue = GvRow.DataKey("CveSubProyecto") DdlSubProyecto.SelectedValue = GvRow.DataKey("CveSubProyecto")
TxtPrecio.Text = GvRow.FCLiteral("LtlPU").Text
RegistraScript("Recalcula();") RegistraScript("Recalcula();")
LbAgregar_Click(Nothing, Nothing) LbAgregar_Click(Nothing, Nothing)
Else Else
DdlPS_SelectedIndexChanged(Nothing, Nothing) DdlPS_SelectedIndexChanged(Nothing, Nothing)
End If End If