RepLienasAdicionales

This commit is contained in:
Oscar Irigoyen
2022-09-20 18:33:53 -07:00
parent f6240d7adc
commit dcbff66a3b
6 changed files with 529 additions and 45 deletions

View File

@@ -5663,6 +5663,9 @@ Public Class ClsPaginas
PaginaDict.Add("/Acumuladores/RepPolizasVirtuales.aspx".ToUpper(), 1322)
PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx".ToUpper(), -1)
PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=LI".ToUpper(), -1)
PaginaDict.Add("/Ventas/RepLineasAdicionales.aspx?OP=OP".ToUpper(), -1)
'Antes de aquí.

View File

@@ -6133,7 +6133,7 @@ Partial Class Compras_Compras
ConceptoContable = 333
End If
importeMovimiento = CompraActual.retiva
importeMovimiento = CompraActual.RetIVA
importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"

View File

@@ -4585,7 +4585,7 @@
<asp:BoundField DataField="Abreviatura" HeaderText="Moneda" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="F. Vencimiento" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoLineaSTR" HeaderText="TipoLiena" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoLineaSTR" HeaderText="Tipo Linea" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Opciones">
@@ -6723,8 +6723,8 @@
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<ADS:Dropdownlost ID="DdlProveedorLineaAdicionalModal" runat="server" CssStyle="width: 250px; selected2me" Width="250px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-sm DdlPS"></ADS:Dropdownlost>
<div class="form-group form-md-line-input input-iconright" style="padding-top:-5px!important">
<ADS:Dropdownlost ID="DdlProveedorLineaAdicionalModal" SelectedText="-" runat="server" CssStyle="width: 250px; selected2me; margin-top:4px;" Width="250px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-sm DdlPS"></ADS:Dropdownlost>
<label for="<%= DdlProveedorLineaAdicionalModal.ClientID.ToString()%>">Proveedor: </label>
</div>
@@ -6732,7 +6732,7 @@
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoLineaAdicionalModal" CssClass="form-control select2me" runat="server" Width="250px">
<asp:ListItem Text="Seleccione Uno" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Seleccione" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Normal" Value="1"></asp:ListItem>
<asp:ListItem Text="PO" Value="2"></asp:ListItem>
</asp:DropDownList>
@@ -6741,61 +6741,76 @@
<label for="<%= DdlTipoLineaAdicionalModal.ClientID.ToString()%>">Tipo de Linea:</label>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteLineaAdicionalModal" CssClass="form-control " runat="server" MaxLength="20" CausesValidation="true" Width="250px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtImporteLineaAdicionalModal" runat="server" ControlToValidate="TxtImporteLineaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtImporteLineaAdicionalModal" ValidChars="1234567890." FilterType="Custom" />
<label for="<%= TxtImporteLineaAdicionalModal.ClientID.ToString()%>">Importe: </label>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtImporteLineaAdicionalModal" CssClass="form-control " runat="server" MaxLength="20" CausesValidation="true" Width="250px" ></asp:TextBox>
</div>
</div>
<div class="col-md-6">
<asp:RequiredFieldValidator ID="RfvTxtImporteLineaAdicionalModal" runat="server" ControlToValidate="TxtImporteLineaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtImporteLineaAdicionalModal" ValidChars="1234567890." FilterType="Custom" />
<label for="<%= TxtImporteLineaAdicionalModal.ClientID.ToString()%>">Importe: </label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMonedaLineAdicionalModal" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Width="250px" >
<asp:ListItem Selected="True" Text="SeleccioneUna" Value="-1"></asp:ListItem>
<asp:ListItem Text="Pesos" Value="1"></asp:ListItem>
<asp:ListItem Text="Dolares" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMonedaLineAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlMonedaLineAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<label for="<%= DdlMonedaLineAdicionalModal.ClientID.ToString()%>">Moneda: </label>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMonedaLineAdicionalModal" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me" Width="250px">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Pesos" Value="1"></asp:ListItem>
<asp:ListItem Text="Dolares" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlMonedaLineAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlMonedaLineAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<label for="<%= DdlMonedaLineAdicionalModal.ClientID.ToString()%>">Moneda: </label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFechaVencimientoLineaAdicionalModal.ClientID.ToString()%>">FechaVencimiento: </label>
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaVencimientoLineaAdicionalModal" CssClass="form-control" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<button runat="server" id="LnkTxtFechaVencimientoLineaAdicionalModal" class="btn default" type="button">
<i class="fa fa-calendar"></i>
</button>
</span>
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker">
<asp:TextBox ID="TxtFechaVencimientoLineaAdicionalModal" CssClass="form-control" runat="server" ></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: 9px;">
<asp:LinkButton ID="LnkTxtFechaVencimientoLineaAdicionalModal" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="METxtFechaVencimientoLineaAdicionalModal" runat="server" TargetControlID="TxtFechaVencimientoLineaAdicionalModal" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CETxtFechaVencimientoLineaAdicionalModal" TargetControlID="TxtFechaVencimientoLineaAdicionalModal" PopupButtonID="LnkTxtFechaVencimientoLineaAdicionalModal" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RfvTxtFechaVencimientoLineaAdicionalModal" runat="server" ControlToValidate="TxtFechaVencimientoLineaAdicionalModal" Display="None"
ErrorMessage="El campo <b>''Fecha Vencimiento''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaVencimientoLineaAdicionalModal" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtFechaVencimientoLineaAdicionalModal.ClientID.ToString()%>">Fecha Vencimiento: </label>
</div>
</div>
<div class="col-md-8">
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlClasificacionLienaAdicionalModal" DataValueField="CveClasificacion" DataTextField="Clasificacion" Width="250px" runat="server" CssClass="form-control select2me">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlClasificacionLienaAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlClasificacionLienaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificación''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>
<%--<asp:RequiredFieldValidator ID="RfvDdlClasificacionLienaAdicionalModal" InitialValue="-1" runat="server" ControlToValidate="DdlClasificacionLienaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificación''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>--%>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Clasificación:</label>
</div>

