This commit is contained in:
2025-02-27 21:55:14 -07:00
16 changed files with 2159 additions and 1939 deletions

View File

@@ -9,7 +9,7 @@
<asp:LinkButton ID="ImgAddPromocion" PostBackUrl="/Ventas/Promociones.aspx" CommandArgument="-1" runat="server"><i class="fa fa-plus-circle"></i>Nueva Promoción</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkAccInactivar" runat="server" OnClick="LnkAccInactivar_Click" Visible="false"><i class="fa fa-times" aria-hidden="true"></i>Inactivar</asp:LinkButton>
<asp:LinkButton ID="LnkAccInactivar" runat="server" OnClick="LnkAccInactivar_Click" Visible="false"><i class="fa fa-times" aria-hidden="true"></i>Inactivar</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -32,117 +32,124 @@
<div class="tools">
<asp:Button Text="Consultar" ID="BtnConsultar" CssClass="btn btn-primary" OnClick="BtnConsultar_Click" runat="server" />
<a href="javascript:;" class="expand"></a>
</div>
</div>
<div class="titlefiltros caption ">
<div class="row" style="padding-top: 10px;">
<div class="col-md-1">
<asp:Label runat="server" ID="LblSubProyecto" class="truncate"></asp:Label>:
</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="200px" ValidationGroup="GrpGuardar"></asp:DropDownList>
<div class="row" style="display: flex; align-items: center">
<div class="col-md-3" style="display: flex; align-items: center">
<label style="min-width: 70px" class="truncate">Cliente</label>&nbsp;
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width:100%;"></ADS:Dropdownlost>
</div>
<asp:Label runat="server" ID="Label1" class="col-md-1 truncate">Cliente:</asp:Label>
<div class="col-md-2 ">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlClientes" Width="100%" data-metodo="getcliente" runat="server" DataTextField="NombreComercial" DataValueField="CveCliente" CssStyle="width:100%;">
</ADS:Dropdownlost>
<div class="col-md-3" style="display: flex; align-items: center">
<label style="min-width: 70px" class="truncate">Vendedor</label>&nbsp;
<asp:DropDownList ID="DdlVendedor" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
</div>
<asp:Label runat="server" ID="Label2" class="col-md-1 truncate">Vendedor:</asp:Label>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlVendedor" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
</div>
<div class="col-md-2 " style="display: flex; align-items: center">
<asp:Label runat="server" ID="LblSubProyecto" Style="min-width: 70px" class="truncate"></asp:Label>&nbsp;
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%" ValidationGroup="GrpGuardar"></asp:DropDownList>
</div>
<div class="col-md-2" style="display: flex; align-items: center">
<label style="min-width: 70px" class="truncate">Estatus</label>&nbsp;
<asp:DropDownList ID="DdlEstatus" runat="server" CssClass="select2me" Width="100%" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Activo" Value="1"></asp:ListItem>
<asp:ListItem Text="Inactivo" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<label class="col-md-1 truncate">Estatus:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlEstatus" runat="server" CssClass="select2me" Width="100px" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Activo" Value="1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Inactivo" Value="0"></asp:ListItem>
</asp:DropDownList>
<div class="col-md-3" style="display: flex; align-items: center">
<label style="min-width: 70px" class="truncate">Marca</label>&nbsp;
<asp:DropDownList ID="DdlMarca" DataTextField="Marca" DataValueField="CveMarca" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
</div>
<div class="col-md-3" style="display: flex; align-items: center;">
<label style="min-width: 70px" class="truncate">Producto</label>&nbsp;
<ADS:Dropdownlost runat="server" Enabled="true" ID="DdlPS" Width="100%" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
<div class="col-md-2" style="min-width: 200px; display: flex; align-items: center;">
<label style="min-width: 70px" class="truncate">Fecha Inicio</label>&nbsp;
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<asp:Label runat="server" ID="Label3" class="col-md-1 truncate">Marca:</asp:Label>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlMarca" DataTextField="Marca" DataValueField="CveMarca" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
</div>
<asp:Label runat="server" ID="Label4" class="col-md-1 truncate">Producto:</asp:Label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" Enabled="true" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
<div class="col-md-2" style="min-width: 200px; display: flex; align-items: center">
<label style="min-width: 70px" class="truncate">Fecha Fin</label>&nbsp;
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<div class="col-md-8">
</div>
<div class="col-md-2">
<asp:UpdatePanel runat="server" ID="UpInactivar" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton runat="server" ID="LnkInactivar" CssClass="btn btn-primary" OnClick="LnkInactivar_Click" Visible="false"
data-toggle="confirmation" data-popout="true" data-original-title="¿Inactivar selección?" data-btn-ok-label="si" ><i class="fa fa-times" aria-hidden="true"></i> Inactivar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="col-md-2">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<div class="col-md-8">
</div>
<div class="col-md-2">
<asp:UpdatePanel runat="server" ID="UpInactivar" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton runat="server" ID="LnkInactivar" CssClass="btn btn-primary" OnClick="LnkInactivar_Click" Visible="false"
data-toggle="confirmation" data-popout="true" data-original-title="¿Inactivar selección?" data-btn-ok-label="si"><i class="fa fa-times" aria-hidden="true"></i> Inactivar</asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="col-md-2">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" runat="server" AutoGenerateColumns="False" GridLines="None"
DataKeyNames="CvePromocion"
>
<asp:GridView ID="GvDatos" CssClass="table table-striped table-hover Widthall ScrollAD" data-sort="true" runat="server" AutoGenerateColumns="False" GridLines="None"
DataKeyNames="CvePromocion">
<Columns>
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Left" Visible="false" >
<asp:TemplateField HeaderText="" ItemStyle-HorizontalAlign="Left" Visible="false">
<HeaderTemplate>
<input type="checkbox" id="chkSelectAll" onclick="checkAll()" />
<input type="checkbox" id="chkSelectAll" onclick="checkAll()" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chk" CssClass="selChk" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Promoción" ItemStyle-HorizontalAlign="Left">
<asp:TemplateField HeaderText="Promoción" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:HyperLink runat="server" ID="HLPromocion" Text='<%# Eval("Promocion").ToString %>' NavigateUrl ='<%# Eval("CvePromocion", "/Ventas/Promociones.aspx?CvePromocion={0}") %>' CssClass="Texto"></asp:HyperLink>
<asp:HyperLink runat="server" ID="HLPromocion" Text='<%# Eval("Promocion").ToString %>' NavigateUrl='<%# Eval("CvePromocion", "/Ventas/Promociones.aspx?CvePromocion={0}") %>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="NombreComercial" HeaderText="Cliente" />
<asp:BoundField DataField="NombreComercial" HeaderText="Cliente" />
<asp:BoundField DataField="Vendedor" HeaderText="Vendedor" />
<asp:BoundField DataField="Marca" HeaderText="Marca" />
<asp:BoundField DataField="Marca" HeaderText="Marca" />
<asp:BoundField DataField="FechaInicio" DataFormatString="{0:d}" HeaderText="F. Inicio" ItemStyle-Width="80px" />
<asp:BoundField DataField="FechaFin" DataFormatString="{0:d}" HeaderText="F. Fin" ItemStyle-Width="80px" />
<asp:BoundField DataField="SubProyecto" HeaderText="Sucursal" ItemStyle-Width="125px" />
@@ -161,13 +168,13 @@
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="JS" runat="Server">
<script>
function checkAll() {
var isChecked = $('#chkSelectAll').prop('checked');
$('#<%= GvDatos.ClientID %> input[type="checkbox"][id*=chk]').each(function () {
$(this).prop('checked', isChecked);
});

View File

@@ -36,7 +36,16 @@ Partial Class Ventas_CatPromociones
Private Sub InicializaControles()
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
txtFechaI.Text = Now.AddMonths(-1).ToString("dd/MM/yyyy")
txtFechaF.Text = Now.AddMonths(1).ToString("dd/MM/yyyy")
End If
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DdlEstatus.SelectedValueExist("-1")
Else
DdlEstatus.SelectedValueExist("1")
End If
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyecto)
@@ -71,25 +80,26 @@ Partial Class Ventas_CatPromociones
End Sub
Private Sub CargaDatos()
Dim ObjVentas As New ClsVentas
Dim CveCliente As Integer = If(DdlClientes.SelectedValue.ToEntero > 0, DdlClientes.SelectedValue.ToEntero, -1)
Dim CvePS As Integer = If(DdlPS.SelectedValue.ToEntero > 0, DdlPS.SelectedValue.ToEntero, -1)
Dim FechaI, FechaF As Date
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim.ToDate, MinFecha)
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim.ToDate, MaxFecha)
Dim ObjVentas As New ClsVentas
If ObjVentas.GetPromociones(-1, MinFecha, DdlVendedor.SelectedValue.ToEntero, CveCliente, DdlEstatus.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero, CveUsuario:=UsuarioActual.CveUsuario,
CveMarca:=DdlMarca.SelectedValue.ToEntero, CvePS:=CvePS) Then
DtDatos = ObjVentas.DtResultados
CveMarca:=DdlMarca.SelectedValue.ToEntero, CvePS:=CvePS, FechaI:=FechaI, FechaF:=FechaF) Then
DtDatos = ObjVentas.DtResultados.Copy()
Else
DtDatos = Nothing
Alert("Ocurrio un error al cargar las promociones. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjVentas.Dispose()
If DtDatos IsNot Nothing Then
CargaGrid()
End If
End Sub
Private Sub CargaGrid()

View File

@@ -107,7 +107,7 @@
<%-- <asp:DropDownList ID="DdlSucursal" DataTextField="Sucursal" DataValueField="CveSucursal" CssClass="select2me" runat="server" Width="350px"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVSucursal" runat="server" ControlToValidate="DdlSucursal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Sucursal''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCESucursal" runat="server" HighlightCssClass="vco" TargetControlID="RFVSucursal" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<asp:DropDownList ID="DdlSubProyecto" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
<asp:DropDownList ID="DdlSubProyecto" AutoPostBack="true" OnSelectedIndexChanged="DdlSubProyecto_SelectedIndexChanged" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="select2me" runat="server" Width="100%"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVSubProyecto" runat="server" ControlToValidate="DdlSubProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Sucursal''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCESubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
</div>

View File

@@ -327,6 +327,9 @@ Partial Class Ventas_Promociones
End If
Next
TxtPromocion.Enabled = False
TxtPromocion.ReadOnly = True
End If
End Sub
@@ -857,6 +860,11 @@ Partial Class Ventas_Promociones
Private Sub GuardaPromocion()
If String.IsNullOrEmpty(TxtPromocion.Text.Trim) Then
Alert("Debe asignar un nombre a la promoción.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If EmpresaGrupoDiaz Then
If DdlClientes.SelectedValue.ToEntero <= 0 AndAlso Not PermisoAutorizPromocionPorcentaje Then
@@ -1567,4 +1575,22 @@ Partial Class Ventas_Promociones
UpAgregar.Update()
End Sub
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
If Me.CvePromocion <= 0 Then
Dim ObjFolios As New ClsGralFolios()
If ObjFolios.GetFolios("PRM", UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero()) Then
Dim DT As DataTable = ObjFolios.DtResultados
If DT.Rows.Count > 0 Then
TxtPromocion.Text = String.Format("{0}-{1}", DT.Rows(0)("Serie"), DT.Rows(0)("FActual"))
Else
TxtPromocion.Text = ""
End If
DT.Dispose()
End If
ObjFolios.Dispose()
UpGenerales.Update()
End If
End Sub
End Class

View File

@@ -9088,7 +9088,7 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue.Contiene("Cot") Then
e.Row.FCHyperLink("HLPS").Visible = True
e.Row.FCLabel("LblPS").Visible = False
e.Row.FCHyperLink("HLPS").NavigateUrl = String.Format("/Inventarios/Kardex.aspx?CveSubProyecto={0}", DdlSubProyectoDatos.SelectedValue.ToEntero())
e.Row.FCHyperLink("HLPS").NavigateUrl = String.Format("/Inventarios/Kardex.aspx?CvePS={0}&CveSubProyecto={1}", e.Row.DBCampo("CvePS"), DdlSubProyectoDatos.SelectedValue.ToEntero())
Else
e.Row.FCHyperLink("HLPS").Visible = False
e.Row.FCLabel("LblPS").Visible = True