View File

@@ -10345,20 +10345,24 @@ Partial Class Clientes
If (UsuarioActual.Empresa.Funcionalidad(105) = "1") Then
DdlProveedorLineaAdicionalModal.setEsWebService(True)
DdlProveedorLineaAdicionalModal.Attributes.Add("data-metodo", "getproveedores")
DdlProveedorLineaAdicionalModal.SelectedText = "Todos"
DdlProveedorLineaAdicionalModal.SelectedText = "-"
DdlProveedorLineaAdicionalModal.SelectedValue = "-1"
DdlProveedorLineaAdicionalModal.txtText.Value = "-"
DdlProveedorLineaAdicionalModal.txtValue.Value = "-1"
Else
DdlProveedorLineaAdicionalModal.setEsWebService(False)
DdlProveedorLineaAdicionalModal.ddl.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedorLineaAdicionalModal.ddl.DataBind()
DdlProveedorLineaAdicionalModal.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProveedorLineaAdicionalModal.ddl.Items.Insert(0, New ListItem("-", "-1"))
End If
DdlClasificacionLienaAdicionalModal.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacionLienaAdicionalModal.DataBind()
DdlClasificacionLienaAdicionalModal.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlClasificacionLienaAdicionalModal.Items.Insert(0, New ListItem("-", "-1"))
@@ -10405,10 +10409,10 @@ Partial Class Clientes
Protected Sub LnkAgregarLineaAdicionalModal_Click(sender As Object, e As EventArgs)
Dim ErrorAgregar As Boolean = False
If DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero <= 0 Then
Alert("El proveedor es requerido", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
'If DdlProveedorLineaAdicionalModal.SelectedValue.ToEntero <= 0 Then
' Alert("El proveedor es requerido", TipoMensaje.MsgAdvertencia)
' Exit Sub
'End If
Dim ObjVentas As New ClsVentas

View File

@@ -0,0 +1,208 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepLineasAdicionales.aspx.cs" Inherits="Ventas_RepLineasAdicionales" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
#chartdiv {
width: 100%;
height: 800px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
<asp:Literal runat="server" ID="LtlEncabezado" ></asp:Literal>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkDescargaExcel" OnClick="LnkDescargaExcel_Click" runat="server" Visible="false"><i class="fa fa-file-excel-o"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="" id="DivFiltros">
<div class="portlet-title portlet-filterT smalltitle " style="">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" OnClick="BtnConsultar_Click" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1 truncate" runat="server" id="DVProveedor1" visible="false">Proveedor:</div>
<div class="col-md-2" runat="server" id="DVProveedor2" visible="false">
<ADS:Dropdownlost ID="DdlProveedor" SelectedText="-" runat="server" CssStyle="width: 100%; selected2me; " Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></ADS:Dropdownlost>
</div>
<div class="col-md-1 truncate" >Cliente:</div>
<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>
<div class="col-md-1 truncate">Fecha Inicio: </div>
<div class="col-md-1">
<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>
<div class="col-md-1 truncate">Fecha Fin: </div>
<div class="col-md-1">
<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>
<div class="portlet-body" style="display: none;">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row ">
<div class="col-md-12">
<div class="row ">
<div class=" col-md-12" style="text-align: right!important">
<input type="text" id="TxtBuscarLineaAdicional" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBuscarLineaAdicional','{0}')", GvLineasAdicionales.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div class="row ">
<div class="col-md-12">
<asp:UpdatePanel ID="UpLineasAdicionales" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvLineasAdicionales" Width="100%" runat="server" GridLines="None"
DataKeyNames="CveLineaAdicional,LineaAdicional,CveCliente,CveProveedor,TipoLinea,Importe,CveMoneda,FechaVencimiento,CveUsuario,CveClasificacionPS,FechaIng,CveEstatus,Proveedor,Comprobante"
CssClass="table table-striped table-advance table-hover ScrollAD " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False"
>
<Columns>
<asp:BoundField DataField="LineaAdicional" HeaderText="Linea Adicional" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="NombreCliente" HeaderText="Cliente" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Proveedor" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" HeaderText="Importe" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Abreviatura" HeaderText="Moneda" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="F. Vencimiento" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="TipoLineaSTR" HeaderText="Tipo Linea" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Opciones" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkCargarComprobante" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-upload'></i>" OnClick="LnkCargarComprobante_Click" />
<asp:LinkButton ID="LnkCambiarEstatus" runat="server" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-arrow-right'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Cambiar Estado?" data-btn-ok-label="si" OnClick="LnkCambiarEstatus_Click" />
</ItemTemplate>
<ItemStyle Width="10%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- MODAL COMPROBANTE --%>
<div id="ModalComprobante" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 700px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar Comprbante</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpAddComprobancte" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<div>
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnAddComprobante" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" OnClick="BtnAddComprobante_Click" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<%-- FIN MODAL COMPROBANTE --%>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,254 @@
using System;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using System.Collections.Generic;
using System.IO;
using ListItem = System.Web.UI.WebControls.ListItem;
public partial class Ventas_RepLineasAdicionales : ClsPaginas
{
#region PROPIEDADES
private int CveLineaAdicional
{
get { return (ViewState["CveLineaAdicional"] == null) ? 0 : int.Parse(ViewState["CveLineaAdicional"].ToString()); }
set { ViewState["CveLineaAdicional"] =(int) value; }
}
private string Comprobante
{
get {
if(ViewState["Comprobante"] == null)
{
ViewState["Comprobante"] = "";
}
return ViewState["Comprobante"].ToString();
}
set { ViewState["Comprobante"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
if (Request["OP"] != null && Request["OP"].ToString() == "PO")
{
DVProveedor1.Visible = true;
DVProveedor2.Visible = true;
GvLineasAdicionales.Columns[9].Visible = true;
}
//Carga Clientes
DdlClientes.DataSource = get_GlobalDTCliente(UsuarioActual.CveEmpresa, -1);
DdlClientes.DataBind();
if(UsuarioActual.Empresa.Funcionalidad(105) == "1") {
DdlProveedor.setEsWebService(true);
DdlProveedor.Attributes.Add("data-metodo", "getproveedores");
DdlProveedor.SelectedText = "Todos";
DdlProveedor.SelectedValue = "-1";
}else {
DdlProveedor.setEsWebService(false);
DdlProveedor.ddl.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.ddl.DataBind();
DdlProveedor.ddl.Items.Insert(0, new ListItem("-", "-1"));
}
DdlClientes.setEsWebService(true);
DdlClientes.Attributes.Add("data-metodo", "getcliente");
DdlClientes.SelectedText = "Todos";
DdlClientes.SelectedValue = "-1";
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString();
txtFechaF.Text = DateTime.Now.ToShortDateString();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
private void CargaDatos()
{
LnkDescargaExcel.Visible = false;
ClsVentas objVentas = new ClsVentas();
int CveProveedor = DdlProveedor.SelectedValue.ToEntero() > 0 ? DdlProveedor.SelectedValue.ToEntero() : -1;
if(objVentas.GetLineasAdicionales(-1,DdlClientes.SelectedValue.ToEntero(),CveProveedor,-1,-1,txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), -1, UsuarioActual.CveEmpresa)){
GvLineasAdicionales.DataSource = objVentas.DtResultados;
if( objVentas.DtResultados.Rows.Count > 0)
{
LnkDescargaExcel.Visible = true;
UpAcciones.Update();
}
}
else
{
GvLineasAdicionales.DataSource = null;
}
objVentas.Dispose();
GvLineasAdicionales.DataBind();
UpLineasAdicionales.Update();
}
protected void LnkCargarComprobante_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow) ((LinkButton) sender).NamingContainer;
CveLineaAdicional = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero();
Comprobante = GvRow.DataKey("Comprobante").ToString();
RegistraScript("$('#ModalComprobante').modal('show');","");
}
protected void BtnAddComprobante_Click(object sender, EventArgs e)
{
bool errorCargaComprobante = false;
string FileExtension = "-1";
List<Archivo> filesgral = Anexo.getfiles().Archivos;
string filemove = "";
FileInfo fiNuevo;
DirectoryInfo df = new DirectoryInfo($@"{UsuarioActual.Empresa.Ruta}\LineasAdicionales\");
//Crea directorio si no existe
if (!df.Exists)
{
try
{
Directory.CreateDirectory(df.FullName);
}
catch
{
errorCargaComprobante = true;
}
}
//borrar archivo anterior
if((!errorCargaComprobante) && Comprobante.Length > 0)
{
FileInfo fiAnterior = new FileInfo($@"{df.FullName}{Comprobante}");
if (fiAnterior.Exists)
{
try
{
File.Delete(fiAnterior.FullName);
}
catch
{
errorCargaComprobante = true;
}
}
}
if(!errorCargaComprobante){
string RutaArchivoTemp = "";
foreach (Archivo fileItem in filesgral)
{
FileExtension = System.IO.Path.GetExtension(string.Format(@"{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "");
filemove = fileItem.filename;
RutaArchivoTemp = $@"{AppDomain.CurrentDomain.BaseDirectory}\Temp\{fileItem.filename}";
break;
}
if((!errorCargaComprobante) && RutaArchivoTemp.Length > 0)
{
fiNuevo = new FileInfo(RutaArchivoTemp);
if (fiNuevo.Exists)
{
try
{
if (File.Exists($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}"))
{
File.Delete($@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}");
}
File.Move(fiNuevo.FullName, $@"{df.FullName}\{CveLineaAdicional}{fiNuevo.Extension}");
errorCargaComprobante = false;
}
catch
{
errorCargaComprobante = true;
}
if (!errorCargaComprobante)
{
ClsVentas objVentas = new ClsVentas();
if (!objVentas.UpdateLineasAdicionales(CveLineaAdicional, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, -1, UsuarioActual.CveEmpresa, Comprobante: $@"{CveLineaAdicional}{fiNuevo.Extension}"))
{
errorCargaComprobante = true;
}
objVentas.Dispose();
}
}
}
}
if (!errorCargaComprobante)
{
CargaDatos();
Anexo.Text = "[]";
RegistraScript("$('#ModalComprobante').modal('hide');", "");
Alert("Comprbante actualizado correctamente.");
}
UpAddComprobancte.Update();
}
protected void LnkCambiarEstatus_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer;
int CveLineaAdicionalActualzarEstatus = GvRow.DataKey("CveLineaAdicional").ToString().ToEntero();
bool errorCambioEstatus = false;
ClsVentas objVentas = new ClsVentas();
if (!objVentas.UpdateLineasAdicionales(CveLineaAdicionalActualzarEstatus, "-1", -1, -1, -1, -1, -1, MinFecha, 100, -1, 3, UsuarioActual.CveEmpresa))
{
errorCambioEstatus = true;
}
if (!errorCambioEstatus)
{
CargaDatos();
}
objVentas.Dispose();
}
protected void LnkDescargaExcel_Click(object sender, EventArgs e)
{
GvLineasAdicionales.ExportToExcel2("RepLineas");