Commit inicial Ventas Productivo

This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2019-08-14 16:40:54 -07:00
commit c35cf91883
13328 changed files with 3711549 additions and 0 deletions

51
Compras/Borrame.aspx Normal file
View File

@@ -0,0 +1,51 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Borrame.aspx.vb" Inherits="Compras_Borrame" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" Runat="Server">
<p>
erererererreererere</p>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" Runat="Server">
<p>
Reporte de Inventarios</p>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" Runat="Server">
<p>
sf</p>
<p>
asd</p>
<p>
fa</p>
<p>
fsa</p>
<p>
f<asp:Button ID="Button1" runat="server" Text="Button" />
</p>
<p>
asdf</p>
<p>
as</p>
<p>
<br />
adsfa</p>
<p>
df</p>
<p>
asdf</p>
<p>
asdf</p>
<p>
as</p>
<p>
df</p>
<p>
as</p>
<p>
f</p>
<p>
sadf</p>
<p>
as</p>
<p>
fsff</p>
</asp:Content>

12
Compras/Borrame.aspx.vb Normal file
View File

@@ -0,0 +1,12 @@

Partial Class Compras_Borrame
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
End Sub
End Class

View File

@@ -0,0 +1,132 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatEstatusFactura.aspx.vb" Inherits=" Compras_CatEstatusFactura" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de Estatus de Factura
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="HlAgregar" runat="server"><i class="fa fa-plus"></i> Agregar Estatus</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"> <i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ImgExcel" />
<asp:PostBackTrigger ControlID="ImgImprimir" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 5px; margin-bottom: 5px; text-align: right; margin-right: 5px;" align="left">
<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>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEstatusFactura, EstatusFactura, Estatus" EmptyDataText="No se encontraron Estatus Registrados" ToolTip="Listado de Estatus" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-height="500" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" GridLines="None">
<Columns>
<asp:TemplateField ItemStyle-Width="10%" HeaderText="Clave" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Literal ID="LtlClave" runat="server" Text='<%# Eval("CveEstatusFactura", "&nbsp;{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" HeaderText="Estatus Factura" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Literal ID="LtlEstatus" runat="server" Text='<%# Eval("EstatusFactura", "&nbsp;{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" HeaderText="Estatus" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Literal ID="LtlEstado" runat="server" Text='<%# Eval("Estatus") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" HeaderText="Fecha">
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaIng", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20%" HeaderText="Usuario" HeaderStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("Usuario") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="5%" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="ActualizarGV" CssClass="btn btn-circle btn-sm green mysmallbtn" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="5%" HeaderText="Eliminar">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red mysmallbtn" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpModal">
<ContentTemplate>
<div id="Modal" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalAgregar" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModal" runat="server">Agregar Estatus Factura</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtClave" CssClass="form-control " runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVClave" runat="server" ControlToValidate="TxtClave" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'¨Clave''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtClave.ClientID.ToString()%>">Clave:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtEstatus" CssClass="form-control " runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVEstatus" runat="server" ControlToValidate="TxtEstatus" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>'¨Estatus''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtEstatus.ClientID.ToString()%>">Estatus:</label>
</div>
<div class="form-group form-md-line-input input-iconright" runat="server" id="dvEstatus">
<label>Activo: </label>
<asp:CheckBox ID="ChkEstatus" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LbAgregar" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpGuardar" />
<button id="BtnCancelarProyecto" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
<asp:HiddenField ID="HdnModalidad" runat="server" Value="A" ClientIDMode="Static" />
<asp:HiddenField ID="HdnID" runat="server" Value="-1" ClientIDMode="Static" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function C() {
return confirm('¿Está seguro que desea eliminar El Estatus?');
}
</script>
</asp:Content>

View File

@@ -0,0 +1,169 @@
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_CatEstatusFactura
Inherits ClsPaginas
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
End If
End Sub
Public Sub CargaDatos()
Dim ObjEstatusFactura As New ClsCompEstatusFactura
If ObjEstatusFactura.GetEstatusFactura() Then
GlobalDTCompEstatusFactura = ObjEstatusFactura.DtResultados
GvDatos.DataSource = GlobalDTCompEstatusFactura()
GvDatos.DataBind()
Else
GvDatos.DataSource = Nothing
End If
UpDatos.Update()
ObjEstatusFactura.Dispose()
End Sub
Protected Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click
Dim ObjEstatusFactura As New ClsCompEstatusFactura
If HdnModalidad.Value = "A" Then
If ObjEstatusFactura.AddEstatusFactura(TxtClave.Text.Trim.ToEntero, TxtEstatus.Text.Trim, UsuarioActual.CveUsuario) Then
TxtClave.Text = ""
TxtEstatus.Text = ""
ChkEstatus.Checked = True
GlobalDTCompEstatusFactura = ObjEstatusFactura.DtResultados
Alert("El Nuevo Estatus de Factura se guardó correctamente.", TipoMensaje.MsgInformacion)
End If
ElseIf HdnModalidad.Value = "U" Then
If ObjEstatusFactura.UpdateEstatusFactura(TxtEstatus.Text, ChkEstatus.Checked, HdnID.Value) Then
GlobalDTCompEstatusFactura = ObjEstatusFactura.DtResultados
Alert("El Nuevo Estatus de Factura se Actualizó correctamente.", TipoMensaje.MsgInformacion)
TxtClave.Text = ""
TxtEstatus.Text = ""
ChkEstatus.Checked = True
End If
End If
CargaDatos()
UpModal.Update()
ObjEstatusFactura.Dispose()
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowState = DataControlRowState.Alternate OrElse e.Row.RowState = DataControlRowState.Normal Then
If e.Row.RowIndex <= 1 Then
e.Row.Cells(0).Width = Unit.Pixel(86)
e.Row.Cells(1).Width = Unit.Pixel(256)
e.Row.Cells(2).Width = Unit.Pixel(100)
e.Row.Cells(3).Width = Unit.Pixel(100)
e.Row.Cells(4).Width = Unit.Pixel(100)
e.Row.Cells(5).Width = Unit.Pixel(100)
e.Row.Cells(6).Width = Unit.Pixel(65)
End If
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Center
End If
End If
End Sub
Protected Sub GvDatos_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
Dim ObjEstatusFactura As New ClsCompEstatusFactura
Dim EstatusFactura As String
Dim CveEstatusFactura As Integer
Dim Estatus As Boolean
EstatusFactura = GvDatos.Rows(e.RowIndex).FCTextBox("TxtEstatus").Text.Trim
Estatus = GvDatos.Rows(e.RowIndex).FCCheckBox("ChkEstado").Checked
CveEstatusFactura = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
If ObjEstatusFactura.UpdateEstatusFactura(EstatusFactura, Estatus, CveEstatusFactura) Then
GvDatos.EditIndex = -1
GlobalDTCompEstatusFactura = ObjEstatusFactura.DtResultados
End If
ObjEstatusFactura.Dispose()
End Sub
Protected Sub GvDatos_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim ObjEstatusFactura As New ClsCompEstatusFactura
If ObjEstatusFactura.RemoveEstatusFactura(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
GvDatos.EditIndex = -1
GlobalDTCompEstatusFactura = ObjEstatusFactura.DtResultados
End If
CargaDatos()
ObjEstatusFactura.Dispose()
End Sub
#End Region
Private Sub HlAgregarCategorias(sender As Object, e As EventArgs) Handles HlAgregar.Click
TxtClave.Enabled = True
TxtClave.Text = ""
TxtEstatus.Text = ""
LtlTituloModal.Text = "Agregar Estatus"
LbAgregar.Text = "Agregar"
dvEstatus.Visible = False
HdnModalidad.Value = "A"
UpModal.Update()
RegistraScript(String.Format("$('#{0}').modal();", "Modal"))
End Sub
Public Sub ActualizarGV(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim CveCategoria As String = GvRow.DataKey("CveEstatusFactura").ToString
Dim EstatusFactura As String = GvRow.DataKey("EstatusFactura").ToString
Dim Estatus As String = GvRow.DataKey("Estatus").ToString
dvEstatus.Visible = True
If Estatus = "Activo" Then ChkEstatus.Checked = True Else ChkEstatus.Checked = False
TxtClave.Enabled = False
TxtClave.Text = CveCategoria
TxtEstatus.Text = EstatusFactura
HdnID.Value = CveCategoria
HdnModalidad.Value = "U"
LtlTituloModal.Text = "Actualizar Esatus"
LbAgregar.Text = "Actualizar"
UpModal.Update()
RegistraScript(String.Format("$('#{0}').modal();", "Modal"))
End Sub
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepEstatusFactura.rdlc", GlobalDTCompEstatusFactura, params, "Reporte de Estatus Factura", Formato)
End Sub
End Class

View File

@@ -0,0 +1,122 @@
<%@ Page Title="SIG - Catálogo de Estatus de Pedido" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatEstatusPedido.aspx.vb" Inherits="CatEstatusPedido" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content4" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="E" runat="Server">
Catálogo de Estatus de Pedido
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content9" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpTitulos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table class="table table-striped table-advance table-hover">
<thead>
<tr class="Titulos">
<th width="200px">
<asp:LinkButton ID="LbEstatusPedido" runat="server" CausesValidation="false" Text="" CommandArgument="EstatusPedido" OnClick="LbOrden_Click">
Estatus de Pedido
<asp:Literal ID="ImgEstatusPedido" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="75px">
<asp:LinkButton ID="LbEstatus" runat="server" CausesValidation="false" Text="" CommandArgument="Estatus" OnClick="LbOrden_Click">
Estatus
<asp:Literal ID="ImgEstatus" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="75px">
<asp:LinkButton ID="LbFechaIng" runat="server" CausesValidation="false" Text="" CommandArgument="FechaIng" OnClick="LbOrden_Click">
Fecha
<asp:Literal ID="ImgFechaIng" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="200px">
<asp:LinkButton ID="LbNombre" runat="server" CausesValidation="false" Text="" CommandArgument="Nombre" OnClick="LbOrden_Click">
Nombre
<asp:Literal ID="ImgNombre" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</th>
<th width="165px">Comandos</th>
</tr>
</thead>
<tr>
<td>
<asp:TextBox ID="TxtEstatusPedido" runat="server" CausesValidation="true" MaxLength="50" ValidationGroup="GrpGuardar" Width="190px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVEstatusPedido" runat="server" ControlToValidate="TxtEstatusPedido" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estatus Pedido''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOEstatusPedido" runat="server" HighlightCssClass="vco" TargetControlID="RFVEstatusPedido" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td style="text-align: center">
<asp:LinkButton ID="LbAgregar" runat="server" CausesValidation="true" CssClass="Texto" Text="Agregar" ValidationGroup="GrpGuardar"></asp:LinkButton></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveEstatusPedido" EmptyDataText="No se encontraron Estatus de Pedido" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px;" GridLines="None">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="TxtA" runat="server" CausesValidation="true" MaxLength="13" Text='<%# Eval("EstatusPedido")%>' ValidationGroup="GrpEditGuardar" Width="190px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVA" runat="server" ControlToValidate="TxtA" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Estatus Pedido''</b> es necesario, por favor ingréselo." ValidationGroup="GrpEditGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOA" runat="server" HighlightCssClass="vco" TargetControlID="RFVA" Width="300px"></ajax:ValidatorCalloutExtender>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="A" runat="server" Text='<%# Eval("EstatusPedido", "&nbsp;{0}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<EditItemTemplate>
<asp:CheckBox ID="ChkA" runat="server" Checked='<%# Eval("Estatus") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="E" runat="server" Text='<%# If(Eval("Estatus").ToString() = "False", "&nbsp;Inactivo", "&nbsp;Activo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="F" runat="server" Text='<%# Eval("FechaIng", "{0:d}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="G" runat="server" Text='<%# Eval("Nombre") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Editar">
<EditItemTemplate>
<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="GrpEditGuardar" />
&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>" />
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" ToolTip="Editar" CommandName="Edit" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Eliminar">
<ItemTemplate>
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="confirmar" data-btn-ok-label="si" OnClientClick="javascript:return C();" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content10" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function C() {
return confirm('¿Está seguro que desea eliminar el estatus de pedido?');
}
</script>
</asp:Content>

View File

@@ -0,0 +1,198 @@
Imports System.Data
Imports Extensiones
Partial Class CatEstatusPedido
Inherits ClsPaginas
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
'Permisos
If UsuarioActual.TienePermisoProceso(30) Then LbAgregar.Enabled = True Else LbAgregar.Enabled = False
'Permiso Modificar
If UsuarioActual.TienePermisoProceso(31) Then GvDatos.Columns(4).Visible = True Else GvDatos.Columns(4).Visible = False
'Permiso Eliminar
If UsuarioActual.TienePermisoProceso(32) Then GvDatos.Columns(5).Visible = True Else GvDatos.Columns(5).Visible = False
CargaDatos()
End If
End Sub
Public Sub CargaDatos()
'Dim EstatusPedido As New ClsEstatusPedido
'If EstatusPedido.GetEstatusPedido(-1, "-1") Then
' Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString()) = EstatusPedido.DtResultados
'Else
' GvDatos.DataSource = Nothing
'End If
'EstatusPedido.Dispose()
'If ViewState("Orden").ToString() <> String.Empty Then
' CargaGrid(ViewState("Orden").ToString())
'Else
' CargaGrid("")
'End If
End Sub
Protected Sub LbAgregar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles LbAgregar.Click
'Dim EstatusPedido As New ClsEstatusPedido
'If EstatusPedido.AddEstatusPedido(TxtEstatusPedido.Text.Trim, True, UsuarioActual.CveUsuario) Then
' TxtEstatusPedido.Text = ""
' Alert("El nuevo Estatus de pedido se guardó correctamente.", TipoMensaje.MsgInformacion)
' UpTitulos.Update()
' Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString()) = EstatusPedido.DtResultados
' If ViewState("Orden").ToString() <> String.Empty Then
' CargaGrid(ViewState("Orden").ToString())
' Else
' CargaGrid("")
' End If
'End If
'EstatusPedido.Dispose()
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowState = DataControlRowState.Alternate OrElse e.Row.RowState = DataControlRowState.Normal Then
If e.Row.RowIndex <= 1 Then
e.Row.Cells(0).Width = Unit.Pixel(206)
e.Row.Cells(1).Width = Unit.Pixel(75)
e.Row.Cells(2).Width = Unit.Pixel(75)
e.Row.Cells(3).Width = Unit.Pixel(200)
e.Row.Cells(4).Width = Unit.Pixel(100)
e.Row.Cells(5).Width = Unit.Pixel(65)
End If
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Center
End If
End If
End Sub
Protected Sub GvDatos_RowEditing(ByVal sender As Object, ByVal e As GridViewEditEventArgs) Handles GvDatos.RowEditing
GvDatos.EditIndex = e.NewEditIndex
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
Protected Sub GvDatos_RowUpdating(ByVal sender As Object, ByVal e As GridViewUpdateEventArgs) Handles GvDatos.RowUpdating
'Dim EstatusPedidos As New ClsEstatusPedido
'Dim EstatusPedido As String
'Dim CveEstatusPedido As Integer
'Dim Estatus As Boolean
'EstatusPedido = GvDatos.Rows(e.RowIndex).FCTextBox("TxtA").Text.Trim
'Estatus = GvDatos.Rows(e.RowIndex).FCCheckBox("ChkA").Checked
'CveEstatusPedido = GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero
'If EstatusPedidos.UpdateEstatusPedido(EstatusPedido, Estatus, CveEstatusPedido, UsuarioActual.CveUsuario) Then
' GvDatos.EditIndex = -1
' Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString()) = EstatusPedidos.DtResultados
'End If
'EstatusPedidos.Dispose()
'If ViewState("Orden").ToString() <> String.Empty Then
' CargaGrid(ViewState("Orden").ToString())
'Else
' CargaGrid("")
'End If
End Sub
Protected Sub GvDatos_RowDeleting(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
'Dim EstatusPedido As New ClsEstatusPedido
'If EstatusPedido.RemoveEstatusPedido(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then
' GvDatos.EditIndex = -1
' Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString) = EstatusPedido.DtResultados
'End If
'EstatusPedido.Dispose()
'If ViewState("Orden").ToString() <> String.Empty Then
' CargaGrid(ViewState("Orden").ToString())
'Else
' CargaGrid("")
'End If
End Sub
Protected Sub GvDatos_RowCancelingEdit(ByVal sender As Object, ByVal e As GridViewCancelEditEventArgs) Handles GvDatos.RowCancelingEdit
GvDatos.EditIndex = -1
If ViewState("Orden").ToString() <> String.Empty Then
CargaGrid(ViewState("Orden").ToString())
Else
CargaGrid("")
End If
End Sub
#End Region
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Private Sub CargaGrid(ByVal Orden As String)
If Orden <> String.Empty Then
Dim DV As New DataView(CType(Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString()), DataTable), "", Orden, DataViewRowState.CurrentRows)
GvDatos.DataSource = DV.ToTable()
DV.Dispose()
Else
GvDatos.DataSource = CType(Cache("DTEstatusPedido" & UsuarioActual.CveUsuario.ToString()), DataTable)
End If
GvDatos.DataBind()
UpDatos.Update()
End Sub
#End Region
End Class

384
Compras/CatProveedores.aspx Normal file
View File

@@ -0,0 +1,384 @@
<%@ Page Title="Compras - Catálogo de Proveedores" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatProveedores.aspx.vb" Inherits="Compras_CatProveedores" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LBAdd" PostBackUrl="/Compras/Proveedores.aspx" CommandArgument="-1" runat="server"><i class="fa fa-plus-circle"></i> Nuevo Proveedor</asp:LinkButton>
</li>
<li>
<asp:HyperLink Visible="false" NavigateUrl="javascript:fnExcelReport('C_GvDatos','ADSH-C_GvDatos');" ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Generar</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="ImgExcel2" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Generar</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#ModalPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkCtasBanc" runat="server" OnClick="LnkCtasBanc_Click"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Cuentas Bancarias</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkCtasProve" runat="server" OnClick="LnkCtasBancSinProveedor_Click"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i>Proveedores sin Cuentas Bancarias</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ImgExcel2" />
<asp:PostBackTrigger ControlID="LnkCtasBanc" />
<asp:PostBackTrigger ControlID="LnkCtasProve" />
</Triggers>
</asp:UpdatePanel>
<%--<img alt="Nuevo Proveedor" onclick="document.location.href='/Compras/Proveedores.aspx'" src="/Imagenes/BotonAgregar.gif" style="cursor: pointer" />--%>
<%--<asp:ImageButton ID="ImgExcel" runat="server" ImageUrl="/Imagenes/IconoExcel.gif" Width="17px" Height="17px" />--%>
<%--<asp:Image ID="ImgPersonalizar" runat="server" ImageUrl="/Imagenes/Table-icon.png" Width="17px" Height="17px" Style="cursor:pointer;" />--%>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de Proveedores
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" 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">Código:</div>
<div class="col-md-2 ">
<asp:TextBox ID="TxtCodigo" runat="server" Style="display: inline-block;" CssClass=" form-control input-sm select2me" CausesValidation="true" MaxLength="30" ValidationGroup="GrpFiltrar" Width="100%"></asp:TextBox>
</div>
<div class="col-md-1 ">Razón Social:</div>
<div class="col-md-2 ">
<asp:TextBox ID="TxtRazonSocial" runat="server" Style="display: inline-block;" CssClass="form-control input-sm select2me" CausesValidation="true" MaxLength="40" ValidationGroup="GrpFiltrar" Width="100%"></asp:TextBox>
</div>
<div class="col-md-1 ">RFC:</div>
<div class=" col-md-2 ">
<asp:TextBox ID="TxtRFC" runat="server" Style="display: inline-block;" CssClass=" form-control input-sm select2me" CausesValidation="true" MaxLength="40" ValidationGroup="GrpFiltrar" Width="100%"></asp:TextBox>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row">
<div class="col-md-1">Tipo Proveedor:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1" title="Clasificación del Proveedor" data-toggle="tooltip" data-placement="top">Clasificación Prov.:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacionProveedor" runat="server" DataValueField="CveProveedorClasificacion" DataTextField="ProveedorClasificacion" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%"></asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlResponsable" runat="server" DataValueField="CveUsuario" DataTextField="Nombre" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%"></asp:DropDownList>
</div>
<div class="col-md-1">Moneda Preferente:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMoneda" runat="server" DataValueField="CveMoneda" DataTextField="Moneda" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%"></asp:DropDownList>
</div>
</div>
</div>
</div>
<br />
</ContentTemplate>
</asp:UpdatePanel>
<div class="row col-md-12" align="right">
<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>
<br />
<br />
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%--<table border="1" rules="all" style="border-collapse: collapse;">
<tr class="Titulos">
<td width="60px"><asp:LinkButton ID="LbCodigo" runat="server" CausesValidation="false" Text="Código"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgCodigo" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="250px"><asp:LinkButton ID="LbRazonSocial" runat="server" CausesValidation="false" Text="Razón Social"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgRazonSocial" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="250px"><asp:LinkButton ID="LbNombreComercial" runat="server" CausesValidation="false" Text="Nombre Comerical"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgNombreComercial" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="100px"><asp:LinkButton ID="LbRFC" runat="server" CausesValidation="false" Text="RFC"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgRFC" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="60px"><asp:LinkButton ID="LbEstado" runat="server" CausesValidation="false" Text="Estado"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgEstatus" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="70px"><asp:LinkButton ID="LbFecha" runat="server" CausesValidation="false" Text="Fecha"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgFecha" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
<td width="100px"><asp:LinkButton ID="LbUsuario" runat="server" CausesValidation="false" Text="Usuario"></asp:LinkButton>&nbsp;<asp:ImageButton ID="ImgUsuario" runat="server" CausesValidation="false" ImageUrl="/Imagenes/FlechasAbajo.gif" /></td>
</tr>
</table>--%>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="&nbsp&nbspNo se encontraron Proveedores registrados" ToolTip="Listado de Proveedores" CssClass="ScrollAD table table-hover table-striped Widthall" data-sort="true" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Código">
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlCodigo" runat="server" Text='<%# Eval("Codigo", "{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Razón Social">
<ItemTemplate>
&nbsp;
<asp:Literal ID="LtlRazonSocial" runat="server" Text='<%# Eval("RazonSocial", "{0}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Nombre Comercial">
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlNombreComercial" runat="server" Text='<%# Eval("NombreComercial", "{0}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField HeaderText="RFC">
<ItemTemplate>
<asp:Literal ID="LtlRFC" runat="server" Text='<%# Eval("RFC") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus (Sis)">
<ItemTemplate>
<asp:Literal ID="LtlEstatus" runat="server" Text='<%# Eval("Estatus") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Captura (Sis)">
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaIng", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Usuario Capturó (Sis)">
<ItemTemplate>
<asp:Literal ID="LtlUsuario" runat="server" Text='<%# Eval("Usuario") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Nombre Corto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombreCorto" runat="server" Text='<%# Eval("NombreCorto") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Dirección</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDireccion" runat="server" Text='<%# Eval("Direccion") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Nombre Contacto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombreContacto" runat="server" Text='<%# Eval("ContactoNombre") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Teléfono Contacto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTelefonoContacto" runat="server" Text='<%# Eval("Telefono") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Celular Contacto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCelularContacto" runat="server" Text='<%# Eval("ContactoCelular") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Mail Contacto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMailContacto" runat="server" Text='<%# Eval("ContactoMail") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false" ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>Límite de Crédito</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlLimiteCredito" runat="server" Text='<%# Eval("LimiteCredito", "{0:###,###,###.##}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Plazo para pago</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlPlazoPago" runat="server" Text='<%# Eval("PlazoPago") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Observaciones</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlObs" runat="server" Text='<%# Eval("Observaciones") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Factura con IVA de</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlIVA" runat="server" Text='<%# Eval("IVA") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Retener IVA de</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRetIVA" runat="server" Text='<%# Eval("RetIVA") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Retener ISR de</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRetISR" runat="server" Text='<%# Eval("RetISR") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Cta. Contable</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCtaContable" runat="server" Text='<%# Eval("CtaContProveedores") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="ModalPersonalizar" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpAltaP" runat="server" class="modal-content rowpadding" tabindex="-1" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<h4>
<asp:Label Text="Personalizar Columnas" ID="LbPersonalizar" runat="server" /></h4>
</div>
<div class="modal-body">
<table border="0" cellpadding="0" cellspacing="0">
<tr style="text-align: left;">
<td colspan="2">
<table>
<tr>
<td>
<asp:CheckBox ID="ChkCodigo" runat="server" Text="Código" Checked="true" /></td>
<td>
<asp:CheckBox ID="ChkRazonSocial" runat="server" Text="Razón Social" Checked="true" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkNombreComercial" runat="server" Text="Nombre Comercial" Checked="true" /></td>
<td>
<asp:CheckBox ID="ChkNombreCorto" runat="server" Text="Nombre Corto" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkRFC" runat="server" Text="RFC" Checked="true" /></td>
<td>
<asp:CheckBox ID="ChkDireccion" runat="server" Text="Dirección" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkTelefono" runat="server" Text="Teléfono del Contacto" /></td>
<td>
<asp:CheckBox ID="ChkContactoNombre" runat="server" Text="Nombrel del Contacto" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkContactoMail" runat="server" Text="Mail Contacto" /></td>
<td>
<asp:CheckBox ID="ChkContactoCelular" runat="server" Text="Celular del Contacto" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkLimiteCredito" runat="server" Text="Limite de Crédito" /></td>
<td>
<asp:CheckBox ID="ChkPlazoPago" runat="server" Text="Plazo de Pago" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkObservaciones" runat="server" Text="Observaciones" /></td>
<td>
<asp:CheckBox ID="ChkIVA" runat="server" Text="Porcentaje de IVA" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkRetIVA" runat="server" Text="% de Retención de IVA" /></td>
<td>
<asp:CheckBox ID="ChkRetISR" runat="server" Text="% de Retención de ISR" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkEstatus" runat="server" Text="Estado (Sis)" Checked="true" /></td>
<td>
<asp:CheckBox ID="ChkFechaIng" runat="server" Text="Fecha Captura (Sis)" Checked="true" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkUsuario" runat="server" Text="Usuario Capturó (Sis)" Checked="true" /></td>
<td>
<asp:CheckBox ID="ChkCtaContable" runat="server" Text="Cuenta Contable" Checked="false" /></td>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<div class="modal-footer">
<asp:Button ID="BtnPersonalizar" runat="server" Text="Personalizar" class="btn btn-primary" />
<button type="button" data-dismiss="modal" class="btn btn-danger">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function fnExcelReport(tableid, headerid) {
var tab_text = "<table ><tr bgcolor='#87AFC6' >";
var textRange; var j = 1;
tab = document.getElementById(tableid); // id of table
tabheader = document.getElementById(headerid); // id of table
if (tabheader) {
for (j = 1; j < tabheader.rows.length; j++) {
tab_text = tab_text + tabheader.rows[j].innerHTML + "</tr>";
}
}
for (j = 1; j < tab.rows.length; j++) {
tab_text = tab_text + tab.rows[j].innerHTML + "</tr>";
}
tab_text = tab_text + "</table>";
var x = 0;
while (tab_text.length != x) {
x = tab_text.length;
tab_text = tab_text.replace(/<a\b[^>]*>/i, "").replace(/<\/a>/i, "");
}
tab_text = tab_text.replace(/<img[^>]*>/gi, ""); // remove if u want images in your table
tab_text = tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // reomves input params
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
{
txtArea1.document.open("txt/html", "replace");
txtArea1.document.write(tab_text);
txtArea1.document.close();
txtArea1.focus();
sa = txtArea1.document.execCommand("SaveAs", true, "Say Thanks to Sumit.xls");
}
else //other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + escape(tab_text));
return (sa);
}
</script>
</asp:Content>

View File

@@ -0,0 +1,397 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports System.IO
Imports Extensiones
Imports GemBox.Spreadsheet
Imports Microsoft.Reporting.WebForms
Partial Class Compras_CatProveedores
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("Orden") = ""
'CargaDatos()
InicializaValores()
ImgPersonalizar.Attributes.Add("onclick", "$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
Me.Form.DefaultButton = BtnConsultar.UniqueID
End If
End Sub
Private Sub InicializaValores()
DdlResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlResponsable.DataBind()
DdlResponsable.Items.Insert(0, New ListItem("Todos", "-1"))
DdlClasificacionProveedor.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
DdlClasificacionProveedor.DataBind()
DdlClasificacionProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
DdlMoneda.DataSource = GlobalDTMonedas
DdlMoneda.DataBind()
DdlMoneda.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Public Sub CargaDatos()
Dim ObjProveedores As New ClsCompProveedores
If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa) Then
ViewState("DTProveedores") = ObjProveedores.DtResultados
Else
Me.GvDatos.DataSource = Nothing
End If
ObjProveedores.Dispose()
GvDatos.DataSource = CType(ViewState("DTProveedores"), DataTable)
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
If ChkCodigo.Checked Then
GvDatos.Columns(0).Visible = True
Else
GvDatos.Columns(0).Visible = False
End If
If ChkRazonSocial.Checked Then
GvDatos.Columns(1).Visible = True
Else
GvDatos.Columns(1).Visible = False
End If
If ChkNombreComercial.Checked Then
GvDatos.Columns(2).Visible = True
Else
GvDatos.Columns(2).Visible = False
End If
If ChkRFC.Checked Then
GvDatos.Columns(3).Visible = True
Else
GvDatos.Columns(3).Visible = False
End If
If ChkEstatus.Checked Then
GvDatos.Columns(4).Visible = True
Else
GvDatos.Columns(4).Visible = False
End If
If ChkFechaIng.Checked Then
GvDatos.Columns(5).Visible = True
Else
GvDatos.Columns(5).Visible = False
End If
If ChkUsuario.Checked Then
GvDatos.Columns(6).Visible = True
Else
GvDatos.Columns(6).Visible = False
End If
If ChkNombreCorto.Checked Then
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
If ChkDireccion.Checked Then
GvDatos.Columns(8).Visible = True
Else
GvDatos.Columns(8).Visible = False
End If
If ChkContactoNombre.Checked Then
GvDatos.Columns(9).Visible = True
Else
GvDatos.Columns(9).Visible = False
End If
If ChkTelefono.Checked Then
GvDatos.Columns(10).Visible = True
Else
GvDatos.Columns(10).Visible = False
End If
If ChkContactoCelular.Checked Then
GvDatos.Columns(11).Visible = True
Else
GvDatos.Columns(11).Visible = False
End If
If ChkContactoMail.Checked Then
GvDatos.Columns(12).Visible = True
Else
GvDatos.Columns(12).Visible = False
End If
If ChkLimiteCredito.Checked Then
GvDatos.Columns(13).Visible = True
Else
GvDatos.Columns(13).Visible = False
End If
If ChkPlazoPago.Checked Then
GvDatos.Columns(14).Visible = True
Else
GvDatos.Columns(14).Visible = False
End If
If ChkObservaciones.Checked Then
GvDatos.Columns(15).Visible = True
Else
GvDatos.Columns(15).Visible = False
End If
If ChkIVA.Checked Then
GvDatos.Columns(16).Visible = True
Else
GvDatos.Columns(16).Visible = False
End If
If ChkRetIVA.Checked Then
GvDatos.Columns(17).Visible = True
Else
GvDatos.Columns(17).Visible = False
End If
If ChkRetISR.Checked Then
GvDatos.Columns(18).Visible = True
Else
GvDatos.Columns(18).Visible = False
End If
If ChkCtaContable.Checked Then
GvDatos.Columns(19).Visible = True
Else
GvDatos.Columns(19).Visible = False
End If
UpDatos.Update()
RegistraScript("$('#ModalPersonalizar').modal('hide');")
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).Width = Unit.Pixel(60)
e.Row.Cells(1).Width = Unit.Pixel(250)
e.Row.Cells(2).Width = Unit.Pixel(250)
e.Row.Cells(3).Width = Unit.Pixel(100)
e.Row.Cells(4).Width = Unit.Pixel(60)
e.Row.Cells(5).Width = Unit.Pixel(70)
e.Row.Cells(6).Width = Unit.Pixel(100)
End If
'e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Center
'e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Center
e.Row.FCLiteral("LtlCodigo").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlCodigo").Text & "</a>"
e.Row.FCLiteral("LtlRazonSocial").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlRazonSocial").Text & "</a>"
e.Row.FCLiteral("LtlNombreComercial").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlNombreComercial").Text & "</a>"
e.Row.FCLiteral("LtlRFC").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlRFC").Text & "</a>"
e.Row.FCLiteral("LtlEstatus").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlEstatus").Text & "</a>"
e.Row.FCLiteral("LtlFecha").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlFecha").Text & "</a>"
e.Row.FCLiteral("LtlUsuario").Text = "<a class=""Texto"" href=""/Compras/Proveedores.aspx?CveProveedor=" & e.Row.DBCampo("CveProveedor") & """>" & e.Row.FCLiteral("LtlUsuario").Text & "</a>"
End If
End Sub
#End Region
Private Sub ImgExcel2_Click(sender As Object, e As EventArgs) Handles ImgExcel2.Click
GvDatos.ExportToExcel("RepProveedores_" & Now.ToShortDateString)
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
Dim ObjProveedores As New ClsCompProveedores
Dim Codigo, RazonSocial, RFC As String
Codigo = "-1"
RazonSocial = "-1"
RFC = "-1"
If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim
If TxtRazonSocial.Text.Trim <> String.Empty Then RazonSocial = TxtRazonSocial.Text.Trim
If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim
If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, Codigo, RazonSocial,
"-1", "-1", RFC, "-1", "-1", -1, UsuarioActual.CveEmpresa,
CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero,
CveUsuarioResponsable:=DdlResponsable.SelectedValue.ToEntero,
CveMonedaPreferente:=DdlMoneda.SelectedValue.ToEntero,
CveProveedorClasificacion:=DdlClasificacionProveedor.SelectedValue.ToEntero) Then
If ObjProveedores.DtResultados.Rows.Count > 0 Then
ViewState("DTProveedores") = ObjProveedores.DtResultados
Else
ViewState("DTProveedores") = Nothing
Alert("No se encontraron registros con los parametros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
End If
End If
ObjProveedores.Dispose()
GvDatos.DataSource = CType(ViewState("DTProveedores"), DataTable)
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub LnkCtasBanc_Click(sender As Object, e As EventArgs)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim DtDatos As DataTable = Nothing
Dim ObjBancos As New ClsBancos
If ObjBancos.GetCuentasBancarias(UsuarioActual.CveEmpresa) Then
DtDatos = ObjBancos.DtResultados.Copy()
End If
ObjBancos.Dispose()
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepCuentasBancarias.rdlc", DtDatos, params, "RepCuentasBancarias", "Excel")
Else
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LnkCtasBancSinProveedor_Click(sender As Object, e As EventArgs)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim DtDatos As DataTable = Nothing
Dim ObjComp As New ClsCompProveedores
If ObjComp.GetProveedoresSinCuentas(UsuarioActual.CveEmpresa) Then
DtDatos = ObjComp.DtResultados.Copy()
End If
ObjComp.Dispose()
If DtDatos IsNot Nothing Then
DtDatos.TableName = "Proveedores"
GenerarReporteProveedoresSinCuentaExcel("Proveedores sin Cuentas Bancarias", DtDatos)
End If
End Sub
Private Sub GenerarReporteProveedoresSinCuentaExcel(Titulo As String, DtDatos As DataTable)
Dim Retorno As New MemoryStream()
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
Dim excel As ExcelFile = New ExcelFile
Dim item = excel.Worksheets.Add(DtDatos.TableName)
item.InsertDataTable(DtDatos, New InsertDataTableOptions() With
{
.ColumnHeaders = True,
.StartRow = 0,
.StartColumn = 0
})
item.Rows(0).Style.FillPattern.SetPattern(FillPatternStyle.Solid, SpreadsheetColor.FromArgb(75, 119, 190), SpreadsheetColor.FromArgb(255, 255, 255))
item.Rows(0).Style.Font.Color = SpreadsheetColor.FromArgb(255, 255, 255)
Dim columnCount = item.CalculateMaxUsedColumns()
For i = 0 To columnCount
item.Columns(i).AutoFit(1, item.Rows(i), item.Rows(item.Rows.Count - 1))
Next
Dim TotalRowHeader As Integer = 8
Dim TotalRowFooter As Integer = 2
Dim worksheet = excel.Worksheets(0)
worksheet.Rows.InsertEmpty(0, TotalRowHeader)
Dim celdasConTexto = worksheet.GetUsedCellRange(True)
celdasConTexto.Style.Font.Name = "Calibri Light"
Dim RangoNombreEmpresa = worksheet.Cells.GetSubrangeAbsolute(1, celdasConTexto.FirstColumnIndex, 1, celdasConTexto.LastColumnIndex)
RangoNombreEmpresa.Merged = True
RangoNombreEmpresa.Value = UsuarioActual.Empresa.Empresa
RangoNombreEmpresa.Style.Font.Size = 18 * 20
RangoNombreEmpresa.Style.Font.Name = "Calibri Light"
RangoNombreEmpresa.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoNombreEmpresa.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
'Dim RangoFiltros = worksheet.Cells.GetSubrangeAbsolute(6, celdasConTexto.FirstColumnIndex, 6, celdasConTexto.LastColumnIndex)
'RangoFiltros.Merged = True
'RangoFiltros.Value = Filtros
'RangoFiltros.Style.Font.Size = 15 * 20
'RangoFiltros.Style.Font.Name = "Calibri Light"
'RangoFiltros.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Left
'RangoFiltros.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
Dim RangoTitulo = worksheet.Cells.GetSubrangeAbsolute(3, celdasConTexto.FirstColumnIndex, 3, celdasConTexto.LastColumnIndex)
RangoTitulo.Merged = True
RangoTitulo.Value = Titulo
RangoTitulo.Style.Font.Size = 20 * 20
RangoTitulo.Style.Font.Name = "Calibri Light"
RangoTitulo.Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
RangoTitulo.Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex
worksheet.Rows(8).Cells(i).Style.Font.Size = 12 * 20
worksheet.Rows(8).Cells(i).Style.HorizontalAlignment = GemBox.Spreadsheet.HorizontalAlignmentStyle.Center
worksheet.Rows(8).Cells(i).Style.VerticalAlignment = GemBox.Spreadsheet.VerticalAlignmentStyle.Center
worksheet.Rows(8).Cells(i).Style.FillPattern.SetPattern(GemBox.Spreadsheet.FillPatternStyle.Solid, GemBox.Spreadsheet.SpreadsheetColor.FromArgb(75, 119, 190), GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255))
worksheet.Rows(8).Cells(i).Style.Font.Color = GemBox.Spreadsheet.SpreadsheetColor.FromArgb(255, 255, 255)
If i > 0 Then
Try
worksheet.Columns(i).AutoFit(1)
Catch ex As Exception
End Try
End If
Next
Dim IndexEndTable As Integer = DtDatos.Rows.Count + TotalRowHeader + TotalRowFooter
worksheet.Rows(IndexEndTable).Cells(2).Value = "Usuario Imprimió"
worksheet.Rows(IndexEndTable + 1).Cells(2).Value = UsuarioActual.Nombre
worksheet.Rows(IndexEndTable).Cells(6).Value = "Fecha Impresión"
worksheet.Rows(IndexEndTable + 1).Cells(6).Value = DateTime.Now.ToString("dd/MM/yyyy")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
If Imagen.Exists Then
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
Using webClient As New Net.WebClient()
Dim imageBytes = webClient.DownloadData(logouri)
Dim stream As New MemoryStream(imageBytes)
worksheet.Pictures.Add(stream, ExcelPictureFormat.Png, "A1", 100, 100, LengthUnit.Pixel)
'worksheet.Pictures.Add(stream, GemBox.Spreadsheet.ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, GemBox.Document.LengthUnit.Pixel)
End Using
End If
excel.Save(Response, "Proveedores Sin Cuentas.xlsx", SaveOptions.XlsxDefault)
End Sub
End Class

View File

@@ -0,0 +1,105 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatProveedoresClasificaciones.aspx.vb" Inherits="Compras_CatProveedoresClasificaciones" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Catálogo de Clasificación de Proveedores
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="BtanAgregarClasificacion" runat="server" data-toggle="tooltip" data-placement="left" title="Agregar Clasificación" Text="<i class='fa fa-plus'></i> Agregar"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<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>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" data-sort="true" DataKeyNames="CveProveedorClasificacion,ProveedorClasificacion,Estatus" EmptyDataText="No se encontraron Clasificación de Proveedores Registrados" ToolTip="Listado de Clasificación de Proveedores"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" CellSpacing="0" Width="100%" GridLines="None">
<Columns>
<asp:BoundField DataField="ProveedorClasificacion" HeaderText="Clasificación" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Estatus" HeaderText="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField DataField="Usuario" HeaderText="Usuario" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" OnClick="Edit_Click" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" OnClick="Delete_Click" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
<asp:HiddenField ID="HdnModalidad" runat="server" Value="A" ClientIDMode="Static" />
<asp:HiddenField ID="HdnID" runat="server" Value="-1" ClientIDMode="Static" />
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivAddClasificacion" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpAddClasificación" 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">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel">Clasificación de Proveedores</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel ID="UpBodyEstatus" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtClasificacion" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVEstatusOS" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtClasificacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Clasificacion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<label for="<%= TxtClasificacion.ClientID.ToString()%>">Clasificación:</label>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" id="DivEstatus" runat="server" visible="false">
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="form-control" />
<label for="<%= ChkEstatus.ClientID.ToString()%>">Estatus:</label>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">
<asp:UpdatePanel ID="UpFooter" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="BtnAddClasificacion" runat="server" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio"> <i class='material-icons'>done_all</i> Agregar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function C() {
return confirm('¿Está seguro que desea eliminar la Clasificación de Proveedores?');
}
</script>
</asp:Content>

View File

@@ -0,0 +1,103 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports System.Linq
Imports Extensiones
Partial Class Compras_CatProveedoresClasificaciones
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
End If
End Sub
Public Sub CargaDatos()
Dim ObjProveedorClasificacion As New ClsCompProveedores
If ObjProveedorClasificacion.GetProveedorClasificacion(UsuarioActual.CveEmpresa) Then
GvDatos.DataSource = ObjProveedorClasificacion.DtResultados
Else
Me.GvDatos.DataSource = Nothing
End If
GvDatos.DataBind()
ObjProveedorClasificacion.Dispose()
End Sub
#Region "G V D A T O S"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
End If
End Sub
Public Sub Delete_Click(sender As Object, e As EventArgs)
Dim ObjProveedorClasificacion As New ClsCompProveedores
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
HdnID.Value = GvRow.DataKey("CveProveedorClasificacion")
UpDatos.Update()
If ObjProveedorClasificacion.RemoveProveedorClasificacion(HdnID.Value.ToEntero) Then
CargaDatos()
Alert("Eliminado Correctamente.", TipoMensaje.MsgInformacion)
End If
ObjProveedorClasificacion.Dispose()
UpDatos.Update()
End Sub
#End Region
#Region "AGREGAR / EDITAR"
Private Sub BtanAgregarClasificacion_Click(sender As Object, e As EventArgs) Handles BtanAgregarClasificacion.Click
HdnModalidad.Value = "A"
BtnAddClasificacion.Text = "Agregar"
TxtClasificacion.Text = ""
ChkEstatus.Checked = True
DivEstatus.Visible = False
UpDatos.Update()
UpAddClasificación.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddClasificacion"))
End Sub
Public Sub Edit_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
HdnModalidad.Value = "U"
HdnID.Value = GvRow.DataKey("CveProveedorClasificacion")
BtnAddClasificacion.Text = "Actualizar"
TxtClasificacion.Text = GvRow.DataKey("ProveedorClasificacion")
DivEstatus.Visible = True
If GvRow.DataKey("Estatus") = "Activo" Then ChkEstatus.Checked = True Else ChkEstatus.Checked = False
UpDatos.Update()
UpAddClasificación.Update()
RegistraScript(String.Format("$('#{0}').modal('show');", "DivAddClasificacion"))
End Sub
Private Sub BtnAddClasificacion_Click(sender As Object, e As EventArgs) Handles BtnAddClasificacion.Click
Dim ObjProveedorClasificacion As New ClsCompProveedores
Dim Estatus = False
If ChkEstatus.Checked Then Estatus = True
If HdnModalidad.Value = "A" Then
If ObjProveedorClasificacion.AddProveedorClasificacion(TxtClasificacion.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La Nueva Clasificación de Proveedores se guardó correctamente.", TipoMensaje.MsgInformacion)
End If
ElseIf HdnModalidad.Value = "U" Then
If ObjProveedorClasificacion.UpdateProveedorClasificacion(TxtClasificacion.Text.Trim, Estatus, HdnID.Value.ToEntero) Then
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
End If
End If
If ObjProveedorClasificacion.GetProveedorClasificacion(-1) Then
GlobalDTProveedorClasificacion(-1) = ObjProveedorClasificacion.DtResultados
End If
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAddClasificacion"))
CargaDatos()
ObjProveedorClasificacion.Dispose()
UpDatos.Update()
End Sub
#End Region
End Class

5955
Compras/Compras.aspx Normal file

File diff suppressed because it is too large Load Diff

14
Compras/Compras.aspx.cs Normal file
View File

@@ -0,0 +1,14 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Compras_Default : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
Alert(UsuarioActual.Nombre);
}
}

18741
Compras/Compras.aspx.vb Normal file

File diff suppressed because it is too large Load Diff

BIN
Compras/Compras.rar Normal file

Binary file not shown.

View File

@@ -0,0 +1,188 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EvaluacionProveedor.aspx.vb" Inherits="Compras_EvaluacionProveedor" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Evaluación a Proveedor ISO
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 2;">Proveedores Pendientes por evaluar</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<div class="row" style="margin-left: 0px; margin-top: 5px; margin-bottom: 5px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaEva" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaEva','{0}')", GvEvaluaciones.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvEvaluaciones.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:GridView ID="GvEvaluaciones" runat="server" GridLines="None" DataKeyNames="CveEvaluacionProveedor,CveProveedor,RazonSocial,Codigo,ContactoMail,Observaciones,Firma,FechaEvaluacion,CveCompra" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-heighterror="800" EmptyDataText="No se encontraron registros">
<Columns>
<asp:BoundField DataField="RazonSocial" ItemStyle-Width="45%" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="SerieFolio" ItemStyle-Width="20%" HeaderText="Compra" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="FechaEvaluacion" ItemStyle-Width="20%" HeaderText="Fecha Evaluación" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Aplicar Evaluación" ItemStyle-Width="15%">
<ItemTemplate>
<asp:LinkButton runat="server" Text="Aplicar" OnClick="LnkAplicarEvaluacion_Click"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DvEvaluacion" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpEvaluacion" 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">&times;</span>
</button>
<h4 class="modal-title" id="myModalLabel2" runat="server">Aplicar Evaluación</h4>
</div>
<div class="modal-body">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 2;">Datos de evaluación</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtRS" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtRS.ClientID.ToString()%>">Razón Social del Proveedor:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCodigo" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtCodigo.ClientID.ToString()%>">Código:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSerieFolio" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtSerieFolio.ClientID.ToString()%>">Serie-Folio:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtFecha" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtFecha.ClientID.ToString()%>">Fecha Evaluación:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtPS" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtPS.ClientID.ToString()%>">Productos y/o Servicios:</label>
</div>
</div>
</div>
</div>
</div>
<asp:GridView ID="GvPreguntas" runat="server" OnRowDataBound="GvPreguntas_RowDataBound" DataKeyNames="TipoDato,CvePreguntaEvaluacion,Preguntas" GridLines="None" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False" data-heighterror="600" EmptyDataText="No se encontraron registros">
<Columns>
<asp:BoundField HeaderText="No" DataField="Numero" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Preguntas" ItemStyle-Width="70%" HeaderText="Preguntas" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Respuesta" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle">
<ItemTemplate>
<asp:RadioButtonList ID="RblRespuesta" RepeatDirection="Horizontal" runat="server">
<asp:ListItem class="respuesta" Text="Si" Value="1"></asp:ListItem>
<asp:ListItem class="respuesta" Text="No" Value="0"></asp:ListItem>
<asp:ListItem class="respuesta" Selected="True" Text="N/A" Value="-1"></asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtObs" runat="server" CssClass="form-control"></asp:TextBox>
<label for="<%= TxtObs.ClientID.ToString()%>">Observaciones:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtFirma" runat="server" CssClass="form-control"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFirma" runat="server" ControlToValidate="TxtFirma" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre y Firma''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFirma" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtCodigo.ClientID.ToString()%>">Nombre y Firma:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCalificacion" CssClass="form-control " runat="server" Enabled="false"></asp:TextBox>
<label for="<%= TxtCalificacion.ClientID.ToString()%>">Calificación:</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnEvaluarProveedor" runat="server" Text="Guardar Evaluación" CssClass="btn btn-primary" OnClick="BtnEvaluarProveedor_Click"></asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<iframe id="my_iframe" style="display: none;"></iframe>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function Download(urlD) {
document.getElementById('my_iframe').src = urlD;
};
function IniciarCalculo() {
CalcularCalificacion();
$(".respuesta input[type=radio]").click(
function () {
CalcularCalificacion();
}
);
}
function CalcularCalificacion() {
var cal = 0;
$(".respuesta input[type=radio]").each(function (index) {
if ($(this).prop('checked')) {
var valor = parseInt($(this).val());
if (valor == 1 || valor == -1) {
cal += 1;
}
}
});
$("#C_TxtCalificacion").val(cal);
}
</script>
</asp:Content>

View File

@@ -0,0 +1,482 @@
Option Explicit On
Option Strict On
Imports GemBox.Document
Imports System.Data
Imports Extensiones
Imports System.Globalization
Imports System.IO
Imports System.Linq
Partial Class Compras_EvaluacionProveedor
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Private Property CveEvaluacionProveedor() As Integer
Get
Return If(IsNothing(ViewState("CveEvaluacionProveedor")), -1, CInt(ViewState("CveEvaluacionProveedor")))
End Get
Set
ViewState("CveEvaluacionProveedor") = Value
End Set
End Property
Private Property CveProveedor() As Integer
Get
Return If(IsNothing(ViewState("CveProveedor")), -1, CInt(ViewState("CveProveedor")))
End Get
Set
ViewState("CveProveedor") = Value
End Set
End Property
Private Property CveCompra() As Integer
Get
Return If(IsNothing(ViewState("CveCompra")), -1, CInt(ViewState("CveCompra")))
End Get
Set
ViewState("CveCompra") = Value
End Set
End Property
Private Property DtPreguntas() As DataTable
Get
Return If(IsNothing(ViewState("DtPreguntas")), New DataTable(), DirectCast(ViewState("DtPreguntas"), DataTable))
End Get
Set
ViewState("DtPreguntas") = Value
End Set
End Property
Private Property CorreoEnvio() As String
Get
Return If(IsNothing(ViewState("CorreoEnvio")), "", ViewState("CorreoEnvio").ToString())
End Get
Set
ViewState("CorreoEnvio") = Value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'EVALUACION DEL PROVEEDOR
If UsuarioActual.Empresa.Funcionalidad(560) = "1" Then
CargaEvaluacionProveedor()
End If
End If
End Sub
#Region "C A R G A - D A T O S"
Protected Sub LimpiarDatos()
If Request("CveEvaluacionProveedor") IsNot Nothing AndAlso Request("CveEvaluacionProveedor").ToString().ToEntero() > 0 Then
CveEvaluacionProveedor = Request("CveEvaluacionProveedor").ToString().ToEntero()
Else
CveEvaluacionProveedor = -1
End If
If Request("CveProveedor") IsNot Nothing AndAlso Request("CveProveedor").ToString().ToEntero() > 0 Then
CveProveedor = Request("CveProveedor").ToString().ToEntero()
Else
CveProveedor = -1
End If
If Request("CveCompra") IsNot Nothing AndAlso Request("CveCompra").ToString().ToEntero() > 0 Then
CveCompra = Request("CveCompra").ToString().ToEntero()
Else
CveCompra = -1
End If
CorreoEnvio = ""
GvPreguntas.DataSource = DtPreguntas
GvPreguntas.DataBind()
TxtRS.Text = ""
TxtSerieFolio.Text = ""
TxtPS.Text = ""
TxtCodigo.Text = ""
TxtFecha.Text = Now.ToString("dd/MM/yyyy")
TxtFirma.Text = UsuarioActual.Nombre
TxtCalificacion.Text = ""
UpEvaluacion.Update()
End Sub
Protected Sub CargaEvaluacionProveedor()
LimpiarDatos()
Dim ObjProve As New ClsCompProveedores
If ObjProve.GetEvaluacionesProveedores(Me.CveEvaluacionProveedor, Me.CveProveedor, UsuarioActual.CveEmpresa) Then
GvEvaluaciones.DataSource = ObjProve.DtResultados.FiltraParametros($"Evaluado = 0 AND CveUsuario={UsuarioActual.CveUsuario}")
End If
If ObjProve.GetProveedoresEvaluacionPreguntas(UsuarioActual.CveEmpresa) Then
DtPreguntas = ObjProve.DtResultados.Copy()
End If
ObjProve.Dispose()
GvEvaluaciones.DataBind()
GvPreguntas.DataSource = DtPreguntas
GvPreguntas.DataBind()
UpEvaluacion.Update()
UpDatos.Update()
End Sub
Protected Sub CargaCompra()
If Me.CveCompra > 0 Then
Dim ObjCompras As New ClsCompras()
If ObjCompras.GetCompras(CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
If ObjCompras.DtResultados.Rows.Count > 0 Then
TxtSerieFolio.Text = ObjCompras.DtResultados.Rows(0)("SerieFolio").ToString()
End If
End If
If ObjCompras.GetCompraDetalle(CveCompra) Then
Dim StrPS As New StringBuilder()
For Each Row As DataRow In ObjCompras.DtResultados.Rows
If ObjCompras.DtResultados.Rows.Count > 1 Then
StrPS.AppendFormat("{0};", Row("PSCodigo"))
Else
StrPS.AppendFormat("{0}", Row("PSCodigo"))
End If
Next
TxtPS.Text = StrPS.ToString()
End If
ObjCompras.Dispose()
End If
End Sub
#End Region
#Region "E V E N T O S"
Protected Sub LnkAplicarEvaluacion_Click(sender As Object, e As EventArgs)
LimpiarDatos()
Dim Row As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Me.CveEvaluacionProveedor = Row.DataKey("CveEvaluacionProveedor").ToEntero()
Me.CveProveedor = Row.DataKey("CveProveedor").ToEntero()
Me.CveCompra = Row.DataKey("CveCompra").ToEntero()
Me.CorreoEnvio = Row.DataKey("ContactoMail")
CargaCompra()
TxtRS.Text = Row.DataKey("RazonSocial")
TxtCodigo.Text = Row.DataKey("Codigo")
TxtFecha.Text = Now.ToString("dd/MM/yyyy")
UpEvaluacion.Update()
RegistraScript("$('#DvEvaluacion').modal('show');IniciarCalculo();")
End Sub
Protected Sub BtnEvaluarProveedor_Click(sender As Object, e As EventArgs)
CalcularCalificacion()
Dim Fecha = Now
Dim Mes = Fecha.ToString("MMMM", New CultureInfo("es-MX"))
Dim Obs = TxtObs.Text.Trim()
Dim Firma = TxtFirma.Text
Dim Calificacion = TxtCalificacion.Text.ToEntero()
Dim GuardoEvaluacion As Boolean = GuardarEvaluacion(Fecha, Obs, Calificacion.ToString(), Firma)
If GuardoEvaluacion AndAlso Me.CveEvaluacionProveedor > 0 Then
Alert("La evaluación del proveedor se guardo correctamente.")
Dim Resultado As String = ""
If Calificacion.Contiene(0, 1, 2) Then
Resultado = "No Satisfactorio"
ElseIf Calificacion.Contiene(3, 4) Then
Resultado = "Mejoras"
ElseIf Calificacion.Contiene(5, 6) Then
Resultado = "Satisfactorio"
End If
EnviarCorreo(CorreoEnvio, TxtRS.Text, Fecha.Day.ToString(), Mes, Calificacion.ToString(), Resultado)
Else
Alert("Ocurrió un error al guardar la evaluación del proveedor.", TipoMensaje.MsgAdvertencia)
End If
CargaEvaluacionProveedor()
RegistraScript("$('#DvEvaluacion').modal('hide');")
End Sub
Protected Sub GvPreguntas_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("TipoDato") = "1" Then
e.Row.CssClass = "Totales"
e.Row.FCRadioButtonList("RblRespuesta").Visible = False
End If
End If
End Sub
#End Region
#Region "G U A R D A - D A T O S"
Protected Function GuardarEvaluacion(Fecha As DateTime, Obs As String, Calificacion As String, Firma As String) As Boolean
Dim TieneError As Boolean = False
If Me.CveEvaluacionProveedor <= 0 Then
TieneError = True
Return Not TieneError
End If
Dim ObjProve As New ClsCompProveedores
ObjProve.IniciaTransacSQL()
Try
TieneError = Not ObjProve.UpdateEvaluacionProveedor(Me.CveEvaluacionProveedor, Fecha, Obs, Calificacion, Firma, True)
If Not TieneError Then
For Each Row As GridViewRow In GvPreguntas.Rows
If Row.RowType = DataControlRowType.DataRow Then
If Row.DataKey("TipoDato") = "2" Then
Dim Respuesta As Integer = Row.FCRadioButtonList("RblRespuesta").SelectedValue.ToEntero()
Dim CvePregunta = Row.DataKey("CvePreguntaEvaluacion").ToEntero()
If Not ObjProve.AddEvaluacionProveedorDetalle(CveEvaluacionProveedor, CvePregunta, RespuestaBit:=Respuesta) Then
TieneError = True
Exit For
End If
End If
End If
Next
Else
TieneError = True
End If
Catch ex As Exception
TieneError = True
OnError("Ocurrió un error al agregar la evaluación", ex)
Finally
If TieneError Then
ObjProve.RollBack()
Else
ObjProve.Commit()
End If
End Try
ObjProve.Dispose()
Return Not TieneError
End Function
Protected Sub CalcularCalificacion()
Dim Calificacion As Integer = 0
For Each Row As GridViewRow In GvPreguntas.Rows
If Row.RowType = DataControlRowType.DataRow Then
If Row.DataKey("TipoDato") = "2" Then
Dim Respuesta As Integer = Row.FCRadioButtonList("RblRespuesta").SelectedValue.ToEntero()
If Respuesta.Contiene(1, -1) Then
Calificacion += 1
End If
End If
End If
Next
TxtCalificacion.Text = Calificacion.ToString()
UpEvaluacion.Update()
End Sub
#End Region
#Region "E N V I O - C O R R E O"
Protected Sub EnviarCorreo(Correo As String, Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String)
Dim ArchivoCarta = EnviarFormatoCarta(Correo, Proveedor, Dia, Mes, Calificacion, Resultado)
Dim ArchivoEvaluacion = EnviarFormatoEvaluacion(Correo, Proveedor, Dia, Mes, Calificacion, Resultado)
Dim Archivos As New List(Of ClsSisMail.ArchivoMail)
Archivos.Add(ArchivoCarta)
Archivos.Add(ArchivoEvaluacion)
Dim Body As String = GeneraCorreo(UsuarioActual.Empresa.Empresa, Proveedor, TxtSerieFolio.Text, TxtFecha.Text.ToDate(), Resultado)
Dim Asunto As String = String.Format("Evaluación de proveedor ISO")
Try
Dim Mail As New ClsSisMail()
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo, Asunto, Body, Archivos:=Archivos)
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL por cambio de Estatus", ex)
End Try
End Sub
Protected Function EnviarFormatoCarta(Correo As String, Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) As ClsSisMail.ArchivoMail
Dim archivoCarta As New ClsSisMail.ArchivoMail()
archivoCarta.NombreArchivo = "Carta Evaluacion.pdf"
Try
Dim PathRoot As String = Server.MapPath("/")
Dim Documento As String = "CartaProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Now.Ticks & Documento
If File.Exists(PathDestino) Then
File.Delete(PathDestino)
End If
File.Copy(PathSource, PathDestino)
Dim ObjCarta As New clsGemBoxDocument(PathDestino)
ObjCarta.SustituirTags(GetTagsCartaEvaluacion(Proveedor, Dia, Mes, Calificacion, Resultado))
'ObjCarta.Guardar(PathDestino)
ObjCarta.GuardarStreamPDF()
archivoCarta.ArchivoBinario = ObjCarta.GetBytesDocumento()
Dim fileinfo As New FileInfo(PathDestino)
Dim baseUrl As String = Request.Url.GetLeftPart(UriPartial.Authority) & "/temp/" & fileinfo.Name
If File.Exists(PathDestino) Then
File.Delete(PathDestino)
End If
Catch ex As Exception
OnError("Ocurrió error al generar el formato", ex)
End Try
Return archivoCarta
End Function
Protected Function EnviarFormatoEvaluacion(Correo As String, Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) As ClsSisMail.ArchivoMail
Dim archivoCarta As New ClsSisMail.ArchivoMail()
archivoCarta.NombreArchivo = "Formato Evaluacion Proveedor.pdf"
Try
Dim PathRoot As String = Server.MapPath("/")
Dim Documento As String = "FormatoEvaluacionProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Now.Ticks & Documento
If File.Exists(PathDestino) Then
File.Delete(PathDestino)
End If
File.Copy(PathSource, PathDestino)
Dim ObjCarta As New clsGemBoxDocument(PathDestino)
ObjCarta.SustituirTags(GetTagsFormatoEvaluacion())
'ObjCarta.Guardar(PathDestino)
ObjCarta.GuardarStreamPDF()
archivoCarta.ArchivoBinario = ObjCarta.GetBytesDocumento()
Dim fileinfo As New FileInfo(PathDestino)
Dim baseUrl As String = Request.Url.GetLeftPart(UriPartial.Authority) & "/temp/" & fileinfo.Name
If File.Exists(PathDestino) Then
File.Delete(PathDestino)
End If
Catch ex As Exception
OnError("Ocurrió error al generar el formato", ex)
End Try
Return archivoCarta
End Function
Protected Function GetTagsCartaEvaluacion(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String) As List(Of TagsDocumentos)
Dim ListaTagsDocumentost = New List(Of TagsDocumentos)
ListaTagsDocumentost.Add(New TagsDocumentos("{{Proveedor}}", Proveedor))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Dia}}", Dia))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Mes}}", Mes))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Calificacion}}", Calificacion))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Resultado}}", Resultado))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Usuario}}", UsuarioActual.Nombre))
Dim MensajeInvitacion As String = "Le invitamos a participar en la implementación de acciones para la mejora de sus procesos."
Dim MensajeSatisfactorio As String = ", debido al cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V"
Dim MensajeMejoras As String = ", debido a la falta de cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V. Se realizaron diferentes observaciones de la percepción del servicio, los cuales son:"
Dim MensajeNoSatisfactorio As String = ", debido a la falta de cumplimiento de los criterios establecidos por Exploraciones Mineras del Desierto, S.A. de C.V"
If Resultado = "No Satisfactorio" Then
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeNoSatisfactorio))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", TxtObs.Text))
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", MensajeInvitacion))
ElseIf Resultado = "Mejoras" Then
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeMejoras))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", TxtObs.Text))
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", MensajeInvitacion))
ElseIf Resultado = "Satisfactorio" Then
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoTexto}}", MensajeSatisfactorio))
ListaTagsDocumentost.Add(New TagsDocumentos("{{Observaciones}}", ""))
ListaTagsDocumentost.Add(New TagsDocumentos("{{ResultadoInvitacion}}", ""))
End If
Return ListaTagsDocumentost
End Function
Protected Function GetTagsFormatoEvaluacion() As List(Of TagsDocumentos)
Dim ListaTagsDocumentos = New List(Of TagsDocumentos)
ListaTagsDocumentos.Add(New TagsDocumentos("{{Proveedor}}", TxtRS.Text.Trim()))
ListaTagsDocumentos.Add(New TagsDocumentos("{{Codigo}}", TxtCodigo.Text.Trim()))
ListaTagsDocumentos.Add(New TagsDocumentos("{{Fecha}}", TxtFecha.Text))
ListaTagsDocumentos.Add(New TagsDocumentos("{{PS}}", TxtPS.Text.Trim()))
Dim IndexP As Integer = 1
Dim IndexG As Integer = 1
For Each Row As GridViewRow In GvPreguntas.Rows
If Row.RowType = DataControlRowType.DataRow Then
If Row.DataKey("TipoDato") = "1" Then
ListaTagsDocumentos.Add(New TagsDocumentos("{{G" & IndexG & "}}", Row.DataKey("Preguntas")))
IndexG += 1
End If
If Row.DataKey("TipoDato") = "2" Then
Dim Respuesta As Integer = Row.FCRadioButtonList("RblRespuesta").SelectedValue.ToEntero()
ListaTagsDocumentos.Add(New TagsDocumentos("{{P" & IndexP & "}}", Row.DataKey("Preguntas")))
ListaTagsDocumentos.Add(New TagsDocumentos("{{R1" & IndexP & "}}", If(Respuesta = 1, "X", "")))
ListaTagsDocumentos.Add(New TagsDocumentos("{{R0" & IndexP & "}}", If(Respuesta = 0, "X", "")))
ListaTagsDocumentos.Add(New TagsDocumentos("{{RN" & IndexP & "}}", If(Respuesta = -1, "X", "")))
IndexP += 1
End If
End If
Next
ListaTagsDocumentos.Add(New TagsDocumentos("{{Observaciones}}", TxtObs.Text.Trim()))
ListaTagsDocumentos.Add(New TagsDocumentos("{{Firma}}", TxtFirma.Text.Trim()))
ListaTagsDocumentos.Add(New TagsDocumentos("{{Calificacion}}", TxtCalificacion.Text.Trim()))
Return ListaTagsDocumentos
End Function
Protected Function GeneraCorreo(Empresa As String, Proveedor As String, SerieFolio As String, Fecha As DateTime, Resultado As String) As String
Dim strBody As New StringBuilder
Try
strBody.Append("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
strBody.Append("<head> ")
strBody.Append(" <style type=""text/css""> ")
strBody.Append(" body ")
strBody.Append(" { ")
strBody.Append(" margin:0px; ")
strBody.Append(" padding:0px 0px 0px 0px; ")
strBody.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
strBody.Append(" font-size: 10px; ")
strBody.Append(" background-color:#F0F0F0; ")
strBody.Append(" } ")
strBody.Append(" a.Texto ")
strBody.Append(" { ")
strBody.Append(" font-size:11px; ")
strBody.Append(" background-color:#F7F6F3; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" } ")
strBody.Append(" .Texto ")
strBody.Append(" { ")
strBody.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .TextoAlterno ")
strBody.Append(" { ")
strBody.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
strBody.Append(" vertical-align:middle; height:20px;")
strBody.Append(" } ")
strBody.Append(" .BarraIdentidad ")
strBody.Append(" { ")
strBody.Append(" color:#FFFFFF; ")
strBody.Append(" background:#F0F0F0; ")
strBody.Append(" font-weight:bold; ")
strBody.Append(" font-size:19px; ")
strBody.Append(" font-style:oblique; ")
strBody.Append(" } ")
strBody.Append(" .Titulos ")
strBody.Append(" { ")
strBody.Append(" background-color: Gray;")
strBody.Append(" color:White; ")
strBody.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
strBody.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
strBody.Append(" text-decoration:none; ")
strBody.Append(" } ")
strBody.Append(" .Verde {color: #00CC00;} ")
strBody.Append(" .Negro {color: #000000;} ")
strBody.Append(" .Rojo {color: #FF0000;} ")
strBody.Append(" </style> ")
strBody.Append("</head> ")
strBody.Append("<body> ")
strBody.Append(" <h5> ")
strBody.Append(" Estimado proveedor, la última compra registrada ha sido evaluada por nuestro personal de compras, Aqui mostramos el resultado:")
strBody.Append(" </h5> ")
strBody.Append(" <div id=""C_divOC"" style=""width: 550px""> <fieldset> <legend><b> Datos de la evaluación</b></legend> ")
strBody.Append(" <table border=""0"" cellpadding=""0"" cellspacing=""0"" width=""550px""> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Empresa que evalua:</td><td colspan=""3""><b>{0}</b></td> ", Empresa)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td style=""width: 90px""> Proveedor:</td><td colspan=""3""><b>{0}</b></td> ", Proveedor)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")
strBody.AppendFormat(" <td>Serie-Folio:</td><td colspan='3'><b>{0}</b></td> ", SerieFolio)
strBody.Append(" </tr> ")
strBody.Append(" <tr style=""height: 22px""> ")

284
Compras/Importaciones.aspx Normal file
View File

@@ -0,0 +1,284 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Importaciones.aspx.vb" Inherits="Compras_Importaciones" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Importaciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<div class="row">
<div class="col-md-6">
<asp:UpdatePanel ID="UpRegistro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet light smmallpadding bordered " id="PorletRegistro">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Registro</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-2">Pedimento:</div>
<div class="col-md-10">
<asp:TextBox ID="TxtPedimento" CssClass="form-control" runat="server" MaxLength="50" Width="300px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TxtDescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVDescripcion" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<div class="col-md-2">Descripción:</div>
<div class="col-md-10">
<asp:TextBox ID="TxtDescripcion" CssClass="form-control" runat="server" MaxLength="50" Width="300px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" ControlToValidate="TxtDescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDescripcion" runat="server" HighlightCssClass="vco" TargetControlID="RFVDescripcion" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<div class="col-md-2">Fecha:</div>
<div class="col-md-10">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="TxtFecha" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="imgCalendario" class="btn default"> <i class="fa fa-calendar"></i> </asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFecha" TargetControlID="TxtFecha" PopupButtonID="imgCalendario" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFecha" runat="server" ControlToValidate="TxtFecha" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFecha" runat="server" HighlightCssClass="vco" TargetControlID="RFVFecha"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-md-2">Aduanal</div>
<div class="col-md-10">
<asp:DropDownList runat="server" ID="DdlAduanal" Width="300px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></asp:DropDownList>
</div>
</div>
<%-- <div class="row">
<div class="col-md-2">Proveedor:</div>
<div class="col-md-10">
<asp:Label ID="LbCompraProveedor" Text="" runat="server" />
</div>
</div>
<div class="row">
<div class="col-md-2">Serie-Folio:</div>
<div class="col-md-10">
<asp:HyperLink ID="HLCompraSerieFolio" CssClass="Texto" Target="_blank" Text="" runat="server" />
</div>
</div>
<div class="row">
<div class="col-md-2">Importe:</div>
<div class="col-md-10">
<asp:Label ID="LbCompraImporte" Text="" runat="server" />
</div>
</div>--%>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="col-md-6">
<asp:UpdatePanel ID="UpComprasVinculadas" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet light smmallpadding bordered " id="PorletComprasVinculadas">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Compras Vinculadas</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="actions">
<div class="btn-group">
<a runat="server" class="btn btn-circle btn-default" href="javascript:AbrirVentana('/Compras/PopUpBuscarFolioC.aspx?Opt=FactImp',800,600,'N');"><i class='fa fa-plus'></i>Vincular compra de importación</a>
<asp:Button ID="BtnVincularCompra" runat="server" ClientIDMode="Static" OnClick="BtnVincularCompra_Click" Style="display: none;" class="btn btn-primary" />
<asp:HiddenField runat="server" ID="HdnCveCompra" ClientIDMode="Static" Value="-1" />
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvComprasVinculadas" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD" Width="100%" GridLines="None" DataKeyNames="CveImportacionCompra" EmptyDataText="No hay compras vinculadas" >
<Columns>
<asp:BoundField HeaderText="Proveedor" DataField="RazonSocial" ItemStyle-Width="30%" />
<asp:HyperLinkField HeaderText="Serie-Folio" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" DataTextField="SerieFolio" ItemStyle-Width="10%" Target="_blank" />
<asp:BoundField HeaderText="Importe" DataField="Total" DataFormatString="{0:n2}" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Moneda" ItemStyle-HorizontalAlign="Center" DataField="Abreviatura" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="TC" ItemStyle-HorizontalAlign="Center" DataField="TipoCambio" ItemStyle-Width="5%" />
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" >
<ItemTemplate>
<div data-toggle="tooltip" data-original-title="Eliminar compra vinculada">
<asp:LinkButton ID="LnkEliminaCompraVinculada" OnClick="LnkEliminaCompraVinculada_Click" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="col-md-6 hidden">
<asp:UpdatePanel ID="UpActivoFijo" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet light smmallpadding bordered " id="PorletActivoFijo">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">ActivoFijo</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-2">Activo Fijo:</div>
<div class="col-md-10">
<asp:TextBox ID="TxtAF" runat="server" MaxLength="100" Width="350px"></asp:TextBox>
<asp:ImageButton ID="ImgAF" runat="server" ImageUrl="/Imagenes/buscar.gif" BorderWidth="0" OnClick="ImgAF_Click" />
<%-- <asp:RequiredFieldValidator ID="RFVAF" runat="server" ControlToValidate="TxtAF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Activo Fijo''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEAF" runat="server" HighlightCssClass="vco" TargetControlID="RFVAF" Width="300px"></ajax:ValidatorCalloutExtender> --%>
<asp:HiddenField runat="server" ID="HdnCveAF" ClientIDMode="Static" Value="-1" />
<asp:Button ID="BtnVincularAF" runat="server" ClientIDMode="Static" OnClick="BtnVincularAF_Click" Style="display: none;" class="btn btn-primary" />
</div>
</div>
<div class="row">
<div class="col-md-2">Código:</div>
<div class="col-md-10">
<asp:Literal ID="LtCodigoAF" runat="server"></asp:Literal></td>
</div>
</div>
<div class="row">
<div class="col-md-2">Descripción:</div>
<div class="col-md-10">
<asp:Literal ID="LtDescripcionAF" runat="server"></asp:Literal></td>
</div>
</div>
<div class="row">
<div class="col-md-2">Fecha:</div>
<div class="col-md-10">
<asp:Literal ID="LtFechaAF" runat="server"></asp:Literal></td>
</div>
</div>
<div class="row">
<div class="col-md-2">Valor Compra:</div>
<div class="col-md-10">
<asp:Literal ID="LtValorCompraAF" runat="server"></asp:Literal></td>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel ID="UpComprasGasto" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet light smmallpadding bordered " id="PorletComprasGasto">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Compras / Gasto</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
<div class="actions">
<div class="btn-group">
<a runat="server" class="btn btn-circle btn-default" href="javascript:AbrirVentana('/Compras/PopUpBuscarFolioC.aspx?Opt=FactFlete',800,600,'N');" data-toggle="tooltip" data-placement="top" title="Agregar compra(factura) de gastos."><i class='fa fa-plus'></i>Agregar compra de gasto</a>
<asp:Button ID="BtnVincularCompraGasto" runat="server" ClientIDMode="Static" OnClick="BtnVincularCompraGasto_Click" Style="display: none;" class="btn btn-primary" />
<asp:HiddenField runat="server" ID="HdnCveCompraGasto" ClientIDMode="Static" Value="-1" />
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD" Width="100%" GridLines="None" DataKeyNames="CveImportacionDetalle" EmptyDataText="No hay compras agregar aún">
<Columns>
<asp:BoundField HeaderText="Proveedor" DataField="RazonSocial" ItemStyle-Width="30%" />
<asp:HyperLinkField HeaderText="Serie-Folio" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" DataTextField="SerieFolio" ItemStyle-Width="10%" Target="_blank" />
<asp:BoundField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Descripción" DataField="Descripcion" ItemStyle-Width="20%" />
<asp:BoundField HeaderText="Importe" DataField="SubTotal" DataFormatString="{0:N2}" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Moneda" ItemStyle-HorizontalAlign="Center" DataField="Abreviatura" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="TC" ItemStyle-HorizontalAlign="Center" DataField="TipoCambio" ItemStyle-Width="5%" />
<asp:TemplateField HeaderText="Eliminar" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<div data-toggle="tooltip" title="Eliminar compra agregada">
<asp:LinkButton ID="imgD" runat="server" AlternateText="Eliminar" CausesValidation="False" CommandName="Delete" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar" data-btn-ok-label="si" />
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="row">
<div class="col-md-12 text-center">
<asp:Button ID="BtnGuardar" runat="server" Text="Registrar" ValidationGroup="GrpGuardar" OnClick="BtnGuardar_Click" class="btn btn-primary" />
<asp:Button ID="BtnEliminar" Text="Eliminar" runat="server" OnClick="BtnEliminar_Click" Visible="false" class="btn btn-primary" />
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript" language="javascript">
function CargaActivoFijo(CveAF) {
$get("HdnCveAF").value = CveAF;
$('#BtnVincularAF').click();
}
function CargaCompraGasto(v) {
$get("HdnCveCompraGasto").value = v;
$('#BtnVincularCompraGasto').click();
}
function VincularCompra(v) {
$get("HdnCveCompra").value = v;
$('#BtnVincularCompra').click();
}
</script>
</asp:Content>

View File

@@ -0,0 +1,494 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Compras_Importaciones
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property CveImportacion As Integer
Get
Return ViewState("CveImportacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveImportacion") = value
End Set
End Property
Private Property RowAF As DataRow
Get
Return CType(ViewState("RowAF"), DataRow)
End Get
Set(value As DataRow)
ViewState("RowAF") = value
End Set
End Property
Private Property DtCompras As DataTable
Get
Return CType(ViewState("DtCompras"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCompras") = value
End Set
End Property
Private Property DtComprasVinculadas As DataTable
Get
Return CType(ViewState("DtComprasVinculadas"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtComprasVinculadas") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
InicializaValores()
CargaURLParametros()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
DtCompras = New DataTable
DtComprasVinculadas = New DataTable
DdlAduanal.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlAduanal.DataBind()
TxtFecha.Text = Now.ToShortDateString
End Sub
#End Region
#Region " CARGA DATOS "
Private Sub CargaURLParametros()
If Request("CveImportacion") IsNot Nothing AndAlso IsNumeric(Request("CveImportacion")) AndAlso Request("CveImportacion").ToEntero > 0 Then
CveImportacion = Request("CveImportacion").ToEntero
BtnGuardar.Text = "Guardar"
CargaImportacion()
If UsuarioActual.TienePermisoProceso(103) Then
BtnEliminar.Visible = True
End If
Else
CveImportacion = -1
End If
End Sub
Private Sub CargaImportacion()
Dim ObjImportaciones As New ClsCompras
If ObjImportaciones.GetImportaciones(CveImportacion, -1, -1, "-1", "-1", UsuarioActual.CveEmpresa) Then
If ObjImportaciones.DtResultados.Rows.Count > 0 Then
TxtPedimento.Text = ObjImportaciones.DtResultados.Rows(0)("Pedimento").ToString
TxtDescripcion.Text = ObjImportaciones.DtResultados.Rows(0)("Descripcion").ToString
TxtFecha.Text = ObjImportaciones.DtResultados.Rows(0)("Fecha").ToString
DdlAduanal.SelectedValue = ObjImportaciones.DtResultados.Rows(0)("CveAduanal").ToString
'HdnCveCompra.Value = ObjImportaciones.DtResultados.Rows(0)("CveCompra").ToString
'LbCompraProveedor.Text = ObjImportaciones.DtResultados.Rows(0)("RazonSocial").ToString
'HLCompraSerieFolio.Text = ObjImportaciones.DtResultados.Rows(0)("SerieFolio").ToString
'HLCompraSerieFolio.NavigateUrl = $"/Compras/Compras.aspx?CveCompra={HdnCveCompra.Value}"
'LbCompraImporte.Text = ObjImportaciones.DtResultados.Rows(0)("Total").ToString
HdnCveAF.Value = ObjImportaciones.DtResultados.Rows(0)("CveActivoFijo").ToString
VincularAF()
If ObjImportaciones.GetImportacionesDetalle(CveImportacion, -1) Then
DtCompras = ObjImportaciones.DtResultados
Else
Alert("Ocurrió un error al cargar el detalle de la importación", TipoMensaje.MsgError)
End If
If ObjImportaciones.GetImportacionCompras(CveImportacion) Then
DtComprasVinculadas = ObjImportaciones.DtResultados
End If
Else
Alert("No se encontró la importación", TipoMensaje.MsgError)
End If
Else
Alert("Ocurrió un error al cargar la importación", TipoMensaje.MsgError)
End If
ObjImportaciones.Dispose()
CargaGrid()
CargaGridCompraVinculada()
End Sub
#End Region
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs)
If Not GvComprasVinculadas.Rows.Count > 0 Then
Alert("Tiene que tener al menos una compra vinculada", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If Not GvDatos.Rows.Count > 0 Then
Alert("Tiene que tener al menos una compra de gasto", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjImp As New ClsCompras
ObjImp.IniciaTransacSQL()
Dim ErrorImportacion = False
If CveImportacion < 0 Then
CveImportacion = ObjImp.AddImportacion(TxtPedimento.Text.Trim, TxtDescripcion.Text.Trim, DdlAduanal.SelectedValue.ToEntero, HdnCveAF.Value.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveImportacion > 0 Then
For Each dr As DataRow In DtCompras.Rows
If Not ObjImp.AddImportacionDetalle(CveImportacion, dr("CveCompra").ToString.ToEntero) Then
ErrorImportacion = True
End If
Next
Else
ErrorImportacion = True
End If
If CveImportacion > 0 Then
For Each dr As DataRow In DtComprasVinculadas.Rows
If Not ObjImp.AddImportacionCompra(CveImportacion, dr("CveCompra").ToString.ToEntero) Then
ErrorImportacion = True
End If
Next
Else
ErrorImportacion = True
End If
Else
If Not ObjImp.UpdateImportacion(TxtPedimento.Text.Trim, CveImportacion, TxtDescripcion.Text, DdlAduanal.SelectedValue.ToString.ToEntero, HdnCveAF.Value.ToEntero, TxtFecha.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
ErrorImportacion = True
End If
End If
If Not ErrorImportacion Then
BtnGuardar.Enabled = False
ObjImp.Commit()
Alert("Importación agregada con éxito.", TipoMensaje.MsgInformacion, "document.location.href=""/Compras/RepImportaciones.aspx"";")
Else
ObjImp.RollBack()
Alert("Ocurrió un error al registrar la importación. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjImp.Dispose()
End Sub
#End Region
#Region " ELIMINAR "
Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs)
Dim ObjImp As New ClsCompras
ObjImp.IniciaTransacSQL()
Dim ErrorEliminar = False
For Each dr As DataRow In DtCompras.Rows
If Not ObjImp.RemoveImportacionDetalle(dr("CveImportacionDetalle").ToString.ToEntero) Then
ErrorEliminar = True
End If
Next
For Each dr As DataRow In DtComprasVinculadas.Rows
If Not ObjImp.RemoveImportacionCompra(dr("CveImportacionCompra").ToString.ToEntero) Then
ErrorEliminar = True
End If
Next
If Not ErrorEliminar Then
If Not ObjImp.RemoveImportacion(CveImportacion) Then
ErrorEliminar = True
End If
End If
If Not ErrorEliminar Then
Alert("Importación elimnada con éxito.", TipoMensaje.MsgInformacion, "document.location.href=""/Compras/RepImportaciones.aspx"";")
ObjImp.Commit()
Else
Alert("Ocurrió un error eliminar la importación. Por favor vuelva a intentar.", TipoMensaje.MsgError)
ObjImp.RollBack()
End If
ObjImp.Dispose()
End Sub
#End Region
#Region " VINCULA COMPRA "
Protected Sub BtnVincularCompra_Click(sender As Object, e As EventArgs)
'VinculaCompra()
AgregaCompraVinculada()
End Sub
Private Sub VinculaCompra()
If HdnCveCompra.Value <> "-1" AndAlso IsNumeric(HdnCveCompra.Value) AndAlso HdnCveCompra.Value.ToEntero > 0 Then
Dim ObjCompras As New ClsCompras
Dim RowCompra As DataRow
If ObjCompras.GetImportacionCompra(HdnCveCompra.Value.ToEntero) AndAlso ObjCompras.DtResultados.Rows.Count = 0 Then
If ObjCompras.GetCompras(HdnCveCompra.Value.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
RowCompra = ObjCompras.DtResultados.Rows(0)
'LbCompraProveedor.Text = ObjCompras.DtResultados.Rows(0)("RazonSocial").ToString
'HLCompraSerieFolio.Text = $"{ObjCompras.DtResultados.Rows(0)("Serie").ToString} - {ObjCompras.DtResultados.Rows(0)("Folio").ToString}"
'LbCompraImporte.Text = $"$ {ObjCompras.DtResultados.Rows(0)("Total").ToString.FormatoNumero} {ObjCompras.DtResultados.Rows(0)("Abreviatura").ToString}"
Else
HdnCveCompra.Value = "-1"
End If
Else
Alert($"La compra ya forma parte de la importación: <b>{ObjCompras.DtResultados.Rows(0)("Importacion")}</b>. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
ObjCompras.Dispose()
End If
UpRegistro.Update()
End Sub
Private Sub CargaGridCompraVinculada()
GvComprasVinculadas.DataSource = DtComprasVinculadas
GvComprasVinculadas.DataBind()
UpComprasVinculadas.Update()
End Sub
Protected Sub LnkEliminaCompraVinculada_Click(sender As Object, e As EventArgs)
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Dim TieneError = False
If CveImportacion > 0 AndAlso GvComprasVinculadas.Rows(gvRow.RowIndex).DataKey("CveImportacionCompra").ToEntero > 0 Then
Dim ObjImportaciones As New ClsCompras
If Not ObjImportaciones.RemoveImportacionCompra(GvComprasVinculadas.Rows(gvRow.RowIndex).DataKey("CveImportacionCompra").ToEntero) Then
TieneError = True
Alert("Ocurrió un error al eliminar la compra. Por favor intente de nuevo", TipoMensaje.MsgError)
Else
Alert("La compra de la importación se eliminó correctamente", TipoMensaje.MsgInformacion)
End If
ObjImportaciones.Dispose()
End If
If Not TieneError Then
'Dim RowDelete As DataRow = DtCompras.FiltroPrimero(String.Format("CveCompra = {0}", img.CommandArgument.ToString))
DtComprasVinculadas.Rows.RemoveAt(gvRow.RowIndex)
DtComprasVinculadas.AcceptChanges()
End If
CargaGridCompraVinculada()
End Sub
Private Sub AgregaCompraVinculada()
If Not (HdnCveCompra.Value <> "-1" AndAlso IsNumeric(HdnCveCompra.Value) AndAlso HdnCveCompra.Value.ToEntero > 0) Then
Alert("No hay compra seleccionaada", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjCompras As New ClsCompras
Dim ErrorAgregar = False
Dim RowCompra As DataRow = Nothing
If ObjCompras.GetCompras(HdnCveCompra.Value.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
RowCompra = ObjCompras.DtResultados.Rows(0)
If Not (ObjCompras.GetImportacionCompras(CveCompra:=HdnCveCompra.Value.ToEntero) AndAlso ObjCompras.DtResultados.Rows.Count = 0) Then
ErrorAgregar = True
Alert($"La compra ya forma parte de la importación: <b>{ObjCompras.DtResultados.Rows(0)("Importacion")}</b>. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
If Not (ObjCompras.GetImportacionCompra(HdnCveCompra.Value.ToEntero) AndAlso ObjCompras.DtResultados.Rows.Count = 0) Then
ErrorAgregar = True
Alert($"La compra ya forma parte de la importación: <b>{ObjCompras.DtResultados.Rows(0)("Importacion")}</b>. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
Else
ErrorAgregar = True
Alert("Ocurrió un error al cargar la información de la compra. Por favor comuniquese con atención SIG.", TipoMensaje.MsgError)
End If
If Not ErrorAgregar Then
If DtComprasVinculadas.FiltraParametros($"CveCompra = {RowCompra("CveCompra").ToString.ToEntero}").Rows.Count > 0 Then
ErrorAgregar = True
Alert("La compra seleccionada ya es parte de la importación. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
End If
If Not ErrorAgregar Then
If DtCompras.FiltraParametros($"CveCompra = {RowCompra("CveCompra").ToString.ToEntero}").Rows.Count > 0 Then
ErrorAgregar = True
Alert("La compra seleccionada ya es parte de la importación. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
End If
If Not ErrorAgregar Then
If Not GvComprasVinculadas.Rows.Count > 0 Then
DtComprasVinculadas = RowCompra.Table.Clone
DtComprasVinculadas.Columns.Add("CveImportacionCompra", Type.GetType("System.Int32"))
End If
If CveImportacion > 0 Then
If Not ObjCompras.AddImportacionCompra(CveImportacion, RowCompra("CveCompra").ToString.ToEntero) Then
ErrorAgregar = True
End If
End If
End If
If Not ErrorAgregar Then
DtComprasVinculadas.ImportRow(RowCompra)
CargaGridCompraVinculada()
If CveImportacion > 0 Then
Alert("La compra se agregó correctamente.", TipoMensaje.MsgInformacion)
End If
Else
Alert("Ocurrió un error al agregar la compra. Por favor intente de nuevo.", TipoMensaje.MsgError)
End If
HdnCveCompra.Value = "-1"
ObjCompras.Dispose()
UpComprasVinculadas.Update()
End Sub
#End Region
#Region " AGREGA AF "
Protected Sub ImgAF_Click(sender As Object, e As ImageClickEventArgs)
RegistraScript(String.Format("AbrirVentana('/AF/PopUpBuscarAF.aspx?Tipo=C',800,600,'N');", "aa"))
End Sub
Protected Sub BtnVincularAF_Click(sender As Object, e As EventArgs)
VincularAF()
End Sub
Private Sub VincularAF()
If HdnCveAF.Value <> "-1" AndAlso IsNumeric(HdnCveAF.Value) AndAlso HdnCveAF.Value.ToEntero > 0 Then
Dim ObjAF As New ClsAF
If ObjAF.GetActivosFijos(HdnCveAF.Value.ToString.ToEntero, UsuarioActual.CveEmpresa, "-1", "-1", -1, -1, "-1", -1, -1, -1, -1, -1, "", -1) Then
RowAF = ObjAF.DtResultados.Rows(0)
TxtAF.Text = RowAF("CodDesc").ToString
LtCodigoAF.Text = RowAF("Codigo").ToString
LtDescripcionAF.Text = RowAF("Descripcion").ToString
LtFechaAF.Text = RowAF("FechaCompra").ToString.Substring(1, 10)
LtValorCompraAF.Text = RowAF("ValorCompra").ToString.FormatoNumero
End If
ObjAF.Dispose()
End If
End Sub
#End Region
#Region " AGREGA COMPRA GASTO "
Protected Sub BtnVincularCompraGasto_Click(sender As Object, e As EventArgs)
AgregaCompraGasto()
End Sub
Private Sub VinculaCompraGasto()
'If HdnCveCompraGasto.Value <> "-1" AndAlso IsNumeric(HdnCveCompraGasto.Value) AndAlso HdnCveCompraGasto.Value.ToEntero > 0 Then
' Dim ObjCompras As New ClsCompras
' Dim RowCompra As DataRow
' If ObjCompras.GetCompras(HdnCveCompraGasto.Value.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
' RowCompra = ObjCompras.DtResultados.Rows(0)
' TxtDetalleCompra.Text = String.Format("Proveedor:{0} | Serie-Folio:{1}--{2} | Importe:{3}", ObjCompras.DtResultados.Rows(0)("RazonSocial").ToString, ObjCompras.DtResultados.Rows(0)("Serie").ToString, ObjCompras.DtResultados.Rows(0)("Folio").ToString, ObjCompras.DtResultados.Rows(0)("Total").ToString.FormatoNumero)
' Else
' HdnCveCompraGasto.Value = "-1"
' End If
' ObjCompras.Dispose()
'Else
'End If
End Sub
Protected Sub ImgAgregarCompraGasto_Click(sender As Object, e As ImageClickEventArgs)
AgregaCompraGasto()
End Sub
Private Sub AgregaCompraGasto()
If Not (HdnCveCompraGasto.Value <> "-1" AndAlso IsNumeric(HdnCveCompraGasto.Value) AndAlso HdnCveCompraGasto.Value.ToEntero > 0) Then
Alert("No hay compra seleccionaada", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjCompras As New ClsCompras
Dim ErrorAgregar = False
Dim RowCompra As DataRow = Nothing
If ObjCompras.GetCompras(HdnCveCompraGasto.Value.ToEntero, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then
RowCompra = ObjCompras.DtResultados.Rows(0)
If Not (ObjCompras.GetImportacionCompra(HdnCveCompraGasto.Value.ToEntero) AndAlso ObjCompras.DtResultados.Rows.Count = 0) Then
ErrorAgregar = True
Alert($"La compra ya forma parte de la importación: <b>{ObjCompras.DtResultados.Rows(0)("Importacion")}</b>. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
Else
ErrorAgregar = True
Alert("Ocurrió un error al cargar la información de la compra. Por favor comuniquese con atención SIG.", TipoMensaje.MsgError)
End If
If Not ErrorAgregar Then
If DtCompras.FiltraParametros($"CveCompra = {RowCompra("CveCompra").ToString.ToEntero}").Rows.Count > 0 Then
ErrorAgregar = True
Alert("La compra seleccionada ya es parte de la importación. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
End If
If Not ErrorAgregar Then
If DtComprasVinculadas.FiltraParametros($"CveCompra = {RowCompra("CveCompra").ToString.ToEntero}").Rows.Count > 0 Then
ErrorAgregar = True
Alert("La compra seleccionada ya es parte de la importación. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
End If
End If
If Not ErrorAgregar Then
If Not GvDatos.Rows.Count > 0 Then
DtCompras = RowCompra.Table.Clone
DtCompras.Columns.Add("CveImportacionDetalle", Type.GetType("System.Int32"))
End If
If CveImportacion > 0 Then
If Not ObjCompras.AddImportacionDetalle(CveImportacion, RowCompra("CveCompra").ToString.ToEntero) Then
ErrorAgregar = True
End If
End If
End If
If Not ErrorAgregar Then
DtCompras.ImportRow(RowCompra)
CargaGrid()
If CveImportacion > 0 Then
Alert("La compra se agregó correctamente.", TipoMensaje.MsgInformacion)
End If
Else
Alert("Ocurrió un error al agregar la compra. Por favor intente de nuevo.", TipoMensaje.MsgError)
End If
HdnCveCompraGasto.Value = "-1"
ObjCompras.Dispose()
End Sub
Private Sub GvDireccionesEnvio_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
Dim TieneError = False
If CveImportacion > 0 AndAlso GvDatos.Rows(e.RowIndex).DataKey("CveImportacionDetalle").ToEntero > 0 Then
Dim ObjImportaciones As New ClsCompras
If Not ObjImportaciones.RemoveImportacionDetalle(GvDatos.Rows(e.RowIndex).DataKey("CveImportacionDetalle").ToEntero) Then
TieneError = True
Alert("Ocurrió un error al eliminar el detalle. Por favor intente de nuevo", TipoMensaje.MsgError)
Else
Alert("El detalle de la importación se eliminó correctamente", TipoMensaje.MsgInformacion)
End If
ObjImportaciones.Dispose()
End If
If Not TieneError Then
'Dim RowDelete As DataRow = DtCompras.FiltroPrimero(String.Format("CveCompra = {0}", img.CommandArgument.ToString))
DtCompras.Rows.RemoveAt(e.RowIndex)
DtCompras.AcceptChanges()
End If
CargaGrid()
End Sub
Private Sub CargaGrid()
GvDatos.DataSource = DtCompras
GvDatos.DataBind()
UpComprasGasto.Update()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,194 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpBuscarFolioC.aspx.vb" Inherits="Compras_PopUpBuscarFolioC" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Búsqueda de Folios-Facturas
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlPrincipal" runat="server" DefaultButton="BtnBuscar" Width="750px">
<table class="Widthall">
<%--border="1" rules="all" style="border-collapse: collapse;"--%>
<tr>
<td class="Titulos" colspan="4">Filtros para búsqueda</td>
</tr>
<tr>
<td class="text-right"><b>Tipo de Documento:</b></td>
<td colspan="3">
<asp:DropDownList ID="DdlTipoDocto" CssClass="form-control input-sm select2me" runat="server" Class="table-group-action-input form-control input-inline input-small input-sm" Width="565px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
<asp:ListItem Text="Nota de Crédito" Value="NC"></asp:ListItem>
<asp:ListItem Text="Anticipo" Value="Ant"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr style="text-align: left">
<td class="text-right"><b>Folio:</b></td>
<td>
<asp:TextBox ID="TxtFolio" CssClass="form-control input-sm" runat="server" MaxLength="20" Width="180px" autofocus></asp:TextBox></td>
<td class="text-right"><b>Folio Fiscal:</b></td>
<td>
<asp:TextBox ID="TxtFolioFiscal" CssClass="form-control input-sm" runat="server" ClientIDMode="Static" MaxLength="40" Width="180px"></asp:TextBox>
</td>
</tr>
<tr style="text-align: left">
<td class="text-right"><b>Proveedor:</b></td>
<td>
<asp:DropDownList ID="DdlProveedor" CssClass="form-control input-sm select2me" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="180px"></asp:DropDownList>
</td>
</tr>
<tr style="text-align: left">
<td class="text-right"><b>Fecha Inicial:</b></td>
<td>
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="150px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="imgCalendario" class="btn default"> <i class="fa fa-calendar"></i> </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>
</td>
<td class="text-right"><b>Fecha Final:</b></td>
<td><%--style="vertical-align:middle" valign="middle"--%>
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="150px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="imgCalendarioF" class="btn default"> <i class="fa fa-calendar"></i> </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>
</td>
</tr>
<tr style="text-align: left">
<td class="text-right"><b>Descripción:</b></td>
<td>
<asp:TextBox ID="TxtDescripcion" CssClass="form-control input-sm" runat="server" MaxLength="50" Width="180px"></asp:TextBox></td>
<td class="text-right"><b>Observaciones:</b></td>
<td>
<asp:TextBox ID="TxtObservaciones" CssClass="form-control input-sm" runat="server" ClientIDMode="Static" MaxLength="100" Width="180px"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="4" style="text-align: center;">
<asp:Button ID="BtnBuscar" runat="server" Text="Buscar" class="btn btn-primary" /></td>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="TblBusqueda" runat="server" visible="false">
<div class="row">
<div class="col-md-12">Número de registros encontrados:&nbsp;<b><asp:Literal ID="LtlTotalRegistros" runat="server"></asp:Literal></b></div>
</div>
<tr>
<td>
<div id="DivFacturas" style="overflow-y: auto; width: 780px; height: 205px;">
<asp:GridView ID="GV" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" CssClass="ScrollAD table table-smallpadding Widthall" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Tipo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTipo" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Folio</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFolio" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proveedor</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Total</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTotal" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Moneda</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMoneda" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<%-- <RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />--%>
</asp:GridView>
</div>
</td>
</tr>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function Ir(v) {
gotourl('/Compras/Compras.aspx?CveCompra=' + v);
}
function Ir2(v) {
window.opener.CargaCompra(v);
window.close();
parent.$('#ajax').modal('hide');
}
function Ir3(v) {
window.opener.VincularCompra(v);
window.close();
parent.$('#ajax').modal('hide');
}
function Ir4(v) {
window.opener.CargaCompraGasto(v);
window.close();
parent.$('#ajax').modal('hide');
}
//$(document).ready(function () {
// $("#TxtFolioFiscal").mask("********-****-****-****-************");
//});
</script>
</asp:Content>

View File

@@ -0,0 +1,104 @@
Option Explicit On
Option Strict On
Imports Extensiones
Partial Class Compras_PopUpBuscarFolioC
Inherits ClsPaginas
Private ReadOnly Property OpcionBusqueda As String
Get
Return ViewState("Opt").ToString
End Get
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CType(Me.Master, BaseMasterPage).EsPopup = True
CType(Me.Master, BaseMasterPage).PopupWidth = 900
'RegistraScript("$get('tdContenido').style.height='470px'")
CargaProveedor()
txtFechaI.Text = Now.AddDays(-30).ToShortDateString
txtFechaI.Text = Now.AddYears(-1).ToShortDateString
If Request("Opt") = "Fact" Then
ViewState("Opt") = "MandaCveCompra"
Else
ViewState("Opt") = "RecargaCompra"
End If
End If
End Sub
Protected Sub CargaProveedor()
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub BtnBuscar_Click(sender As Object, e As System.EventArgs) Handles BtnBuscar.Click
Dim ObjCompras As New ClsCompras()
Dim Folio As String = "-1"
Dim FolioFiscal As String = "-1"
Dim Codigo As String = "-1"
Dim Proveedor As String = "-1"
Dim FechaI As String = "-1"
Dim FechaF As String = "-1"
Dim Descripcion, Obs As String
Folio = If(TxtFolio.Text.Trim.Length = 0, "-1", TxtFolio.Text.Trim)
FolioFiscal = If(TxtFolioFiscal.Text.Trim.Length = 0, "-1", TxtFolioFiscal.Text.Trim)
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Descripcion = If(TxtDescripcion.Text.Trim = "", "-1", TxtDescripcion.Text.Trim)
Obs = If(TxtObservaciones.Text.Trim = "", "-1", TxtObservaciones.Text.Trim)
If ObjCompras.GetCompras(UsuarioActual.CveEmpresa, DdlTipoDocto.SelectedValue, Folio, FolioFiscal, Codigo, Proveedor, FechaI, FechaF, Descripcion, Obs, CveProveedor:=DdlProveedor.SelectedValue.ToEntero) Then
If ObjCompras.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjCompras.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjCompras.DtResultados
Else
LtlTotalRegistros.Text = "0"
GV.DataSource = Nothing
Alert("No se encontraron registros con los parámetros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
End If
End If
ObjCompras.Dispose()
GV.DataBind()
UPDatos.Update()
TblBusqueda.Visible = True
End Sub
Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
Dim Liga As String = String.Empty
Select Case Request("Opt")
Case "Fact"
Liga = String.Format("<a class='Texto' href='javascript:Ir2(""{0}"");'>", e.Row.DBCampo("CveCompra"))
Case "FactImp"
Liga = String.Format("<a class='Texto' href='javascript:Ir3(""{0}"");'>", e.Row.DBCampo("CveCompra"))
Case "FactFlete"
Liga = String.Format("<a class='Texto' href='javascript:Ir4(""{0}"");'>", e.Row.DBCampo("CveCompra"))
Case Else
Liga = String.Format("<a class='Texto' href='javascript:Ir(""{0}"");'>", e.Row.DBCampo("CveCompra"))
End Select
e.Row.FCLiteral("LtlTipo").Text = String.Format("<div class='truncate' style='width:34px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("TipoDocto"))
e.Row.FCLiteral("LtlFolio").Text = String.Format("<div class='truncate' style='width:80px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("SerieFolio"))
e.Row.FCLiteral("LtlFecha").Text = String.Format("<div class='truncate' style='width:64px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Fecha").ToDate.ToShortDateString)
e.Row.FCLiteral("LtlNombre").Text = String.Format("<div class='truncate' style='width:325px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("RazonSocial"))
e.Row.FCLiteral("LtlTotal").Text = String.Format("<div class='truncate' style='width:72px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Total").FormatoNumero)
e.Row.FCLiteral("LtlMoneda").Text = String.Format("<div class='truncate' style='width:65px;'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Abreviatura"))
End If
End Sub
End Class

View File

@@ -0,0 +1,156 @@
<%@ Page Title="Compras - Búsqueda de Proveedores" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpBuscarProveedor.aspx.vb" Inherits="Compras_PopUpBuscarProveedor" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
<asp:Label ID="LblTitulo" runat="server" Text="Búsqueda de Proveedores"></asp:Label>
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:HiddenField ID="hdnEsThickbox" runat="server" ClientIDMode="Static" />
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="width:750px;"> <%--border="1" rules="all" style="border-collapse: collapse;"--%>
<tr>
<td class="Titulos" colspan="4">Filtros para búsqueda</td>
</tr>
<tr align="left">
<td class="text-right"><b>Razón Social:</b></td>
<td>
<asp:TextBox ID="TxtRazonSocial" runat="server" MaxLength="96" Width="200px"></asp:TextBox></td>
<td class="text-right"><b>Código:</b></td>
<td>
<asp:TextBox ID="TxtCodigo" runat="server" MaxLength="50" Width="200px"></asp:TextBox></td>
</tr>
<tr align="left">
<td class="text-right"><b>Nombre Comercial:</b></td>
<td>
<asp:TextBox ID="TxtNombreComercial" runat="server" MaxLength="50" Width="200px"></asp:TextBox></td>
<td class="text-right"><b>Nombre Corto:</b></td>
<td>
<asp:TextBox ID="TxtNombreCorto" runat="server" MaxLength="10" Width="200px"></asp:TextBox></td>
</tr>
<tr align="left">
<td class="text-right"><b>RFC:</b></td>
<td>
<asp:TextBox ID="TxtRFC" runat="server" MaxLength="13" Width="200px"></asp:TextBox></td>
<td class="text-right"><b>Contacto:</b></td>
<td>
<asp:TextBox ID="TxtContacto" runat="server" MaxLength="50" Width="200px"></asp:TextBox></td>
</tr>
<tr align="left">
<td class="text-right"><b>Tipo Proveedor:</b></td>
<td>
<asp:DropDownList ID="DdlTipoProveedor" runat="server" AppendDataBoundItems="true" DataTextField="TipoProveedor" DataValueField="CveTipoProveedor" MaxLength="13" Width="200px" Height="25px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList></td>
<td class="text-right" style="display: none;"><b>Teléfono:</b></td>
<td style="display: none;">
<asp:TextBox ID="TxtTelefono" runat="server" MaxLength="10" Width="200px"></asp:TextBox></td>
</tr>
<tr>
<td colspan="4" style="text-align: center;">
<asp:Button ID="BtnBuscar" runat="server" Text="Buscar" class="btn btn-primary" /></td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table id="TblBusqueda" runat="server" border="0" visible="false">
<tr>
<td align="left">Número de registros encontrados:&nbsp;<b><asp:Literal ID="LtlTotalRegistros" runat="server"></asp:Literal></b></td>
</tr>
<tr>
<td>
<div id="DivProveedores" style="overflow-y: auto; width: 765px; height: 305px;">
<asp:GridView ID="GV" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" ToolTip="Listado de Contratos encontrados." CssClass="table table-striped table-advance table-hover" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Código</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCodigo" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Razón Social</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRazonSocial" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Nombre Comercial</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombreComercial" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Nombre Corto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombreCorto" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>RFC</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRFC" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Contacto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlContacto" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<%--<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos"></HeaderStyle>
<AlternatingRowStyle CssClass="TextoAlterno" />--%>
</asp:GridView>
</div>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script language="javascript" type="text/javascript">
function Ir(c) {
gotourl('/Compras/Proveedores.aspx?CveProveedor=' + c);
}
function Ir2(c) {
debugger;
if (document.getElementById("hdnEsThickbox").value == "S") {
parent.CargaProveedor(c);
parent.tb_remove();
}
else {
window.opener.CargaProveedor(c);
window.close();
}
}
function IrOI(c) {
window.opener.CargaProveedor(c);
window.close();
}
function IrPoliza(c) {
debugger;
window.opener.CargaProveedor(c);
window.close();
parent.$('#ajax').modal('hide');
}
</script>
</asp:Content>

View File

@@ -0,0 +1,118 @@
Option Explicit On
Option Strict On
Imports Extensiones
Partial Class Compras_PopUpBuscarProveedor
Inherits ClsPaginas
Private ReadOnly Property OpcionBusqueda As String
Get
Return ViewState("Opt").ToString
End Get
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CType(Me.Master, BaseMasterPage).EsPopup = True
CType(Me.Master, BaseMasterPage).PopupWidth = 780
RegistraScript("$get('tdContenido').style.height='465px'")
Dim Txt As String = IfNull(Request("Txt"), "").ToString
If Txt <> "" Then LblTitulo.Text = String.Format("Búsqueda de {0}", Txt)
Select Case Request("Opt")
Case "Fact"
ViewState("Opt") = "Factura"
Case "OI/OE"
ViewState("Opt") = "OI/OE"
Case "Poliza"
ViewState("Opt") = "Poliza"
Case Else
ViewState("Opt") = "Expediente"
End Select
If Not Request("EsThickbox") Is Nothing Then
hdnEsThickbox.Value = Request("EsThickbox")
Else
hdnEsThickbox.Value = "N"
End If
End If
End Sub
Protected Sub BtnBuscar_Click(sender As Object, e As System.EventArgs) Handles BtnBuscar.Click
Dim ObjProveedor As New ClsCompProveedores()
Dim Codigo As String = "-1"
Dim RazonSocial As String = "-1"
Dim NombreComercial As String = "-1"
Dim NombreCorto As String = "-1"
Dim RFC As String = "-1"
Dim Contacto As String = "-1"
Dim Telefono As String = "-1"
Dim CveTipoProveedor As Integer = -1
If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim
If TxtRazonSocial.Text.Trim <> String.Empty Then RazonSocial = TxtRazonSocial.Text.Trim
If TxtNombreComercial.Text.Trim <> String.Empty Then NombreComercial = TxtNombreComercial.Text.Trim
If TxtNombreCorto.Text.Trim <> String.Empty Then NombreCorto = TxtNombreCorto.Text.Trim
If TxtRFC.Text.Trim <> String.Empty Then RFC = TxtRFC.Text.Trim
If TxtContacto.Text.Trim <> String.Empty Then Contacto = TxtContacto.Text.Trim
If TxtTelefono.Text.Trim <> String.Empty Then Telefono = TxtTelefono.Text.Trim
CveTipoProveedor = DdlTipoProveedor.SelectedValue.ToEntero
If ObjProveedor.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, Codigo, RazonSocial, NombreComercial, NombreCorto, RFC, Contacto, Telefono, -1, UsuarioActual.CveEmpresa, CveTipoProveedor:=CveTipoProveedor) Then
If ObjProveedor.DtResultados.Rows.Count > 0 Then
LtlTotalRegistros.Text = ObjProveedor.DtResultados.Rows.Count.ToString.FormatoNumero(0)
GV.DataSource = ObjProveedor.DtResultados
Else
LtlTotalRegistros.Text = "0"
GV.DataSource = Nothing
Alert("No se encontraron registros con los parámetros solicitados.", Extensiones.TipoMensaje.MsgAdvertencia)
End If
End If
ObjProveedor.Dispose()
GV.DataBind()
UPDatos.Update()
TblBusqueda.Visible = True
End Sub
Protected Sub GV_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
'e.Row.Cells(0).Width = Unit.Pixel(40)
'e.Row.Cells(1).Width = Unit.Pixel(200)
'e.Row.Cells(2).Width = Unit.Pixel(200)
'e.Row.Cells(3).Width = Unit.Pixel(60)
'e.Row.Cells(4).Width = Unit.Pixel(60)
'e.Row.Cells(5).Width = Unit.Pixel(130)
End If
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(2).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Left
Dim Liga As String = String.Empty
Select Case OpcionBusqueda
Case "Factura"
Liga = String.Format("<a class='Texto' href='javascript:Ir2(""{0}"");'>", e.Row.DBCampo("CveProveedor"))
Case "OI/OE"
Liga = String.Format("<a class='Texto' href='javascript:IrOI(""{0}"");'>", e.Row.DBCampo("CveProveedor"))
Case "Poliza"
Liga = String.Format("<a class='Texto' href='javascript:IrPoliza(""{0}"");'>", e.Row.DBCampo("CveProveedor"))
Case Else
Liga = String.Format("<a class='Texto' href='javascript:Ir(""{0}"");'>", e.Row.DBCampo("CveProveedor"))
End Select
e.Row.FCLiteral("LtlCodigo").Text = String.Format("<div class='truncate' style='width:55px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("Codigo"))
e.Row.FCLiteral("LtlRazonSocial").Text = String.Format("<div class='truncate' style='width:165px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("RazonSocial"))
e.Row.FCLiteral("LtlNombreComercial").Text = String.Format("<div class='truncate' style='width:165px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("NombreComercial"))
e.Row.FCLiteral("LtlNombreCorto").Text = String.Format("<div class='truncate' style='width:80px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("NombreCorto"))
e.Row.FCLiteral("LtlRFC").Text = String.Format("<div class='truncate' style='width:120px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("RFC"))
e.Row.FCLiteral("LtlContacto").Text = String.Format("<div class='truncate' style='width:65px'>{0}{1}</a></div>", Liga, e.Row.DBCampo("ContactoNombre"))
End If
End Sub
End Class

View File

@@ -0,0 +1,145 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpFacturasPendientesAutorizar.aspx.vb" Inherits="Compras_PopUpFacturasPendientesAutorizar" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Facturas Pendientes de Autorizar
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlPrincipal" runat="server" Width="750px">
<table class="Widthall"> <%--border="1" rules="all" style="border-collapse: collapse;"--%>
<%-- <tr>
<td class="Titulos" colspan="5">Filtros para búsqueda</td>
</tr>--%>
<tr style="text-align:left">
<%-- <td class="text-right"><b>Fecha Inicial:</b></td>
<td>
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding:0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="150px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="imgCalendario" class="btn default"> <i class="fa fa-calendar"></i> </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>
</td>
<td class="text-right"><b>Fecha Final:</b></td>
<td >
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding:0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="150px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="imgCalendarioF" class="btn default"> <i class="fa fa-calendar"></i> </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>
</td>--%>
<%-- <td><asp:Button ID="BtnBuscar" runat="server" Text="Buscar" class="btn btn-primary" /></td>--%>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<br />
<table id="TblBusqueda" runat="server" border="0" visible="false">
<tr>
<td >
<div class ="row" >
<div class="col-sm-6" style="text-align:left!important">Número de registros encontrados:<b><asp:Literal ID="LtlTotalRegistros" runat="server"></asp:Literal></b></div>
<div class="col-sm-6" style="text-align:right!important">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</td>
</tr>
<tr>
<td>
<asp:GridView ID="GV" Width="735" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron registros" ToolTip="Listado de Facturas Pendientes de Autorizar"
CssClass="table table-striped table-hover Widthall ScrollAD" data-height="400" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblProveedor" runat="server" Text='<%# Eval("Proveedor") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Factura" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblSerieFolio" runat="server" Text='<%# Eval("SerieFolio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Proyecto" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblFecha" runat="server" Text='<%# Eval("Fecha") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha V." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblFechav" runat="server" Text='<%# Eval("Fechav") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="lblSaldo" Width="100" runat="server" Text='<%# Eval("Saldo") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText=" " ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="lblEspacio" runat="server" Text=' '></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" HorizontalAlign="Left" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function Ir(v) {
gotourl('/Compras/Compras.aspx?CveCompra=' + v);
}
//$(document).ready(function () {
// $("#TxtFolioFiscal").mask("********-****-****-****-************");
//});
</script>
</asp:Content>

View File

@@ -0,0 +1,85 @@
Imports Extensiones
Imports System.Data
Partial Class Compras_PopUpFacturasPendientesAutorizar
Inherits ClsPaginas
Private Sub Compras_PopUpFacturasPendientesAutorizar_Load(sender As Object, e As EventArgs) Handles Me.Load
CType(Me.Master, BaseMasterPage).EsPopup = True
CType(Me.Master, BaseMasterPage).PopupWidth = 750
If Not IsPostBack Then
Dim dTime As Date = Now
' txtFechaF.Text = dTime.ToString("dd/MM/yyyy")
dTime = dTime.AddDays(-30)
' txtFechaI.Text = dTime.ToString("dd/MM/yyyy")
cargadatos()
End If
End Sub
Private Sub cargadatos()
Dim objCompras As New ClsCompras
Dim dTime As Date = Now
Dim FechaInc As Date = dTime
dTime = dTime.AddDays(-30)
Dim FechaFin As Date = dTime
objCompras.GetFacturasPendientesDeAutorizar(UsuarioActual.Empresa.CveEmpresa, FechaInc, FechaFin)
If objCompras.DtResultados.Rows.Count > 0 Then
TblBusqueda.Visible = True
Else
TblBusqueda.Visible = True
End If
LtlTotalRegistros.Text = objCompras.DtResultados.Rows.Count.ToString
GV.DataSource = objCompras.DtResultados
GV.DataBind()
UPDatos.Update()
End Sub
'Protected Sub BtnBuscar_Click(sender As Object, e As EventArgs) Handles BtnBuscar.Click
' cargadatos()
'End Sub
Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If Not (e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5) Then
Dim saldo As Double = e.Row.DBCampo("Saldo").Trim.ToDecimal
'ostBackUrl =""
' e.Row.FCLinkButton("lnkSerieFolio").PostBackUrl = "" & e.Row.DBCampo("CveCompra")
' e.Row.FCLinkButton("lnkSerieFolio").Text = e.Row.DBCampo("SerieFolio")
Dim Liga As String = String.Empty
Liga = String.Format("<a class='Texto' href='javascript:Ir(""{0}"");'>", e.Row.DBCampo("CveCompra"))
e.Row.FCLabel("lblSerieFolio").Text = String.Format("<div >{0}{1}</a></div>", Liga, e.Row.DBCampo("SerieFolio"))
e.Row.FCLabel("LblSaldo").Font.Bold = True
e.Row.FCLabel("LblSaldo").Text = "$" & saldo.ToString("###,###,###.00") & " " & e.Row.DBCampo("Abreviatura").ToString & " "
e.Row.FCLabel("lblFecha").Text = Date.Parse(e.Row.DBCampo("Fecha").ToString).ToString("dd/MM/yyyy")
e.Row.FCLabel("lblFechav").Text = Date.Parse(e.Row.DBCampo("Fechav").ToString).ToString("dd/MM/yyyy")
End If
End If
End Sub
End Class

View File

@@ -0,0 +1,18 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PopUpVerFactura.aspx.vb" Inherits="PopUpVerFactura" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content4" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="E" runat="Server">
Ver Factura
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content9" ContentPlaceHolderID="C" runat="Server">
<rvweb:ReportViewer Width="1000" Height="500" ID="ReportViewer1" runat="server"></rvweb:ReportViewer>
</asp:Content>
<asp:Content ID="Content10" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

File diff suppressed because it is too large Load Diff

4230
Compras/Proveedores.aspx Normal file

File diff suppressed because it is too large Load Diff

5596
Compras/Proveedores.aspx.vb Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,210 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="ProveedoresAuxiliar.aspx.vb" Inherits="Compras_ProveedoresAuxiliar" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.Widthall {
width: 100% !important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position: static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Auxiliar de Proveedor
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:UpdatePanel runat="server" style="display: inline-block;">
<ContentTemplate>
<asp:Button ID="BtnConsultar" runat="server" Text="Buscar" class="btn btn-primary" OnClick="BtnConsultar_Click" ValidationGroup="Valida" />
</ContentTemplate>
</asp:UpdatePanel>
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate">Proveedor</label>
<div class="col-md-5">
<ADS:Dropdownlost ID="DdlProveeedores" CssClassDdl="select2me" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
</div>
<%-- <div class="col-md-1">Conceptos:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlConceptosContables" CssClass="form-control input-sm select2me" Width="100%" runat="server" DataTextField="ConceptoContable" DataValueField="CveConceptoContable" >
<asp:ListItem Value="-1">Todos</asp:ListItem>
</asp:DropDownList>
</div> --%>
<label class="col-md-1 truncate">Fecha Inicio:</label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" Width="85px" 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>
<label class="col-md-1 truncate">Fecha Fin:</label>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" Width="85px" 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 class="row">
<label class="col-md-1 truncate">Opción:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlOpcion" runat="server" Width="100%" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Text="Detallado" Value="1"></asp:ListItem>
<asp:ListItem Selected="True" Text="Agrupado por Compra" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="row col-md-12" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", "v") %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", "tablita") %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div class=" col-md-12">
<asp:UpdatePanel runat="server" ID="UpDatos" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvP" runat="server" CssClass="table table-advance table-hover Widthall ScrollAD" data-sort="true" BorderColor="#D3D3D3" BorderWidth="1" GridLines="none"
AutoGenerateColumns="False" EmptyDataText="No se encontraron resultados" OnRowDataBound="GvP_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label runat="server" ID="LblRazonSocial" Text='<%# Eval("RazonSocial") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha">
<ItemTemplate>
<asp:Label runat="server" ID="LblFecha" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Concepto" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label runat="server" ID="LblConceptoContable" Text='<%# Eval("ConceptoContable") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<%--<asp:TemplateField HeaderText="Tipo" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label runat="server" ID="LblTipo" Text='<%# Eval("TipoDocto") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
<asp:TemplateField>
<HeaderTemplate>Compra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplC" CssClass="Texto" runat="server" Target="_blank" Text='<%# Eval("SerieFolio")%>' NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}")%>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>Referencia</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplReferencia" CssClass="Texto" runat="server" Text='<%# Eval("FolioReferencia")%>' Target="_blank"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Cargo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblCargo" Text='<%# Eval("Cargo", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abono" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label runat="server" ID="LblAbono" Text='<%# Eval("Abono", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Moneda">
<ItemTemplate>
<asp:Label runat="server" ID="LblMoneda" Text='<%# Eval("Abreviatura") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,163 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_ProveedoresAuxiliar
Inherits ClsPaginas
#Region " PROPIEDADES"
Private Property DtActivosFijos As DataTable
Get
Return CType(ViewState("DtActivosFijos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtActivosFijos") = value
End Set
End Property
Private ReadOnly Property CveActivoFijo As Integer
Get
Return ViewState("CveActivoFijo").ToString.ToEntero
End Get
End Property
Private Property DTAFCaracteristicas As DataTable
Get
Return CType(ViewState("DTAFCaracteristicas"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTAFCaracteristicas") = value
End Set
End Property
Private Property DtDatos As DataTable
Get
Return DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaFiltros()
End If
End Sub
Private Sub CargaFiltros()
If (UsuarioActual.Empresa.Funcionalidad(105) = "1") Then
DdlProveeedores.setEsWebService(True)
DdlProveeedores.Attributes.Add("data-metodo", "getproveedores")
DdlProveeedores.SelectedText = "Todos"
DdlProveeedores.SelectedValue = "-1"
Else
DdlProveeedores.setEsWebService(False)
DdlProveeedores.ddl.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveeedores.ddl.DataBind()
DdlProveeedores.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'DdlConceptosContables.DataSource = GlobalDTContaConceptosContables(-1)
'DdlConceptosContables.DataBind()
'DdlConceptosContables.Items.Insert(0, New ListItem("Todos", "-1"))
txtFechaI.Text = Now.AddDays(-30).ToString("dd/MM/yyyy")
txtFechaF.Text = Now.ToString("dd/MM/yyyy")
End Sub
Private Sub CargaDatos()
Dim ObjConta As New ClsContabilidad
'Falta PA
If ObjConta.GetProveedoresAuxiliar(DdlProveeedores.SelectedValue.ToEntero, -1, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa,
DdlOpcion.SelectedValue.ToEntero) Then
If DdlOpcion.SelectedValue.ToEntero = 2 Then
GvP.DataSource = ObjConta.DtResultados.FiltraParametros($" IIF(ISNULL(CveConceptoContable,0) = 5 AND Importe >= 0,0,1) = 1 ")
Else
GvP.DataSource = ObjConta.DtResultados
End If
Else
GvP.DataSource = Nothing
End If
DtDatos = ObjConta.DtResultados
ObjConta.Dispose()
GvP.DataBind()
UpDatos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
#Region "I M P R I M I R"
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub GenerarPDF(Opcion As String)
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Proveedor = If(DdlProveeedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveeedores.SelectedText}")
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToString))
params.Add(New ReportParameter("Filtros", $"<b>Filtros:</b> {Proveedor}{FechaIn}{FechaFn}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/AuxiliarProveedor.rdlc", DtDatos, params, "AuxiliarProveedor", Opcion)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
GenerarPDF("PDF")
End Sub
#End Region
Protected Sub GvP_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If DdlOpcion.SelectedValue.ToEntero = 2 Then
If Not e.Row.DBCampo("CveConceptoContable").ToEntero > 0 Then
e.Row.CssClass = "Totales"
Else
e.Row.Cells(0).Text = ""
e.Row.Cells(7).Text = ""
End If
End If
If e.Row.DBCampo("TipoReferencia").ToEntero = 1 Then
e.Row.FCHyperLink("HplReferencia").NavigateUrl = $"/Bancos/IE.aspx?CveIE={e.Row.DBCampo("CveReferencia").ToEntero}"
ElseIf e.Row.DBCampo("TipoReferencia").ToEntero = 2 Then
e.Row.FCHyperLink("HplReferencia").NavigateUrl = $"/Compras/Compras.aspx?CveCompra={e.Row.DBCampo("CveReferencia").ToEntero}"
ElseIf e.Row.DBCampo("TipoReferencia").ToEntero = 3 Then
e.Row.FCHyperLink("HplReferencia").NavigateUrl = $"/Ventas/Ventas.aspx?CveVenta={e.Row.DBCampo("CveReferencia").ToEntero}"
End If
If e.Row.DBCampo("CveConceptoContable").ToEntero = 5 AndAlso e.Row.DBCampo("Importe").ToString.ToDouble < 0 Then
e.Row.ForeColor = Drawing.Color.Red
End If
End If
End Sub
End Class

View File

@@ -0,0 +1,9 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RecepcionFacturas.aspx.vb" Inherits="Compras_RecepcionFacturas" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,160 @@
'Imports HigLabo
'Imports HigLabo.Net
'Imports HigLabo.Net.Mail
Partial Class Compras_RecepcionFacturas
Inherits System.Web.UI.Page
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
RecepcionFacturas()
End If
End Sub
Private Sub RecepcionFacturas()
Dim ObjPop As New HigLabo.Net.Pop3.Pop3Client("mail.adsistemas.mx", 110, "julian@adsistemas.mx", "Sia123654")
ObjPop.Ssl = False
If ObjPop.Authenticate() Then
Dim Mails As Long = ObjPop.GetTotalMessageCount()
Dim SB As New StringBuilder
SB.Append("<table border=""1"">")
SB.Append("<tr>")
SB.Append("<td>#</td>")
SB.Append("<td>De</td>")
SB.Append("<td>Asunto</td>")
'SB.Append("<td>BodyText</td>")
SB.Append("<td>Fecha</td>")
SB.Append("<td>IsAttachment</td>")
SB.Append("<td>IsBody</td>")
SB.Append("<td>IsHtml</td>")
SB.Append("<td>IsMultiPart</td>")
SB.Append("<td>IsText</td>")
SB.Append("<td>To</td>")
SB.Append("</tr>")
'For i As Integer = 1 To Mails
Dim i As Integer = 0
Try
Dim Mail As HigLabo.Net.Mail.MailMessage = ObjPop.GetMessage(29)
Dim TieneXML As Boolean = True
For Each ct As HigLabo.Net.Pop3.MailContent In Mail.Contents
If ct.FileName.Trim <> "" Then
TieneXML = True
SB.Append("<tr>")
SB.Append("<td colspan=""5"">" & ct.FileName & "</td>")
SB.Append("</tr>")
'ct.DecodeData("d:\mail\" & ct.FileName)
End If
Next
If TieneXML Then
SB.Append("<tr>")
SB.Append("<td>" & i & "</td>")
SB.Append("<td>" & Mail.From & "</td>")
SB.Append("<td>" & Mail.Subject & "</td>")
'SB.Append("<td>" & Mail.BodyText & "</td>")
SB.Append("<td>" & Mail.Date.ToString("dd/mm/yyyy hh:mm:ss") & "</td>")
SB.Append("<td>" & Mail.IsAttachment & "</td>")
SB.Append("<td>" & Mail.BodyText & "</td>")
SB.Append("<td>" & Mail.IsHtml & "</td>")
SB.Append("<td>" & Mail.IsMultiPart & "</td>")
SB.Append("<td>" & Mail.IsText & "</td>")
SB.Append("<td>" & Mail.To & "</td>")
SB.Append("</tr>")
End If
Catch ex As HigLabo.Net.SocketClientException
SB.Append("<tr>")
SB.Append("<td colspan=""5"">" & i & "&nbsp;ex.mess" & ex.Message & "</td>")
SB.Append("</tr>")
End Try
'Next
SB.Append("</table>")
Response.Write(SB.ToString)
End If
'Dim ObjPop As New HigLabo.Net.Pop3.Pop3Client("mail.adsistemas.mx", 110, "julian@adsistemas.mx", "Sia123654")
'ObjPop.Ssl = False
'If ObjPop.Authenticate() Then
' Dim Mails As Long = ObjPop.GetTotalMessageCount()
' Dim SB As New StringBuilder
' SB.Append("<table border=""1"">")
' SB.Append("<tr>")
' SB.Append("<td>Consec</td>")
' SB.Append("<td>Bcc</td>")
' SB.Append("<td>BodyData</td>")
' SB.Append("<td>BodyText</td>")
' SB.Append("<td>Cc</td>")
' SB.Append("<td>CharSet</td>")
' SB.Append("<td>Data</td>")
' SB.Append("<td>Date.ToString</td>")
' SB.Append("<td>From</td>")
' SB.Append("<td>IsAttachment</td>")
' SB.Append("<td>IsBody</td>")
' SB.Append("<td>IsHtml</td>")
' SB.Append("<td>IsMultiPart</td>")
' SB.Append("<td>IsText</td>")
' SB.Append("<td>Size</td>")
' SB.Append("<td>Subject</td>")
' SB.Append("<td>To</td>")
' SB.Append("</tr>")
' For i As Integer = 1 To Mails
' 'Dim i As Integer = 0
' Try
' Dim Mail As HigLabo.Net.Mail.MailMessage = ObjPop.GetMessage(20)
' SB.Append("<tr>")
' SB.Append("<td>" & i & "</td>")
' SB.Append("<td>" & Mail.Bcc & "</td>")
' SB.Append("<td>" & Mail.BodyData & "</td>")
' SB.Append("<td>" & Mail.BodyText & "</td>")
' SB.Append("<td>" & Mail.Cc & "</td>")
' SB.Append("<td>" & Mail.CharSet & "</td>")
' SB.Append("<td>" & Mail.Data & "</td>")
' SB.Append("<td>" & Mail.Date.ToString & "</td>")
' SB.Append("<td>" & Mail.From & "</td>")
' SB.Append("<td>" & Mail.IsAttachment & "</td>")
' SB.Append("<td>" & Mail.IsBody & "</td>")
' SB.Append("<td>" & Mail.IsHtml & "</td>")
' SB.Append("<td>" & Mail.IsMultiPart & "</td>")
' SB.Append("<td>" & Mail.IsText & "</td>")
' SB.Append("<td>" & Mail.Size & "</td>")
' SB.Append("<td>" & Mail.Subject & "</td>")
' SB.Append("<td>" & Mail.To & "</td>")
' SB.Append("</tr>")
' For Each ct As HigLabo.Net.Pop3.MailContent In Mail.Contents
' ct.DecodeHeaderText = True
' If ct.FileName.Trim <> "" Then
' SB.Append("<tr>")
' SB.Append("<td colspan=""16"">" & ct.FileName & "</td>")
' SB.Append("</tr>")
' ct.DecodeData("d:\mail\" & ct.FileName)
' End If
' Next
' Catch ex As HigLabo.Net.SocketClientException
' SB.Append("<tr>")
' SB.Append("<td colspan=""16"">" & i & "&nbsp;" & ex.Message & "</td>")
' SB.Append("</tr>")
' End Try
' Next
' SB.Append("</table>")
' Response.Write(SB.ToString)
'End If
End Sub
End Class

513
Compras/Reembolsos.aspx Normal file
View File

@@ -0,0 +1,513 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="Reembolsos.aspx.vb" Inherits="Compras_Reembolsos" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript" language="javascript">
var Compra = '';
//NOTA:
//FALSE = VINCULADO
//TRUE = GENERADO
var tipoimporte = false;
function FnSuma(t, txt, importe, hdngenerado, hdnvinculado) {
var Excedente = 0;
//var ImporteVinculado = ToDouble($get('TxtImporteVinculado').value);
//var ImporteGenerado = ToDouble($get('TxtImporte').value);
if (t.checked) {
txt.value = FormatoNumero(importe, 2);
} else {
txt.value = "";
hdngenerado.value = "-1";
hdnvinculado.value = "-1";
}
Excedente = SumaValores();
if (Excedente > 0) {
txt.value = FormatoNumero(importe - Excedente, 2);
alert("El Importe no debe de exceder a el saldo del cheque");
}
//if (t.checked) {
// hdngenerado.value = FormatoNumero(ToDouble($get('TxtImporte').value) - ImporteGenerado, 2);
// hdnvinculado.value = FormatoNumero(ToDouble($get('TxtImporteVinculado').value) - ImporteVinculado, 2);
//}
}
function SumaValores() {
var Importe = 0;
var Diferencia = 0;
var DiferenciaLimite = 0;
var Saldo = 0;
var topLevelElem = document.getElementById("form1");
var textBoxes = topLevelElem.getElementsByTagName("input");
var idd = '';
Compra = '';
FechasCompra = '';
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "text") {
if (textBoxes[i].id.indexOf('C_GvCxP_TxtAbonar') >= 0) {
if (textBoxes[i].value != '') {
idd = textBoxes[i].id.replace('C_GvCxP_TxtAbonar_', '');
Importe = ToDouble(Importe) + ToDouble(textBoxes[i].value.split(',').join(''));
//SI TIENE CHEQUE VINCULADO
if (parseFloat($get('HdnCheque').value) > 0) {
Saldo = ToDouble($get('TxtChequeSaldo').value);
//SI SE VA A EXPEDIR CHEQUE EXCEDENTE
if ($get('C_ChkChequeExcedente').checked) {
Diferencia = Importe - Saldo;
if (Diferencia > 0) {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
} else {
if (FechasCompra != "") {
FechasCompra = FechasCompra + ',';
}
FechasCompra = FechasCompra + $get("C_GvCxP_LtlFecha_" + idd).innerText;
}
}
} else {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
}
}
}
}
}
//SI TIENE CHEQUE VINCULADO
if (parseFloat($get('HdnCheque').value) > 0) {
Saldo = ToDouble($get('TxtChequeSaldo').value);
//SI SE VA A EXPEDIR CHEQUE EXCEDENTE, OBTENEMOS EL SALDO EXCEDENTE
if ($get('C_ChkChequeExcedente').checked) {
Diferencia = Importe - Saldo;
if (Diferencia > 0) {
Importe = Importe - Diferencia;
} else {
Diferencia = 0;
}
if (Compra != '') {
$get('TxtObservaciones').value = $get('HdnObs').value + ' Compra: ' + Compra;
}
$get('TxtImporte').value = FormatoNumero(Diferencia, 2);
} else {
DiferenciaLimite = Importe - Saldo;
Importe = (Importe > Saldo) ? Saldo : Importe;
}
$get('TxtImporteVinculado').value = FormatoNumero(Importe, 2);
} else {
$get('TxtImporte').value = FormatoNumero(Importe, 2);
$get('TxtObservaciones').value = $get('HdnObs').value + ' Compra: ' + Compra;
}
$get('HdnFechasComprasVinculadas').value = FechasCompra;
//Siempre regresamos DiferenciaLimite para si es mayor a 0 afectar el abono que se acaba de agregar
return DiferenciaLimite;
}
function FnCambia(chk, txt, saldo, hdngenerado, hdnvinculado) {
var Excedente = 0;
if (txt.value != '') {
chk.checked = true;
} else {
chk.checked = false;
}
if (ToDouble(txt.value) > saldo) {
txt.value = saldo;
alert("El Importe no debe de exceder a el saldo de la compra");
}
Excedente = SumaValores();
if (Excedente > 0) {
txt.value = FormatoNumero(ToDouble(txt.value) - Excedente, 2);
alert("El Importe no debe de exceder a el saldo del cheque");
}
}
</script>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="CSS" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="E" runat="Server">
Reembolsos
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr align="left" class="SubTotales">
<td style="width: 300px;">Tipo de Pago:
<asp:DropDownList ID="DdlTipoPago" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NombreComercial" DataValueField="CveCliente" OnSelectedIndexChanged="DdlTipoPago_SelectedIndexChanged" Width="170px">
<asp:ListItem Selected="True" Text="Seleccione un Tipo de Pago" Value="-1"></asp:ListItem>
<asp:ListItem Text="Funcionarios/Empleados" Value="1"></asp:ListItem>
<asp:ListItem Text="Caja Chica" Value="2"></asp:ListItem>
</asp:DropDownList>
</td>
<td id="TdFunEmp" runat="server" visible="false" style="width: 500px;">Funcionario/Empleado:
<asp:DropDownList ID="DdlPersonal" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NombreCompletoNombre" DataValueField="CvePersonal" Width="270px">
<asp:ListItem Selected="True" Text="Seleccione un Funcionario o Empleado" Value="-2"></asp:ListItem>
</asp:DropDownList>
</td>
<td id="TdCajaChica" runat="server" visible="false" style="width: 500px;">Cuenta:
<asp:DropDownList ID="DdlCajaChica" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="270px">
<asp:ListItem Selected="True" Text="Seleccione una Cuenta" Value="-2"></asp:ListItem>
</asp:DropDownList>
</td>
<td style="width: 150px;">No. Reembolso:
<asp:TextBox ID="TxtNumeroReembolso" Width="30px" runat="server" />
<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtNumeroReembolso" FilterType="Numbers" />
</td>
<td style="border-left-style: solid; border-left-color: Blue; border-left-width: 1px;">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" />
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left; vertical-align: top;">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlCheques" runat="server" Visible="false" Width="100%" BackColor="#cccccc">
Cheques:
<asp:DropDownList ID="DDlCheques" Width="250px" runat="server" DataTextField="FolioFecha" DataValueField="CveIE" AutoPostBack="True"></asp:DropDownList>
<asp:HiddenField runat="server" ID="HdnCheque" Value="-1" ClientIDMode="Static" />
</asp:Panel>
<asp:Panel ID="PnlChequeInfo" runat="server" Visible="false" Width="100%" BackColor="#f0f0f0">
<table border="0" cellspacing="0">
<tr>
<td style="width: 50px;">Cheque: </td>
<td align="left" style="width: 60px;">
<asp:HyperLink ID="HlCheque" Font-Bold="True" runat="server" Target="_blank"/>
<%--<asp:Label Font-Bold="True" ID="LblCheque" runat="server" />--%>
</td>
<td style="width: 40px;">Fecha: </td>
<td align="left" style="width: 80px;">
<asp:Literal ID="LtChequeFecha" runat="server" />
</td>
<td style="width: 50px;">Importe: </td>
<td align="left" style="width: 60px;">
<asp:Literal ID="LtChequeImporte" runat="server" />
</td>
<td style="width: 40px;">Saldo: </td>
<td align="left" style="width: 60px;">
<asp:TextBox ID="TxtChequeSaldo" ClientIDMode="Static" Enabled="false" Width="50px" runat="server" />
<asp:HiddenField runat="server" ID="HdnSaldo" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HdnSaldoDiferencia" Value="-1" ClientIDMode="Static" />
<asp:Button ID="BtnDiferencia" OnClick="BtnDiferencia_Click" Style="display: none;" ClientIDMode="Static" runat="server" />
</td>
<td style="width: 100px;">Importe Vinculado: </td>
<td align="left" style="width: 60px;">
<asp:TextBox ID="TxtImporteVinculado" ClientIDMode="Static" Enabled="false" Width="50px" runat="server" />
</td>
</tr>
<tr>
<td colspan="10">
<asp:CheckBox Text="Expedir cheque con excedente" ID="ChkChequeExcedente" runat="server" AutoPostBack="true" OnCheckedChanged="ChkChequeExcedente_CheckedChanged" />
</td>
</tr>
</table>
</asp:Panel>
<br />
<table runat="server" id="TableExpedirCheque" visible="false" border="0" cellpadding="3" cellspacing="0" class="contenido" width="495px;">
<tr style="background-color: #DEDEDE;">
<td style="width: 120px;">Tipo Movimiento:</td>
<td colspan="3">
<asp:DropDownList ID="DdlTipoTransaccion" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" Width="170px" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Movimiento''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
</td>
</tr>
<tr style="background-color: #DEDEDE;">
<td style="width: 120px;">Cuenta:</td>
<td colspan="3">
<asp:DropDownList ID="DdlCuenta" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="250px" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCuenta" runat="server" ControlToValidate="DdlCuenta" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CheckBox ID="ChkAbonoCuenta" ClientIDMode="Static" runat="server" Text="Abono en Cuenta"></asp:CheckBox>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td colspan="3" style="text-align: right;">Fecha:</td>
<td style="width: 120px;">
<asp:TextBox ID="TxtFechaDocumento" runat="server" Width="65px"></asp:TextBox>
&nbsp;<asp:ImageButton runat="server" ID="ImgCalendario" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaDocumento" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="Calendario" runat="server" TargetControlID="TxtFechaDocumento" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>Folio: </td>
<td>
<asp:TextBox ID="TxtFolio" runat="server" MaxLength="12" Width="100px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
<td style="text-align: right;">Importe: $</td>
<td>
<asp:TextBox ID="TxtImporte" runat="server" MaxLength="12" Width="80px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="TxtImporte" FilterType="Custom, Numbers" ValidChars="+-.," />
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>
<asp:Label ID="LblPagueseA" runat="server" Text="Abónese a"></asp:Label>:</td>
<td colspan="3">
<asp:TextBox ID="TxtAboneA" runat="server" MaxLength="70" Width="394px"></asp:TextBox>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>Observaciones</td>
<td colspan="3">
<asp:TextBox ID="TxtObservaciones" runat="server" MaxLength="12" Width="400px" Rows="3" TextMode="MultiLine" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" />
</td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
</table>
<%--<table border="0" cellpadding="3" cellspacing="0" class="contenido" width="100%">
<tr>
<td width="495px;">
</td>
<td width="495px;" runat="server" visible="false">
<table border="0" cellpadding="3" cellspacing="0" class="contenido" width="495px;" runat="server" id="TableDiferencia">
<tr style="background-color: #DEDEDE;">
<td style="width: 120px;">Tipo Movimiento:</td>
<td colspan="3">
<asp:DropDownList ID="DdlTipoTransaccionDiferencia" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" Width="170px" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoTransaccionDiferencia" runat="server" ControlToValidate="DdlTipoTransaccionDiferencia" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Movimiento''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoTransaccionDiferencia" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccionDiferencia" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:HiddenField ID="HdnTipoTransaccionDiferencia" runat="server" Value="" />
</td>
</tr>
<tr style="background-color: #DEDEDE;">
<td style="width: 120px;">Cuenta:</td>
<td colspan="3">
<asp:DropDownList ID="DdlCuentaDiferencia" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" Width="250px" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCuentaDiferencia" runat="server" ControlToValidate="DdlCuentaDiferencia" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECuentaDiferencia" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuentaDiferencia" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CheckBox ID="ChkAbonoCuentaDiferencia" ClientIDMode="Static" runat="server" Text="Abono en Cuenta"></asp:CheckBox>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td colspan="3" style="text-align: right;">Fecha:</td>
<td style="width: 120px;">
<asp:TextBox ID="TxtFechaDocumentoDiferencia" runat="server" Width="65px"></asp:TextBox>
&nbsp;<asp:ImageButton runat="server" ID="ImgCalendarioDiferencia" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaDocumentoDiferencia" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaDocumentoDiferencia" PopupButtonID="ImgCalendarioDiferencia" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaDocumentoDiferencia" runat="server" ControlToValidate="TxtFechaDocumentoDiferencia" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaDocumentoDiferencia" runat="server" ControlToValidate="TxtFechaDocumentoDiferencia" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaDocumentoDiferencia" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDocumentoDiferencia" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>Folio: </td>
<td>
<asp:TextBox ID="TxtFolioDiferencia" runat="server" MaxLength="12" Width="100px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolioDiferencia" runat="server" ControlToValidate="TxtFolioDiferencia" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolioDiferencia" Width="300px"></ajax:ValidatorCalloutExtender>
</td>
<td style="text-align: right;">Importe: $</td>
<td>
<asp:TextBox ID="TxtImporteDiferencia" runat="server" MaxLength="12" Width="80px" ClientIDMode="Static" Style="text-align: right;" Enabled="false"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="TxtImporteDiferencia" FilterType="Custom, Numbers" ValidChars="+-.," />
<asp:RangeValidator ID="RangeValidator1" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue="0" ErrorMessage="Importe Excedido" ControlToValidate="TxtImporteDiferencia" Display="Dynamic" ValidationGroup="GrpGuardar"></asp:RangeValidator>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>Abónese a: </td>
<td colspan="3">
<asp:TextBox ID="TxtAboneADiferencia" runat="server" MaxLength="70" Width="394px" Enabled="false"></asp:TextBox>
</td>
</tr>
<tr style="background-color: #DAEAFA;">
<td>Observaciones</td>
<td colspan="3">
<asp:TextBox ID="TxtObservacionesDiferencia" runat="server" MaxLength="12" Width="400px" Rows="3" TextMode="MultiLine" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HdnObsDiferencia" runat="server" ClientIDMode="Static" />
</td>
</tr>
<tr>
<td colspan="4">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>--%>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="text-align: right;">
<asp:UpdatePanel ID="UPPChq" runat="server" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnIEGuardar" runat="server" Enabled="false" Text="Guardar" ToolTip="Guardar Pago" ValidationGroup="GrpGuardar" />
<asp:ValidationSummary ID="VS" runat="server" DisplayMode="BulletList" ShowSummary="true" ValidationGroup="GrpGuardar" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
<br />
<br />
<asp:UpdatePanel ID="UPCompras" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField runat="server" ID="HdnFechasComprasVinculadas" Value="-1" ClientIDMode="Static" />
<asp:GridView ID="GvCxP" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas por Pagar pendientes" DataKeyNames="CveCompra,FechaCompra,Proveedor,Original,SubTotal,IVA,RetIVA,RetISR,IdCtaContProveedores">
<Columns>
<asp:TemplateField>
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Chk" runat="server"></asp:CheckBox>
<asp:HiddenField runat="server" id="HdnGenerado" Value="-1" />
<asp:HiddenField runat="server" id="HdnVinculado" Value="-1" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Compra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplF" CssClass="Texto" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}")%>' Text='<%# Eval("SerieFolio")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proveedor</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="LtProveedor" Text='<%# Eval("Proveedor") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha Compra</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proyecto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFechaVenci" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate># R</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDiasVencido" runat="server" Text='<%# Eval("NumeroReembolso", "{0}")%>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Monto Compra (Saldo Orig.)</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Abonado</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Saldo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Abonar</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtAbonar" Width="80px" runat="server" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>&nbsp;
<asp:RangeValidator ID="RVAbonar" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue='<%# Eval("Saldo", "{0:N2}") %>' ErrorMessage="*" ControlToValidate="TxtAbonar" Display="Dynamic"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Auxiliar</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAux" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>CveCompra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplF2" CssClass="Texto" Text='<%# Eval("CveCompra")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>CveProveedor</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLProv" CssClass="Texto" Text='<%# Eval("CveProveedor")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>IdCtaContProveedores</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLIdCta" CssClass="Texto" Text='<%# Eval("IdCtaContProveedores")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

624
Compras/Reembolsos.aspx.vb Normal file
View File

@@ -0,0 +1,624 @@
Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
Partial Class Compras_Reembolsos
Inherits ClsPaginas
#Region "Propiedades"
Private ReadOnly Property CveCajaChica As Integer
Get
Return ViewState("CveCajaChica").ToString.ToEntero
End Get
End Property
Private ReadOnly Property CvePersonal As Integer
Get
Return ViewState("CvePersonal").ToString.ToEntero
End Get
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property IdCuentaBancaria As Integer
Get
Return ViewState("IdCuentaBancaria").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("IdCuentaBancaria") = value
End Set
End Property
Private Property DtCheques As DataTable
Get
Return CType(ViewState("DtCheques"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCheques") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
TxtImporte.Attributes.Add("disabled", "disabled")
TxtAboneA.Enabled = False
ViewState("CveMoneda") = 1
'Cargar Filtros
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
dt = dt.FiltraParametros(String.Format("CveTipoCuenta = 1")) 'caja chica = 1
DdlCajaChica.DataSource = dt
DdlCajaChica.DataBind()
Dim ObjPersonal As New ClsRH
ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa)
DdlPersonal.DataSource = ObjPersonal.DtResultados
ObjPersonal.Dispose()
DdlPersonal.DataBind()
CargaTipoTransaccion()
'CargaCuentasDiferencia()
'TableDiferencia.Visible = False
End If
End Sub
#Region " FILTROS "
Protected Sub DdlTipoPago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoPago.SelectedIndexChanged
PnlCheques.Visible = False
PnlChequeInfo.Visible = False
TableExpedirCheque.Visible = False
If DdlTipoPago.SelectedValue = "1" Then
TdFunEmp.Visible = True
DdlPersonal.SelectedValue = "-2"
Else
TdFunEmp.Visible = False
DdlPersonal.SelectedValue = "-2"
End If
If DdlTipoPago.SelectedValue = "2" Then
TdCajaChica.Visible = True
DdlCajaChica.SelectedValue = "-2"
Else
TdCajaChica.Visible = False
DdlCajaChica.SelectedValue = "-2"
End If
ViewState("CveCajaChica") = -2
ViewState("CvePersonal") = -2
LimpiaDatos()
CargaCxP()
End Sub
Protected Sub DdlPersonal_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlPersonal.SelectedIndexChanged
ViewState("CvePersonal") = DdlPersonal.SelectedValue
LimpiaDatos()
CargaCxP()
End Sub
Protected Sub DdlCajaChica_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCajaChica.SelectedIndexChanged
ViewState("CveCajaChica") = DdlCajaChica.SelectedValue
LimpiaDatos()
CargaCxP()
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
If DdlCajaChica.SelectedIndex > 0 Or DdlPersonal.SelectedIndex > 0 Then
LimpiaDatos()
CargaCxP()
Else
Alert("Seleccione un Funcionario/Empleado o una Cuenta", TipoMensaje.MsgAdvertencia)
End If
End Sub
Private Sub CargaDatos(tCveIE As Integer)
Dim ObjIE As New ClsBancos()
If ObjIE.GetBancosIE(tCveIE, UsuarioActual.CveEmpresa) Then
If ObjIE.DtResultados.Rows.Count > 0 Then
LtChequeFecha.Text = ObjIE.FechaDocumento.ToShortDateString
HlCheque.Text = ObjIE.Folio
HlCheque.NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", tCveIE)
HdnCheque.Value = tCveIE.ToString
LtChequeImporte.Text = ObjIE.Importe.FormatoNumero
TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero
'DdlTipoTransaccion.SelectedValue = ObjIE.CveTipoTransaccion.ToString
'DdlTipoTransaccion_SelectedIndexChanged(DdlTipoTransaccion, EventArgs.Empty)
'DdlTipoTransaccion.Enabled = False
'DdlCuenta.SelectedValue = ObjIE.CveCuenta.ToString
'DdlCuenta.Enabled = False
'TxtObservaciones.Text = ObjIE.Observaciones
'ChkAbonoCuenta.Checked = ObjIE.EsAbonoEnCuenta
''saco el tipo de transaccion
'Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", ObjIE.CveTipoTransaccion)) 'Egs o Ing
'If dr IsNot Nothing Then
' If dr("Tipo").ToString = "Egs" Then
' LblPagueseA.Text = "Beneficiario"
' Else
' LblPagueseA.Text = "Pagador"
' End If
'End If
Else
Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
End If
End If
ObjIE.Dispose()
End Sub
Private Sub CargaTipoTransaccion()
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo = 'Egs'") 'Ing
DdlTipoTransaccion.DataBind()
DdlTipoTransaccion.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1"))
'DdlTipoTransaccionDiferencia.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo = 'Egs'") 'Ing
'DdlTipoTransaccionDiferencia.DataBind()
'DdlTipoTransaccionDiferencia.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1"))
End Sub
Private Sub CargaCuentas()
DdlCuenta.Items.Clear()
DdlCuenta.SelectedIndex = -1
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
dt = dt.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = {1}", 1, DdlTipoTransaccion.SelectedValue))
DdlCuenta.DataSource = dt
DdlCuenta.DataBind()
DdlCuenta.Items.Insert(0, New ListItem("Seleccione cuenta", "-1"))
End Sub
#End Region
#Region " SELECTED INDEX CHANGED "
Protected Sub DdlCuenta_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCuenta.SelectedIndexChanged
'recargo la moneda con la que se va a pagar
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If dr IsNot Nothing Then
CveMoneda = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
If HdnTipoTransaccion.Value = "Egs" Then
Dim Folio As Long
Dim Banco As New ClsBancos
Folio = Banco.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero)
Banco.Dispose()
TxtFolio.Text = Folio.ToString
Else
TxtFolio.Text = ""
End If
End Sub
Protected Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged
Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccion.SelectedValue))
If dr IsNot Nothing Then
HdnTipoTransaccion.Value = dr("Tipo").ToString
End If
CargaCuentas()
End Sub
Protected Sub DDlCheques_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDlCheques.SelectedIndexChanged
If DDlCheques.SelectedValue.ToEntero > 0 Then
PnlChequeInfo.Visible = True
CargaDatos(DDlCheques.SelectedValue.ToEntero)
LimpiaDatos()
TableExpedirCheque.Visible = False
Else
HlCheque.Text = ""
HlCheque.NavigateUrl = ""
HdnCheque.Value = "-1"
TableExpedirCheque.Visible = True
LimpiaDatos()
ChkChequeExcedente.Checked = False
PnlChequeInfo.Visible = False
'DdlTipoTransaccion.Enabled = True
'DdlCuenta.Enabled = True
'TxtChequeSaldo.Text = ""
'LimpiaDatos()
End If
End Sub
#End Region
#Region " BTN GUARDAR "
Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
If HdnCheque.Value.ToEntero > 0 And ChkChequeExcedente.Checked And TxtImporte.Text.ToDouble = 0 Then
Alert("El importe del cheque excedente debe ser mayor a cero", TipoMensaje.MsgAdvertencia)
End If
If TxtImporte.Text.ToDouble > 0 Or TxtImporteVinculado.Text.ToDouble > 0 Then
Dim ObjIE As New ClsBancos()
Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL)
Dim MsgError As String = ""
Dim CveIERegistrado As Integer = 0
Dim CvePersonal As Integer = 0
Dim CvePrePolizaVieja As Integer = 0
Dim CvePrePolizaNueva As Integer = 0
Dim CveIE As Integer
If HdnCheque.Value.ToEntero > 0 Then
Dim FechaPrePoliza As Date = "01/01/0001".ToDate
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
If gvr.DataKey("FechaCompra").ToDate > FechaPrePoliza Then
FechaPrePoliza = gvr.DataKey("FechaCompra").ToDate
End If
End If
Next
'Dim FchasCompras = HdnFechasComprasVinculadas.Value.ToString.Split(","c)
'For index = 0 To FchasCompras.Length - 1
' If FchasCompras(index).ToDate > FechaPrePoliza Then
' FechaPrePoliza = FchasCompras(index).ToDate
' End If
'Next
If LtChequeFecha.Text.ToDate > FechaPrePoliza Then
FechaPrePoliza = LtChequeFecha.Text.ToDate
End If
CvePrePolizaVieja = ObjMov.AddPrePolizas("Banc", 9, TxtImporteVinculado.Text.ToDouble, TxtImporteVinculado.Text.ToDouble, CveMoneda, FechaPrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CveIE = DDlCheques.SelectedValue.ToEntero
CveIERegistrado = CveIE
Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltroPrimero("CveCuenta = " & DdlCuenta.SelectedValue)
If DdlPersonal.Visible AndAlso DdlPersonal.SelectedValue.ToEntero > 0 Then CvePersonal = DdlPersonal.SelectedValue.ToEntero
If dr IsNot Nothing Then
CveMoneda = dr("CveMoneda").ToString.ToEntero
IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
End If
If ChkChequeExcedente.Checked Then
CvePrePolizaNueva = ObjMov.AddPrePolizas("Banc", 9, TxtImporte.Text.ToDouble, TxtImporte.Text.ToDouble, CveMoneda, TxtFechaDocumento.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDouble, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaNueva, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
End If
Else
CvePrePolizaNueva = ObjMov.AddPrePolizas("Banc", 9, TxtImporte.Text.ToDouble, TxtImporte.Text.ToDouble, CveMoneda, TxtFechaDocumento.Text.ToDate, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.ToDate, TxtFolio.Text.Trim, TxtAboneA.Text, TxtImporte.Text.ToDouble, CveMoneda, 0.0, TxtObservaciones.Text, "", ChkAbonoCuenta.Checked, True, -1, CvePrePolizaNueva, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
End If
If CveIE > 0 Then
'inserto los movimientos de la conta para abonar al saldo
If (TxtImporte.Text.ToDouble > 0 And CvePrePolizaNueva > 0) Or (TxtImporteVinculado.Text.ToDouble > 0 And HdnCheque.Value.ToEntero > 0 And CvePrePolizaVieja > 0) Then
Dim SaldoCheque = TxtChequeSaldo.Text.ToDecimal
Dim SaldoActual = 0.0D
Dim SaldoAbonado = 0.0D
Dim PorcentajePago As Decimal = 1
'inserto las compras que voy a pagar
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
'Saco el porcentaje de pago
If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = gvr.FCTextBox("TxtAbonar").Text.ToDecimal / gvr.DataKey("Original").ToDecimal Else PorcentajePago = 1
SaldoActual = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
SaldoAbonado = If(SaldoActual > SaldoCheque, SaldoCheque, SaldoActual)
If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = SaldoAbonado / gvr.DataKey("Original").ToDecimal Else PorcentajePago = 1
If CveIERegistrado > 0 AndAlso SaldoCheque > 0 Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaVieja, True, SaldoAbonado, " ", 29, " ", gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaVieja, False, SaldoAbonado, " ", 17, " ", gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIERegistrado, CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
If MsgError = "" AndAlso gvr.DataKey("IVA").ToDouble > 0 Then
'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaVieja, False, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 14, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaVieja, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 19, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
End If
End If
SaldoActual = SaldoActual - SaldoAbonado
If gvr.DataKey("Original").ToDouble > 0 Then PorcentajePago = SaldoActual / gvr.DataKey("Original").ToDecimal Else PorcentajePago = 1
If SaldoActual > 0 Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, True, SaldoActual, TxtObservaciones.Text, 17, "", gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
Exit For
Else
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, False, gvr.DataKey("SubTotal").ToDecimal * PorcentajePago, TxtObservaciones.Text, 30, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "no se pudo insertar el detalle de la poliza"
End If
'*********IVA. siempre se registra aunque sea cero PREGUNTAR POR EL CONCEPTO DE IVA EN Conta_Conceptos
If MsgError = "" AndAlso gvr.DataKey("IVA").ToDouble > 0 Then
'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, False, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 14, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, True, gvr.DataKey("IVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 19, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
End If
If MsgError = "" AndAlso gvr.DataKey("RetIVA").ToDouble > 0 Then
'Agrego el RetIVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, True, gvr.DataKey("RetIVA").ToDecimal * PorcentajePago, TxtObservaciones.Text, 15, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
End If
If MsgError = "" AndAlso gvr.DataKey("RetISR").ToDouble > 0 Then
'Agrego el RetISR
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaNueva, True, gvr.DataKey("RetISR").ToDecimal * PorcentajePago, TxtObservaciones.Text, 16, TxtObservaciones.Text, gvr.FCLiteral("LtlFechaVenci").Text.ToDate, 0, -1, CveIE:=CveIE, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero) Then
MsgError = "Detalle"
End If
End If
End If
End If
SaldoCheque = SaldoCheque - gvr.FCTextBox("TxtAbonar").Text.ToDecimal 'Saldo completo del concepto
End If
Next
Else
MsgError = "No se pudo insertar la póliza"
End If
Else
MsgError = "No se insertó el encabezado"
End If
If MsgError.Trim = "" Then
ObjIE.Commit()
UPCompras.Update()
CargaCxP()
If CvePrePolizaNueva > 0 Then
Alert(String.Format("Abono Registrado Correctamente. <br/><br/> Cheque: <a target='_blank' href=/Bancos/IE.aspx?CveIE={0}>{1}</a> ", CveIE, TxtFolio.Text), TipoMensaje.MsgInformacion)
Else
Alert("Abono Registrado Correctamente.", TipoMensaje.MsgInformacion)
End If
LimpiaDatos()
PnlChequeInfo.Visible = False
Else
Alert("Ocurrió un error al guardar el movimiento", TipoMensaje.MsgError)
ObjIE.RollBack()
End If
Else
Alert("El Importe debe de ser mayor a $0.00", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LimpiaDatos()
TxtFolio.Text = ""
TxtObservaciones.Text = ""
TxtImporte.Text = ""
TxtFechaDocumento.Text = Date.Now.ToShortDateString
'DdlCuenta.SelectedValue = "-1"
DdlTipoTransaccion.SelectedValue = "-1"
DdlTipoTransaccionDiferencia_SelectedIndexChanged(DdlTipoTransaccion, EventArgs.Empty)
UpDatos.Update()
For Each gvr As GridViewRow In GvCxP.Rows
gvr.FCCheckBox("Chk").Checked = False
gvr.FCTextBox("TxtAbonar").Text = ""
Next
UPCompras.Update()
End Sub
#End Region
#Region " TABLA CxP "
Protected Sub CargaCxP()
Dim ObjMovtos As New ClsMovimientos
ObjMovtos.GetCxPPersonalCajaChica(UsuarioActual.CveEmpresa, CvePersonal, CveCajaChica, If(TxtNumeroReembolso.Text.Trim = "", "-1", TxtNumeroReembolso.Text.Trim))
GvCxP.DataSource = ObjMovtos.DtResultados
'Limpia Ddl Cheques
DDlCheques.Items.Clear()
'cargo si tiene cheques pendientes sin amortizar
If CvePersonal > 0 Then
ObjMovtos.GetEgresosSinComprobarPersonalDetalle(CvePersonal, UsuarioActual.CveEmpresa)
CargaCuentas()
End If
If CveCajaChica > 0 Then
ObjMovtos.GetCajaChicaDetalle(CveCajaChica, UsuarioActual.CveEmpresa)
PnlCheques.Visible = True
TableExpedirCheque.Visible = True
DdlCuenta.Items.Clear()
DdlCuenta.Items.Add(New ListItem(DdlCajaChica.SelectedItem.Text, DdlCajaChica.SelectedValue))
End If
DtCheques = ObjMovtos.DtResultados.FiltraParametros("CveIE > 0")
If DtCheques.Rows.Count > 0 Then
PnlCheques.Visible = True
DDlCheques.DataSource = DtCheques
TableExpedirCheque.Visible = True
End If
ObjMovtos.Dispose()
GvCxP.DataBind()
DDlCheques.DataBind()
DDlCheques.Items.Insert(0, New ListItem("Expedir Cheque", "-1"))
If GvCxP.Rows.Count > 0 Then
TxtFechaDocumento.Text = Now.ToShortDateString
BtnIEGuardar.Enabled = True
If Not DdlPersonal.SelectedValue = "-2" Then
TxtAboneA.Text = DdlPersonal.SelectedItem.ToString
End If
If Not DdlCajaChica.SelectedValue = "-2" Then
TxtAboneA.Text = DdlCajaChica.SelectedItem.ToString
End If
Else
TxtAboneA.Text = ""
BtnIEGuardar.Enabled = False
End If
UpDatos.Update()
UpGuardar.Update()
UPCompras.Update()
UPPChq.Update()
End Sub
Protected Sub GvCxP_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvCxP.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).ColumnSpan = 4
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(1).Visible = False
e.Row.Cells(2).Visible = False
e.Row.Cells(3).Visible = False
e.Row.BackColor = Drawing.Color.LightGray
e.Row.FCTextBox("TxtAbonar").Visible = False
e.Row.FCCheckBox("Chk").Visible = False
End If
If e.Row.RowIndex = 1 Then
e.Row.Cells(0).Width = Unit.Pixel(25)
e.Row.Cells(1).Width = Unit.Pixel(80)
e.Row.Cells(2).Width = Unit.Pixel(250)
e.Row.Cells(3).Width = Unit.Pixel(70)
e.Row.Cells(4).Width = Unit.Pixel(60)
e.Row.Cells(5).Width = Unit.Pixel(50)
e.Row.Cells(6).Width = Unit.Pixel(90)
e.Row.Cells(7).Width = Unit.Pixel(70)
e.Row.Cells(8).Width = Unit.Pixel(70)
e.Row.Cells(9).Width = Unit.Pixel(80)
End If
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(8).HorizontalAlign = HorizontalAlign.Right
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(7).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("DiasVencidos").ToDouble > 0 AndAlso CType(sender, GridView).ID = "GvCxP" Then e.Row.Cells(5).ForeColor = Drawing.Color.Red
If e.Row.DBCampo("Original").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldoOriginal"), Literal).Text = ""
If e.Row.DBCampo("Abonado").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlAbonado"), Literal).Text = ""
If e.Row.DBCampo("Saldo").ToDouble = 0 Then DirectCast(e.Row.FindControl("LtlSaldo"), Literal).Text = ""
e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1},{2},{3});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCHiddenField("HdnGenerado").ClientID, e.Row.FCHiddenField("HdnVinculado").ClientID))
e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},{2},{3});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), e.Row.FCHiddenField("HdnGenerado").ClientID, e.Row.FCHiddenField("HdnVinculado").ClientID))
End If
End Sub
#End Region
#Region " APLICA DIFERENCIA "
Protected Sub ChkChequeExcedente_CheckedChanged(sender As Object, e As EventArgs)
If ChkChequeExcedente.Checked Then
TableExpedirCheque.Visible = True
Else
LimpiaDatos()
TxtImporteVinculado.Text = ""
TableExpedirCheque.Visible = False
End If
End Sub
Protected Sub BtnDiferencia_Click(sender As Object, e As EventArgs)
TxtImporteVinculado.Text = HdnSaldo.Value
If HdnSaldoDiferencia.Value.ToDouble > 0 AndAlso ChkChequeExcedente.Checked Then
TxtImporte.Text = HdnSaldoDiferencia.Value
End If
End Sub
Protected Sub DdlCuentaDiferencia_SelectedIndexChanged(sender As Object, e As EventArgs) 'Handles DdlCuentaDiferencia.SelectedIndexChanged
'recargo la moneda con la que se va a pagar
'Dim dr As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltroPrimero("CveCuenta = " & DdlCuentaDiferencia.SelectedValue)
'If dr IsNot Nothing Then
' CveMoneda = dr("CveMoneda").ToString.ToEntero
' IdCuentaBancaria = dr("IdCtaContable").ToString.ToEntero
'End If
'If HdnTipoTransaccion.Value = "Egs" Then
' Dim Folio As Long
' Dim Banco As New ClsBancos
' Folio = Banco.GetNextFolio(DdlCuentaDiferencia.SelectedValue.ToEntero, DdlTipoTransaccionDiferencia.SelectedValue.ToEntero)
' Banco.Dispose()
' TxtFolioDiferencia.Text = Folio.ToString
'Else
' TxtFolioDiferencia.Text = ""
'End If
End Sub
Protected Sub DdlTipoTransaccionDiferencia_SelectedIndexChanged(sender As Object, e As EventArgs) 'Handles DdlTipoTransaccionDiferencia.SelectedIndexChanged
'Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccionDiferencia.SelectedValue))
'If dr IsNot Nothing Then
' HdnTipoTransaccionDiferencia.Value = dr("Tipo").ToString
'End If
'CargaCuentasDiferencia()
End Sub
Private Sub CargaCuentasDiferencia()
'DdlCuentaDiferencia.Items.Clear()
'Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
'dt = dt.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta = {1}", 1, DdlTipoTransaccion.SelectedValue))
'DdlCuentaDiferencia.DataSource = dt
'DdlCuentaDiferencia.DataBind()
'DdlCuentaDiferencia.Items.Insert(0, New ListItem("Seleccione cuenta", "-1"))
End Sub
#End Region
End Class

View File

@@ -0,0 +1,712 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="ReembolsosComprobaciones.aspx.vb" Inherits="Compras_ReembolsosComprobaciones" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="CSS" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reembolsos / Comprobaciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional" RenderMode="Inline">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkExportar" runat="server">
<i class="fa fa-ad-excel"></i> Exportar Excel
</asp:LinkButton>
</li>
<li runat="server" id="LiImprimir" visible="true">
<asp:LinkButton ID="LnkImprimir" runat="server" Visible="false">
<i class="fa fa-print"></i> Imprimir Reembolso
</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimir" />
<asp:PostBackTrigger ControlID="LnkExportar" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" CssClass="btn btn-default" runat="server" Text="Consultar" ValidationGroup="GrpConsultar" />
<a href="javascript;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate" style="margin-top: 10px; margin-left: 5px;">Tipo de Pago:</label>
<div class="col-md-2" style="margin-top: 5px;">
<asp:DropDownList ID="DdlTipoPago" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="NombreComercial" DataValueField="CveCliente" OnSelectedIndexChanged="DdlTipoPago_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Seleccione un Tipo de Pago" Value="-1"></asp:ListItem>
<asp:ListItem Text="Viaticos - Personal" Value="1"></asp:ListItem>
<asp:ListItem Text="Caja Chica" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoPago" runat="server" ControlToValidate="DdlTipoPago" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Tipo de Pago</b>." InitialValue="-1" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoPago" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoPago" Width="300px" BehaviorID="VCETipoPago"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-5">
<ul class="list-inline">
<li>
<asp:Literal ID="LtTituloPago" runat="server" />
</li>
<li>
<asp:DropDownList ID="DdlPersonal" CssClass="form-control select2me" Width="100%" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompletoNombre" DataValueField="CvePersonal">
<asp:ListItem Selected="True" Text="Seleccione" Value="-2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVPersonal" runat="server" ControlToValidate="DdlPersonal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar un <b>Personal</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEPersonal" runat="server" HighlightCssClass="vco" TargetControlID="RFVPersonal" Width="300px" BehaviorID="VCEPersonal"></ajax:ValidatorCalloutExtender>
<asp:DropDownList ID="DdlCajaChica" CssClass="form-control select2me" Width="100%" Visible="false" runat="server" AppendDataBoundItems="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta">
<asp:ListItem Selected="True" Text="Seleccione una Cuenta" Value="-2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCajaChica" runat="server" ControlToValidate="DdlCajaChica" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Debe seleccionar una <b>Cuenta</b>." InitialValue="-2" ValidationGroup="GrpConsultar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECajaChica" runat="server" HighlightCssClass="vco" TargetControlID="RFVCajaChica" Width="300px" BehaviorID="VCECajaChica"></ajax:ValidatorCalloutExtender>
</li>
</ul>
</div>
<label class="col-md-1 truncate" style="margin-top: 10px; width: 110px;">No. Reembolso:</label>
<div class="col-md-2">
<asp:TextBox ID="TxtNumeroReembolso" ClientIDMode="Static" CssClass="form-control input-sm" Width="90px" runat="server" Style="margin-top: 5px;" />
<%--<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtNumeroReembolso" FilterType="Numbers" />--%>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left; vertical-align: top;">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlCheques" runat="server" Visible="false" Width="100%" BackColor="#cccccc">
<div class="row">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cheques:
<asp:DropDownList ID="DDlCheques" CssClass="form-control input-sm select2me" Width="300px" runat="server" DataTextField="FolioFecha" DataValueField="CveIE" AutoPostBack="True"></asp:DropDownList>
<asp:HiddenField runat="server" ID="HdnCheque" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HdnExcedente" Value="-1" ClientIDMode="Static" />
<asp:Label ID="LblEspecificacion" Visible="false" runat="server" Text="Especificación:"></asp:Label>
<asp:CheckBox runat="server" ID="CbPermitirExcedente" AutoPostBack="true" Text="Permitir Reembolso Excedente" Checked="false" Visible="false" />
<asp:DropDownList ID="DDlPermitirExcedente" CssClass="form-control input-sm select2me" Width="250px" runat="server" Visible="False">
<asp:ListItem Text="No se reembolsará a Personal" Value="1"></asp:ListItem>
<asp:ListItem Text="Sí se reembolsará a Personal" Value="2"></asp:ListItem>
</asp:DropDownList>
Fecha:
<asp:TextBox ID="TxtFechaPrePoliza" runat="server" Width="70px" data-date-format="dd/mm/yyyy"></asp:TextBox>
<asp:LinkButton runat="server" ID="ImgCal" class="btn default date date-picker"><i class="fa fa-calendar"></i></asp:LinkButton>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaPrePoliza" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaPrePoliza" PopupButtonID="ImgCal" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TxtFechaPrePoliza" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TxtFechaPrePoliza" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:CheckBox runat="server" ID="ChkReembolsarSinBancos" OnCheckedChanged="ChkReembolsarSinBancos_CheckedChanged" AutoPostBack="true" Text="Comprobación sin bancos" Visible="false" Checked="false" />
</div>
</asp:Panel>
<asp:Panel ID="PnlChequeInfo" runat="server" Visible="false" Width="100%" BackColor="#f0f0f0">
<table border="0" cellspacing="0">
<tr>
<td style="width: 50px;">Cheque: </td>
<td align="left" style="width: 60px;">
<asp:HyperLink ID="HlCheque" Font-Bold="True" runat="server" Target="_blank" />
<%--<asp:Label Font-Bold="True" ID="LblCheque" runat="server" />--%>
</td>
<td style="width: 40px;">Fecha: </td>
<td align="left" style="width: 80px;">
<asp:Literal ID="LtChequeFecha" runat="server" />
</td>
<td style="width: 50px;">Importe: </td>
<td align="left" style="width: 60px;">
<asp:Literal ID="LtChequeImporte" runat="server" />
</td>
<td style="width: 40px;">Saldo: </td>
<td align="left" style="width: 60px;">
<asp:TextBox ID="TxtChequeSaldo" ClientIDMode="Static" Enabled="false" Width="75px" runat="server" />
<asp:HiddenField runat="server" ID="HdnSaldo" Value="-1" ClientIDMode="Static" />
<asp:HiddenField runat="server" ID="HdnSaldoDiferencia" Value="-1" ClientIDMode="Static" />
<asp:Button ID="BtnDiferencia" OnClick="BtnDiferencia_Click" Style="display: none;" ClientIDMode="Static" runat="server" />
</td>
<td style="width: 100px;">Importe Vinculado: </td>
<td align="left" style="width: 60px;">
<asp:TextBox ID="TxtImporteVinculado" ClientIDMode="Static" Enabled="false" Width="75px" runat="server" />
</td>
</tr>
<tr runat="server" id="TrChequeExcedente" visible="false">
<td colspan="10">
<asp:CheckBox Text="Expedir cheque con excedente" ID="ChkChequeExcedente" runat="server" AutoPostBack="true" OnCheckedChanged="ChkChequeExcedente_CheckedChanged" />
</td>
<td colspan="5">
<asp:CheckBox Text="Aplica Viaticos" ID="ChkAplicaViatico" runat="server" OnCheckedChanged="ChkAplicaViatico_CheckedChanged" AutoPostBack="true" />
</td>
</tr>
</table>
</asp:Panel>
<br />
<div class="chequesie" style="width: 700px;" runat="server" id="TableExpedirCheque" visible="false">
<div class="chequesie1">
<div class="row">
<label class="col-md-2 truncate" style="width: 130px;">Tipo Movimiento:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlTipoTransaccion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="TipoTransaccion" DataValueField="CveTipoTransaccion" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipoTransaccion" runat="server" ControlToValidate="DdlTipoTransaccion" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Movimiento''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETipoTransaccion" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipoTransaccion" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:HiddenField ID="HdnTipoTransaccion" runat="server" Value="" />
</div>
</div>
<div class="row">
<label class="col-md-2" style="width: 130px;">Cuenta:</label>
<div class="col-md-6">
<asp:DropDownList ID="DdlCuenta" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta" ValidationGroup="GrpGuardar">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCuenta" runat="server" ControlToValidate="DdlCuenta" InitialValue="-1" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cuenta''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-4">
<asp:CheckBox ID="ChkAbonoCuenta" ClientIDMode="Static" runat="server" Text="Abono en Cuenta"></asp:CheckBox>
</div>
</div>
</div>
<div class="chequesie2">
<div class="row">
<div class="col-md-7"></div>
<label class="col-md-2 control-label text-right">Fecha:</label>
<div class="col-md-2">
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="TxtFechaDocumento" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgCalendario" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaDocumento" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="Calendario" runat="server" TargetControlID="TxtFechaDocumento" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaDocumento" runat="server" ControlToValidate="TxtFechaDocumento" Display="None" ErrorMessage="El campo <b>''Fecha''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaDocumento2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaDocumento" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<label class="col-md-2 control-label">Folio:</label>
<div class="col-md-3">
<asp:TextBox ID="TxtFolio" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="110px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVFolio" runat="server" ControlToValidate="TxtFolio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Folio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFolio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFolio" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-2"></div>
<label class="col-md-2 control-label text-right">Importe:</label>
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtImporte" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="140px" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="ftbe" runat="server" TargetControlID="TxtImporte" FilterType="Custom, Numbers" ValidChars="+-.," />
</div>
</div>
<div class="row">
<label class="col-md-2">
<asp:Label ID="LblPagueseA" runat="server" Text="Abónese a"></asp:Label>:</label>
<div class="col-md-10">
<asp:TextBox CssClass="form-control input-sm" ID="TxtAboneA" runat="server" MaxLength="70" Width="394px"></asp:TextBox>
</div>
</div>
<div class="row">
<label class="col-md-2">Observaciones</label>
<div class="col-md-7">
<asp:TextBox ID="TxtObservaciones" CssClass="form-control input-sm" runat="server" MaxLength="12" Width="400px" Rows="3" TextMode="MultiLine" ClientIDMode="Static"></asp:TextBox>
<asp:HiddenField ID="HdnObs" runat="server" ClientIDMode="Static" />
</div>
<div class="col-md-2 input-icon">
<i style="margin: 0px;">$</i>
<asp:TextBox ID="TxtOtrosImportes" runat="server" ReadOnly="true" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Otros Importes" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FTEOtrosImportes" runat="server" TargetControlID="TxtOtrosImportes" FilterType="Custom, Numbers" ValidChars="+-.," />
<asp:RangeValidator ID="RangeValidator1" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue="0" ErrorMessage="Importe Excedido" ControlToValidate="TxtOtrosImportes" Display="Dynamic" ValidationGroup="GrpGuardar"></asp:RangeValidator>
<asp:TextBox ID="TxtTotal" runat="server" CssClass="form-control input-sm" Visible="false" MaxLength="12" Width="140px" placeholder="Total" Enabled="false" ClientIDMode="Static" Style="text-align: right;"></asp:TextBox>
</div>
</div>
<div class="row" runat="server" id="rowComisiones" visible="false">
<label class="col-md-2" runat="server" id="lblpagocomisiones">Otros Ingresos:</label>
<div class="col-md-3">
<asp:CheckBox ID="ChkAjusteOI" runat="server" AutoPostBack="true" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</td>
<td style="text-align: right;">
<asp:UpdatePanel ID="UPPChq" runat="server" UpdateMode="Conditional">
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnIEGuardar" CssClass="btn btn-default" runat="server" Enabled="false" Text="Guardar" ToolTip="Guardar Pago" ValidationGroup="GrpGuardar" />
<asp:ValidationSummary ID="VS" runat="server" DisplayMode="BulletList" ShowSummary="true" ValidationGroup="GrpGuardar" />
</ContentTemplate>
<%-- <Triggers>
<asp:PostBackTrigger ControlID="LnkImprimir" />
</Triggers>--%>
</asp:UpdatePanel>
</td>
</tr>
</table>
<br />
<br />
<asp:UpdatePanel ID="UPCompras" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:HiddenField runat="server" ID="HdnFechasComprasVinculadas" Value="-1" ClientIDMode="Static" />
<asp:GridView ID="GvCxP" GridLines="None" CssClass="table table-hover table-advance Widthall" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas por Pagar pendientes" DataKeyNames="CveCompra,FechaCompra,Proveedor,SerieFolio,Original,SubTotal,IVA,RetIVA,RetISR,IdCtaContProveedores,IdCtaContProveedoresSIG,CvePrePoliza,IdPoliza,CveRetIVAConcepto,CveRetISRConcepto,IVAPorcentaje">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="ChkAll" class="ChkAll" onclick="CheckAll();" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Chk" CssClass="ChkAll" runat="server"></asp:CheckBox>
<asp:HiddenField runat="server" ID="HdnGenerado" Value="-1" />
<asp:HiddenField runat="server" ID="HdnVinculado" Value="-1" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Compra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplF" CssClass="Texto" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}")%>' Text='<%# Eval("SerieFolio")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proveedor</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="LtProveedor" Text='<%# Eval("Proveedor") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha Compra</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaCompra", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proyecto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate># R</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDiasVencido" runat="server" Text='<%# Eval("NumeroReembolso", "{0}")%>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Monto Compra (Saldo Orig.)</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Abonado</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Saldo</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Abonar</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtAbonar" Width="80px" runat="server" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>&nbsp;
<asp:RangeValidator ID="RVAbonar" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue='<%# Eval("Saldo", "{0:N2}") %>' ErrorMessage="*" ControlToValidate="TxtAbonar" Display="Dynamic"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Excedente</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtSaldoExcedente" Width="80px" runat="server" Style="text-align: right;" onkeyup="FormatoMoneda(this)"></asp:TextBox>&nbsp;
<asp:RangeValidator ID="RVSaldoExcedente" runat="server" Enabled="false" Type="Currency" MinimumValue="0" MaximumValue='<%# Eval("Saldo", "{0:N2}") %>' ErrorMessage="*" ControlToValidate="TxtSaldoExcedente" Display="Dynamic"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Auxiliar</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAux" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>CveCompra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplF2" CssClass="Texto" Text='<%# Eval("CveCompra")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>CveProveedor</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLProv" CssClass="Texto" Text='<%# Eval("CveProveedor")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="False">
<HeaderTemplate>IdCtaContProveedores</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLIdCta" CssClass="Texto" Text='<%# Eval("IdCtaContProveedores")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>Ot. Ing.</HeaderTemplate>
<ItemTemplate>
<asp:TextBox ID="TxtComision" Width="80px" runat="server" Style="text-align: right;"></asp:TextBox>&nbsp;
<asp:RangeValidator ID="RVComision" runat="server" Enabled="false" ErrorMessage="*" ControlToValidate="TxtComision" Display="Dynamic" Type="Double"></asp:RangeValidator>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UpChequesFYE" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView GridLines="None" CssClass="table table-hover table-advance Widthall" Caption="Cheques de Funcionarios/Empleados" Visible="false" ID="GvChequesFYE" runat="server" OnRowDataBound="GvChequesFYE_RowDataBound" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cheques">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Funcionario/Empleado</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLFYE" Target="_blank" CssClass="Texto" Text='<%# Eval("NombreCompleto")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="300px" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Cheque</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLCheque" Target="_blank" CssClass="Texto" Text='<%# Eval("Folio")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="80px" />
</asp:TemplateField>
<%--<asp:BoundField HeaderText="Funcionario/Empleado" DataField="NombreCompleto" ItemStyle-Width="300px" ItemStyle-HorizontalAlign="Left" />--%>
<%--<asp:BoundField HeaderText="Cheque" DataField="Folio" DataFormatString="{0}" ItemStyle-Width="80px" ItemStyle-HorizontalAlign="Center" />--%>
<asp:BoundField HeaderText="Fecha" DataField="FechaDocumento" DataFormatString="{0:d}" ItemStyle-Width="80px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Importe" DataField="Importe" DataFormatString="{0:N2}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Saldo" DataField="Saldo" DataFormatString="{0:N2}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Right" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<br />
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript" language="javascript">
var Compra = '';
var Excedente = 0;
function FnSuma(t, txt, importe) {
debugger;
Excedente = 0;
//var ImporteVinculado = ToDouble($get('TxtImporteVinculado').value);
//var ImporteGenerado = ToDouble($get('TxtImporte').value);
if (t.checked) {
txt.value = FormatoNumero(importe, 2);
} else {
txt.value = "";
}
Excedente = SumaValores();
if (Excedente > 0) {
txt.value = FormatoNumero(importe - Excedente, 2);
alert("El Importe no debe de exceder a el saldo del cheque");
}
}
function SumaValores() {
debugger;
var Importe = 0;
var Comision = 0.00;
var Diferencia = 0;
var DiferenciaLimite = 0;
var Saldo = 0;
var topLevelElem = document.getElementById("form1");
var textBoxes = topLevelElem.getElementsByTagName("input");
var idd = '';
Compra = '';
FechasCompra = '';
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "text") {
if (textBoxes[i].id.indexOf('C_GvCxP_TxtAbonar') >= 0) {
if (textBoxes[i].value != '') {
idd = textBoxes[i].id.replace('C_GvCxP_TxtAbonar_', '');
Importe = ToDouble(Importe) + ToDouble(textBoxes[i].value.split(',').join(''));
//SI TIENE CHEQUE VINCULADO
if (parseFloat($get('HdnCheque').value) > 0) {
Saldo = ToDouble($get('TxtChequeSaldo').value);
//SI SE VA A EXPEDIR CHEQUE EXCEDENTE
if ($get('C_ChkChequeExcedente') != null) {
if ($get('C_ChkChequeExcedente').checked) {
Diferencia = Importe - Saldo;
if (Diferencia > 0) {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
} else {
if (FechasCompra != "") {
FechasCompra = FechasCompra + ',';
}
FechasCompra = FechasCompra + $get("C_GvCxP_LtlFecha_" + idd).innerText;
}
}
}
} else {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
}
}
}
}
}
//SI TIENE CHEQUE VINCULADO
if (parseFloat($get('HdnCheque').value) > 0) {
Saldo = ToDouble($get('TxtChequeSaldo').value);
//SI SE VA A EXPEDIR CHEQUE EXCEDENTE, OBTENEMOS EL SALDO EXCEDENTE
if ($get('C_ChkChequeExcedente') != null) {
if ($get('C_ChkChequeExcedente').checked) {
Diferencia = Importe - Saldo;
if (Diferencia > 0) {
Importe = Importe - Diferencia;
} else {
Diferencia = 0;
}
if (Compra != '') {
$get('TxtObservaciones').value = $get('HdnObs').value + ' # ' + $get('TxtNumeroReembolso').value + ' Compra: ' + Compra;
}
$get('TxtImporte').value = FormatoNumero(Diferencia, 2);
} else {
DiferenciaLimite = Importe - Saldo;
Importe = (Importe > Saldo) ? Saldo : Importe;
}
} else {
DiferenciaLimite = Importe - Saldo;
Importe = (Importe > Saldo) ? Saldo : Importe;
}
$get('TxtImporteVinculado').value = FormatoNumero(Importe, 2);
} else {
$get('TxtImporte').value = FormatoNumero(Importe, 2);
$get('TxtObservaciones').value = $get('HdnObs').value + ' # ' + $get('TxtNumeroReembolso').value + ' Compra: ' + Compra;
}
$get('HdnFechasComprasVinculadas').value = FechasCompra;
//Siempre regresamos DiferenciaLimite para si es mayor a 0 afectar el abono que se acaba de agregar
return DiferenciaLimite.toFixed(2);
}
function SumaValoresOtrosIng() {
var Importe = 0;
var Comision = 0.00;
var topLevelElem = document.getElementById("form1");
var textBoxes = topLevelElem.getElementsByTagName("input");
var idd = '';
Compra = '';
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "text") {
if (textBoxes[i].id.indexOf('C_GvCxP_TxtAbonar') >= 0) {
if (textBoxes[i].value != '') {
idd = textBoxes[i].id.replace('C_GvCxP_TxtAbonar_', '');
Importe = ToDouble(Importe) + ToDouble(textBoxes[i].value.split(',').join(''));
//SI TIENE CHEQUE VINCULADO
if (parseFloat($get('HdnCheque').value) > 0) {
Saldo = ToDouble($get('TxtChequeSaldo').value);
//SI SE VA A EXPEDIR CHEQUE EXCEDENTE
if ($get('C_ChkChequeExcedente') != null) {
if ($get('C_ChkChequeExcedente').checked) {
Diferencia = Importe - Saldo;
if (Diferencia > 0) {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
} else {
if (FechasCompra != "") {
FechasCompra = FechasCompra + ',';
}
FechasCompra = FechasCompra + $get("C_GvCxP_LtlFecha_" + idd).innerText;
}
}
}
} else {
Compra = Compra + (Importe == 0 ? '' : ', ') + $get("C_GvCxP_HplF_" + idd).innerText;
}
}
}
if (textBoxes[i].id.indexOf('C_GvCxP_TxtComision') >= 0) {
if (textBoxes[i].value != '') {
Comision = parseFloat(Comision) + parseFloat(textBoxes[i].value.split(',').join(''));
}
}
}
}
$get('TxtObservaciones').value = $get('HdnObs').value + ' Compras: ' + Compra;
if ($get('TxtOtrosImportes') != null) {
$get('TxtOtrosImportes').value = FormatoNumero(Comision, 2);
if ($get('TxtOtrosImportes').value == '') {
$get('TxtOtrosImportes').value = 0.00
}
else {
return Importe + parseFloat($get('TxtOtrosImportes').value.replace(',', ''));
}
}
else {
return Importe
}
}
function FnCambia(chk, txt, saldo,op) {
Excedente = 0;
debugger;
if (op == 1) {
if (txt.value != '') {
chk.checked = true;
} else {
chk.checked = false;
}
}
if (ToDouble(txt.value) > saldo) {
txt.value = saldo;
alert("El Importe no debe de exceder a el saldo de la compra");
}
Excedente = SumaValores();
if ($get('TxtTotal') != null) {
var Suma = SumaValoresOtrosIng();
$get('TxtImporte').value = FormatoNumero(Suma, 2);
$get('TxtTotal').value = FormatoNumero(Suma + (ToDouble($get('TxtOtrosImportes').value * -1)), 2);
}
if (Excedente > 0) {
txt.value = FormatoNumero(ToDouble(txt.value) - Excedente, 2);
alert("El Importe no debe de exceder a el saldo del cheque");
}
}
function FnSumaExcedente(TxtExcedente, TxtAbonar, Saldo) {
Excedente = 0;
debugger;
if ((ToDouble(TxtExcedente.value) + ToDouble(TxtAbonar.value)).toFixed(2) > Saldo) {
TxtExcedente.value = '0';
alert("El Importe Excedente no debe de ser mayor al saldo de la compra.");
}
}
function CheckAll() {
var topLevelElem = document.getElementById("form1");
var textBoxes = topLevelElem.getElementsByTagName("input");
var check = false;
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "checkbox") {
debugger;
if (!$(textBoxes[i]).parent().hasClass("ChkAll") || !textBoxes[i].id == "ChkAll") {
continue;
}
if (textBoxes[i].id == "ChkAll") {
check = !textBoxes[i].checked;
continue;
}
if (Excedente > 0) {
Excedente = 0;
break;
}
if (textBoxes[i].checked && check) {
textBoxes[i].click();
} else if (!textBoxes[i].checked && !check) {
textBoxes[i].click();
}
}
}
}
</script>
</asp:Content>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,198 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RembolsosSinAsignar.aspx.vb" Inherits="Compras_RembolsosSinAsignar" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reembolsos Sin Asignar
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpFiltro" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" CssClass="btn btn-default" runat="server" Text="Consultar" />
<a href="javascript;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate">Caja Chica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlCajaChica" CssClass="form-control select2me" Width="100%" runat="server" AppendDataBoundItems="true" DataTextField="NumCuentaMoneda" DataValueField="CveCuenta">
<asp:ListItem Selected="True" Text="Seleccione una Cuenta" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">No. Reembolso:</label>
<div class="col-md-2">
<asp:TextBox ID="TxtNumeroReembolso" CssClass="form-control input-sm" Width="60px" runat="server" />
<%--<ajax:FilteredTextBoxExtender ID="SoloNumeros" runat="server" TargetControlID="TxtNumeroReembolso" FilterType="Numbers" />--%>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td style="text-align: left; vertical-align: top;">
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel ID="PnlCheques" runat="server" Visible="false" Width="100%" BackColor="#cccccc">
<div class="row">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cheques:
<asp:DropDownList ID="DDlCheques" CssClass="form-control input-sm select2me" Width="300px" runat="server" DataTextField="FolioFecha" DataValueField="CveIE" AutoPostBack="True"></asp:DropDownList>
<asp:HiddenField runat="server" ID="HdnCheque" Value="-1" ClientIDMode="Static" />
</div>
</asp:Panel>
<asp:Panel ID="PnlChequeInfo" runat="server" Visible="false" Width="100%" BackColor="#f0f0f0">
<table border="0" cellspacing="0">
<tr>
<td style="width: 50px;">Cheque: </td>
<td align="left" style="width: 60px;">
<asp:HyperLink ID="HlCheque" Font-Bold="True" runat="server" Target="_blank" />
<%--<asp:Label Font-Bold="True" ID="LblCheque" runat="server" />--%>
</td>
<td style="width: 40px;">Fecha: </td>
<td align="left" style="width: 80px;">
<asp:Literal ID="LtChequeFecha" runat="server" />
</td>
<td style="width: 50px;">Importe: </td>
<td align="left" style="width: 60px;">
<asp:Literal ID="LtChequeImporte" runat="server" />
</td>
<td style="width: 40px;">Saldo: </td>
<td align="left" style="width: 60px;">
<asp:TextBox ID="TxtChequeSaldo" ClientIDMode="Static" Enabled="false" Width="75px" runat="server" />
</td>
</tr>
</table>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnIEGuardar" CssClass="btn btn-default" runat="server" Enabled="false" Text="Guardar" ToolTip="Guardar Pago" ValidationGroup="GrpGuardar" />
<asp:ValidationSummary ID="VS" runat="server" DisplayMode="BulletList" ShowSummary="true" ValidationGroup="GrpGuardar" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
<br />
<br />
<asp:UpdatePanel ID="UPCompras" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvCxP" GridLines="None" CssClass="table table-hover table-advance Widthall" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas por Pagar pendientes" DataKeyNames="CveCompra,FechaCompra,Proveedor,SerieFolio,Original,SubTotal,IVA,RetIVA,RetISR,IdCtaContProveedores,CvePrePoliza">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="ChkAll" class="ChkAll" onclick="CheckAll();" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="Chk" CssClass="ChkAll" runat="server"></asp:CheckBox>
<asp:HiddenField runat="server" ID="HdnGenerado" Value="-1" />
<asp:HiddenField runat="server" ID="HdnVinculado" Value="-1" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Compra</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplF" CssClass="Texto" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}")%>' Text='<%# Eval("SerieFolio")%>' runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proveedor</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="LtProveedor" Text='<%# Eval("Proveedor") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Fecha Compra</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("FechaCompra", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Proyecto</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate># R</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDiasVencido" runat="server" Text='<%# Eval("NumeroReembolso", "{0}")%>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>Monto Compra (Saldo Orig.)</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript" language="javascript">
function CheckAll() {
var topLevelElem = document.getElementById("form1");
var textBoxes = topLevelElem.getElementsByTagName("input");
var check = false;
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "checkbox") {
debugger;
if (!$(textBoxes[i]).parent().hasClass("ChkAll") || !textBoxes[i].id == "ChkAll") {
continue;
}
if (textBoxes[i].id == "ChkAll") {
check = !textBoxes[i].checked;
continue;
}
if (textBoxes[i].checked && !check) {
textBoxes[i].click();
} else if (!textBoxes[i].checked && !check) {
textBoxes[i].click();
}
}
}
}
</script>
</asp:Content>

View File

@@ -0,0 +1,215 @@
Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RembolsosSinAsignar
Inherits ClsPaginas
#Region "Propiedades"
Private ReadOnly Property CveCajaChica As Integer
Get
Return ViewState("CveCajaChica").ToString.ToEntero
End Get
End Property
Private ReadOnly Property CvePersonal As Integer
Get
Return ViewState("CvePersonal").ToString.ToEntero
End Get
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property IdCuentaBancaria As Integer
Get
Return ViewState("IdCuentaBancaria").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("IdCuentaBancaria") = value
End Set
End Property
Private Property NumeroReembolso As String
Get
NumeroReembolso = ViewState("NumeroReembolso").ToString
End Get
Set(value As String)
ViewState("NumeroReembolso") = value
End Set
End Property
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property DtCheques As DataTable
Get
Return CType(ViewState("DtCheques"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCheques") = value
End Set
End Property
#End Region
Private Sub Compras_RembolsosSinAsignar_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
ViewState("CveMoneda") = 1
ViewState("CveCajaChica") = -2
'Cargar Filtros
Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario)
dt = dt.FiltraParametros(String.Format("CveTipoCuenta = 1")) 'caja chica = 1
DdlCajaChica.DataSource = dt
DdlCajaChica.DataBind()
End If
End Sub
#Region "C A R G A S"
Private Sub CargaDatos(tCveIE As Integer)
Dim ObjIE As New ClsBancos()
If ObjIE.GetBancosIE(tCveIE, UsuarioActual.CveEmpresa) Then
If ObjIE.DtResultados.Rows.Count > 0 Then
LtChequeFecha.Text = ObjIE.FechaDocumento.ToShortDateString
HlCheque.Text = ObjIE.Folio
HlCheque.NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", tCveIE)
HdnCheque.Value = tCveIE.ToString
LtChequeImporte.Text = ObjIE.Importe.FormatoNumero
Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex)
TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero
Else
Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
End If
End If
ObjIE.Dispose()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
If DdlCajaChica.SelectedIndex > 0 Then
LimpiaDatos()
CargaCxP()
Else
Alert("Seleccione una Cuenta", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
#Region " TABLA CxP "
Protected Sub CargaCxP()
Dim ObjMovtos As New ClsMovimientos
GvCxP.Visible = True
ObjMovtos.GetComprasSinVincular(UsuarioActual.CveEmpresa, CveCajaChica, If(TxtNumeroReembolso.Text.Trim = "", "-1", TxtNumeroReembolso.Text.Trim))
DtDatos = ObjMovtos.DtResultados
GvCxP.DataSource = DtDatos
'Limpia Ddl Chequesventas
DDlCheques.Items.Clear()
If CveCajaChica > 0 Then
ObjMovtos.GetCajaChicaDetalle(CveCajaChica, UsuarioActual.CveEmpresa)
PnlCheques.Visible = True
End If
DtCheques = ObjMovtos.DtResultados.FiltraParametros("CveIE > 0", "FechaDocumento, FolioFecha")
If DtCheques.Rows.Count > 0 Then
DDlCheques.DataSource = DtCheques
End If
ObjMovtos.Dispose()
GvCxP.DataBind()
DDlCheques.DataBind()
DDlCheques.Items.Insert(0, New ListItem("Seleccione", "-1"))
DDlCheques_SelectedIndexChanged(DDlCheques, EventArgs.Empty)
If GvCxP.Rows.Count > 0 Then
'Valida Proceso 120 para ROL Administrador de obra - Si tiene el proceso no puede guardar
If Not UsuarioActual.TienePermisoProceso(120) Then
BtnIEGuardar.Enabled = True
End If
Else
BtnIEGuardar.Enabled = False
End If
UpDatos.Update()
UpGuardar.Update()
UPCompras.Update()
End Sub
Protected Sub DdlCajaChica_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCajaChica.SelectedIndexChanged
ViewState("CveCajaChica") = DdlCajaChica.SelectedValue
End Sub
Protected Sub DDlCheques_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDlCheques.SelectedIndexChanged
If DDlCheques.SelectedValue.ToEntero > 0 Then
PnlChequeInfo.Visible = True
CargaDatos(DDlCheques.SelectedValue.ToEntero)
LimpiaDatos()
Else
HlCheque.Text = ""
HlCheque.NavigateUrl = ""
HdnCheque.Value = "-1"
LimpiaDatos()
PnlChequeInfo.Visible = False
End If
End Sub
Protected Sub LimpiaDatos()
For Each gvr As GridViewRow In GvCxP.Rows
gvr.FCCheckBox("Chk").Checked = False
Next
UPCompras.Update()
End Sub
#End Region
#Region "G U A R D A R"
Private Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click
If DDlCheques.SelectedValue.ToEntero < 0 Then
Alert("Debe Seleccionar un cheque", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjMovtos As New ClsMovimientos()
Dim TieneError = False
ObjMovtos.IniciaTransacSQL()
For Each gvr As GridViewRow In GvCxP.Rows
If gvr.FCCheckBox("Chk").Checked Then
If Not ObjMovtos.UpdatePolizaRembolso(gvr.DataKey("CveCompra").ToEntero, DDlCheques.SelectedValue.ToEntero) Then
TieneError = True
Exit For
End If
End If
Next
If TieneError Then
ObjMovtos.RollBack()
Alert("Ocurrio un error al actualizar el rembolso", TipoMensaje.MsgError)
Else
ObjMovtos.Commit()
Alert("Se ha guardado con exito", TipoMensaje.MsgInformacion)
End If
ObjMovtos.Dispose()
CargaCxP()
End Sub
#End Region
End Class

188
Compras/RepAnt-NC-EXC.aspx Normal file
View File

@@ -0,0 +1,188 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepAnt-NC-EXC.aspx.cs" Inherits="Compras_RepAnt_NC_EXC" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
.dataTables_scrollHead {
background-color: #95A5A6;
color: white;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Anticipos, Notas de Credito y Egresos X Comprobar
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-ad-excel"></i> Exporta Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 " >Sucursal:</label>
<div class="col-md-2" >
<asp:DropDownList ID="DdlSucursal" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<label class="col-md-1 " >Proveedor:</label>
<div class="col-md-2" >
<asp:DropDownList ID="DdlProveedor" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1" style="">Fecha Ini Doc:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1" style="margin-left: 25px">Fecha Fin Doc:</div>
<div class="col-md-1" style="margin-left: -10px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px;">
<div class="col-md-1" title="Fecha Inicio de Aplicación">Fecha Ini. Ap:</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: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaICorte" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" ></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaICorte" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICorte" runat="server" TargetControlID="TxtFechaICorte" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaICorte" TargetControlID="TxtFechaICorte" PopupButtonID="LnkFechaICorte" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaICorte" runat="server" ControlToValidate="TxtFechaICorte" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Corte''</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="VCEFechaICorte2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICorte" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" title="Fecha Fin de Aplicación">Fecha Fin Ap:</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: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFCorte" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" ></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFCorte" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCorte" runat="server" TargetControlID="TxtFechaFCorte" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaFCorte" TargetControlID="TxtFechaFCorte" PopupButtonID="LnkFechaFCorte" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaFCorte" runat="server" ControlToValidate="TxtFechaFCorte" Display="None" ErrorMessage="El campo <b>''Fecha Final Corte''</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="VCEFechaFCorte2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCorte" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 15px; margin-bottom: 5px; text-align: right; margin-right: 5px;" align="left">
<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>
<table class="table Widthall ">
<tr>
<td style="width: 37%;"></td>
<td class="dataTables_scrollHead text-center bold" style="font-size: 14px; width: 21%; border-right: 3px solid white;">Anticipos</td>
<td class="dataTables_scrollHead text-center bold" style="font-size: 14px; width: 21%; border-right: 3px solid white;">NC X Aplicar</td>
<td class="dataTables_scrollHead text-center bold" style="font-size: 14px; width: 21%; border-right: 3px solid white;">Egresos X Comprobar</td>
</tr>
</table>
<asp:GridView ID="GvDatos" runat="server" OnRowDataBound="GvDatos_RowDataBound" GridLines="None"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros" data-sort="true" Width="99%" DataKeyNames="CveProveedor,CveMoneda,CveSubProyecto,FechaI,FechaF,FechaICorte,FechaFCorte,TipoCambio,TCEspecifico">
<Columns>
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="OriginalAnticipos" ItemStyle-Width="7%" HeaderText="Original" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="AplicadoAnticipos" ItemStyle-Width="7%" HeaderText="Aplicado" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="TotalAnticipos" ItemStyle-Width="7%" HeaderText="Saldo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="OriginalNC" ItemStyle-Width="7%" HeaderText="Original" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="AplicadoNC" ItemStyle-Width="7%" HeaderText="Aplicado" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="TotalNC" ItemStyle-Width="7%" HeaderText="Saldo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="OriginalEXC" ItemStyle-Width="7%" HeaderText="Original" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="AplicadoEXC" ItemStyle-Width="7%" HeaderText="Aplicado" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="TotalEXC" ItemStyle-Width="7%" HeaderText="Saldo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" OnSelectedIndexChanged="RblTipoCambio_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Venta" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" OnClick="BtnTipoCambio_Click" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,193 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using Microsoft.Reporting.WebForms;
public partial class Compras_RepAnt_NC_EXC : ClsPaginas
{
#region PROPIEDADES
private DataTable DtDatos
{
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
set { ViewState["DtDatos"] = value; }
}
private double TCEspecifico
{
get { return TCEspecifico = (double)ViewState["TCEspecifico"]; }
set { ViewState["TCEspecifico"] = value; }
}
private int TipoCambio
{
get { return TipoCambio = (int)ViewState["TipoCambio"]; }
set { ViewState["TipoCambio"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
txtFechaI.Text = "01/01/2000";
txtFechaF.Text = DateTime.Today.ToString();
TxtFechaFCorte.Text = DateTime.Today.ToString();
TipoCambio = 1;
TCEspecifico = -1;
CargaSucursales();
CargaProveedores();
CargaDatos();
}
protected void CargaSucursales()
{
DdlSucursal.DataSource = get_GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa);
DdlSucursal.DataBind();
DdlSucursal.Items.Insert(0, new ListItem("Todos", "-1"));
}
protected void CargaProveedores()
{
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.DataBind();
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
}
protected void CargaDatos()
{
if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; }
DateTime FechaICorte = TxtFechaICorte.Text != "" ? TxtFechaICorte.Text.ToDate() : DateTime.MinValue;
DateTime FechaFCorte = TxtFechaFCorte.Text != "" ? TxtFechaFCorte.Text.ToDate() : DateTime.MaxValue;
ClsCompras ObjCompra = new ClsCompras();
if (ObjCompra.GetRepAnticiposNCEXC(DdlProveedor.SelectedValue.ToEntero(), DdlSucursal.SelectedValue.ToEntero(), txtFechaI.Text.ToDate(),
txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, FechaICorte, FechaFCorte, TipoCambio, TCEspecifico))
{
GvDatos.DataSource = ObjCompra.DtResultados;
DtDatos = ObjCompra.DtResultados;
}
ObjCompra.Dispose();
GvDatos.DataBind();
UpDatos.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void GenerarPDF(String Opcion)
{
String FechaI;
if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = ""; } else { FechaI = $"&emsp;<b>Fecha Inicial:</b> {txtFechaI.Text}"; }
String FechaF;
if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = ""; } else { FechaF = $"&emsp;<b>Fecha Final:</b> {txtFechaF.Text}"; }
String FechaICorte;
if (TxtFechaICorte.Text == "" || TxtFechaICorte.Text == "__/__/____") { FechaICorte = ""; } else { FechaICorte = $"&emsp;<b>Fecha Inicial Corte:</b> {TxtFechaICorte.Text}"; }
String FechaFCorte;
if (TxtFechaFCorte.Text == "" || TxtFechaFCorte.Text == "__/__/____") { FechaFCorte = ""; } else { FechaFCorte = $"&emsp;<b>Fecha Final Corte:</b> {TxtFechaFCorte.Text}"; }
String Sucursal;
if (DdlSucursal.SelectedValue != "-1") { Sucursal = $"&emsp;<b>Sucursal:</b> {DdlSucursal.SelectedItem.Text}"; } else { Sucursal = ""; }
String Proveedor;
if (DdlProveedor.SelectedValue != "-1") { Proveedor = $"&emsp;<b>Proveedor:</b> {DdlProveedor.SelectedItem.Text}"; } else { Proveedor = ""; }
if (DtDatos.Rows.Count > 0)
{
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
String logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToString()));
para.Add(new ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {Proveedor}{Sucursal}{FechaI}{FechaF}{FechaICorte}{FechaFCorte}"));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF("Empresas/Grales/Formatos/RepAnt-NC-EXC.rdlc", DtDatos, para, "Reporte de Anticipos - NCXAplicar - EXC", Opcion);
}
else
{
Alert("No hay datos consultados", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("CveProveedor").ToEntero() < 1)
{
e.Row.CssClass = "Totales";
if (e.Row.DBCampo("CveMoneda").ToEntero() == 1)
{
e.Row.Cells[0].Text = "Total Pesos";
}
else if (e.Row.DBCampo("CveMoneda").ToEntero() == 2)
{
e.Row.Cells[0].Text = "Total Dolares";
}
}
String Css = "Texto";
String Liga = "";
Liga = $"/Compras/RepAnt-NC-EXCDetalle.aspx?&CveProveedor={e.Row.DataKey("CveProveedor")}&CveMoneda={e.Row.DataKey("CveMoneda")}&Tipo=-1&CveSubProyecto={e.Row.DataKey("CveSubProyecto")}&FechaI={e.Row.DataKey("FechaI").ToDate().ToShortDateString()}&FechaF={e.Row.DataKey("FechaF").ToDate().ToShortDateString()}&FechaICorte={e.Row.DataKey("FechaICorte").ToDate().ToShortDateString()}&FechaFCorte={e.Row.DataKey("FechaFCorte").ToDate().ToShortDateString()}&TipoCambio={e.Row.DataKey("TipoCambio")}&TCEspecifico={e.Row.DataKey("TCEspecifico")}";
e.Row.Cells[0].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[0].Text + "</a>";
Liga = $"/Compras/RepAnt-NC-EXCDetalle.aspx?&CveProveedor={e.Row.DataKey("CveProveedor")}&CveMoneda={e.Row.DataKey("CveMoneda")}&Tipo=1&CveSubProyecto={e.Row.DataKey("CveSubProyecto")}&FechaI={e.Row.DataKey("FechaI").ToDate().ToShortDateString()}&FechaF={e.Row.DataKey("FechaF").ToDate().ToShortDateString()}&FechaICorte={e.Row.DataKey("FechaICorte").ToDate().ToShortDateString()}&FechaFCorte={e.Row.DataKey("FechaFCorte").ToDate().ToShortDateString()}&TipoCambio={e.Row.DataKey("TipoCambio")}&TCEspecifico={e.Row.DataKey("TCEspecifico")}";
e.Row.Cells[3].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[3].Text + "</a>";
Liga = $"/Compras/RepAnt-NC-EXCDetalle.aspx?&CveProveedor={e.Row.DataKey("CveProveedor")}&CveMoneda={e.Row.DataKey("CveMoneda")}&Tipo=2&CveSubProyecto={e.Row.DataKey("CveSubProyecto")}&FechaI={e.Row.DataKey("FechaI").ToDate().ToShortDateString()}&FechaF={e.Row.DataKey("FechaF").ToDate().ToShortDateString()}&FechaICorte={e.Row.DataKey("FechaICorte").ToDate().ToShortDateString()}&FechaFCorte={e.Row.DataKey("FechaFCorte").ToDate().ToShortDateString()}&TipoCambio={e.Row.DataKey("TipoCambio")}&TCEspecifico={e.Row.DataKey("TCEspecifico")}";
e.Row.Cells[6].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[6].Text + "</a>";
Liga = $"/Compras/RepAnt-NC-EXCDetalle.aspx?&CveProveedor={e.Row.DataKey("CveProveedor")}&CveMoneda={e.Row.DataKey("CveMoneda")}&Tipo=3&CveSubProyecto={e.Row.DataKey("CveSubProyecto")}&FechaI={e.Row.DataKey("FechaI").ToDate().ToShortDateString()}&FechaF={e.Row.DataKey("FechaF").ToDate().ToShortDateString()}&FechaICorte={e.Row.DataKey("FechaICorte").ToDate().ToShortDateString()}&FechaFCorte={e.Row.DataKey("FechaFCorte").ToDate().ToShortDateString()}&TipoCambio={e.Row.DataKey("TipoCambio")}&TCEspecifico={e.Row.DataKey("TCEspecifico")}";
e.Row.Cells[9].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[9].Text + "</a>";
}
}
protected void BtnTipoCambio_Click(object sender, EventArgs e)
{
CargaDatos();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"));
}
protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e)
{
TipoCambio = RblTipoCambio.SelectedValue.ToEntero();
if (TipoCambio == 3)
{
LiEspecifico.Visible = true;
TCEspecifico = get_GlobalTipoCambio(DateTime.Now).ToString().ToDouble();
TxtEspecifico.Text = TCEspecifico.ToString();
}
else
{
LiEspecifico.Visible = false;
}
UpBodyTipoCambio.Update();
}
}

View File

@@ -0,0 +1,196 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepAnt-NC-EXCDetalle.aspx.cs" Inherits="Compras_RepAnt_NC_EXCDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Anticipos, Notas de Credito y Egresos X Comprobar Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-ad-excel"></i> Exporta Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 ">Sucursal:</label>
<div class="col-md-2" >
<asp:DropDownList ID="DdlSucursal" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<label class="col-md-1 " >Proveedor:</label>
<div class="col-md-2" >
<asp:DropDownList ID="DdlProveedor" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1" style="">Fecha Ini Doc:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1" style="margin-left: 25px">Fecha Fin Doc:</div>
<div class="col-md-1" style="margin-left: -10px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px;">
<div class="col-md-1">Tipo:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlTipo" runat="server" Width="100%" Class="table-group-action-input form-control input-inline input-small input-sm">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Anticipos" Value="1"></asp:ListItem>
<asp:ListItem Selected="True" Text="NC X Aplicar" Value="2"></asp:ListItem>
<asp:ListItem Text="Egresos X Comprobar" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Con Saldo:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlConSaldo" runat="server" Width="100%" Class="table-group-action-input form-control input-inline input-small input-sm">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="True" Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1" >Fecha Ini. Ap:</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: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaICorte" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" ></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaICorte" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICorte" runat="server" TargetControlID="TxtFechaICorte" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaICorte" TargetControlID="TxtFechaICorte" PopupButtonID="LnkFechaICorte" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaICorte" runat="server" ControlToValidate="TxtFechaICorte" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Corte''</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="VCEFechaICorte2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICorte" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px">Fecha Fin Ap:</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: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFCorte" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" ></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFCorte" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCorte" runat="server" TargetControlID="TxtFechaFCorte" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaFCorte" TargetControlID="TxtFechaFCorte" PopupButtonID="LnkFechaFCorte" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaFCorte" runat="server" ControlToValidate="TxtFechaFCorte" Display="None" ErrorMessage="El campo <b>''Fecha Final Corte''</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="VCEFechaFCorte2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCorte" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 15px; margin-bottom: 5px; text-align: right; margin-right: 5px;" align="left">
<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>
<asp:GridView ID="GvDatos" runat="server" OnRowDataBound="GvDatos_RowDataBound" GridLines="None"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros" data-sort="true" Width="99%"
DataKeyNames="CveProveedor,CveMoneda,Saldo,Folio,CveCompra,RazonSocial,CveCompraAmortizacion,SerieFolioAmortizacion,SerieFolio,Total,
Fecha,FechaAmortizacion,SubTotal,SubTotalAmortizacion,ImporteAmortizacion,CveIE,Tipo,SaldoAcumulativo">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chk" Checked="false" Visible="false" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TipoColumna" HeaderText="" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="SerieFolio" HeaderText="Proveedor/Folio" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Fecha" ItemStyle-Width="10%" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="SubTotal" ItemStyle-Width="10%" HeaderText="Importe" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="ImporteAmortizacion" ItemStyle-Width="10%" HeaderText="Aplicado" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="Saldo" ItemStyle-Width="10%" HeaderText="Saldo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="right" />
<asp:BoundField DataField="Abreviatura" ItemStyle-Width="5%" HeaderText="Moneda" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Costo" ItemStyle-Width="10%" HeaderText="Costo" DataFormatString="{0:C}" ItemStyle-HorizontalAlign="Center" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" OnSelectedIndexChanged="RblTipoCambio_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Venta" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" OnClick="BtnTipoCambio_Click" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,267 @@
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using Microsoft.Reporting.WebForms;
public partial class Compras_RepAnt_NC_EXCDetalle : ClsPaginas
{
#region PROPIEDADES
private DataTable DtDatos
{
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
set { ViewState["DtDatos"] = value; }
}
private int Tipo
{
get { return Tipo = (int)ViewState["Tipo"]; }
set { ViewState["Tipo"] = value; }
}
private int CveMoneda
{
get { return CveMoneda = (int)ViewState["CveMoneda"]; }
set { ViewState["CveMoneda"] = value; }
}
private double TCEspecifico
{
get { return TCEspecifico = (double)ViewState["TCEspecifico"]; }
set { ViewState["TCEspecifico"] = value; }
}
private int TipoCambio
{
get { return TipoCambio = (int)ViewState["TipoCambio"]; }
set { ViewState["TipoCambio"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaDatos();
}
}
protected void InicializaDatos()
{
txtFechaI.Text = "01/01/2000";
txtFechaF.Text = DateTime.Today.ToString();
TxtFechaFCorte.Text = DateTime.Today.ToString();
CargaSucursales();
CargaProveedores();
DdlProveedor.SelectedValueExist(Request["CveProveedor"] == null ? "-1" : Request["CveProveedor"].ToString());
DdlSucursal.SelectedValueExist(Request["CveSubProyecto"] == null ? "-1" : Request["CveSubProyecto"].ToString());
DdlTipo.SelectedValueExist(Request["Tipo"] == null ? "-1" : Request["Tipo"].ToString());
CveMoneda = Request["CveMoneda"] == null ? -1 : Request["CveMoneda"].ToString().ToEntero();
txtFechaI.Text = Request["FechaI"] == null ? DateTime.Now.ToString() : Request["FechaI"].ToString();
txtFechaF.Text = Request["FechaF"] == null ? DateTime.Now.ToString() : Request["FechaF"].ToString();
TipoCambio = Request["TipoCambio"] == null ? 1 : Request["TipoCambio"].ToString().ToEntero();
TCEspecifico = Request["TCEspecifico"] == null ? -1 : Request["TCEspecifico"].ToString().ToDouble();
RblTipoCambio.SelectedValue = TipoCambio.ToString();
LiEspecifico.InnerText = TCEspecifico.FormatoNumero();
DateTime FechaICorte;
FechaICorte = Request["FechaICorte"] == null ? DateTime.MinValue : Request["FechaICorte"].ToString().ToDate();
if (FechaICorte <= DateTime.MinValue) { TxtFechaICorte.Text = ""; } else { TxtFechaICorte.Text = FechaICorte.ToShortDateString(); }
DateTime FechaFCorte;
FechaFCorte = Request["FechaFCorte"] == null ? DateTime.MaxValue : Request["FechaFCorte"].ToString().ToDate();
if (FechaFCorte >= DateTime.MaxValue) { TxtFechaFCorte.Text = ""; } else { TxtFechaFCorte.Text = FechaFCorte.ToShortDateString(); }
CargaDatos();
}
protected void CargaSucursales()
{
DdlSucursal.DataSource = get_GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa);
DdlSucursal.DataBind();
DdlSucursal.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSucursal.SelectedValue = "-1";
}
protected void CargaProveedores()
{
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.DataBind();
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProveedor.SelectedValue = "-1";
}
protected void CargaDatos()
{
if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; }
if (TipoCambio != 1) { CveMoneda = -1; }
DateTime FechaICorte;
if (TxtFechaICorte.Text != "") { FechaICorte = TxtFechaICorte.Text.ToDate(); } else { FechaICorte = DateTime.MinValue; }
DateTime FechaFCorte;
if (TxtFechaFCorte.Text != "") { FechaFCorte = TxtFechaFCorte.Text.ToDate(); } else { FechaFCorte = DateTime.MaxValue; }
ClsCompras ObjCompra = new ClsCompras();
if (ObjCompra.GetRepAnticiposNCEXCDetalle(DdlProveedor.SelectedValue.ToEntero(), DdlSucursal.SelectedValue.ToEntero(), txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(),
UsuarioActual.CveEmpresa, DdlConSaldo.SelectedValue.ToEntero(), DdlTipo.SelectedValue.ToEntero(), CveMoneda, FechaICorte, FechaFCorte, TipoCambio, TCEspecifico))
{
GvDatos.DataSource = ObjCompra.DtResultados;
DtDatos = ObjCompra.DtResultados;
}
ObjCompra.Dispose();
GvDatos.DataBind();
UpDatos.Update();
Tipo = DdlTipo.SelectedValue.ToEntero();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void GenerarPDF(String Opcion)
{
String FechaI;
if (txtFechaI.Text == "" || txtFechaI.Text == "__/__/____") { FechaI = "-1"; } else { FechaI = $"&emsp;<b>Fecha Inicial:</b> {txtFechaI.Text}"; }
String FechaF;
if (txtFechaF.Text == "" || txtFechaF.Text == "__/__/____") { FechaF = "-1"; } else { FechaF = $"&emsp;<b>Fecha Final:</b> {txtFechaF.Text}"; }
String FechaICorte;
if (TxtFechaICorte.Text == "" || TxtFechaICorte.Text == "__/__/____") { FechaICorte = ""; } else { FechaICorte = $"&emsp;<b>Fecha Inicial Corte:</b> {TxtFechaICorte.Text}"; }
String FechaFCorte;
if (TxtFechaFCorte.Text == "" || TxtFechaFCorte.Text == "__/__/____") { FechaFCorte = ""; } else { FechaFCorte = $"&emsp;<b>Fecha Final Corte:</b> {TxtFechaFCorte.Text}"; }
String Sucursal;
if (DdlSucursal.SelectedValue != "-1") { Sucursal = $"&emsp;<b>Sucursal:</b> {DdlSucursal.SelectedItem.Text}"; } else { Sucursal = ""; }
String Proveedor;
if (DdlProveedor.SelectedValue != "-1") { Proveedor = $"&emsp;<b>Cliente:</b> {DdlProveedor.SelectedItem.Text}"; } else { Proveedor = ""; }
String ConSaldo;
if (DdlConSaldo.SelectedValue != "-1") { ConSaldo = $"&emsp;<b>Con Saldo:</b> {DdlConSaldo.SelectedItem.Text}"; } else { ConSaldo = ""; }
String Tipo2;
if (DdlTipo.SelectedValue != "-1") { Tipo2 = $"&emsp;<b>Tipo:</b> {DdlTipo.SelectedItem.Text}"; } else { Tipo2 = ""; }
if (DtDatos.Rows.Count > 0)
{
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
String logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToString()));
para.Add(new ReportParameter("Tipo", Tipo.ToString()));
para.Add(new ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {Proveedor}{Sucursal}{ConSaldo}{Tipo2}{FechaI}{FechaF}{FechaICorte}{FechaFCorte}"));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF("Empresas/Grales/Formatos/RepAnt-NC-EXCDetalle.rdlc", DtDatos, para, "Reporte de Anticipos - NCXAplicar - EXC Detalle", Opcion);
}
else
{
Alert("No hay datos consultados", ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
String Css = "Texto";
String Liga = "";
if (e.Row.DataKey("Tipo").ToEntero() < 1)
{
e.Row.CssClass = "SubTotales3";
e.Row.Cells[2].Text = e.Row.DBCampo("Moneda").ToString();
e.Row.Cells[4].Text = "$" + e.Row.DataKey("Total").FormatoNumero();
}
else if (e.Row.DataKey("CveProveedor").ToEntero() < 1)
{
e.Row.CssClass = "SubTotales2";
switch (e.Row.DataKey("Tipo").ToEntero())
{
case 1:
e.Row.Cells[2].Text = "Anticipos";
break;
case 2:
e.Row.Cells[2].Text = "NC X Aplicar";
break;
case 3:
e.Row.Cells[2].Text = "Egresos X Comprobar";
break;
}
e.Row.Cells[4].Text = "$" + e.Row.DataKey("Total").FormatoNumero();
}
else if (e.Row.DataKey("CveCompraAmortizacion").ToEntero() < 1 && e.Row.DataKey("CveCompra").ToEntero() < 1 && e.Row.DataKey("CveIE").ToEntero() < 1)
{
e.Row.CssClass = "Totales";
e.Row.Cells[2].Text = e.Row.DataKey("RazonSocial");
e.Row.Cells[7].Text = "";
e.Row.Cells[4].Text = "$" + e.Row.DataKey("Total").FormatoNumero();
}
else if (e.Row.DataKey("CveCompraAmortizacion").ToEntero() < 1 && e.Row.DataKey("CveCompra").ToEntero() > 0)
{
e.Row.CssClass = "SubTotales";
e.Row.Cells[2].Text = e.Row.DataKey("SerieFolio");
e.Row.Cells[3].Text = e.Row.DataKey("Fecha").ToDate().ToShortDateString();
e.Row.Cells[4].Text = "$" + e.Row.DataKey("Total").FormatoNumero();
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DataKey("CveCompra")}";
e.Row.Cells[2].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[2].Text + "</a>";
}
else if (e.Row.DataKey("CveIE").ToEntero() > 0 && e.Row.DataKey("CveCompraAmortizacion").ToEntero() < 1)
{
e.Row.CssClass = "SubTotales";
e.Row.Cells[2].Text = e.Row.DataKey("SerieFolio");
e.Row.Cells[3].Text = e.Row.DataKey("Fecha").ToDate().ToShortDateString();
e.Row.Cells[4].Text = "$" + e.Row.DataKey("Total").FormatoNumero();
Liga = $"/Bancos/IE.aspx?&CveIE={e.Row.DataKey("CveIE")}";
e.Row.Cells[2].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[2].Text + "</a>";
}
else
{
e.Row.Cells[2].Text = e.Row.DataKey("SerieFolioAmortizacion");
e.Row.Cells[3].Text = e.Row.DataKey("FechaAmortizacion").ToDate().ToShortDateString();
e.Row.Cells[4].Text = "$" + e.Row.DataKey("ImporteAmortizacion").FormatoNumero();
e.Row.Cells[5].Text = "$" + e.Row.DataKey("ImporteAmortizacion").FormatoNumero();
e.Row.Cells[6].Text = "$" + e.Row.DataKey("SaldoAcumulativo").FormatoNumero();
Liga = $"/Compras/Compras.aspx?&CveCompra={e.Row.DataKey("CveCompraAmortizacion")}";
e.Row.Cells[2].Text = "<a class=" + "" + Css + "" + " href=" + "" + Liga + "" + ">" + e.Row.Cells[2].Text + "</a>";
}
}
}
#region TIPO DE CAMBIO
protected void BtnTipoCambio_Click(object sender, EventArgs e)
{
CargaDatos();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"));
}
protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e)
{
TipoCambio = RblTipoCambio.SelectedValue.ToEntero();
if (TipoCambio == 3)
{
LiEspecifico.Visible = true;
TCEspecifico = get_GlobalTipoCambio(DateTime.Now).ToString().ToDouble();
TxtEspecifico.Text = TCEspecifico.ToString();
}
else
{
LiEspecifico.Visible = false;
}
UpBodyTipoCambio.Update();
}
#endregion
}

View File

@@ -0,0 +1,135 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepBeneficiarios.aspx.vb" Inherits="Compras_RepBeneficiarios" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte Beneficiarios
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Beneficiarios" OnRowDataBound="GvDatos_RowDataBound" CssClass="table table-striped table-smallpadding table-advance table-hover Widthall" Style=" text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbRazonSocial" runat="server" CausesValidation="False" Text="" CommandArgument="RazonSocial" OnClick="LbOrden_Click">
Proveedor
<asp:Literal ID="ImgRazonSocial" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLRazonSocial" runat="server" Text='<%# Eval("RazonSocial")%>' CssClass="Texto">
<asp:Literal ID="Img" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="300" HorizontalAlign="Left" />
</asp:TemplateField>
<%--<asp:TemplateField>
<HeaderTemplate>
AnticipoProveedor <asp:LinkButton ID="LbAnticipoProveedor" runat="server" CausesValidation="False" Text="" CommandArgument="" OnClick="LbOrden_Click">
Anticipo Proveedor <asp:Literal ID="ImgAnticipoProveedor" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelAnticipoProveedor" runat="server" Text='<%# Eval("AnticipoProveedor", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Proveedor <asp:LinkButton ID="LbProveedor" runat="server" CausesValidation="False" Text="" CommandArgument="" OnClick="LbOrden_Click">
<asp:Literal ID="ImgProveedor" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelProveedor" runat="server" Text='<%# Eval("Proveedor", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Anticipo Acreedor <asp:LinkButton ID="LbAnticipoAcreedor" runat="server" CausesValidation="False" Text="" CommandArgument="AnticipoAcreedor" OnClick="LbOrden_Click">
<asp:Literal ID="ImgAnticipoAcreedor" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelAnticipoAcreedor" runat="server" Text='<%# Eval("AnticipoAcreedor", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Acreedor <asp:LinkButton ID="LbAcreedor" runat="server" CausesValidation="False" Text="" CommandArgument="Acreedor" OnClick="LbOrden_Click">
<asp:Literal ID="ImgAcreedor" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelAcreedor" runat="server" Text='<%# Eval("Acreedor", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>--%>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbDeudor" runat="server" CausesValidation="False" Text="" CommandArgument="Deudor" OnClick="LbOrden_Click">
Deudor
<asp:Literal ID="ImgDeudor" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLDeudor" runat="server" Text='<%# Eval("Deudor", "{0:N2}")%>' CssClass="Texto"></asp:HyperLink>
<%--<asp:Label ID="LabelDeudor" runat="server" Text='<%# Eval("Deudor", "{0:N2}")%>'></asp:Label>--%>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
<%-- <asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Beneficiarios">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbRazonSocial" runat="server" CausesValidation="False" Text="Proveedor" CommandArgument="RazonSocial" OnClick="LbOrden_Click"></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelRazonSocial" runat="server" Text='<%# Eval("RazonSocial")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="300" HorizontalAlign="Left"/>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbTipoLetra" runat="server" CausesValidation="False" Text="Tipo" CommandArgument="TipoLetra" OnClick="LbOrden_Click"></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelTipoLetra" runat="server" Text='<%# Eval("TipoLetra")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbSaldo" runat="server" CausesValidation="False" Text="Saldo" CommandArgument="Saldo" OnClick="LbOrden_Click"></asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="120" HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>--%>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,90 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Compras_RepBeneficiarios
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras
If ObjCompras.GetBeneficiarios(-1, UsuarioActual.CveEmpresa) Then
DtDatos = ObjCompras.DtResultados
CargaGrid("")
Else
Alert("Ocurrió un error al obtener el catálogo de Beneficiarios", Extensiones.TipoMensaje.MsgError)
End If
ObjCompras.Dispose()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveProveedor") = "" Then
e.Row.CssClass = "SubTotales2"
Else
e.Row.FCHyperLink("HLRazonSocial").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}", e.Row.DBCampo("CveProveedor"))
e.Row.FCHyperLink("HLDeudor").NavigateUrl = String.Format("RepBeneficiariosDetalle.aspx?CVEP={0}&T=5", e.Row.DBCampo("CveProveedor"))
End If
End If
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Protected Sub CargaGrid(Orden As String)
Dim DV As DataView = Nothing
DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows)
If Orden <> String.Empty Then
GvDatos.DataSource = DV.ToTable()
Else
GvDatos.DataSource = DtDatos
End If
GvDatos.DataBind()
UpDatos.Update()
DV.Dispose()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,89 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepBeneficiariosDetalle.aspx.vb" Inherits="Compras_RepBeneficiariosDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte Beneficiarios Detalle
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros del detalle" OnRowDataBound="GvDatos_RowDataBound" CssClass="table table-striped table-smallpadding table-advance table-hover Widthall" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbConceptoContable" runat="server" CausesValidation="False" Text="" CommandArgument="ConceptoContable" OnClick="LbOrden_Click">
Concepto Contable
<asp:Literal ID="ImgConceptoContable" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelConceptoContable" runat="server" Text='<%# Eval("ConceptoContable")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="200" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbFechaVencimiento" runat="server" CausesValidation="False" Text="" CommandArgument="FechaVencimiento" OnClick="LbOrden_Click">
Fecha
<asp:Literal ID="ImgFechaVencimiento" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelFechaVencimiento" runat="server" Text='<%# Eval("FechaVencimiento", "{0:d}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="75" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbFolio" runat="server" CausesValidation="False" Text="" CommandArgument="Folio" OnClick="LbOrden_Click">
Compra
<asp:Literal ID="ImgFolio" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLFolio" runat="server" Text='<%# Eval("Folio")%>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="75" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbFolioIE" runat="server" CausesValidation="False" Text="" CommandArgument="FolioIE" OnClick="LbOrden_Click">
Cheque
<asp:Literal ID="ImgFolioIE" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLFolioIE" runat="server" Text='<%# Eval("FolioIE")%>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="75" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:LinkButton ID="LbImporte" runat="server" CausesValidation="False" Text="" CommandArgument="Importe" OnClick="LbOrden_Click">
Importe
<asp:Literal ID="ImgImporte" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>
</asp:LinkButton>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelImporte" runat="server" Text='<%# Eval("Importe", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="100" HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,119 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Compras_RepBeneficiariosDetalle
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property CveProveedor As Integer
Get
CveProveedor = ViewState("CveProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedor") = value
End Set
End Property
Private Property Tipo As Integer
Get
Tipo = ViewState("Tipo").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Tipo") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
If Request("CVEP") IsNot Nothing AndAlso Request("CVEP").ToEntero() > 0 Then
If Request("T") IsNot Nothing AndAlso Request("T").ToEntero() > 0 Then
CveProveedor = Request("CVEP").ToEntero()
Tipo = Request("T").ToEntero()
CargaDatos()
Else
Alert("Ocurrió un error al recibir los parametros especificados", TipoMensaje.MsgError)
End If
Else
Alert("Ocurrió un error al recibir los parametros especificados", TipoMensaje.MsgError)
End If
End If
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras
If ObjCompras.GetBeneficiariosDetalle(CveProveedor, Tipo, UsuarioActual.CveEmpresa) Then
DtDatos = ObjCompras.DtResultados
CargaGrid("")
Else
Alert("Ocurrió un error al obtener el Detalle de Beneficiarios", Extensiones.TipoMensaje.MsgError)
End If
ObjCompras.Dispose()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("CveIE") = "" Then
e.Row.FCHyperLink("HLFolio").NavigateUrl = String.Format("Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra"))
Else
e.Row.FCHyperLink("HLFolioIE").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
End If
End If
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Protected Sub CargaGrid(Orden As String)
Dim DV As DataView = Nothing
DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows)
If Orden <> String.Empty Then
GvDatos.DataSource = DV.ToTable()
Else
GvDatos.DataSource = DtDatos
End If
GvDatos.DataBind()
UpDatos.Update()
DV.Dispose()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,160 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComplementoPago.aspx.vb" Inherits="Compras_RepComplementoPago" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.dataTables_scrollHead {
background-color: #95A5A6;
color: white;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Complementos Pago de Compras
</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 style="text-align: left!important">
<asp:LinkButton runat="server" ID="LnkNotificar" Visible="false" CssClass=" " OnClick="LnkNotificar_Click" data-html="true" data-placement="left" Text="<i class='fa fa-envelope'></i> Notificar Pendientes"
data-toggle="confirmation" data-popout="true" data-original-title="¿Notificar?" data-btn-ok-label="si"></asp:LinkButton>
</li>
<asp:UpdatePanel runat="server" ID="UpPorcentajePrecios" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkPDF" OnClick="LnkPDF_Click" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkPDF" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpdatePanel1" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkExcel" />
</Triggers>
</asp:UpdatePanel>
</ContentTemplate>
</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" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultarFiltros" OnClick="BtnConsultarFiltros_Click" runat="server" Text="Consultar" ValidationGroup="GrpFiltros" class="btn btn-primary" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1" style="max-width: 120px">Proveedor:</div>
<div class="col-md-2">
<ADS:Dropdownlost ID="DdlProveedores" CssClassDdl="form-control input-sm select2me" Style="min-width: 160px;" CssStyle="width:100%" DataTextField="RazonSocial" DataValueField="CveProveedor" AppendDataBoundItems="true" runat="server"></ADS:Dropdownlost>
</div>
<div class="col-md-1" style="max-width: 90px">Fecha Inicio:</div>
<div class="col-md-2" style="max-width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 90px !important; padding: 0px;">
<asp:TextBox ID="TxtFiltrosFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 88px" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LBCalendarFiltrosFechaInicio" class="btn default " Text=" <i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFiltrosFechaInicio" runat="server" TargetControlID="TxtFiltrosFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFiltrosFechaInicio" TargetControlID="TxtFiltrosFechaInicio" PopupButtonID="LBCalendarFiltrosFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFiltrosFechaInicio" runat="server" ControlToValidate="TxtFiltrosFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpFiltros"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFiltrosFechaInicio" runat="server" HighlightCssClass="vco" TargetControlID="RFVFiltrosFechaInicio"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="max-width: 75px">Fecha Fin:</div>
<div class="col-md-2" style="max-width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 90px !important; padding: 0px;">
<asp:TextBox ID="TxtFiltrosFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 88px" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LBCalendarFiltrosFechaFin" class="btn default " Text=" <i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFiltrosFechaFin" runat="server" TargetControlID="TxtFiltrosFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFiltrosFechaFin" TargetControlID="TxtFiltrosFechaFin" PopupButtonID="LBCalendarFiltrosFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFiltrosFechaFin" runat="server" ControlToValidate="TxtFiltrosFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpFiltros"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFiltrosFechaFin" runat="server" HighlightCssClass="vco" TargetControlID="RFVFiltrosFechaFin"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="max-width: 120px">Vinculadas:</div>
<div class="col-md-2">
<asp:CheckBox ID="ChkViculadas" runat="server" CssClass="md-checksd2" />
</div>
</div>
</div>
</div>
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
<label class="col-md-1 truncate">Tipo Proveedor:</label>
<div class="col-md-3">
<asp:DropDownList ID="DdlTipoProveedor" CssClass="form-control input-sm select2me" Width="260px" runat="server">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Text="Acreedor" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">SubProyecto:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" Width="120px" runat="server" DataValueField="CveSubProyecto" DataTextField="SubProyecto">
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Usuario Registró:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlUsuarioRegistra" CssClass="form-control input-sm select2me" Width="120px" runat="server" DataValueField="CveUsuario" DataTextField="Nombre">
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<table class="table Widthall ">
<tr>
<td class="dataTables_scrollHead text-center bold" style="font-size: 14px; width: 65%; border-right: 3px solid white;">Documento</td>
<td class="dataTables_scrollHead text-center bold" style="font-size: 14px; width: 35%; border-right: 3px solid white;">Pago</td>
</tr>
</table>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="Sin resultados" ShowHeaderWhenEmpty="true" CssClass="table table-striped table-hover Widthall ScrollAD" GridLines="None" data-sort="true">
<Columns>
<asp:HyperLinkField HeaderText="Proveedor" DataTextField="RazonSocial" DataNavigateUrlFields="CveProveedor" DataNavigateUrlFormatString="/Compras/Proveedores.aspx?CveProveedor={0}" Target="_blank" ItemStyle-Width="30%" />
<asp:HyperLinkField HeaderText="SerieFolio" DataTextField="SerieFolio" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" Target="_blank" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Importe" DataField="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
<asp:HyperLinkField HeaderText="Folio" DataTextField="FolioIE" DataNavigateUrlFields="CveIE" DataNavigateUrlFormatString="/Bancos/IE.aspx?CveIE={0}" Target="_blank" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha" DataField="FechaIE" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="10%" />
<asp:BoundField HeaderText="Importe" DataField="Importe" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" ItemStyle-Width="15%" />
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink ID="HplPDF" runat="server" Visible="false"><i class='fa fa-ad-pdf'></i></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="5%" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,208 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepComplementoPago
Inherits ClsPaginas
Private Property DTComplemntos As DataTable
Get
If ViewState("DTComplemntos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTComplemntos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTComplemntos") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
InicializaValores()
End If
End Sub
#Region " INICIALIZA VALORES "
Private Sub InicializaValores()
TxtFiltrosFechaInicio.Text = Now.FirstDayOfMonth.ToShortDateString
TxtFiltrosFechaFin.Text = Now.ToShortDateString
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
'DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
'DdlProveedores.DataBind()
'DdlProveedores.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlUsuarioRegistra.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa)
DdlUsuarioRegistra.DataBind()
DdlUsuarioRegistra.Items.Insert(0, New ListItem("Todos", "-1"))
UpFiltros.Update()
End Sub
#End Region
#Region " CARGA DATOS "
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim CveProveedor As Integer = If(DdlProveedores.SelectedValue.ToEntero = 0, -1, DdlProveedores.SelectedValue.ToEntero)
Dim CveTipoProveedor = DdlTipoProveedor.SelectedValue.ToEntero
Dim FechaInicio = If(IsDate(TxtFiltrosFechaInicio.Text), TxtFiltrosFechaInicio.Text.ToDate, MinFecha)
Dim FechaFin = If(IsDate(TxtFiltrosFechaFin.Text), TxtFiltrosFechaFin.Text.ToDate, MaxFecha)
Dim TipoConsulta = If(ChkViculadas.Checked, 2, 1)
Dim Count As Integer = 0
Dim ObjCompras As New ClsCompras
If ObjCompras.RepComplementosPago(CveProveedor, -1, TipoConsulta, FechaInicio, FechaFin, UsuarioActual.CveEmpresa, CveTipoProveedor, DdlSubProyecto.SelectedValue.ToEntero, DdlUsuarioRegistra.SelectedValue.ToEntero) Then
DTComplemntos = ObjCompras.DtResultados '.FiltraParametros(If(ChkViculadas.Checked, "FechaAsociacionPago IS NOT NULL", "FechaAsociacionPago IS NULL"))
GvDatos.DataSource = DTComplemntos
If ChkViculadas.Checked Then
Count = DTComplemntos.Rows.Count
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
End If
ObjCompras.Dispose()
If Count > 0 Then
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar a {Count} ?")
LnkNotificar.Visible = True
Else
LnkNotificar.Attributes.Add("data-original-title", $"¿Notificar?")
LnkNotificar.Visible = False
End If
UpAcciones.Update()
ObjCompras.Dispose()
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If ChkViculadas.Checked Then
e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", e.Row.DBCampo("CveFactura"), e.Row.DBCampo("RFCde").ToString.Replace("&", "%26%"))))
End If
End If
End Sub
#End Region
#Region "ENVIA CORREOS NOTIFICACIÓN"
Protected Sub LnkNotificar_Click(sender As Object, e As EventArgs)
NotificarComplementos()
End Sub
Private Sub NotificarComplementos()
If ChkViculadas.Checked = False And DTComplemntos.Rows.Count > 0 Then
Dim DTComplementosPendientes As New DataTable
DTComplementosPendientes = DTComplemntos.FiltraParametros("FechaAsociacionPago IS NULL")
For Each Drow As DataRow In DTComplementosPendientes.Rows
Dim FechaPago As String = Drow("FechaIE").ToString
Dim NotificarA As String = Drow("NotificarA").ToString
Dim ContactoMailCobranza As String = Drow("ContactoMailCobranza").ToString
Dim MailDestino As String = ""
Dim Correo As New ClsSisMail
Dim SerieFolio As String = Drow("SerieFolio").ToString
Dim Fecha As Date = Drow("Fecha").ToString.ToDate
Dim Importe As Decimal = Drow("Importe").ToString.FormatoNumero(2).ToDecimal
Dim Proveedor As String = Drow("RazonSocial").ToString
Dim Cuerpo As New StringBuilder
Cuerpo.AppendLine($"<br>Por medio del presente correo se notifica a la empresa { Proveedor } que no cuenta con los complementos de pago al corriente y esto puede presentar un retrasó en sus pagos futuros.<br>")
Cuerpo.AppendLine("<br>")
Cuerpo.AppendLine("<table>")
Cuerpo.AppendLine("<tr>")
Cuerpo.AppendLine("<th>Folio</th><th>Fecha</th><th>Importe</th>")
Cuerpo.AppendLine("</tr><tr>")
Cuerpo.AppendLine($"<td>{SerieFolio}</td><td>{Fecha.ToString("dd/MM/yyyy")}</td><td>{Importe}</td>")
Cuerpo.AppendLine("</tr>")
Cuerpo.AppendLine("")
MailDestino = $"{ContactoMailCobranza};{NotificarA}"
If MailDestino.Trim.Length > 1 Then
Correo.SendMail(UsuarioActual.Empresa, MailDestino, $"{UsuarioActual.Empresa.NombreCorto} Complementos", Cuerpo.ToString)
End If
Next
End If
End Sub
#End Region
#Region "IMPRESION"
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs)
GeneraImpresion()
End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs)
GeneraImpresion("Excel")
End Sub
Private Sub GeneraImpresion(Optional Formato As String = "PDF")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim proveedor As String = If(DdlProveedores.SelectedValue = "", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedores.SelectedText}")
Dim FI As String = If(TxtFiltrosFechaInicio.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{TxtFiltrosFechaInicio.Text}")
Dim FF As String = If(TxtFiltrosFechaFin.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{TxtFiltrosFechaFin.Text}")
Dim vinc As String = If(ChkViculadas.Checked = True, "&emsp;<b>Vinculadas:</b>&nbsp;SI", "")
Dim TP As String = If(DdlTipoProveedor.SelectedValue = "-1", "", $"&emsp;<b>Tipo Proveedor:</b>&nbsp;{DdlTipoProveedor.SelectedItem.Text}")
Dim subProy As String = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyecto.SelectedItem.Text}")
Dim usuario As String = If(DdlUsuarioRegistra.SelectedValue = "-1", "", $"&emsp;<b>Usuario registró:</b>&nbsp;{DdlUsuarioRegistra.SelectedItem.Text}")
If DTComplemntos IsNot Nothing AndAlso DTComplemntos.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("AgrupadoPor", $"{proveedor}{FI}{FF}{vinc}{TP}{subProy}{usuario}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepComplementoPago.rdlc", DTComplemntos, params, "RepComplementoPago", Formato)
Else
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class

600
Compras/RepCompras.aspx Normal file
View File

@@ -0,0 +1,600 @@
<%@ Page Title="Reporte de Compras" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepCompras.aspx.vb" Inherits="Compras_RepCompras" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
/*.portlet-filter .portlet-body {
line-height: 1;
}
.row-min-height {
min-height: 35px;
}*/
/* 29/05/2018 - ListBoxs */
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
margin-top: 10px;
}
.select2-selection__rendered {
margin-top: 0px;
height: 25px;
}
.select2-selection {
margin-top: 0px;
height: 31px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
outline: 0;
}
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
<li>
<div id="DivBtnPersonalizar" runat="server" style="cursor: pointer" onclick="PosicionaObjeto('C_BtnConsultar','DivPersonalizar','',-170); $('#DivPersonalizar').show(1000);"><i class="fa fa-list-ul"></i> Personalizar</div>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal" ></i> Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" 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 ">Proveedor:</div>
<div class="col-md-2 ">
<ADS:Dropdownlost ID="DdlProveedores" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost>
<%--<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
</div>
<div class="col-md-1 truncate">
Fecha Inicio:
</div>
<div class="col-md-1" style="min-width: 115px">
<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" style="min-width: 115px">
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlGrupo" runat="server">
<%-- <asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Fecha Captura" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Tipo Documento" Value="6"></asp:ListItem>
<asp:ListItem Text="Clasificación Prov" Value="7"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="8"></asp:ListItem>
<asp:ListItem Text="Remesa" Value="10"></asp:ListItem>
<asp:ListItem Text="Remesa-Proyecto" Value="11"></asp:ListItem>
<asp:ListItem Text="Proyecto" Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1" runat="server" id="DivLblProyecto">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label>
</div>
<div class="col-md-2" runat="server" id="DivProyecto">
<asp:DropDownList ID="DdlProyecto" CssClass="select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<%--<asp:DropDownList ID="DdlSubProyecto" CssClass="select2me" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1" title="Fecha Inicio de Captura">F. I. Captura</div>
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaICaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaICaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICaptura" runat="server" TargetControlID="TxtFechaICaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaICaptura" TargetControlID="TxtFechaICaptura" PopupButtonID="ImgFechaICaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="CVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" title="Fecha Fin de Captura">F. F. Captura:</div>
<div class="col-md-1" style="min-width: 115px">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaFCaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFCaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCaptura" runat="server" TargetControlID="TxtFechaFCaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaFCaptura" TargetControlID="TxtFechaFCaptura" PopupButtonID="ImgFechaFCaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="CVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlMonedas" runat="server" CssClass=" select2me" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo de Proveedor:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass=" select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1 ">Capturó:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DDlUsuarioCaptura" CssClass=" select2me" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Gasto:</div>
<div class="col-md-2">
<%--<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoGasto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1">Tipo Docto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoDocto" runat="server" AppendDataBoundItems="true" >
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
<asp:ListItem Text="Nota de Crédito" Value="NC"></asp:ListItem>
<asp:ListItem Text="Devolución" Value="DEV"></asp:ListItem>
<asp:ListItem Text="Anticipo" Value="Ant" ></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" Width="99%" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Grupo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlGrupo" runat="server" Text='<%# Eval("GPO") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Cantidad
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Sub Total
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSubTotal" runat="server" Text='<%# Eval("SubTotal", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Descuento
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDescuento" runat="server" Text='<%# Eval("Descuento", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Amortización
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAmortizacion" runat="server" Text='<%# Eval("Amortizacion", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
IVA
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlIVA" runat="server" Text='<%# Eval("IVA", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Ret. IVA
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRetIVA" runat="server" Text='<%# Eval("RetIVA", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Ret. ISR
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRetISR" runat="server" Text='<%# Eval("RetISR", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTotal" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Sub. Máximo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMaxSubTotal" runat="server" Text='<%# Eval("MAX_SubTotal", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Sub. Promedio
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAVGSubTotal" runat="server" Text='<%# Eval("AVG_SubTotal", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Sub. Mínimo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMinSubTotal" runat="server" Text='<%# Eval("MIN_SubTotal", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Tot. Máximo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMaxTotal" runat="server" Text='<%# Eval("MAX_Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Tot. Promedio
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAVGTotal" runat="server" Text='<%# Eval("AVG_Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Tot. Mínimo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMinTotal" runat="server" Text='<%# Eval("MIN_Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<%--<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />--%>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" style="width: 315px; background-color: White; border: solid 1px black; color: Black; display: none; position: absolute;">
<table>
<tr class="Titulos">
<td style="width: 310px">
<asp:Label ID="LblTitulo1" runat="server" ClientIDMode="Static" Text="Personalizar Columnas"></asp:Label>
</td>
<td style="padding-right: 4px; padding-top: 4px" valign="top">
<img alt="" src="/Imagenes/close.gif" style="cursor: pointer;" onclick="$('#DivPersonalizar').hide(1000);" /></td>
</tr>
<tr>
<td colspan="2">
<table class="table table-striped table-advance table-hover">
<tr>
<td>
<asp:CheckBox ID="ChkRetIVA" runat="server" Text="Ret. IVA" /></td>
<td>
<asp:CheckBox ID="ChkMinSub" runat="server" Text="SubTotal Mínimo" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkRetISR" runat="server" Text="Ret. ISR" /></td>
<td>
<asp:CheckBox ID="ChkMaxTot" runat="server" Text="Total Máximo" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkMaxSub" runat="server" Text="SubTotal Máximo" /></td>
<td>
<asp:CheckBox ID="ChkAvgTot" runat="server" Text="Total Promedio" /></td>
</tr>
<tr>
<td>
<asp:CheckBox ID="ChkAVGSub" runat="server" Text="SubTotal Promedio" /></td>
<td>
<asp:CheckBox ID="ChkMinTot" runat="server" Text="Total Mínimo" /></td>
</tr>
</table>
</td>
</tr>
<tr style="text-align: center; height: 25px">
<td colspan="2">
<asp:Button ID="BtnPersonalizar" runat="server" Text="Personalizar" class="btn btn-primary" />
<input type="button" value="Cancelar" onclick="$('#DivPersonalizar').hide(1000);" class="btn btn-default grey-cascade" />
</td>
</tr>
</table>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" OnClick="BtnTipoCambio_Click" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="SubTotal" Value="2"></asp:ListItem>
<asp:ListItem Text="IVA" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

554
Compras/RepCompras.aspx.vb Normal file
View File

@@ -0,0 +1,554 @@

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepCompras
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property DtCompras As DataTable
Get
Return DirectCast(ViewState("DtCompras"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtCompras") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
End If
End Sub
#Region "CARGAS"
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Año", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Mes", "2"))
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
DdlGrupo.Items.Insert(4, New ListItem("Fecha Captura", "9"))
DdlGrupo.Items.Insert(5, New ListItem("Proveedor", "5"))
DdlGrupo.Items.Insert(6, New ListItem("Tipo Documento", "6"))
DdlGrupo.Items.Insert(7, New ListItem("Clasificación Prov.", "7"))
DdlGrupo.Items.Insert(8, New ListItem("Responsable", "8"))
DdlGrupo.Items.Insert(9, New ListItem("Remesa", "10"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("3")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(10, New ListItem("Remesa-SubProyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("SubProyecto", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Proyecto", "13"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal:"
LblSubProyecto.Text = "Proyecto:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Sucursal", "13"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto:"
LblSubProyecto.Text = "Sucursal:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Proyecto", "13"))
DdlGrupo.DataBind()
End If
DdlGrupo.Items.Add(New ListItem("Tipo Proveedor", "14"))
DdlGrupo.Items.Add(New ListItem("Tipo Gasto", "15"))
End Sub
Private Sub CargaCombos()
'CargaProveedores
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
DdlProveedores.SelectedText = "Todos"
DdlProveedores.SelectedValue = "-1"
'Carga Tipo de Gasto
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'Carga Usuarios Captura
DDlUsuarioCaptura.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
DDlUsuarioCaptura.DataBind()
'Carga Monedas
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
'CargaProyecto
DdlProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}))
DdlProyecto.DataBind()
'Carga Grupo
CargaGrupo()
'Carga Tipo Centro de Costo
CargaTipoCentroCosto()
CreaDataTableColor()
End Sub
Private Sub ConfiguraEmpresa()
'Dim ObjEmpresa As New ClsEmpresas()
'If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(6).Visible = False
If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(7).Visible = False
'End If
'ObjEmpresa.Dispose()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1).FiltraParametros(String.Format("CveProyecto = {0}", DdlProyecto.SelectedValue.ToEntero))
DdlSubProyecto.DataBind()
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region "SELECTED INDEX CHANGE"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
ConfiguraEmpresa()
UPDatos.Update()
End Sub
Protected Sub BtnTipoCambio_Click(sender As Object, e As EventArgs)
CargaDatos()
ConfiguraEmpresa()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim FechaICaptura, FechaFCaptura As String
FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString
If ObjCompras.GetRepCompras(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DDlUsuarioCaptura.SelectedValue.ToEntero, FechaICaptura,
FechaFCaptura, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, SubProyectos,
RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveProyecto:=DdlProyecto.SelectedValue.ToEntero, CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero, TipoDocto:=DdlTipoDocto.SelectedValue) Then
GvDatos.DataSource = ObjCompras.DtResultados
DtCompras = ObjCompras.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim Css As String = "Texto"
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(0).Width = Unit.Pixel(200)
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
e.Row.Cells(1).Width = Unit.Pixel(60)
e.Row.Cells(2).Width = Unit.Pixel(90)
e.Row.Cells(3).Width = Unit.Pixel(90)
e.Row.Cells(4).Width = Unit.Pixel(90)
e.Row.Cells(5).Width = Unit.Pixel(80)
e.Row.Cells(8).Width = Unit.Pixel(100)
End If
If e.Row.DBCampo("Orden") = "" Then
e.Row.CssClass = "Totales"
e.Row.HorizontalAlign = HorizontalAlign.Center
End If
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim Liga As String = String.Format("/Compras/RepComprasDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&FechaI={7}&FechaF={8}&CveMoneda={9}&CveUsuarioCaptura={10}&NumeroRemesa={11}&FechaICaptura={12}&FechaFCaptura={13}&FechaCaptura={14}&CveSubProyecto={15}&CveUsuarioRemesa={16}&TipoDocto={17}&CveTipoGasto={18}&CveProyecto={19}&CveTipoProveedor={20}&TipoCambio={21}",
DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"), FechaI, FechaF, e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveUsuarioCaptura"), e.Row.DBCampo("NumeroRemesa"), e.Row.DBCampo("FechaICaptura"), e.Row.DBCampo("FechaFCaptura"), e.Row.DBCampo("FechaCaptura"),
e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveUsuarioRemesa"), e.Row.DBCampo("TipoDocto"), e.Row.DBCampo("CveTipoGasto"), e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveTipoProveedor"), e.Row.DBCampo("OpcionTipoCambio"))
If e.Row.DBCampo("Orden") = "" Then
e.Row.FCLiteral("LtlGrupo").Text = e.Row.FCLiteral("LtlGrupo").Text
e.Row.FCLiteral("LtlCantidad").Text = e.Row.FCLiteral("LtlCantidad").Text
Else
e.Row.FCLiteral("LtlGrupo").Text = String.Format("<a class='{0}' target=""_blank"" href='{1}'>{2}</a>", Css, Liga, e.Row.FCLiteral("LtlGrupo").Text)
e.Row.FCLiteral("LtlCantidad").Text = String.Format("<a class='{0}' target=""_blank"" href='{1}'>{2}</a>", Css, Liga, e.Row.FCLiteral("LtlCantidad").Text)
End If
If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlSubTotal").Text = ""
If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.FCLiteral("LtlDescuento").Text = ""
If e.Row.DBCampo("Amortizacion").ToDouble = 0 Then e.Row.FCLiteral("LtlAmortizacion").Text = ""
If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.FCLiteral("LtlIVA").Text = ""
If e.Row.DBCampo("RetIVA").ToDouble = 0 Then e.Row.FCLiteral("LtlRetIVA").Text = ""
If e.Row.DBCampo("RetISR").ToDouble = 0 Then e.Row.FCLiteral("LtlRetISR").Text = ""
If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.FCLiteral("LtlTotal").Text = ""
If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxSubTotal").Text = ""
If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGSubTotal").Text = ""
If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.FCLiteral("LtlMinSubTotal").Text = ""
If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMaxTotal").Text = ""
If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlAVGTotal").Text = ""
If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.FCLiteral("LtlMinTotal").Text = ""
End If
End Sub
#End Region
#Region "PERSONALIZAR"
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
If ChkRetIVA.Checked Then
GvDatos.Columns(6).Visible = True
Else
GvDatos.Columns(6).Visible = False
End If
If ChkRetISR.Checked Then
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
If ChkMinSub.Checked Then
GvDatos.Columns(9).Visible = True
Else
GvDatos.Columns(9).Visible = False
End If
If ChkAVGSub.Checked Then
GvDatos.Columns(10).Visible = True
Else
GvDatos.Columns(10).Visible = False
End If
If ChkMaxSub.Checked Then
GvDatos.Columns(11).Visible = True
Else
GvDatos.Columns(11).Visible = False
End If
If ChkMinTot.Checked Then
GvDatos.Columns(12).Visible = True
Else
GvDatos.Columns(12).Visible = False
End If
If ChkAvgTot.Checked Then
GvDatos.Columns(13).Visible = True
Else
GvDatos.Columns(13).Visible = False
End If
If ChkMaxTot.Checked Then
GvDatos.Columns(14).Visible = True
Else
GvDatos.Columns(14).Visible = False
End If
UPDatos.Update()
End Sub
#End Region
#Region "I M P R I M I R"
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GvDatos.ExportToExcel("ReporteCompras" & Now.ToShortDateString)
End Sub
Private Sub GenerarPDF()
Dim FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
Dim FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedores.SelectedText}")
Dim Capturo = If(DDlUsuarioCaptura.SelectedValue = "-1", "", $"&emsp;<b>Capturó:</b> {DDlUsuarioCaptura.SelectedItem.Text}")
Dim Grupo = DdlGrupo.SelectedItem.Text
Dim Moneda = If(DdlMonedas.SelectedValue = "-1", "", $"&emsp;<b>Monedas:</b> {DdlMonedas.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b> {DdlProyecto.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.GetSelectedText}")
Dim FechaICaptura = If(TxtFechaICaptura.Text = "" Or TxtFechaICaptura.Text = "__/__/____", "", $"&emsp;<b>Fecha Inicio Captura:</b> {TxtFechaICaptura.Text}")
Dim FechaFCaptura = If(TxtFechaFCaptura.Text = "" Or TxtFechaFCaptura.Text = "__/__/____", "", $"&emsp;<b>Fecha Fin Captura:</b> {TxtFechaFCaptura.Text}")
Dim TipoGasto = If(DdlTipoGasto.GetSelectedText = "", "", $"&emsp;<b>Tipo Gasto:</b> {DdlTipoGasto.GetSelectedText}")
Dim TipoProveedor = If(DdlTipoProveedor.SelectedValue = "-1", "", $"&emsp;<b>Tipo de Proveedor:</b> {DdlTipoProveedor.SelectedItem.Text}")
Dim TipoDocto = If(DdlTipoDocto.SelectedValue = "-1", "", $"&emsp;<b>Tipo de Documento:</b> {DdlTipoDocto.SelectedItem.Text}")
If DtCompras IsNot Nothing AndAlso DtCompras.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToString))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {Proveedor}{Capturo}{Grupo}{Moneda}{FechaIn}{FechaFn}{Proyecto}{SubProyecto}{TipoGasto}{TipoProveedor}{FechaICaptura}{FechaFCaptura}{TipoDocto}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepCompras.rdlc", DtCompras, params, "ReporteCompras")
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
GenerarPDF()
End Sub
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DtCompras IsNot Nothing AndAlso DtCompras.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DtCompras.Rows
If Not Dr("Orden").ToString = "" Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
Case 3
Row("Valor") = Dr("IVA").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = Dr("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

329
Compras/RepComprasAF.aspx Normal file
View File

@@ -0,0 +1,329 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasAF.aspx.vb" Inherits="Compras_RepComprasAF" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras Activo Fijo
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LinkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<li>
<a target="_blank" class="ayuda" href="../Documentacion/DocumentacionCompras.aspx#RepComprasAF">&nbsp</a>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</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" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" 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">Fecha Inicio:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox Style="width: 115px !important" ID="txtFechaI" runat="server" CssClass="form-control text-size-12" 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>
<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>
<div class="col-md-1">Fecha Fin:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox Style="width: 115px !important" ID="txtFechaF" runat="server" CssClass="form-control text-size-12" 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>
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="80%" ID="DdlGrupo" runat="server">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Activo Fijo" Value="6"></asp:ListItem>
<asp:ListItem Text="Activo Fijo Tipo" Value="7"></asp:ListItem>
<asp:ListItem Text="Activo Fijo SubTipo" Value="8"></asp:ListItem>
<asp:ListItem Text="Producto" Value="9"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="10"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1">Tipo Activo Fijo: </div>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoActivoFijo" runat="server" CssClass="form-control input-sm select2me input-small" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">SubTipo Activo Fijo:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubTipoActivoFijo" CssClass="form-control input-sm select2me input-small" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Activo Fijo:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlActivoFijo" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="Descripcion" DataValueField="CveActivoFijo" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMonedas" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" CssClass="form-control input-sm select2me" DataValueField="CveMoneda" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row ">
<div class="col-md-1">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label>
</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlProyecto" CssClass=" form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="95%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="95%" AutoPostBack="True">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Clasificación:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Producto Servicio:</div>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="col-md-8">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" DataKeyNames="GPO,Cantidad,Total,Moneda" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Grupo">
<ItemTemplate>
<asp:Label ID="LblGPO" runat="server" Text='<%# If(Eval("GPO").ToString = "", Eval("Moneda"), Eval("GPO")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right" HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="LblCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right" HeaderText="Total">
<ItemTemplate>
<asp:Label ID="LblCantidad" Style="margin-right: 15px" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="Cantidad" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,433 @@
Option Strict On
Option Explicit On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class Compras_RepComprasAF
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
#End Region
Private Sub Compras_RepComprasAFaspx_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
DdlPS.ddl.Visible = False
If UsuarioActual.Empresa.GralSoloProyecto Then
LblSubProyecto.Text = "Proyecto:"
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlProyecto.Visible = False
DdlProyecto.Items(0).Text = ""
LblProyecto.Visible = False
End If
CreaDataTableColor()
End If
End Sub
#Region "CARGAS"
Private Sub CargaCombos()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.DataBind()
DdlTipoActivoFijo.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("", "TipoActivoFijo")
DdlTipoActivoFijo.DataBind()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlActivoFijo.DataBind()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlProyecto.Visible = False
LblSubProyecto.Text = "Sucursal"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlProyecto.Visible = False
LblSubProyecto.Text = "Proyecto"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
LblProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal"
LblSubProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto"
LblSubProyecto.Text = "Sucursal"
End If
End Sub
Private Sub DdlTipoActivoFijo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoActivoFijo.SelectedIndexChanged
DdlSubTipoActivoFijo.Items.Clear()
DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo = {0}", DdlTipoActivoFijo.SelectedValue), "SubTipoActivoFijo")
DdlSubTipoActivoFijo.DataBind()
DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubTipoActivoFijo.SelectedIndex = 0
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
Dim CvePS As Integer = If(DdlPS.txtValue.Value = "", -1, DdlPS.txtValue.Value.ToString.ToEntero)
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
If ObjCompras.GetRepComprasAF(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero,
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
DdlClasificacion.SelectedValue.ToEntero, DdlActivoFijo.SelectedValue.ToEntero, DdlTipoActivoFijo.SelectedValue.ToEntero, DdlSubTipoActivoFijo.SelectedValue.ToEntero,
CvePS, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DTDatos = ObjCompras.DtResultados
GvDatos.DataSource = ObjCompras.DtResultados
Else
DTDatos = Nothing
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "GRIDVIEWROW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells(0).Text = DdlGrupo.SelectedItem.Text
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim PS As String = DdlPS.txtText.Value
Dim CvePS As String = DdlPS.txtValue.Value
If CvePS = "" Or CvePS = "0" Then
CvePS = "-1"
End If
Dim Liga As String = $"/Compras/RepComprasAFDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CveActivoFijo={e.Row.DBCampo("CveActivoFijo")}&CveTipoActivoFijo={e.Row.DBCampo("CveTipoActivoFijo")}&CveSubTipoActivoFijo={e.Row.DBCampo("CveSubTipoActivoFijo")}&CveProyecto={ DdlProyecto.SelectedValue}&CveSubProyecto={DdlSubProyecto.SelectedValue}&CvePS={CvePS}&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}"
If e.Row.DBCampo("Orden") = "1" Then
e.Row.Cells(0).Text = String.Format("<a class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DataKey("GPO").ToString)
Else
e.Row.BackColor = Drawing.Color.LightGray
End If
End If
End Sub
#End Region
#Region "IMPRESIONES"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim FechaI, FechaF As String
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
'AgrupadoPor
params.Add(New ReportParameter("AgrupadoPor", FiltrosUsados()))
params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text))
params.Add(New ReportParameter("Titulo", "REPORTE COMPRAS ACTIVOS FIJOS"))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas\Grales\Formatos\RepComprasAF.rdlc", DTDatos, params, "ReporteComprasAF_" & Now.ToString("yyyyMMddmmss"), Formato:=Formato)
End Sub
#End Region
#Region "TIPO CAMBIO/ FILTROS USADOS"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Function FiltrosUsados() As String
Dim filtro As String = "<b>Filtros:</b> "
Dim ListaFiltros As New List(Of String)
Dim Contador As Integer = 0
If txtFechaI.Text.Length > 0 Then
ListaFiltros.Add("FechaI: " & txtFechaI.Text)
End If
If txtFechaF.Text.Length > 0 Then
ListaFiltros.Add("FechaF: " & txtFechaF.Text)
End If
If DdlTipoActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("Tipo: " & DdlTipoActivoFijo.SelectedItem.Text)
End If
If DdlSubTipoActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("SubTipo: " & DdlSubTipoActivoFijo.SelectedItem.Text)
End If
If DdlActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("AF: " & DdlActivoFijo.SelectedItem.Text)
End If
If DdlMonedas.SelectedIndex > 0 Then
ListaFiltros.Add("Moneda: " & DdlMonedas.SelectedItem.Text)
End If
If DdlProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("Proyecto: " & DdlProyecto.SelectedItem.Text)
End If
If DdlSubProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("SubProyecto: " & DdlSubProyecto.SelectedItem.Text)
End If
If DdlProveedores.SelectedIndex > 0 Then
ListaFiltros.Add("Proveedor: " & DdlProveedores.SelectedItem.Text)
End If
If DdlPS.txtValue.Value.ToEntero > 0 Then
ListaFiltros.Add("Producto: " & DdlPS.txtText.Value)
End If
If DdlClasificacion.SelectedIndex > 0 Then
ListaFiltros.Add("Clasificación: " & DdlClasificacion.SelectedItem.Text)
End If
For Each s As String In ListaFiltros
If Contador > 0 Then
filtro = filtro & ", " & s
Else
filtro = filtro & " " & s
End If
Contador = Contador + 1
Next
Return filtro
End Function
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DTDatos IsNot Nothing AndAlso DTDatos.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DTDatos.Rows
If Dr("Orden").ToString = "1" Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("Cantidad").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = Dr("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,339 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasAFDetalle.aspx.vb" Inherits="Compras_RepComprasAFDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
.ML{
max-width:600px;
width:600px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Compras Activo Fijo Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LinkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<li>
<%-- <a target="_blank" href="../Documentacion/DocumentacionCompras.aspx#RepComprasAF2"><i class="fa fa-question-circle" aria-hidden="true">&nbsp;Ayuda</i></a>--%>
<a target="_blank" class="ayuda" href="../Documentacion/DocumentacionCompras.aspx#RepComprasAF2">&nbsp</a>
</li>
</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">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<%--class="expand" data-original-title="" title=""--%>
<%--<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>--%>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1">Fecha Inicio:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox Style="width: 115px !important" ID="txtFechaI" runat="server" CssClass="form-control text-size-12" 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>
<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>
<div class="col-md-1">Fecha Fin:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox Style="width: 115px !important" ID="txtFechaF" runat="server" CssClass="form-control text-size-12" 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>
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="80%" ID="DdlGrupo" runat="server">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Activo Fijo" Value="6"></asp:ListItem>
<asp:ListItem Text="Activo Fijo Tipo" Value="7"></asp:ListItem>
<asp:ListItem Text="Activo Fijo SubTipo" Value="8"></asp:ListItem>
<asp:ListItem Text="Producto" Value="9"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="10"></asp:ListItem>
</asp:DropDownList>
</div>--%>
<%--</div>--%>
</div>
</div>
</div>
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row row-min-height">
<%--<div class="col-md-1"><span>Responsable:</span></div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>--%>
<div class="col-md-1">Tipo Activo Fijo: </div>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoActivoFijo" runat="server" CssClass="form-control input-sm select2me input-small" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" Width="95%" >
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">SubTipo Activo Fijo:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubTipoActivoFijo" CssClass="form-control input-sm select2me input-small" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Activo Fijo:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlActivoFijo" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="Descripcion" DataValueField="CveActivoFijo" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMonedas" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" CssClass="form-control input-sm select2me" DataValueField="CveMoneda" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row ">
<div class="col-md-1"><asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlProyecto" CssClass=" form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="95%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="95%" AutoPostBack="True">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Clasificación:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Producto Servicio:</div>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="col-md-12">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" DataKeyNames="Cantidad,Total,Moneda" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Factura
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblFactura" runat="server" Text='<%# Eval("SerieFolio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
ActivoFijo
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblActivoFijo" CssClass="ML Truncate" runat="server" Text='<%# Eval("Descripcion") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
No. Serie
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblNoSerie" CssClass="ML Truncate" runat="server" Text='<%# Eval("NoSerie") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Producto
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblPS" runat="server" CssClass="ML Truncate" Text='<%# Eval("CodigoPS") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
Unidad de Medida
</HeaderTemplate>
<ItemTemplate>
<asp:Label Id="LtlPU" runat="server" Text='<%# Eval("UnidadMedida") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Cantidad
</HeaderTemplate>
<ItemTemplate>
<asp:Label Id="LtlCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
PU
</HeaderTemplate>
<ItemTemplate>
<asp:Label Id="LtlPU" runat="server" Text='<%# Eval("PU", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblCantidad" style="margin-right:15px" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<%--<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />--%>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,441 @@
Option Strict On
Option Explicit On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Imports System.IO
Partial Class Compras_RepComprasAFDetalle
Inherits ClsPaginas
#Region " PROPIEDADES "
Private Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property Grupo As Integer
Get
Return ViewState("Grupo").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Grupo") = value
End Set
End Property
Private Property Anio As String
Get
Return ViewState("Anio").ToString
End Get
Set(value As String)
ViewState("Anio") = value
End Set
End Property
Private Property Mes As String
Get
Return ViewState("Mes").ToString
End Get
Set(value As String)
ViewState("Mes") = value
End Set
End Property
Private Property AnioMes As String
Get
Return ViewState("AnioMes").ToString
End Get
Set(value As String)
ViewState("AnioMes") = value
End Set
End Property
#End Region
Private Sub Compras_RepComprasAFDetalle_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
'ImgPersonalizar.Attributes.Add("onclick", "javascript:$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
DdlPS.ddl.Visible = False
Try
Dim Fecha, FechaI, FechaF As String
'txtFechaI.Text = If(Request.QueryString("FechaI").ToString = "-1", "", Request.QueryString("FechaI").ToString)
'txtFechaF.Text = If(Request.QueryString("FechaF").ToString = "-1", "", Request.QueryString("FechaF").ToString)
'DdlGrupo.SelectedValueExist(Request.QueryString("GPO").ToString)
DdlTipoActivoFijo.SelectedValueExist(Request.QueryString("CveTipoActivoFijo").ToString)
DdlSubTipoActivoFijo.SelectedValueExist(Request.QueryString("CveSubTipoActivofijo").ToString)
DdlActivoFijo.SelectedValueExist(Request.QueryString("CveActivoFijo").ToString)
DdlMonedas.SelectedValueExist(Request.QueryString("CveMoneda").ToString)
DdlProyecto.SelectedValueExist(Request.QueryString("CveProyecto").ToString)
DdlSubProyecto.SelectedValueExist(Request.QueryString("CveSubProyecto").ToString)
DdlProveedores.SelectedValueExist(Request.QueryString("CveProveedor").ToString)
DdlClasificacion.SelectedValueExist(Request.QueryString("CveClasificacion").ToString)
If Request.QueryString("CvePS").ToString.Length > 0 Then
DdlPS.txtText.Value = Request.QueryString("PS").ToString
DdlPS.txtValue.Value = If(Request.QueryString("CvePS").ToString = "-1", "", Request.QueryString("CvePS").ToString)
End If
Anio = Request.QueryString("Anio").ToString()
Mes = Request.QueryString("Mes").ToString()
AnioMes = Request.QueryString("AnioMes").ToString()
Fecha = Request.QueryString("Fecha").ToString()
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text)
txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
ElseIf FechaI <> "-1" Then
txtFechaI.Text = FechaI
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
ElseIf FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
CargaDatos()
Catch ex As Exception
Dim asd As Integer = 1
End Try
If UsuarioActual.Empresa.GralSoloProyecto Then
LblSubProyecto.Text = "Proyecto:"
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlSubProyecto.SelectedValue = "-1"
DdlSubProyecto.DataBind()
'DdlSubProyecto.SelectedValueExist(Request.QueryString("CveSubProyecto").ToString)
DdlProyecto.Visible = False
DdlProyecto.Items(0).Text = ""
LblProyecto.Visible = False
End If
If UsuarioActual.CveEmpresa = 72 Then
GvDatos.Columns(2).Visible = True
End If
End If
End Sub
Private Sub CargaCombos()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.DataBind()
DdlTipoActivoFijo.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("", "TipoActivoFijo")
DdlTipoActivoFijo.DataBind()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlActivoFijo.DataBind()
DdlActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1"))
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlProyecto.Visible = False
LblSubProyecto.Text = "Sucursal"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlProyecto.Visible = False
LblSubProyecto.Text = "Proyecto"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
LblProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal"
LblSubProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto"
LblSubProyecto.Text = "Sucursal"
End If
End Sub
Private Sub DdlTipoActivoFijo_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoActivoFijo.SelectedIndexChanged
DdlSubTipoActivoFijo.Items.Clear()
DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo = {0}", DdlTipoActivoFijo.SelectedValue), "SubTipoActivoFijo")
DdlSubTipoActivoFijo.DataBind()
DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlSubTipoActivoFijo.SelectedIndex = 0
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
Dim CvePS As Integer = If(DdlPS.txtValue.Value = "", -1, DdlPS.txtValue.Value.ToString.ToEntero)
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
If ObjCompras.GetRepComprasAFDetalle(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1,
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
DdlClasificacion.SelectedValue.ToEntero, DdlActivoFijo.SelectedValue.ToEntero, DdlTipoActivoFijo.SelectedValue.ToEntero, DdlSubTipoActivoFijo.SelectedValue.ToEntero,
CvePS, Anio.ToEntero, Mes.ToEntero, AnioMes, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DTDatos = ObjCompras.DtResultados
GvDatos.DataSource = ObjCompras.DtResultados
Else
GvDatos.DataSource = Nothing
DTDatos = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
' e.Row.Cells(0).Text = DdlGrupo.SelectedItem.Text
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim Liga As String = $"/Compras/Compras.aspx?CveCompra={e.Row.DBCampo("CveCompra")}"
If e.Row.DBCampo("Orden") = "1" Then
e.Row.Cells(0).Text = String.Format("<a class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DBCampo("SerieFolio").ToString)
Else
e.Row.BackColor = Drawing.Color.LightGray
End If
End If
End Sub
#Region "I M P R I M I R P D F/Excel"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim RutaPDF As String
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
RutaPDF = $"{Ruta}\Formatos\RepComprasAFDetalle.rdlc"
If Not File.Exists(RutaPDF) Then
RutaPDF = "Empresas\Grales\Formatos\RepComprasAFDetalle.rdlc"
End If
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim FechaI, FechaF As String
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
params.Add(New ReportParameter("AgrupadoPor", FiltrosUsados()))
'params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text))
params.Add(New ReportParameter("Titulo", "REPORTE COMPRAS ACTIVOS FIJOS DETALLE"))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF(RutaPDF, DTDatos, params, "ReporteComprasAFDetalle_" & Now.ToString("yyyyMMddmmss"), Formato:=Formato)
End Sub
#End Region
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Function FiltrosUsados() As String
Dim filtro As String = "<b>Filtros:</b> "
Dim ListaFiltros As New List(Of String)
Dim Contador As Integer = 0
If txtFechaI.Text.Length > 0 Then
ListaFiltros.Add("<b>FechaI:</b> " & txtFechaI.Text)
End If
If txtFechaF.Text.Length > 0 Then
ListaFiltros.Add("<b>FechaF:</b> " & txtFechaF.Text)
End If
If DdlTipoActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("<b>Tipo:</b> " & DdlTipoActivoFijo.SelectedItem.Text)
End If
If DdlSubTipoActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("<b>SubTipo:</b> " & DdlSubTipoActivoFijo.SelectedItem.Text)
End If
If DdlActivoFijo.SelectedIndex > 0 Then
ListaFiltros.Add("<b>AF:</b> " & DdlActivoFijo.SelectedItem.Text)
End If
If DdlMonedas.SelectedIndex > 0 Then
ListaFiltros.Add("<b>Moneda:</b> " & DdlMonedas.SelectedItem.Text)
End If
If DdlProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("<b>Proyecto:</b> " & DdlProyecto.SelectedItem.Text)
End If
If DdlSubProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("<b>SubProyecto:</b> " & DdlSubProyecto.SelectedItem.Text)
End If
If DdlProveedores.SelectedIndex > 0 Then
ListaFiltros.Add("<b>Proveedor:</b> " & DdlProveedores.SelectedItem.Text)
End If
If DdlPS.txtValue.Value.ToEntero > 0 Then
ListaFiltros.Add("<b>Producto:</b> " & DdlPS.txtText.Value)
End If
If DdlClasificacion.SelectedIndex > 0 Then
ListaFiltros.Add("<b>Clasificación:</b> " & DdlClasificacion.SelectedItem.Text)
End If
For Each s As String In ListaFiltros
If Contador > 0 Then
filtro = filtro & ", " & s
Else
filtro = filtro & " " & s
End If
Contador = Contador + 1
Next
Return filtro
End Function
End Class

View File

@@ -0,0 +1,526 @@
<%@ Page Title="Reporte de Compras Clasificación" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasDetalle.aspx.vb" Inherits="Compras_RepComprasDetalle" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="H" runat="Server">
<%--<asp:ImageButton ID="ImgExcel" runat="server" ImageUrl="/Imagenes/IconoExcel.gif" Width="17px" Height="17px" />--%>
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server">
<i class="fa fa-ad-excel"></i> Exportar Excel
</asp:LinkButton>
</li>
<li runat="server" id="LiImprimir" visible="false">
<asp:LinkButton ID="Lnkimprimir" runat="server">
<i class="fa fa-print"></i> Imprimir Remesa
</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="Css" runat="Server">
<style>
.Widthall {
width: 100% !important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position: static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody {
overflow: hidden !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
/* 31/05/2018 - ListBoxs */
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
margin-top: 10px;
}
.select2-selection__rendered {
margin-top: 0px;
height: 25px;
}
.select2-selection {
margin-top: 0px;
height: 31px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
outline: 0;
}
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" 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 ">Proveedor:</div>
<div class="col-md-2 ">
<ADS:Dropdownlost ID="DdlProveedores" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost>
<%--<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
</div>
<div class="col-md-1 truncate">
Fecha Inicio:
</div>
<div class="col-md-1" style="min-width:115px">
<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" style="min-width:115px">
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlGrupo" runat="server">
<%-- <asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Fecha Captura" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Tipo Documento" Value="6"></asp:ListItem>
<asp:ListItem Text="Clasificación Prov" Value="7"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="8"></asp:ListItem>
<asp:ListItem Text="Remesa" Value="10"></asp:ListItem>
<asp:ListItem Text="Remesa-Proyecto" Value="11"></asp:ListItem>
<asp:ListItem Text="Proyecto" Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1" runat="server" id="DivLblProyecto">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label>
</div>
<div class="col-md-2" runat="server" id="DivProyecto">
<asp:DropDownList ID="DdlProyecto" CssClass="select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlSubProyecto" CssClass="select2me" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1" title="Fecha Inicio de Captura">F. I. Captura</div>
<div class="col-md-1" style="min-width:115px">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaICaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaICaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICaptura" runat="server" TargetControlID="TxtFechaICaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaICaptura" TargetControlID="TxtFechaICaptura" PopupButtonID="ImgFechaICaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="CVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" title="Fecha Fin de Captura">F. F. Captura:</div>
<div class="col-md-1" style="min-width:115px">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaFCaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFCaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCaptura" runat="server" TargetControlID="TxtFechaFCaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaFCaptura" TargetControlID="TxtFechaFCaptura" PopupButtonID="ImgFechaFCaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="CVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Tipo de Proveedor:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass=" select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1 ">Capturó:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DDlUsuarioCaptura" CssClass=" select2me" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Gasto:</div>
<div class="col-md-2">
<%-- <asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoGasto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1">Tipo Docto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoDocto" runat="server" AppendDataBoundItems="true" >
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
<asp:ListItem Text="Nota de Crédito" Value="NC"></asp:ListItem>
<asp:ListItem Text="Anticipo" Value="Ant" ></asp:ListItem>
<asp:ListItem Text="Devolución" Value="DEV"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Compras">
<Columns>
<asp:TemplateField ItemStyle-Width="60">
<HeaderTemplate>
Fecha
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="100">
<HeaderTemplate>
Serie/Folio
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplSerieFolio" runat="server" Text='<%# Eval("SerieFolio") %>' CssClass="Texto" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="20">
<HeaderTemplate>
Cant.
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlCant" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
SubTotal
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSubTotal" runat="server" Text='<%# Eval("SubTotal", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
IVA
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlIVA" runat="server" Text='<%# Eval("IVA", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
Descuentos
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDescuentos" runat="server" Text='<%# Eval("Descuento", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="80">
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTotal" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="60">
<HeaderTemplate>
Moneda
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlUM" runat="server" Text='<%# Eval("Abreviatura")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="200">
<HeaderTemplate>
Proveedor
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlProveedor" runat="server" Text='<%# Eval("RazonSocial") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="30">
<HeaderTemplate>
Folio Inv
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFolioInv" runat="server" Text='<%# Eval("FolioInv") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="60">
<HeaderTemplate>
Fecha Movimiento
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFechaInv" runat="server" Text='<%# Eval("FechaInv", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="SubTotal" Value="2"></asp:ListItem>
<asp:ListItem Text="IVA" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/scripts/datatable.js"></script>
<script src="/Metronic/assets/global/plugins/datatables/all.min.js"></script>
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,592 @@
Option Explicit On
Option Strict On
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Imports System.Data
Partial Class Compras_RepComprasDetalle
Inherits ClsPaginas
#Region " PROPIEDADES "
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property NumeroRemesa As String
Get
NumeroRemesa = ViewState("NumeroRemesa").ToString
End Get
Set(value As String)
ViewState("NumeroRemesa") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
CveMoneda = ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
CargaParametrosInicio()
CargaDatos()
End If
End Sub
#Region "CARGAS"
Private Sub CargaParametrosInicio()
Dim SubProyecto, Proveedor, Usuario, UsuarioCaptura, UsuarioRemesa, CveProyecto, Grupo As String
Dim Anio, Mes, AnioMes, Fecha, FechaI, FechaF, FechaCaptura, FechaICaptura, FechaFCaptura, TipoDocto, TipoGasto, CveTipoProveedor As String
Grupo = If(Request("GPO") IsNot Nothing AndAlso Request("GPO").ToEntero() > 0, Request("GPO").ToEntero(), -1).ToString
'PARAMETROS DE LISTBOXS
SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto") <> "", Request("CveSubProyecto"), "-1").ToString
TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto") <> "", Request("CveTipoGasto"), "-1").ToString
Proveedor = If(Request("CveProveedor") IsNot Nothing AndAlso Request("CveProveedor").ToEntero() > 0, Request("CveProveedor").ToEntero(), -1).ToString
Usuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString
UsuarioCaptura = If(Request("CveUsuarioCaptura") IsNot Nothing AndAlso Request("CveUsuarioCaptura").ToEntero() > 0, Request("CveUsuarioCaptura").ToEntero(), -1).ToString
NumeroRemesa = If(Request("NumeroRemesa") IsNot Nothing AndAlso Request("NumeroRemesa").ToEntero() > 0, Request("NumeroRemesa").ToEntero(), -1).ToString
UsuarioRemesa = If(Request("CveUsuarioRemesa") IsNot Nothing AndAlso Request("CveUsuarioRemesa").ToEntero() > 0, Request("CveUsuarioRemesa").ToEntero(), -1).ToString
CveTipoProveedor = If(Request("CveTipoProveedor") IsNot Nothing AndAlso Request("CveTipoProveedor").ToEntero() > 0, Request("CveTipoProveedor").ToEntero(), -1).ToString
CveProyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString
CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToEntero
TipoDocto = If(Request("TipoDocto") IsNot Nothing AndAlso Request("TipoDocto") <> "", Request("TipoDocto").ToString, "-1")
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
FechaCaptura = If(Request("FechaCaptura") IsNot Nothing, Request("FechaCaptura").ToString, "-1").ToString
FechaICaptura = If(Request("FechaICaptura") IsNot Nothing, Request("FechaICaptura").ToString, "-1").ToString
FechaFCaptura = If(Request("FechaFCaptura") IsNot Nothing, Request("FechaFCaptura").ToString, "-1").ToString
If IfNull(Request("TipoCambio"), "1").ToString <> "1" Then
RblTipoCambio.SelectedValue = IfNull(Request("TipoCambio"), "1").ToString
End If
'txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text)
'txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
'txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
Else
If FechaI <> "-1" Then txtFechaI.Text = FechaI
If FechaF <> "-1" Then txtFechaF.Text = FechaF
End If
If FechaCaptura <> "-1" Then
TxtFechaICaptura.Text = FechaCaptura
TxtFechaFCaptura.Text = FechaCaptura
Else
If FechaICaptura <> "-1" Then
TxtFechaICaptura.Text = FechaICaptura
End If
If FechaFCaptura <> "-1" Then
TxtFechaFCaptura.Text = FechaFCaptura
End If
End If
DdlProyecto.SelectedValueExist(CveProyecto)
If DivProyecto.Visible Then CargaSubProyecto()
'CARGA LISTBOXs
DdlSubProyecto.SelectedValuesIfExistM(SubProyecto)
DdlTipoGasto.SelectedValuesIfExistM(TipoGasto)
DdlUsuario.SelectedValueExist(Usuario)
DDlUsuarioCaptura.SelectedValueExist(UsuarioCaptura)
DdlGrupo.SelectedValueExist(Grupo)
DdlProveedores.SelectedValue = Proveedor
If DdlProveedores.SelectedValue.ToEntero > 0 Then
DdlProveedores.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros($"CveProveedor = {Proveedor}").Rows(0)("RazonSocial").ToString
Else
DdlProveedores.SelectedText = "Todos"
End If
DdlTipoProveedor.SelectedValueExist(CveTipoProveedor)
DdlTipoDocto.SelectedValueExist(TipoDocto)
End Sub
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Año", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Mes", "2"))
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
DdlGrupo.Items.Insert(4, New ListItem("Fecha Captura", "9"))
DdlGrupo.Items.Insert(5, New ListItem("Proveedor", "5"))
DdlGrupo.Items.Insert(6, New ListItem("Tipo Documento", "6"))
DdlGrupo.Items.Insert(7, New ListItem("Clasificación Prov.", "7"))
DdlGrupo.Items.Insert(8, New ListItem("Responsable", "8"))
DdlGrupo.Items.Insert(9, New ListItem("Remesa", "10"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("3")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(10, New ListItem("Remesa-SubProyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("SubProyecto", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Proyecto", "13"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal:"
LblSubProyecto.Text = "Proyecto:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Sucursal", "13"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto:"
LblSubProyecto.Text = "Sucursal:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.Items.Insert(12, New ListItem("Proyecto", "13"))
DdlGrupo.DataBind()
End If
DdlGrupo.Items.Add(New ListItem("Tipo Proveedor", "14"))
DdlGrupo.Items.Add(New ListItem("Tipo Gasto", "15"))
End Sub
Private Sub CargaCombos()
'Carga Tipo de Gasto
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
DdlTipoGasto.Items.Insert(0, New ListItem("Sin Tipo Gasto", "-2"))
'Carga Proveedores
DdlProveedores.setEsWebService(True)
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
DdlProveedores.SelectedText = "Todos"
DdlProveedores.SelectedValue = "-1"
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'Carga Usuario Capturo
DDlUsuarioCaptura.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
DDlUsuarioCaptura.DataBind()
'CargaProyecto
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.DataBind()
'Carga Grupos
CargaGrupo()
'Carga Tipo Centro de Costo
CargaTipoCentroCosto()
CreaDataTableColor()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim FechaICaptura, FechaFCaptura As String
FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString
If ObjCompras.GetRepComprasDetalle(DdlGrupo.SelectedValue.ToEntero, IfNull(Request("Anio"), Now.Year).ToString.ToEntero, IfNull(Request("Mes"), "-1").ToString.ToEntero, IfNull(Request("AnioMes"), "-1").ToString(), IfNull(Request("Fecha"), "-1").ToString(),
DdlProveedores.SelectedValue.ToEntero, CveMoneda, DdlUsuario.SelectedValue.ToEntero, FechaI, FechaF, DDlUsuarioCaptura.SelectedValue.ToEntero,
IfNull(Request("NumeroRemesa"), "-1").ToString.ToEntero, IfNull(Request("CveUsuarioRemesa"), "-1").ToString.ToEntero, FechaICaptura, FechaFCaptura, IfNull(Request("FechaCaptura"), "-1").ToString,
SubProyectos, DdlTipoDocto.SelectedValue, UsuarioActual.CveEmpresa,
RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveProyecto:=DdlProyecto.SelectedValue.ToEntero, CveTipoProveedor:=DdlTipoProveedor.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjCompras.DtResultados
DtDatos = ObjCompras.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
If Request("NumeroRemesa").ToEntero > 0 AndAlso UsuarioActual.CveEmpresa = 66 Then '66 = GLUYAS
LiImprimir.Visible = True
NumeroRemesa = Request("NumeroRemesa")
End If
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "SELECTED INDEX CHANGE"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If Not e.Row.DBCampo("CveCompra").ToEntero > 0 Then
e.Row.CssClass = "Totales"
e.Row.FCLiteral("LtlFecha").Text = e.Row.DBCampo("GPO")
e.Row.FCHyperLink("HplSerieFolio").Text = ""
End If
e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(7).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(8).HorizontalAlign = HorizontalAlign.Left
e.Row.Cells(3).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(4).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(5).HorizontalAlign = HorizontalAlign.Right
e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right
End If
End Sub
#End Region
#Region " IMPRIMIR "
Protected Sub Lnkimprimir_Click(sender As Object, e As EventArgs) Handles Lnkimprimir.Click
Dim Elaboro As String = ""
If Request("CveUsuarioRemesa").ToString <> "-1" AndAlso NumeroRemesa.ToEntero > 0 Then
Dim dtElaboro = GlobalDTUsuarios(Request("CveUsuarioRemesa").ToString.ToEntero, UsuarioActual.CveEmpresa)
If dtElaboro.Rows.Count > 0 Then Elaboro = dtElaboro(0)("Nombre").ToString
End If
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("Numero", NumeroRemesa))
params.Add(New ReportParameter("Anio", DtDatos.FiltraParametros("CveCompra > 0").MAX("Fecha").ToDate.Year.ToString))
params.Add(New ReportParameter("Nombre", DtDatos.MAX("SubProyecto")))
params.Add(New ReportParameter("Fecha", Now.Date.ToString))
params.Add(New ReportParameter("Elaboro", Elaboro))
params.Add(New ReportParameter("Autorizo", ""))
params.Add(New ReportParameter("ElaboroPuesto", ""))
params.Add(New ReportParameter("AutorizoPuesto", ""))
ImprimirPDF(String.Format("{0}Formatos\Remesa.rdlc", UsuarioActual.Empresa.Ruta), DtDatos.FiltraParametros("CveCompra > 0"), params, "Remesa", RDSName:="DsCompras")
End Sub
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
'GvDatos.ExportToExcel("ReporteComprasClasificacion" & Now.ToShortDateString)
GenerarPDF("EXCEL")
End Sub
Protected Sub LnkPdf_Click(sender As Object, e As EventArgs)
GenerarPDF("PDF")
End Sub
Private Sub GenerarPDF(Opcion As String)
Dim FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
Dim FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedores.SelectedText}")
Dim Capturo = If(DDlUsuarioCaptura.SelectedValue = "-1", "", $"&emsp;<b>Capturó:</b> {DDlUsuarioCaptura.SelectedItem.Text}")
Dim Grupo = DdlGrupo.SelectedItem.Text
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b> {DdlProyecto.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.GetSelectedText}")
Dim TipoGasto = If(DdlTipoGasto.GetSelectedText = "", "", $"&emsp;<b>Tipo Gasto:</b> {DdlTipoGasto.GetSelectedText}")
Dim TipoProveedor = If(DdlTipoProveedor.SelectedValue = "-1", "", $"&emsp;<b>Tipo de Proveedor:</b> {DdlTipoProveedor.SelectedItem.Text}")
Dim TipoDocto = If(DdlTipoDocto.SelectedValue = "-1", "", $"&emsp;<b>Tipo de Documento:</b> {DdlTipoDocto.SelectedItem.Text}")
Dim FechaIF, FechaFF As String
FechaIF = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaFF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim FechaICapturaF, FechaFCapturaF As String
FechaICapturaF = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCapturaF = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
Dim FechaCIn As String = $"&emsp;<b>Fecha Inicio Captura:</b> {TxtFechaICaptura.Text.Trim()}"
Dim FechaCFn As String = $"&emsp;<b>Fecha Fin Captura:</b> {TxtFechaFCaptura.Text.Trim()}"
If Not IsDate(TxtFechaICaptura.Text.Trim()) Then FechaCIn = ""
If Not IsDate(TxtFechaFCaptura.Text.Trim()) Then FechaCFn = ""
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
For Each Dr As DataRow In DtDatos.Rows
Dr("Fecha") = Dr("Fecha").ToString.ToDate.ToShortDateString
Next
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToString))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {Proveedor}{Capturo}{Grupo}{FechaIn}{FechaFn}{FechaCIn}{FechaCFn}{Proyecto}{SubProyecto}{TipoGasto}{TipoProveedor}{TipoDocto}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepComprasDetalle.rdlc", DtDatos, params, "ReporteComprasDetalles", Opcion)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DtDatos.Rows
If Not Dr("CveCompra").ToString.ToEntero > 0 Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
Case 3
Row("Valor") = Dr("IVA").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

102
Compras/RepComprasG.aspx Normal file
View File

@@ -0,0 +1,102 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasG.aspx.vb" Inherits="Compras_RepComprasG" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
<%--<asp:ImageButton ID="ImgExcel" runat="server" ImageUrl="/Imagenes/IconoExcel.gif" Width="17px" Height="17px" />--%>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras Registradas
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT" style="">
<div class="titlefiltros caption ">
<ul class="list-inline text-size-12">
<li>Proveedor:
<asp:DropDownList ID="DdlProveedores" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="300px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Capturó:
<asp:DropDownList ID="DDlUsuarioCaptura" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="200px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Estatus:
<asp:DropDownList ID="DdlEstatusCompra" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura" Width="100px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
</ul>
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>
</div>
</div>
<div class="portlet-body" style="display: none;">
<ul class="list-inline">
<li>F.I.:
<asp:TextBox ID="txtFechaI" runat="server" Width="70px"></asp:TextBox>
&nbsp;<asp:ImageButton runat="server" ID="imgCalendario" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
<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>
</li>
<li>F.F.:
<asp:TextBox ID="txtFechaF" runat="server" Width="70px"></asp:TextBox>
&nbsp;<asp:ImageButton runat="server" ID="imgCalendarioF" ImageUrl="/Imagenes/calendar.png" ImageAlign="AbsMiddle" Width="16px" Height="16px" AlternateText="Click para ver el Calendario" />
<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>
</li>
</ul>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="margin-top: -10px; text-align: center;" GridLines="None">
<Columns>
<asp:BoundField DataField="NombreComercial" HeaderText="Proveedor" />
<asp:HyperLinkField DataTextField="SerieFolio" DataNavigateUrlFields="CveCompra" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" HeaderText="Factura" />
<asp:BoundField DataField="SubProyecto" HeaderText="Obra" />
<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}" />
<asp:BoundField DataField="SubTotal" HeaderText="SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="IVA" HeaderText="IVA" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="RetIVA" HeaderText="Ret IVA" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="RetISR" HeaderText="Ret ISR" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="TotalMN" HeaderText="MN" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="TotalDlls" HeaderText="Dlls" DataFormatString="{0:#,#.##}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="FechaVencimiento" HeaderText="Vencim." DataFormatString="{0:d}" />
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,95 @@

Option Explicit On
Option Strict On
Imports Extensiones
Partial Class Compras_RepComprasG
Inherits ClsPaginas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
CargaDatos()
End If
End Sub
Private Sub CargaCombos()
'CargaProveedores
'Dim ObjProveedores As New ClsCompProveedores
'If ObjProveedores.GetProveedores(ClsCompProveedores.TipoConsulta.ParaUsoEnEmpresa, -1, "-1", "-1", "-1", "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) Then
' DdlProveedores.DataSource = ObjProveedores.DtResultados
'Else
' DdlProveedores.DataSource = Nothing
'End If
'ObjProveedores.Dispose()
'DdlProveedores.DataBind()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
'TxtFechaICaptura.Text = Now.AddMonths(-1).FirstDayOfMonth.ToShortDateString
'TxtFechaFCaptura.Text = Now.ToShortDateString
DDlUsuarioCaptura.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DDlUsuarioCaptura.DataBind()
DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1,2)")
DdlEstatusCompra.DataBind()
End Sub
Private Sub CargaDatos()
'Dim ObjCompras As New ClsCompras()
''Dim FechaICaptura, FechaFCaptura As String
''FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
''FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
'Dim FechaI, FechaF As String
'FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.ToDate.ToString("yyyy/MM/dd"), "-1")
'FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.ToDate.ToString("yyyy/MM/dd"), "-1")
''FechaI, FechaF, -1, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero
'If ObjCompras.GetRepComprasG(DdlProveedores.SelectedValue.ToEntero, DdlEstatusCompra.SelectedValue.ToEntero, FechaI, FechaF, DDlUsuarioCaptura.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
' GvDatos.DataSource = ObjCompras.DtResultados
'Else
' GvDatos.DataSource = Nothing
'End If
'ObjCompras.Dispose()
'GvDatos.DataBind()
'UPDatos.Update()
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).Width = 300
e.Row.Cells(1).Width = 75
e.Row.Cells(2).Width = 100
e.Row.Cells(3).Width = 65
e.Row.Cells(4).Width = 75
e.Row.Cells(5).Width = 75
e.Row.Cells(6).Width = 65
e.Row.Cells(7).Width = 65
e.Row.Cells(8).Width = 75
e.Row.Cells(9).Width = 75
e.Row.Cells(10).Width = 65
End If
If e.Row.DBCampo("CveCompra").ToEntero = 0 Then
e.Row.CssClass = "SubTotales"
End If
End If
End Sub
Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GvDatos.ExportToExcel("ReporteCompras" & Now.ToShortDateString)
End Sub
End Class

View File

@@ -0,0 +1,175 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepComprasInventarios.aspx.cs" Inherits="Compras_RepComprasInventarios" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras de Inventario
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpLnkAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:UpdatePanel runat="server" ID="UpPorcentajePrecios" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkPDF" OnClick="LnkPDF_Click" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkPDF" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpdatePanel1" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkExcel" />
</Triggers>
</asp:UpdatePanel>
</ContentTemplate>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size: 12px;">Fecha Inicio:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px; width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaIC" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioC" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaIC" runat="server" TargetControlID="txtFechaIC" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarioC" TargetControlID="txtFechaIC" PopupButtonID="ImgCalendarioC" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaIC" runat="server" ControlToValidate="txtFechaIC" 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="vcoCvFIC" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaIC" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size: 12px;">Fecha Fin:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px; width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaFC" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioFC" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFC" runat="server" TargetControlID="txtFechaFC" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2C" TargetControlID="txtFechaFC" PopupButtonID="imgCalendarioFC" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="cvFechaFC" runat="server" ControlToValidate="txtFechaFC" 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="vcoCvFFC" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaFC" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size: 12px;">F.I. Recibió:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px; width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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: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="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 " runat="server" style="margin-top: 5px; font-size: 12px;">F.F. Recibió:</label>
<div class="col-md-2" runat="server" style="margin-top: 3px; width: 130px">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -8px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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: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="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 truncate text-size-12">SubProyecto:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate text-size-12">Proveedor:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlProveedor" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row" style="margin-left: 0px; margin-top: 5px; margin-bottom: 5px; text-align: right">
<div style="margin-right: 15px">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvComprasInv.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvComprasInv.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<asp:GridView ID="GvComprasInv" runat="server" GridLines="None" DataKeyNames="CveCompra, CveMovimiento"
CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" data-footer="0" BorderWidth="1" BorderColor="#D3D3D3" CellSpacing="0" Width="100%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron registros">
<Columns>
<asp:TemplateField HeaderText="SerieFolio" ItemStyle-Width="10%">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}")%>' Text='<%# Eval("SerieFolio") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="RazonSocial" HeaderText="Proveedor" ItemStyle-Width="50%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha recibió" DataFormatString="{0:d}" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Folio" ItemStyle-Width="10%">
<ItemTemplate>
<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveMovimiento", "/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}") %>' Text='<%# Eval("Folio") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,134 @@
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
public partial class Compras_RepComprasInventarios : ClsPaginas
{
#region "Propiedades"
private DataTable DtDatos
{
get
{
return (DataTable)ViewState["DtDatos"];
}
set
{
ViewState["DtDatos"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaDatos();
}
}
protected void InicializaDatos()
{
txtFechaIC.Text = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day).ToShortDateString();
txtFechaFC.Text = DateTime.Now.ToShortDateString();
txtFechaI.Text = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day).ToShortDateString();
txtFechaF.Text = DateTime.Now.ToShortDateString();
CargaCombos();
CargaDatos();
}
protected void CargaCombos()
{
//Carga SubProyectos
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.DataBind();
//Carga Proveedores
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.DataBind();
}
protected void CargaDatos()
{
ClsCompras ObjCompras = new ClsCompras();
DateTime FechaIC = (txtFechaIC.Text.ToString() != "" ? txtFechaIC.Text.ToDateTime() : MinFecha);
DateTime FechaFC = (txtFechaFC.Text.ToString() != "" ? txtFechaFC.Text.ToDateTime() : DateTime.Now);
DateTime FechaI = (txtFechaI.Text.ToString() != "" ? txtFechaI.Text.ToDateTime() : MinFecha);
DateTime FechaF = (txtFechaF.Text.ToString() != "" ? txtFechaF.Text.ToDateTime() : DateTime.Now);
if (ObjCompras.GetRepComprasInventarios(FechaIC, FechaFC, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero(), DdlProveedor.SelectedValue.ToEntero()))
{
DtDatos = ObjCompras.DtResultados;
GvComprasInv.DataSource = DtDatos;
}
ObjCompras.Dispose();
GvComprasInv.DataBind();
UPDatos.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void LnkPDF_Click(object sender, EventArgs e)
{
GeneraImpresion("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GeneraImpresion("Excel");
}
protected void GeneraImpresion(string Formato)
{
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
string FIC = (txtFechaIC.Text == "" ? "" : $"&emsp;<b>Fecha Inicio:</b>&nbsp;{txtFechaIC.Text}");
string FFC = (txtFechaFC.Text == "" ? "" : $"&emsp;<b>Fecha Fin:</b>&nbsp;{txtFechaFC.Text}");
string FIR = (txtFechaI.Text == "" ? "" : $"&emsp;<b>Fecha Inicio recibió:</b>&nbsp;{txtFechaI.Text}");
string FFR = (txtFechaF.Text == "" ? "" : $"&emsp;<b>Fecha Fin recibió:</b>&nbsp;{txtFechaF.Text}");
string proveedor = (DdlProveedor.SelectedValue == "-1"? "": $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedor.SelectedItem.Text}");
string subproyecto = (DdlSubProyecto.SelectedValue == "-1" ? "" : $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyecto.SelectedItem.Text}");
if (DtDatos.Rows.Count > 0)
{
List<ReportParameter> paramList = new List<ReportParameter>();
paramList.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa ));
paramList.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre ));
paramList.Add(new ReportParameter("AgrupadoPor", $"{FIC}{FFC}{FIR}{FFR}{subproyecto}{proveedor}"));
if (Imagen.Exists)
{
paramList.Add(new ReportParameter("LogoPath", logouri));
}
else
{
paramList.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF("Empresas/Grales/Formatos/RepComprasInventarios.rdlc", DtDatos, paramList, "RepComprasInventarios", Formato);
}
else
{
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia);
}
}
}

View File

@@ -0,0 +1,275 @@
<%@ Page Title="Reporte de Compras por Periodo" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasPeriodo.aspx.vb" Inherits="Compras_RepComprasPeriodo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras Periodo
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" 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 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlGrupo" runat="server">
<%-- <asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Fecha Captura" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Tipo Documento" Value="6"></asp:ListItem>
<asp:ListItem Text="Clasificación Prov" Value="7"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="8"></asp:ListItem>
<asp:ListItem Text="Remesa" Value="10"></asp:ListItem>
<asp:ListItem Text="Remesa-Proyecto" Value="11"></asp:ListItem>
<asp:ListItem Text="Proyecto" Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1" runat="server" id="DivLblProyecto">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label>
</div>
<div class="col-md-2" runat="server" id="DivProyecto">
<asp:DropDownList ID="DdlProyecto" CssClass="select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="select2me" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha I. Captura</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaICaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaICaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICaptura" runat="server" TargetControlID="TxtFechaICaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaICaptura" TargetControlID="TxtFechaICaptura" PopupButtonID="ImgFechaICaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="CVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Fecha F. Captura:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaFCaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFCaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCaptura" runat="server" TargetControlID="TxtFechaFCaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaFCaptura" TargetControlID="TxtFechaFCaptura" PopupButtonID="ImgFechaFCaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="CVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlMonedas" runat="server" CssClass=" select2me" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1 ">Capturó:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DDlUsuarioCaptura" CssClass=" select2me" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Gasto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" Width="98%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas"
CssClass="table GVD table-striped table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:BoundField DataField="GPO" HeaderText="Grupo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Enero" HeaderText="Ene" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Febrero" HeaderText="Feb" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Marzo" HeaderText="Mar" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Abril" HeaderText="Abr" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Mayo" HeaderText="May" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Junio" HeaderText="Jun" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Julio" HeaderText="Jul" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Agosto" HeaderText="Ago" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Septiembre" HeaderText="Sep" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Octubre" HeaderText="Oct" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Noviembre" HeaderText="Nov" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Diciembre" HeaderText="Dic" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Total" HeaderText="Total" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Ver En:"></asp:Label></h4>
</div>
<div class="modal-body">
<table style="width: 335px;" class="table table-striped table-advance table-hover">
<tbody>
<tr>
<td style="text-align: left;">
<asp:RadioButton ID="RbSubTotal" Checked="true" GroupName="GnPersonalizar" Text="SubTotal" runat="server" /></td>
<td style="text-align: left;">
<asp:RadioButton ID="RbTotal" GroupName="GnPersonalizar" Text="Total" runat="server" /></td>
<td style="text-align: left;">
<asp:RadioButton ID="RbIVA" GroupName="GnPersonalizar" Text="IVA" runat="server" /></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="$('#BtnPersonalizar').click();">Personalizar</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnPersonalizar" Style="display: none" ClientIDMode="Static" runat="server" Text="Personalizar" class="btn btn-success" OnClick="BtnPersonalizar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,330 @@

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepComprasPeriodo
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
End If
End Sub
#Region "CARGAS"
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Año", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Mes", "2"))
DdlGrupo.Items.Insert(2, New ListItem("Año/Mes", "3"))
DdlGrupo.Items.Insert(3, New ListItem("Fecha", "4"))
DdlGrupo.Items.Insert(4, New ListItem("Fecha Captura", "9"))
DdlGrupo.Items.Insert(5, New ListItem("Proveedor", "5"))
DdlGrupo.Items.Insert(6, New ListItem("Tipo Documento", "6"))
DdlGrupo.Items.Insert(7, New ListItem("Clasificación Prov.", "7"))
DdlGrupo.Items.Insert(8, New ListItem("Responsable", "8"))
DdlGrupo.Items.Insert(9, New ListItem("Remesa", "10"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("3")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
DivLblProyecto.Visible = False
LblSubProyecto.Text = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal:"
LblSubProyecto.Text = "Proyecto:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Sucursal", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Sucursal", "12"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto:"
LblSubProyecto.Text = "Sucursal:"
DdlGrupo.Items.Insert(10, New ListItem("Remesa-Proyecto", "11"))
DdlGrupo.Items.Insert(11, New ListItem("Proyecto", "12"))
DdlGrupo.DataBind()
End If
End Sub
Private Sub CargaCombos()
'Carga Proveedores
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
'Carga Tipo de Gasto
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
'Carga Usuarios Responsable
DdlUsuario.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'Carga Usuarios Captura
DDlUsuarioCaptura.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa)
DDlUsuarioCaptura.DataBind()
'Carga Monedas
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
'CargaProyecto
DdlProyecto.DataSource = If(UsuarioActual.Empresa.Funcionalidad(102) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(110), GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}), GlobalDTProyectos(UsuarioActual.CveEmpresa, -1).FiltraParametros("", "", {"CveProyecto", "Proyecto"}))
DdlProyecto.DataBind()
'Carga Grupo
CargaGrupo()
'Carga Tipo Centro de Costo
CargaTipoCentroCosto()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim VerEn As Integer = -1
If RbSubTotal.Checked Then VerEn = 1
If RbTotal.Checked Then VerEn = 2
If RbIVA.Checked Then VerEn = 3
Dim FechaICaptura, FechaFCaptura As String
FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
If ObjCompras.GetRepComprasPeriodo(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DDlUsuarioCaptura.SelectedValue.ToEntero, FechaICaptura, FechaFCaptura,
DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero,
RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, DdlTipoGasto.SelectedValue.ToEntero, CveUsuarioConsulta:=UsuarioActual.CveUsuario, VerEn:=VerEn, CveProyecto:=DdlProyecto.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjCompras.DtResultados
Else
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1).FiltraParametros(String.Format("CveProyecto = {0}", DdlProyecto.SelectedValue.ToEntero))
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region "SELECTED INDEX CHANGE"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
'Dim Css As String = "Texto"
'If e.Row.RowIndex = 0 Then
' e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
' e.Row.Cells(0).Width = Unit.Pixel(200)
' e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
' e.Row.Cells(1).Width = Unit.Pixel(60)
' e.Row.Cells(2).Width = Unit.Pixel(90)
' e.Row.Cells(3).Width = Unit.Pixel(90)
' e.Row.Cells(4).Width = Unit.Pixel(90)
' e.Row.Cells(5).Width = Unit.Pixel(80)
' e.Row.Cells(8).Width = Unit.Pixel(100)
'End If
If e.Row.DBCampo("Orden") = "" Then
e.Row.CssClass = "Totales"
e.Row.HorizontalAlign = HorizontalAlign.Center
End If
'Dim FechaI, FechaF As String
'FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
'FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
'Dim Liga As String = String.Format("/Compras/RepComprasDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&FechaI={7}&FechaF={8}&CveMoneda={9}&CveUsuarioCaptura={10}&NumeroRemesa={11}&FechaICaptura={12}&FechaFCaptura={13}&FechaCaptura={14}&CveSubProyecto={15}&CveUsuarioRemesa={16}&TipoDocto={17}&CveTipoGasto={18}&CveProyecto={19}",
' DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"), FechaI, FechaF, e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("CveUsuarioCaptura"), e.Row.DBCampo("NumeroRemesa"), e.Row.DBCampo("FechaICaptura"), e.Row.DBCampo("FechaFCaptura"), e.Row.DBCampo("FechaCaptura"),
' e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveUsuarioRemesa"), e.Row.DBCampo("TipoDocto"), DdlTipoGasto.SelectedValue, e.Row.DBCampo("CveProyecto"))
'If e.Row.DBCampo("Orden") = "" Then
' e.Row.FCLiteral("LtlGrupo").Text = e.Row.FCLiteral("LtlGrupo").Text
' e.Row.FCLiteral("LtlCantidad").Text = e.Row.FCLiteral("LtlCantidad").Text
'Else
' e.Row.FCLiteral("LtlGrupo").Text = String.Format("<a class='{0}' href='{1}'>{2}</a>", Css, Liga, e.Row.FCLiteral("LtlGrupo").Text)
' e.Row.FCLiteral("LtlCantidad").Text = String.Format("<a class='{0}' href='{1}'>{2}</a>", Css, Liga, e.Row.FCLiteral("LtlCantidad").Text)
'End If
If e.Row.Cells(2).Text.ToDouble = 0 Then e.Row.Cells(2).Text = ""
If e.Row.Cells(3).Text.ToDouble = 0 Then e.Row.Cells(3).Text = ""
If e.Row.Cells(4).Text.ToDouble = 0 Then e.Row.Cells(4).Text = ""
If e.Row.Cells(5).Text.ToDouble = 0 Then e.Row.Cells(5).Text = ""
If e.Row.Cells(6).Text.ToDouble = 0 Then e.Row.Cells(6).Text = ""
If e.Row.Cells(7).Text.ToDouble = 0 Then e.Row.Cells(7).Text = ""
If e.Row.Cells(8).Text.ToDouble = 0 Then e.Row.Cells(8).Text = ""
If e.Row.Cells(9).Text.ToDouble = 0 Then e.Row.Cells(9).Text = ""
If e.Row.Cells(10).Text.ToDouble = 0 Then e.Row.Cells(10).Text = ""
If e.Row.Cells(11).Text.ToDouble = 0 Then e.Row.Cells(11).Text = ""
If e.Row.Cells(12).Text.ToDouble = 0 Then e.Row.Cells(12).Text = ""
If e.Row.Cells(13).Text.ToDouble = 0 Then e.Row.Cells(13).Text = ""
If e.Row.Cells(14).Text.ToDouble = 0 Then e.Row.Cells(14).Text = ""
End If
End Sub
#End Region
#Region "PERSONALIZAR"
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
CargaDatos()
UPDatos.Update()
End Sub
#End Region
#Region "IMPRIMIR"
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles LnkExportar.Click
GvDatos.ExportToExcel("ReporteComprasPeriodo_" & Now.ToShortDateString)
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles LnkPdf.Click
Dim ObjCompras As New ClsCompras()
Dim FechaICaptura, FechaFCaptura As String
FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedores.SelectedItem.Text}")
Dim Capturo = If(DDlUsuarioCaptura.SelectedValue = "-1", "", $"&emsp;<b>Capturó:</b> {DDlUsuarioCaptura.SelectedItem.Text}")
Dim Grupo = DdlGrupo.SelectedItem.Text
Dim Moneda = If(DdlMonedas.SelectedValue = "-1", "", $"&emsp;<b>Monedas:</b> {DdlMonedas.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b> {DdlProyecto.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.SelectedItem.Text}")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
If ObjCompras.GetRepComprasPeriodo(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DDlUsuarioCaptura.SelectedValue.ToEntero, FechaICaptura, FechaFCaptura,
DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero,
RblTipoCambio.SelectedValue.ToEntero, TCEspecifico, DdlTipoGasto.SelectedValue.ToEntero, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim dt As DataTable = ObjCompras.DtResultados
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToString))
params.Add(New ReportParameter("AgrupadoPor", $"<b>Agrupado Por:</b> {Proveedor}{Capturo}{Grupo}{Moneda}{FechaIn}{FechaFn}{Proyecto}{SubProyecto}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepComprasPeriodo.rdlc", dt, params, "RepComprasPeriodo")
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class

View File

@@ -0,0 +1,314 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasPersonal.aspx.vb" Inherits="Compras_RepComprasPersonal" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Compras Personal
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LinkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<li>
<a target="_blank" class="ayuda" href="../Documentacion/DocumentacionCompras.aspx#RepComprasPersonal1">&nbsp;</a>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</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">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1">Fecha Inicio:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox Style="width: 115px !important" ID="txtFechaI" runat="server" CssClass="form-control text-size-12" 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>
<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>
<div class="col-md-1">Fecha Fin:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<asp:TextBox Style="width: 115px !important" ID="txtFechaF" runat="server" CssClass="form-control text-size-12" 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>
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="80%" ID="DdlGrupo" runat="server">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Personal" Value="6"></asp:ListItem>
<asp:ListItem Text="Producto" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="8"></asp:ListItem>
<asp:ListItem Text="Proyecto" Value="9"></asp:ListItem>
<asp:ListItem Text="SubProyecto" Value="10"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row row-min-height">
<div class="col-md-1"><span>Personal:</span></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlPersonal" CssClass="form-control input-sm select2me js-referencia-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompleto" DataValueField="CvePersonal" Width="240px" ValidationGroup="GrpAgregar"></asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMonedas" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" CssClass="form-control input-sm select2me" DataValueField="CveMoneda" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row ">
<div class="col-md-1">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlProyecto" CssClass=" form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="95%">
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="95%" AutoPostBack="True" AppendDataBoundItems="true">
</asp:DropDownList>
</div>
<div class="col-md-1 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Clasificación:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Producto Servicio:</div>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" data-estatus="-1" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="col-md-8">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" DataKeyNames="GPO,Cantidad,Total,Moneda" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Grupo">
<ItemTemplate>
<asp:Label ID="LblGPO" runat="server" Text='<%# If(Eval("GPO").ToString = "", Eval("Moneda"), Eval("GPO")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right" HeaderText="Cantidad">
<ItemTemplate>
<asp:Label ID="LtlCantidad" Style="margin-right: 15px" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Right" HeaderText="Total">
<ItemTemplate>
<asp:Label ID="LblCantidad" Style="margin-right: 15px" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="Cantidad" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,432 @@
Option Strict On
Option Explicit On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class Compras_RepComprasPersonal
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
#End Region
Private Sub Compras_RepComprasPersonal_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
DdlPS.ddl.Visible = False
DdlPS.ddlWS.Attributes.Add("data-estatus", "-1")
CreaDataTableColor()
End If
End Sub
#Region "CARGAS"
Private Sub CargaCombos()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProyecto.DataBind()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
DdlPersonal.DataBind()
DdlPersonal.Items.Insert(0, New ListItem("Todos", "-1"))
CargaSubProyecto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DdlProyecto.Visible = False
LblSubProyecto.Text = "Sucursal"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DdlProyecto.Visible = False
LblSubProyecto.Text = "Proyecto"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa - 1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
LblProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal"
LblSubProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto"
LblSubProyecto.Text = "Sucursal"
End If
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
Dim CvePS As Integer = If(DdlPS.txtValue.Value = "", -1, DdlPS.txtValue.Value.ToString.ToEntero)
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
If ObjCompras.GetRepComprasPersonal(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero,
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
DdlClasificacion.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero,
CvePS, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DTDatos = ObjCompras.DtResultados
GvDatos.DataSource = ObjCompras.DtResultados
Else
DTDatos = Nothing
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "GRIDVIEWROW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells(0).Text = DdlGrupo.SelectedItem.Text
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim PS As String = DdlPS.txtText.Value
Dim CvePS As String = DdlPS.txtValue.Value
Dim Liga As String = $"/Compras/RepComprasPersonalDetalle.aspx?GPO={DdlGrupo.SelectedValue}&Anio={e.Row.DBCampo("Anio")}&Mes={e.Row.DBCampo("Mes")}&AnioMes={ e.Row.DBCampo("AnioMes")}&Fecha={e.Row.DBCampo("Fecha")}&CveProveedor={ e.Row.DBCampo("CveProveedor")}&CvePersonal={e.Row.DBCampo("CvePersonal")}&CveProyecto={e.Row.DBCampo("CveProyecto")}&CveSubProyecto={e.Row.DBCampo("CveSubProyecto")}&CvePS={CvePS}&CveClasificacion={e.Row.DBCampo("CveClasificacion")}&CveMoneda={ e.Row.DBCampo("CveMoneda")}&FechaI={FechaI}&FechaF={FechaF}&PS={PS}"
If e.Row.DBCampo("Orden") = "1" Then
e.Row.Cells(0).Text = String.Format("<a class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DataKey("GPO").ToString)
Else
e.Row.BackColor = Drawing.Color.LightGray
End If
End If
End Sub
#End Region
#Region "IMPRIMIR"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim FechaI, FechaF As String
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
params.Add(New ReportParameter("AgrupadoPor", FiltrosUsados()))
params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text))
params.Add(New ReportParameter("Titulo", "REPORTE COMPRAS PERSONAL"))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas\Grales\Formatos\RepComprasPersonal.rdlc", DTDatos, params, "ReporteComprasPersonal_" & Now.ToString("yyyyMMddmmss"), Formato:=Formato)
End Sub
#End Region
#Region "TIPO CAMBIO / FILTROS USADOS"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Function FiltrosUsados() As String
Dim filtro As String = "<b>Filtros:</b> "
Dim ListaFiltros As New List(Of String)
Dim Contador As Integer = 0
If txtFechaI.Text.Length > 0 Then
ListaFiltros.Add("FechaI: " & txtFechaI.Text)
End If
If txtFechaF.Text.Length > 0 Then
ListaFiltros.Add("FechaF: " & txtFechaF.Text)
End If
If DdlPersonal.SelectedIndex > 0 Then
ListaFiltros.Add("Personal: " & DdlPersonal.SelectedItem.Text)
End If
If DdlMonedas.SelectedIndex > 0 Then
ListaFiltros.Add("Moneda: " & DdlMonedas.SelectedItem.Text)
End If
If DdlProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("Proyecto: " & DdlProyecto.SelectedItem.Text)
End If
If DdlSubProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("SubProyecto: " & DdlSubProyecto.SelectedItem.Text)
End If
If DdlProveedores.SelectedIndex > 0 Then
ListaFiltros.Add("Proveedor: " & DdlProveedores.SelectedItem.Text)
End If
If DdlPS.txtValue.Value.ToEntero > 0 Then
ListaFiltros.Add("Producto: " & DdlPS.txtText.Value)
End If
If DdlClasificacion.SelectedIndex > 0 Then
ListaFiltros.Add("Clasificación: " & DdlClasificacion.SelectedItem.Text)
End If
For Each s As String In ListaFiltros
If Contador > 0 Then
filtro = filtro & ", " & s
Else
filtro = filtro & " " & s
End If
Contador = Contador + 1
Next
Return filtro
End Function
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DTDatos IsNot Nothing AndAlso DTDatos.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DTDatos.Rows
If Dr("Orden").ToString = "1" Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("Cantidad").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = Dr("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,317 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepComprasPersonalDetalle.aspx.vb" Inherits="Compras_RepComprasPersonalDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
.ML{
max-width:600px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Compras Personal Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LinkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<li>
<%-- <a target="_blank" href="../Documentacion/DocumentacionCompras.aspx#RepComprasPersonal2"><i class="fa fa-question-circle" aria-hidden="true">&nbsp;Ayuda</i></a>--%>
<a target="_blank" class="ayuda" href="../Documentacion/DocumentacionCompras.aspx#RepComprasPersonal2">&nbsp;</a>
</li>
</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">
<div class="portlet-title portlet-filterT portletfiltrostitlee">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<%--class="expand" data-original-title="" title=""--%>
<%--<a onclick="document.getElementById('C_BtnConsultar').click();" class="reload"></a>--%>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1">Fecha Inicio:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox Style="width: 115px !important" ID="txtFechaI" runat="server" CssClass="form-control text-size-12" 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>
<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>
<div class="col-md-1">Fecha Fin:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox Style="width: 115px !important" ID="txtFechaF" runat="server" CssClass="form-control text-size-12" 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>
<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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="80%" ID="DdlGrupo" runat="server">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Activo Fijo" Value="6"></asp:ListItem>
<asp:ListItem Text="Activo Fijo Tipo" Value="7"></asp:ListItem>
<asp:ListItem Text="Activo Fijo SubTipo" Value="8"></asp:ListItem>
<asp:ListItem Text="Producto" Value="9"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="10"></asp:ListItem>
</asp:DropDownList>
</div>--%>
</div
</div>
</div>
</div>
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row row-min-height">
<%--<div class="col-md-1"><span>Responsable:</span></div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>--%>
<div class="col-md-1"><span>Personal:</span></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlPersonal" CssClass="form-control input-sm select2me js-referencia-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompleto" DataValueField="CvePersonal" Width="240px" ValidationGroup="GrpAgregar"></asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMonedas" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" CssClass="form-control input-sm select2me" DataValueField="CveMoneda" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row ">
<div class="col-md-1"><asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label></div>
<div class="col-md-2">
<asp:DropDownList ID="DdlProyecto" CssClass=" form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="95%">
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="95%" AutoPostBack="True" AppendDataBoundItems="true">
</asp:DropDownList>
</div>
<div class="col-md-1 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="95%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Clasificación:</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="95%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Producto Servicio:</div>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" Width="95%" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div class="col-md-12">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" DataKeyNames="Cantidad,Total,Moneda" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Factura
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblFactura" runat="server" Text='<%# Eval("SerieFolio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Personal
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblActivoFijo" CssClass="ML Truncate" runat="server" Text='<%# Eval("NombreCompleto") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Producto
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblPS" runat="server" CssClass="ML Truncate" Text='<%# Eval("CodigoPS") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>
Unidad de medida
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LtlCantidad" runat="server" Text='<%# Eval("UnidadMedida") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Cantidad
</HeaderTemplate>
<ItemTemplate>
<asp:Label Id="LtlCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:N0}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
PU
</HeaderTemplate>
<ItemTemplate>
<asp:Label Id="LtlPU" runat="server" Text='<%# Eval("PU", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LblCantidad" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,425 @@
Option Strict On
Option Explicit On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class Compras_RepComprasPersonalDetalle
Inherits ClsPaginas
#Region " PROPIEDADES "
Private Property TCEspecifico As Double
Get
If ViewState("TCEspecifico") Is Nothing Then
Return -1
Else
Return DirectCast(ViewState("TCEspecifico"), Double)
End If
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property Grupo As Integer
Get
Return ViewState("Grupo").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Grupo") = value
End Set
End Property
Private Property Anio As String
Get
Return ViewState("Anio").ToString
End Get
Set(value As String)
ViewState("Anio") = value
End Set
End Property
Private Property Mes As String
Get
Return ViewState("Mes").ToString
End Get
Set(value As String)
ViewState("Mes") = value
End Set
End Property
Private Property AnioMes As String
Get
Return ViewState("AnioMes").ToString
End Get
Set(value As String)
ViewState("AnioMes") = value
End Set
End Property
Private Property DTDatos As DataTable
Get
If ViewState("DTDatos") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTDatos"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTDatos") = value
End Set
End Property
#End Region
Private Sub Compras_RepComprasPersonalDetalle_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
CargaCombos()
DdlPS.ddl.Visible = False
DdlPS.ddlWS.Attributes.Add("data-estatus", "-1")
Try
Dim Fecha, FechaI, FechaF As String
DdlPersonal.SelectedValueExist(Request.QueryString("CvePersonal").ToString)
DdlMonedas.SelectedValueExist(Request.QueryString("CveMoneda").ToString)
DdlProyecto.SelectedValueExist(Request.QueryString("CveProyecto").ToString)
If UsuarioActual.Empresa.Tipo_CentroCosto <> 1 And UsuarioActual.Empresa.Tipo_CentroCosto <> 2 Then
CargaSubProyecto()
End If
DdlSubProyecto.SelectedValueExist(Request.QueryString("CveSubProyecto").ToString)
DdlProveedores.SelectedValueExist(Request.QueryString("CveProveedor").ToString)
DdlClasificacion.SelectedValueExist(Request.QueryString("CveClasificacion").ToString)
If Request.QueryString("CvePS").ToString.Length > 0 Then
DdlPS.txtText.Value = Request.QueryString("PS").ToString
DdlPS.txtValue.Value = If(Request.QueryString("CvePS").ToString = "-1", "", Request.QueryString("CvePS").ToString)
End If
Anio = Request.QueryString("Anio").ToString()
Mes = Request.QueryString("Mes").ToString()
AnioMes = Request.QueryString("AnioMes").ToString()
Fecha = Request.QueryString("Fecha").ToString()
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text)
txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 2).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
ElseIf FechaI <> "-1" Then
txtFechaI.Text = FechaI
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
ElseIf FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
CargaDatos()
Catch ex As Exception
Dim asd As Integer = 1
End Try
'If UsuarioActual.Empresa.GralSoloProyecto Then
' LblSubProyecto.Text = "Proyecto:"
' DdlSubProyecto.Items.Clear()
' DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
' DdlSubProyecto.Items.Insert(0, New ListItem("Seleccione", "-1"))
' DdlSubProyecto.DataBind()
' DdlProyecto.Visible = False
' DdlProyecto.Items(0).Text = ""
' LblProyecto.Visible = False
'End If
End If
End Sub
Private Sub CargaCombos()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
DdlMonedas.DataSource = GlobalDTMonedas()
DdlMonedas.DataBind()
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlProyecto.DataBind()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa)
DdlPersonal.DataBind()
DdlPersonal.Items.Insert(0, New ListItem("Todos", "-1"))
CargaSubProyecto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DdlProyecto.Visible = False
LblSubProyecto.Text = "Sucursal"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DdlProyecto.Visible = False
LblSubProyecto.Text = "Proyecto"
LblProyecto.Visible = False
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa - 1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Or UsuarioActual.Empresa.Tipo_CentroCosto = 0 Then
LblProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.Text = "Sucursal"
LblSubProyecto.Text = "Proyecto"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.Text = "Proyecto"
LblSubProyecto.Text = "Sucursal"
End If
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI, FechaF As String
Dim CvePS As Integer = If(DdlPS.txtValue.Value = "", -1, DdlPS.txtValue.Value.ToString.ToEntero)
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
If ObjCompras.GetRepComprasPersonalDetalle(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlMonedas.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1,
DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico,
DdlClasificacion.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, CvePS, Anio.ToEntero, Mes.ToEntero, AnioMes, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DTDatos = ObjCompras.DtResultados
GvDatos.DataSource = ObjCompras.DtResultados
Else
GvDatos.DataSource = Nothing
DTDatos = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
'Cambiar Header
End If
If e.Row.RowType = DataControlRowType.DataRow Then
Dim FechaI, FechaF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
Dim Liga As String = $"/Compras/Compras.aspx?CveCompra={e.Row.DBCampo("CveCompra")}"
If e.Row.DBCampo("Orden") = "1" Then
e.Row.Cells(0).Text = String.Format("<a Class='{0}' target='_blank' href='{1}'>{2}</a>", "Texto", Liga, e.Row.DBCampo("SerieFolio").ToString)
Else
e.Row.BackColor = Drawing.Color.LightGray
End If
End If
End Sub
#Region "I M P R I M I R P D F/Excel"
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GenerarPDF("Excel")
End Sub
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim ObjTareas As New ClsOIEventos
Dim params As New List(Of ReportParameter)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim FechaI, FechaF As String
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
params.Add(New ReportParameter("AgrupadoPor", FiltrosUsados()))
'params.Add(New ReportParameter("GPO", DdlGrupo.SelectedItem.Text))
params.Add(New ReportParameter("Titulo", "REPORTE COMPRAS PERSONAL DETALLE"))
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas\Grales\Formatos\RepComprasPersonalDetalle.rdlc", DTDatos, params, "ReporteComprasPersonalDetalle_" & Now.ToString("yyyyMMddmmss"), Formato:=Formato)
End Sub
#End Region
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Function FiltrosUsados() As String
Dim filtro As String = "<b>Filtros:</b> "
Dim ListaFiltros As New List(Of String)
Dim Contador As Integer = 0
If txtFechaI.Text.Length > 0 Then
ListaFiltros.Add("FechaI: " & txtFechaI.Text)
End If
If txtFechaF.Text.Length > 0 Then
ListaFiltros.Add("FechaF: " & txtFechaF.Text)
End If
If DdlPersonal.SelectedIndex > 0 Then
ListaFiltros.Add("Personal: " & DdlPersonal.SelectedItem.Text)
End If
If DdlMonedas.SelectedIndex > 0 Then
ListaFiltros.Add("Moneda: " & DdlMonedas.SelectedItem.Text)
End If
If DdlProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("Proyecto: " & DdlProyecto.SelectedItem.Text)
End If
If DdlSubProyecto.SelectedIndex > 0 Then
ListaFiltros.Add("SubProyecto: " & DdlSubProyecto.SelectedItem.Text)
End If
If DdlProveedores.SelectedIndex > 0 Then
ListaFiltros.Add("Proveedor: " & DdlProveedores.SelectedItem.Text)
End If
If DdlPS.txtValue.Value.ToEntero > 0 Then
ListaFiltros.Add("Producto: " & DdlPS.txtText.Value)
End If
If DdlClasificacion.SelectedIndex > 0 Then
ListaFiltros.Add("Clasificación: " & DdlClasificacion.SelectedItem.Text)
End If
For Each s As String In ListaFiltros
If Contador > 0 Then
filtro = filtro & ", " & s
Else
filtro = filtro & " " & s
End If
Contador = Contador + 1
Next
Return filtro
End Function
End Class

742
Compras/RepCxP.aspx Normal file
View File

@@ -0,0 +1,742 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepCxP.aspx.vb" Inherits="Compras_RepCxP" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
height: 50px;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
height: 60px;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
/*margin-top: 10px;*/
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
margin-top: 7px;
}
.select2-selection__rendered {
height: 50px;
}
#chartdiv {
width: 100%;
height: 800px;
}
#chartdiv2 {
width: 100%;
height: 800px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
<%--<asp:ImageButton ID="ImgExcel" runat="server" ImageUrl="/Imagenes/IconoExcel.gif" Width="17px" Height="17px" />--%>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivPersonalizarRango" ID="HplPersonalizarRango" runat="server"> <i class="fa fa-pencil"></i> Personalizar Rango de Columnas</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal"></i> Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Cuentas Por Pagar
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="PFiltro" class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style="">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row text-size-12">
<div class="col-md-1"><span>Proveedor: </span></div>
<div class="col-md-1">
<ADS:Dropdownlost ID="DdlProveedor" runat="server" CssStyle="width: 100%; selected2me" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost>
</div>
<div class="col-md-1"><span>Clasificación:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlProveedoresClasificaciones" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Fecha Inicio:</span></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: 90px !important; padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control text-size-12" CausesValidation="true" MaxLength="10" Width="80px"></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>
<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>
<div class="col-md-1" style="margin-left: 20px"><span>Fecha Fin:</span></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: 90px !important; padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control text-size-12" CausesValidation="true" MaxLength="10" Width="80px"></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>
<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 class="col-md-1" style="margin-left: 20px"><span>Grupo:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo" runat="server" Width="100%" CssClass="select2me">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="6"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación Proveedor" Value="8"></asp:ListItem>
<asp:ListItem Text="Proyecto-Sucursal" Value="9"></asp:ListItem>
<asp:ListItem Text="Moneda" Value="10"></asp:ListItem>
<asp:ListItem Text="Sucursal Proveedor" Value="11"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-top: 5px;">
<div class="col-md-1"><span>Tipo Prov.:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass="select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Estatus:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlEstatusCompra" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>F.V.I.:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtFechaVI" runat="server" CssClass="form-control text-size-12" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioVI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="txtFechaVI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaVI" PopupButtonID="imgCalendarioVI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtFechaVI" 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="CompareValidator1" runat="server" ControlToValidate="txtFechaVI" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px"><span>F.V.F.:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtFechaVF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioVF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender2" runat="server" TargetControlID="txtFechaVF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaVF" PopupButtonID="imgCalendarioVF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtFechaVF" 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="CompareValidator2" runat="server" ControlToValidate="txtFechaVF" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator2" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator2" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px"><span>Corte A:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtCorteA" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioCA" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="txtCorteA" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="txtCorteA" PopupButtonID="imgCalendarioCA" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtCorteA" Display="None" ErrorMessage="El campo <b>''Corte A''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator3" runat="server" ControlToValidate="txtCorteA" 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="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-md-1"><span>Registró:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioRegistro" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Responsable:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioResponsable" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Sucursal:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Tipo Docto:</span></div>
<div class="col-md-2 " style="padding-bottom: 10px;">
<asp:ListBox ID="DdlTipoDocto" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server">
<asp:ListItem Selected="True" Value="Fac" Text="Factura"></asp:ListItem>
<asp:ListItem Selected="True" Value="Ant" Text="Anticipos"></asp:ListItem>
<asp:ListItem Selected="True" Value="NC" Text="Nota Crédito"></asp:ListItem>
<asp:ListItem Selected="True" Value="ExC" Text="Egresos X Comp"></asp:ListItem>
<asp:ListItem Selected="True" Value="DEV" Text="Devolución"></asp:ListItem>
</asp:ListBox>
</div>
<div class="col-md-1"><span>Comprobación:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlComprobacion" runat="server" CssClass="select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div id="DivEmpresasFiltro" runat="server" visible="false">
<div class="col-md-1 truncate">
Empresas:
</div>
<div class="col-md-2 " style="padding-bottom: 10px;">
<asp:ListBox ID="DdlEmpresas" SelectionMode="Multiple" CssClass="form-control ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" DataTextField="Empresa" DataValueField="CveEmpresa"></asp:ListBox>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvCxP" runat="server" AutoGenerateColumns="False" Width="100%" data-sort="true" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" EmptyDataText="No se encontraron Cuentas X Pagar Pendientes" GridLines="None">
<Columns>
<asp:TemplateField ItemStyle-HorizontalAlign="Left" HeaderText="Grupo" ItemStyle-Width="30%">
<ItemTemplate>
<asp:Literal ID="LtlGrupo" runat="server" Text='<%# Eval("GPO") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="7%">
<HeaderTemplate>
Saldo
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna1" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna2" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna3" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna4" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna5" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna6" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna7" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna8" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplColumna9" runat="server"></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="7%">
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlPorVencer" runat="server" Text='<%# Eval("por_vencer", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Ventas
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlVentas" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Saldo
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlSaldo1" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Resta
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlVentasRecuperado" runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
% Recup.
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlPorRecuperado" runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible="false">
<HeaderTemplate>
% X Recup.
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="LtlPorPorRecuperar" runat="server"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpPersonalizarRango" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizarRango" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Personalizar Rango de Columnas"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div class="btn-group pull-right">
<asp:Button ID="BtnAgregarRango" CssClass="btn green-haze btn-outline btn-circle btn-sm" OnClick="BtnAgregarRango_Click" runat="server" Text="Agregar" />
</div>
<br />
<br />
<asp:GridView ID="GvPersonalizarRango" runat="server" AutoGenerateColumns="False"
EmptyDataText="No se encontraron columnas" ToolTip="Listado de Columnas"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn"
OnRowDataBound="GvPersonalizarRango_RowDataBound" GridLines="None" AllowPaging="False" DataKeyNames="Tipo,RangoInicial,RangoFinal">
<Columns>
<asp:BoundField HeaderText="Tipo" DataField="TipoEscrito" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Rango Incial" DataField="RangoInicial" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Rango Final" DataField="RangoFinal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" HeaderText="Comandos">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" ID="LnkEditar" OnClick="LnkEditar_Click" CssClass="btn btn-circle btn-sm green" runat="server" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>
<asp:LinkButton ID="imgD" runat="server" OnClick="LnkEliminar_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el rango?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnPersonalizarRango" OnClick="BtnPersonalizarRango_Click" runat="server" Text="Personalizar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpPersonalizarRangoEditar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizarRangoEditar" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label3" runat="server" ClientIDMode="Static" Text="Personalizar Rango de Columnas"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyEdit" UpdateMode="Conditional">
<ContentTemplate>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipo" CssClass="form-control select2me " runat="server" AppendDataBoundItems="true" Style="width: 100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Vencido" Value="1"></asp:ListItem>
<asp:ListItem Text="Por Vencer" Value="2"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVTipo" runat="server" ControlToValidate="DdlTipo" Display="None" InitialValue="-1" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor seleccionelo." ValidationGroup="GrpRangoEditar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECTipo" runat="server" HighlightCssClass="vco" TargetControlID="RFVTipo"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlTipo.ClientID.ToString()%>">Tipo:</label>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtRI" CssClass="form-control" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRI" runat="server" ControlToValidate="TxtRI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Rango Inicial''</b> es necesario, por favor ingréselo." ValidationGroup="GrpRangoEditar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCORI" runat="server" HighlightCssClass="vco" TargetControlID="RFVRI"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="SoloNumeros1" runat="server" TargetControlID="TxtRI" FilterType="Custom, Numbers" ValidChars="." />
<label for="<%= TxtRI.ClientID.ToString()%>">Rango Inicial:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtRF" CssClass="form-control" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRF" runat="server" ControlToValidate="TxtRF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Rango Final''</b> es necesario, por favor ingréselo." ValidationGroup="GrpRangoEditar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtRF" runat="server" HighlightCssClass="vco" TargetControlID="RFVRF"></ajax:ValidatorCalloutExtender>
<ajax:FilteredTextBoxExtender ID="SoloNumeros2" runat="server" TargetControlID="TxtRF" FilterType="Custom, Numbers" ValidChars="." />
<label for="<%= TxtRF.ClientID.ToString()%>">Rango Final:</label>
</div>
</div>
<div class="col-md-6">
<label for="<%= ChkMayor.ClientID.ToString()%>">Mayor que el Rango Inicial:</label>
<asp:CheckBox ID="ChkMayor" AutoPostBack="true" OnCheckedChanged="ChkMayor_CheckedChanged" runat="server" />
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="modal-footer">
<asp:Button ID="BtnGuardarPersonalizarRangoEditar" OnClick="BtnGuardarPersonalizarRangoEditar_Click" runat="server" Text="Aceptar" class="btn btn-primary" ValidationGroup="GrpRangoEditar" />
<asp:Button ID="BtnCancelarPersonalizarRangoEditar" Text="Cancelar" runat="server" OnClick="BtnCancelarPersonalizarRangoEditar_Click" class="btn btn-default" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<ajax:TabContainer ID="Tab" runat="server" ActiveTabIndex="0" Width="100%">
<ajax:TabPanel ID="TabVencidoPorVencer" runat="server" HeaderText="Vencido/Por Vencer">
<ContentTemplate>
<asp:UpdatePanel runat="server" ID="UpGraficaVencidoPorVencer" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Top:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlMostrarGraficaVencidoPorVencer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlMostrarGraficaVencidoPorVencer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Top 10" Value="10"></asp:ListItem>
<asp:ListItem Text="Top 20" Value="20"></asp:ListItem>
<asp:ListItem Text="Top 50" Value="50"></asp:ListItem>
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVerGraficaVencidoPorVencer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVerGraficaVencidoPorVencer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Vencido" Value="1"></asp:ListItem>
<asp:ListItem Text="Por Vencer" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv2"></div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabTotales" runat="server" HeaderText="Totales">
<ContentTemplate>
<asp:UpdatePanel runat="server" ID="UpGraficaTotales" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-1"></div>
<label class="col-md-1 truncate">Top:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlMostrarGraficaTotales" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlMostrarGraficaTotales_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Top 10" Value="10"></asp:ListItem>
<asp:ListItem Text="Top 20" Value="20"></asp:ListItem>
<asp:ListItem Text="Top 50" Value="50"></asp:ListItem>
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Saldo" Value="1"></asp:ListItem>
<asp:ListItem Text="Total Vencido" Value="2"></asp:ListItem>
<asp:ListItem Text="Total Por Vencer" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaVencidoPorVencer(data, graph) {
var chart = AmCharts.makeChart("chartdiv2", {
"type": "serial",
"theme": "light",
"legend": {
"useGraphSettings": true,
"valueWidth": 100,
},
"dataProvider": data,
"startDuration": 0.5,
"graphs": graph,
"chartCursor": {
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "categoria",
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 0,
"fillAlpha": 0.05,
"fillColor": "#000000",
"gridAlpha": 0,
"position": "top"
},
"export": {
"enabled": true,
"position": "bottom-right"
}
});
}
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

1047
Compras/RepCxP.aspx.vb Normal file

File diff suppressed because it is too large Load Diff

425
Compras/RepCxPDetalle.aspx Normal file
View File

@@ -0,0 +1,425 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepCxPDetalle.aspx.vb" Inherits="RepCxPDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.ellipsis {
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"> <i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:UpdatePanel runat="server" ID="UpPersonlizar">
<ContentTemplate>
<asp:LinkButton runat="server" ID="LnkPersonalizar" CssClass="" data-toggle="tooltip" Visible="True" OnClick="LnkPersonalizar_Click"
data-placement="left" title="Enviar Correo de Prueba" Text="<i class='fa fa-pencil'></i> Personalizar" ></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<%--<li><asp:Image ID="ImgPersonalizar" runat="server" ImageUrl="/Imagenes/Table-icon.png" Width="17px" Height="17px" Style="cursor: pointer;" /></li>--%>
<li>
<asp:HyperLink ID="HplProgramar" runat="server">Programar Recursos</asp:HyperLink></li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de CxP - Detalle
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div id="PFiltro" class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style="">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row text-size-12">
<div class="col-md-1"><span>Proveedor:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlProveedores" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Clasificaciones:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlProveedoresClasificaciones" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Fecha Inicio:</span></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: 90px !important; padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control text-size-12" CausesValidation="true" MaxLength="10" Width="80px"></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>
<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>
<div class="col-md-1" style="margin-left: 20px"><span>Fecha Fin:</span></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: 90px !important; padding: 0px;">
<%--width: 120px !important;--%>
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control text-size-12" CausesValidation="true" MaxLength="10" Width="80px"></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>
<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 class="col-md-1" style="margin-left: 20px"><span>Grupo:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="select2me" Width="100%">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="6"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación Proveedor" Value="8"></asp:ListItem>
<asp:ListItem Text="Proyecto-Sucursal" Value="9"></asp:ListItem>
<asp:ListItem Text="Moneda" Value="10"></asp:ListItem>
<asp:ListItem Text="Sucursal Proveedor" Value="11"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-top:5px;">
<div class="col-md-1"><span>Tipo Prov.:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass="select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Estatus:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlEstatusCompra" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>F.V.I.:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtFechaVI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioVI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="txtFechaVI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaVI" PopupButtonID="imgCalendarioVI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtFechaVI" 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="CompareValidator1" runat="server" ControlToValidate="txtFechaVI" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px"><span>F.V.F.:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtFechaVF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioVF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender2" runat="server" TargetControlID="txtFechaVF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaVF" PopupButtonID="imgCalendarioVF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="txtFechaVF" 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="CompareValidator2" runat="server" ControlToValidate="txtFechaVF" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator1" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="margin-left: 20px"><span>Corte A:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtCorteA" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioCA" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="txtCorteA" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="txtCorteA" PopupButtonID="imgCalendarioCA" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtCorteA" Display="None" ErrorMessage="El campo <b>''Corte A''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator3" runat="server" ControlToValidate="txtCorteA" 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="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-md-1"><span>Registró:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioRegistro" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Responsable:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioResponsable" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Sucursal:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Comprobación:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlComprobacion" runat="server" CssClass="select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" AutoGenerateColumns="False" Width="100%" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped ScrollAD" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>
Fecha
</HeaderTemplate>
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Folio
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HplFolio" runat="server" Text='<%# Eval("SerieFolio")%>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Total
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTotal" runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Saldo
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Fecha Venc.
</HeaderTemplate>
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlFechaVenc" runat="server" Text='<%# Eval("FechaVencimiento", "{0:d}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Días Venc.
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDiaVencidos" runat="server" Text='<%# Eval("DiasVencidos", "{0:N0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
Proveedor
</HeaderTemplate>
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlProveedor" runat="server" Text='<%# Eval("RazonSocial", "{0}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ControlStyle-Width="150px">
<HeaderTemplate>
Cuenta
</HeaderTemplate>
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlCuenta" runat="server" Text='<%# Eval("Cuenta")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ControlStyle-Width="150px" Visible="false">
<HeaderTemplate>
Observaciones
</HeaderTemplate>
<ItemTemplate>
&nbsp;<asp:Literal ID="LtlObservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivPersonalizar" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:UpdatePanel ID="UpModalTitleUploadDocumentoInvestigacion" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Literal ID="LtlTitulo" runat="server">Personalizar </asp:Literal>
</ContentTemplate>
</asp:UpdatePanel>
</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="" style="width: 340px">
<table>
<tr>
<td colspan="2">
<table style="width: 330px; background-color: white!important">
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkFolio" runat="server" Text="Folio" Checked="true" /></td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkSubTotal" runat="server" Text="SubTotal" Checked="true" /></td>
</tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkSaldo" runat="server" Text="Saldo" Checked="true" /></td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkFechaVencimiento" runat="server" Text="Fecha Venc." Checked="true" /></td>
</tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkDiasVencidos" runat="server" Text="Dias Vencidos" Checked="true" /></td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkProveedor" runat="server" Text="Proveedor" Checked="true" /></td>
</tr>
<tr>
<td style="text-align: left;">
<asp:CheckBox ID="ChkCuenta" runat="server" Text="Cuenta" Checked="true" /></td>
<td style="text-align: left;">
<asp:CheckBox ID="ChkObservaciones" runat="server" Text="Observaciones" Checked="false" /></td></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Button ID="BtnPersonalizar" runat="server" Text="Personalizar" class="btn btn-primary" OnClick="BtnPersonalizar_Click" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,628 @@

Option Explicit On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class RepCxPDetalle
Inherits ClsPaginas
#Region "PROPIEDADES"
Public Property CveProveedor() As Integer
Get
Return ViewState("CveProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedor") = value
End Set
End Property
Public Property CveProveedorClasificacion() As Integer
Get
Return ViewState("CveProveedorClasificacion").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedorClasificacion") = value
End Set
End Property
Public Property Serie() As String
Get
Return ViewState("Serie").ToString
End Get
Set(value As String)
ViewState("Serie") = value
End Set
End Property
Public Property Anio() As Integer
Get
Return ViewState("Anio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Anio") = value
End Set
End Property
Public Property Mes() As Integer
Get
Return ViewState("Mes").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Mes") = value
End Set
End Property
Public Property AnioMes() As String
Get
Return ViewState("AnioMes").ToString
End Get
Set(value As String)
ViewState("AnioMes") = value
End Set
End Property
Public Property Fecha() As String
Get
Return ViewState("Fecha").ToString
End Get
Set(value As String)
ViewState("Fecha") = value
End Set
End Property
Public Property FechaInicio() As String
Get
Return ViewState("FechaInicio").ToString
End Get
Set(value As String)
ViewState("FechaInicio") = value
End Set
End Property
Public Property FechaFin() As String
Get
Return ViewState("FechaFin").ToString
End Get
Set(value As String)
ViewState("FechaFin") = value
End Set
End Property
Public Property FechaVInicio() As String
Get
Return ViewState("FechaVInicio").ToString
End Get
Set(value As String)
ViewState("FechaVInicio") = value
End Set
End Property
Public Property FechaVFin() As String
Get
Return ViewState("FechaVFin").ToString
End Get
Set(value As String)
ViewState("FechaVFin") = value
End Set
End Property
Public Property FechaCorte() As String
Get
Return ViewState("FechaCorte").ToString
End Get
Set(value As String)
ViewState("FechaCorte") = value
End Set
End Property
Public Property CveMoneda() As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Public Property CveUsuario() As Integer
Get
Return ViewState("CveUsuario").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveUsuario") = value
End Set
End Property
Public Property Agrupador() As Integer
Get
Return ViewState("Agrupador").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("Agrupador") = value
End Set
End Property
Public Property Opcion() As String
Get
Return ViewState("Opcion").ToString
End Get
Set(value As String)
ViewState("Opcion") = value
End Set
End Property
Public Property CveEstatusFactura() As Integer
Get
Return ViewState("CveEstatusFactura").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEstatusFactura") = value
End Set
End Property
Public Property CveSubProyecto() As Integer
Get
Return ViewState("CveSubProyecto").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveSubProyecto") = value
End Set
End Property
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Public Property CveProveedorSucursal() As Integer
Get
Return ViewState("CveProveedorSucursal").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveProveedorSucursal") = value
End Set
End Property
Public Property CveTipoProveedor() As Integer
Get
Return ViewState("CveTipoProveedor").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveTipoProveedor") = value
End Set
End Property
Private Property TCEspecifico As Double
Public Property DTCuentasContables() As DataTable
Get
If ViewState("DTCuentasContables") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DTCuentasContables"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DTCuentasContables") = value
End Set
End Property
#End Region
'pRivate ReadOnly Property ColumnasVisibles As
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
ViewState("Opcion") = IfNull(Request("Op"), "S")
CargaCombos()
If Request("Op") IsNot Nothing Then
CargaDatos()
End If
'ImgPersonalizar.Attributes.Add("onclick", "$('#DivPersonalizar').show(1000); PosicionaObjeto(this.id,'DivPersonalizar');")
End If
End Sub
#Region "CARGAS"
Private Sub CargaCombos()
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
Dim Proveedor As Integer = IfNull(Request("CveProveedor"), -1).ToString.ToEntero
DdlProveedores.SelectedValueExist(Proveedor)
CveProveedor = Proveedor
CveProveedorClasificacion = IfNull(Request("CveProveedorClasificacion"), -1).ToString.ToEntero
Dim ProveedorClasificacion As Integer = IfNull(Request("CveProveedorClasificacion"), -1).ToString.ToEntero
DdlProveedoresClasificaciones.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
DdlProveedoresClasificaciones.DataBind()
DdlProveedoresClasificaciones.Items.Insert(1, New ListItem("Sin Clasificación", "0"))
DdlProveedoresClasificaciones.SelectedValueExist(ProveedorClasificacion)
'CargaUsuarios
Dim UsuarioResponsable As Integer = IfNull(Request("CveUsuarioResponsable"), -1).ToString.ToEntero
DdlUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa).FiltraParametros("ProveedoresResponsables > 0")
DdlUsuarioResponsable.DataBind()
DdlUsuarioResponsable.SelectedValueExist(UsuarioResponsable)
Dim UsuarioRegistro As Integer = IfNull(Request("CveUsuario"), -1).ToString.ToEntero
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa), "Nombre") 'GlobalDTUsuarioResponsable.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuarioRegistro.DataBind()
DdlUsuarioRegistro.Items.Insert(0, New ListItem("Todos", "-1"))
DdlUsuarioRegistro.SelectedValueExist(UsuarioRegistro)
Dim CveSucursal As Integer = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(1, New ListItem("Sin Sucursal", "0"))
DdlSubProyecto.SelectedValueExist(CveSucursal)
Dim TipoMoneda As Integer = IfNull(Request("TipoMoneda"), 1).ToString.ToEntero
RblTipoCambio.SelectedValue = TipoMoneda.ToString
If RblTipoCambio.SelectedValue = "3" Then
LiEspecifico.Visible = True
End If
Dim TCEspecifico As String = IfNull(Request("TCEspecifico"), 1).ToString
TxtEspecifico.Text = TCEspecifico
'Carga Agrupador
Dim GPO As Integer = IfNull(Request("GPO"), 5).ToString.ToEntero
DdlGrupo.SelectedValueExist(GPO)
Agrupador = GPO
'CargaFechas
FechaInicio = IfNull(Request("FechaI"), "-1").ToString
FechaFin = IfNull(Request("FechaF"), "-1").ToString
FechaVInicio = IfNull(Request("FechaVI"), "-1").ToString
FechaVFin = IfNull(Request("FechaVF"), "-1").ToString
FechaCorte = IfNull(Request("FechaCorte"), Now.ToDate.ToString).ToString
txtCorteA.Text = $"31/12/{Now.Year}"
If Request("FechaI") <> "-1" AndAlso IsDate(Request("FechaI")) Then txtFechaI.Text = Request("FechaI")
If Request("FechaF") <> "-1" AndAlso IsDate(Request("FechaF")) Then txtFechaF.Text = Request("FechaF")
If Request("FechaVI") <> "-1" AndAlso IsDate(Request("FechaVI")) Then txtFechaVI.Text = Request("FechaVI")
If Request("FechaVF") <> "-1" AndAlso IsDate(Request("FechaVF")) Then txtFechaVF.Text = Request("FechaVF")
If Request("FechaCorte") <> "-1" AndAlso IsDate(Request("FechaCorte")) Then txtCorteA.Text = Request("FechaCorte")
Anio = IfNull(Request("Anio"), -1).ToString.ToEntero
Mes = IfNull(Request("Mes"), -1).ToString.ToEntero
AnioMes = IfNull(Request("AnioMes"), "-1").ToString
CveMoneda = IfNull(Request("CveMoneda"), -1).ToString.ToEntero
Fecha = IfNull(Request("Fecha"), "-1").ToString
CveProveedorSucursal = IfNull(Request("CveProveedorSucursal"), -1).ToString.ToEntero
CveUsuario = IfNull(Request("CveUsuario"), -1).ToString.ToEntero
CveEstatusFactura = IfNull(Request("CveEstatusFactura"), -1).ToString.ToEntero
CveSubProyecto = IfNull(Request("CveSubProyecto"), -1).ToString.ToEntero
DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1, 2)")
DdlEstatusCompra.DataBind()
DdlEstatusCompra.SelectedValueExist(CveEstatusFactura)
CveTipoProveedor = IfNull(Request("CveTipoProveedor"), -1).ToString.ToEntero
DdlTipoProveedor.SelectedValueExist(CveTipoProveedor)
Dim Comprobaciones = IfNull(Request("Comprobaciones"), -1).ToString.ToEntero
DdlComprobacion.SelectedValueExist(Comprobaciones)
End Sub
Private Function CargaCuentasContables(DT As DataTable) As DataTable
Dim ObjConpaq As New ClsContPAQi(UsuarioActual.Empresa)
Try
If ObjConpaq.GetCuentas(-1, -1, -1) Then
DTCuentasContables = ObjConpaq.DtResultados
For Each Proveedor As DataRow In DT.Rows
If Proveedor("IdCtaContProveedores").ToString.ToEntero > 0 Then
If Not DTCuentasContables.FiltraParametros($"Id = {Proveedor("IdCtaContProveedores").ToString }") Is Nothing Then
Proveedor("Cuenta") = DTCuentasContables.FiltroPrimeroValor("CuentaFormato", $"id = {Proveedor("IdCtaContProveedores").ToString.ToEntero }")
End If
End If
Next
DT.AcceptChanges()
Else
DTCuentasContables = New DataTable
End If
Catch ex As Exception
OnError("Ocurrió un error al cargar las cuentas contables", ex)
End Try
ObjConpaq.Dispose()
Return DT
End Function
Private Sub CargaDatos()
Dim ObjMovtos As New ClsMovimientos()
Try
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim FechaI, FechaF, FechaVI, FechaVF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
FechaVI = If(IsDate(txtFechaVI.Text.Trim()), txtFechaVI.Text.Trim(), "-1")
FechaVF = If(IsDate(txtFechaVF.Text.Trim()), txtFechaVF.Text.Trim(), "-1")
CveTipoProveedor = DdlTipoProveedor.SelectedValue.ToEntero
If ObjMovtos.GetCxPDetalle(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, DdlProveedoresClasificaciones.SelectedValue.ToEntero, CveProveedorSucursal, CveUsuario,
DdlUsuarioResponsable.SelectedValue.ToEntero, Anio, Mes, AnioMes, CveMoneda, CveSubProyecto, DdlEstatusCompra.SelectedValue.ToEntero,
Fecha, DdlGrupo.SelectedValue.ToEntero, Opcion, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero, RblTipoCambio.SelectedValue.ToEntero,
TCEspecifico, FechaVI, FechaVF, FechaCorte:=txtCorteA.Text.ToDate, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveTipoProveedor:=IIf(CveTipoProveedor = 3,
-1, CveTipoProveedor), Comprobaciones:=DdlComprobacion.SelectedValue.ToEntero) Then
Dim TMP_DTDatos As New DataTable
TMP_DTDatos = ObjMovtos.DtResultados
TMP_DTDatos.Columns.Add("Cuenta")
If DdlGrupo.SelectedValue.ToEntero = 5 And UsuarioActual.Empresa.UsaContabilidad Then
TMP_DTDatos = CargaCuentasContables(TMP_DTDatos)
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
DtDatos = TMP_DTDatos
GvDatos.DataSource = DtDatos
HplProgramar.NavigateUrl = $"/Bancos/RepProgramarRecursos.aspx{HttpContext.Current.Request.Url.PathAndQuery.Replace("/Compras/RepCxPDetalle.aspx", "")}"
Else
GvDatos.DataSource = Nothing
End If
Catch ex As Exception
OnError("Ocurrió un error al obtener el reporte de CxP detalle", ex)
End Try
ObjMovtos.Dispose()
GvDatos.DataBind()
UPDatos.Update()
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
ConfiguraEmpresa()
'UPDatos.Update()
End Sub
#End Region
#Region "CONFIGURACIONES"
Private Function AddRows(ByRef DT As DataTable) As DataTable
'Dim i As Integer = 0
'Dim Ultima As String = String.Empty
'Dim Rows As Integer = 0
'Dim dbRow As DataRow
'While i < DT.Rows.Count
' If DT.Rows(i)("GPO").ToString <> "" AndAlso DT.Rows(i)("CveVenta").ToString = "" AndAlso Ultima <> DT.Rows(i)("GPO").ToString Then
' dbRow = DT.NewRow()
' dbRow("GPO") = DT.Rows(i)("GPO") : Ultima = DT.Rows(i)("GPO").ToString
' DT.Rows.InsertAt(dbRow, i)
' End If
' i += 1
'End While
Return DT
End Function
Private Sub ConfiguraEmpresa()
'Dim ObjEmpresa As New ClsEmpresas()
'If ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1") Then
If Opcion <> "S" Then
If Not UsuarioActual.Empresa.MostrarRetIVA Then GvDatos.Columns(7).Visible = False
If Not UsuarioActual.Empresa.MostrarRetISR Then GvDatos.Columns(8).Visible = False
End If
'End If
'ObjEmpresa.Dispose()
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If DdlGrupo.SelectedValue.ToEntero = 11 Then
If e.Row.DBCampo("CveSubProyecto") = "" Then
e.Row.CssClass = "Totales"
ElseIf e.Row.DBCampo("RazonSocial") = "" Then
e.Row.CssClass = "SubTotales"
End If
Else
If e.Row.DBCampo("RazonSocial") = "" And e.Row.DBCampo("SerieFolio") = "" Then
e.Row.CssClass = "SubTotales"
End If
If e.Row.DBCampo("Agrupador") = "" Then
e.Row.CssClass = "Totales"
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
e.Row.FCHyperLink("HplFolio").ForeColor = Drawing.Color.White
If e.Row.DBCampo("CveMoneda") = "1" Then
e.Row.FCHyperLink("HplFolio").Text = "Total Pesos"
ElseIf e.Row.DBCampo("CveMoneda") = "2" Then
e.Row.FCHyperLink("HplFolio").Text = "Total Dólares"
Else
e.Row.FCHyperLink("HplFolio").Text = "Total"
End If
End If
End If
If e.Row.DBCampo("CveCompra") = "" And e.Row.DBCampo("Agrupador") <> "" Then
e.Row.FCHyperLink("HplFolio").Text = e.Row.DBCampo("Agrupador")
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Left
If e.Row.DBCampo("Agrupador").Length > 25 Then
e.Row.FCHyperLink("HplFolio").Text = String.Format("{0}...", e.Row.DBCampo("Agrupador").Substring(0, 25))
End If
Else
e.Row.FCHyperLink("HplFolio").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra"))
End If
End If
End Sub
#End Region
#Region "PERSONALIZAR"
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
If ChkFolio.Checked Then
GvDatos.Columns(1).Visible = True
Else
GvDatos.Columns(1).Visible = False
End If
If ChkSubTotal.Checked Then
GvDatos.Columns(2).Visible = True
Else
GvDatos.Columns(2).Visible = False
End If
If ChkSaldo.Checked Then
GvDatos.Columns(3).Visible = True
Else
GvDatos.Columns(3).Visible = False
End If
If ChkFechaVencimiento.Checked Then
GvDatos.Columns(4).Visible = True
Else
GvDatos.Columns(4).Visible = False
End If
If ChkDiasVencidos.Checked Then
GvDatos.Columns(5).Visible = True
Else
GvDatos.Columns(5).Visible = False
End If
If ChkProveedor.Checked Then
GvDatos.Columns(6).Visible = True
Else
GvDatos.Columns(6).Visible = False
End If
If ChkCuenta.Checked Then
GvDatos.Columns(7).Visible = True
Else
GvDatos.Columns(7).Visible = False
End If
If ChkObservaciones.Checked Then
GvDatos.Columns(8).Visible = True
Else
GvDatos.Columns(8).Visible = False
End If
UPDatos.Update()
RegistraScript("$('#DivPersonalizar').modal('hide');")
End Sub
#End Region
#Region "IMPRESIONES"
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
TCEspecifico = -1
End If
Dim FechaI, FechaF, FechaVI, FechaVF As String
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1")
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1")
FechaVI = If(IsDate(txtFechaVI.Text.Trim()), txtFechaVI.Text.Trim(), "-1")
FechaVF = If(IsDate(txtFechaVF.Text.Trim()), txtFechaVF.Text.Trim(), "-1")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
'PARA REPORTE
Dim Sucursal = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>Sucursal:</b> {DdlSubProyecto.SelectedItem.Text}")
Dim Proveedor = If(DdlProveedores.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedores.SelectedItem.Text}")
Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $"&emsp;<b>Grupo:</b> {DdlGrupo.SelectedItem.Text}")
Dim FechaIn As String = If(txtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}")
Dim FechaFn As String = If(txtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}")
Dim FechaInV As String = If(txtFechaVI.Text = "", "", $"&emsp;<b>Fecha Inicio Venc:</b> {txtFechaVI.Text}")
Dim FechaFnV As String = If(txtFechaVF.Text = "", "", $"&emsp;<b>Fecha Fin Venc:</b> {txtFechaVF.Text}")
Dim Responsable = If(DdlUsuarioResponsable.SelectedValue = "-1", "", $"&emsp;<b>Responsable:</b> {DdlUsuarioResponsable.SelectedItem.Text}")
Dim Estatus = If(DdlEstatusCompra.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b> {DdlEstatusCompra.SelectedItem.Text}")
Dim Registro = If(DdlUsuarioRegistro.SelectedValue = "-1", "", $"&emsp;<b>Registró:</b> {DdlUsuarioRegistro.SelectedItem.Text}")
Dim Clasificacion = If(DdlProveedoresClasificaciones.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b> {DdlProveedoresClasificaciones.SelectedItem.Text}")
Dim TipoMoneda = If(RblTipoCambio.SelectedValue = "-1", "", $"&emsp;<b>Tipo Moneda:</b> {RblTipoCambio.SelectedItem.Text}")
params.Add(New ReportParameter("AgrupadoPor", $"{Grupo}{Proveedor}{FechaIn}{FechaFn}{FechaInV}{FechaFnV}{Responsable}{Estatus}{Registro}{Clasificacion}{Sucursal}{TipoMoneda}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepCxPDetalle.rdlc", DtDatos, params, "ReporteCxPDetalle", Formato)
End Sub
#End Region
#Region "TIPO DE CAMBIO"
Private Sub DdlTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UPFiltros.Update()
End Sub
#End Region
Protected Sub LnkPersonalizar_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivPersonalizar').modal({ backdrop: 'static', keyboard: false});")
End Sub
End Class

254
Compras/RepCxPPeriodo.aspx Normal file
View File

@@ -0,0 +1,254 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepCxPPeriodo.aspx.cs" Inherits="Compras_RepCxPPeriodo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de CxP Periodo
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter" style="">
<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 text-size-12">
<div class="col-md-1"><span>Proveedor: </span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlProveedor" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Clasificación:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlProveedoresClasificaciones" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Grupo:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlGrupo" runat="server" Width="100%" CssClass="select2me">
<asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="6"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación Proveedor" Value="8"></asp:ListItem>
<asp:ListItem Text="Proyecto-Sucursal" Value="9"></asp:ListItem>
<asp:ListItem Text="Moneda" Value="10"></asp:ListItem>
<asp:ListItem Text="Sucursal Proveedor" Value="11"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Tipo Prov.:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass="select2me" AppendDataBoundItems="true" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1" style="margin-left: 20px"><span>Corte A:</span></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: 90px !important; padding: 0px;">
<asp:TextBox ID="txtCorteA" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioCA" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="txtCorteA" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="txtCorteA" PopupButtonID="imgCalendarioCA" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="txtCorteA" Display="None" ErrorMessage="El campo <b>''Corte A''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator3" runat="server" ControlToValidate="txtCorteA" 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="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="RequiredFieldValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="CompareValidator3" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row" style="margin-top: 5px;">
<div class="col-md-1"><span>Sucursal:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Estatus:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlEstatusCompra" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Registró:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioRegistro" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1"><span>Responsable:</span></div>
<div class="col-md-1">
<asp:DropDownList ID="DdlUsuarioResponsable" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" Width="99%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron datos con los filtros especificados"
CssClass="table GVD table-striped table-hover Widthall ScrollAD" GridLines="None" OnRowDataBound="GvDatos_RowDataBound">
<Columns>
<asp:BoundField DataField="GPO" HeaderText="Grupo" ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Enero" HeaderText="Ene" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Febrero" HeaderText="Feb" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Marzo" HeaderText="Mar" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Abril" HeaderText="Abr" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Mayo" HeaderText="May" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Junio" HeaderText="Jun" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Julio" HeaderText="Jul" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Agosto" HeaderText="Ago" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Septiembre" HeaderText="Sep" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Octubre" HeaderText="Oct" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Noviembre" HeaderText="Nov" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Diciembre" HeaderText="Dic" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Saldo" HeaderText="Saldo" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" OnSelectedIndexChanged="RblTipoCambio_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" OnClick="BtnTipoCambio_Click" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpGrafica" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text="Saldo"></asp:Label>
</h4>
</div>
<div class="modal-body">
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script type="text/javascript">
function CargaGraficaLineas(data, graph) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"legend": {
"useGraphSettings": true,
"valueWidth": 150
},
"dataProvider": data,
"startDuration": 0.5,
"graphs": graph,
"chartCursor": {
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "mes",
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 0,
"fillAlpha": 0.05,
"fillColor": "#000000",
"gridAlpha": 0,
"position": "top"
},
"export": {
"enabled": true,
"position": "bottom-right"
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,283 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Compras_RepCxPPeriodo : ClsPaginas
{
#region PROPIEDADES
private DataTable DtDatos
{
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
set { ViewState["DtDatos"] = value; }
}
private int TipoCambio
{
get { return (ViewState["TipoCambio"] == null) ? -1 : Convert.ToInt32(ViewState["TipoCambio"]); }
set { ViewState["TipoCambio"] = value; }
}
private double TCEspecifico
{
get { return (ViewState["TCEspecifico"] == null) ? 0 : Convert.ToDouble(ViewState["TCEspecifico"]); }
set { ViewState["TCEspecifico"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
TipoCambio = 1;
TCEspecifico = -1;
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.DataBind();
DdlUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}").FiltraParametros("ProveedoresResponsables > 0");
DdlUsuarioResponsable.DataBind();
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.DataBind();
DdlProveedoresClasificaciones.DataSource = get_GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa);
DdlProveedoresClasificaciones.DataBind();
DdlProveedoresClasificaciones.Items.Insert(1, new ListItem("Sin Clasificación", "0"));
DdlEstatusCompra.DataSource = GlobalDTCompEstatusFactura.FiltraParametros("CveEstatusFactura IN (1, 2)");
if (UsuarioActual.CveEmpresa == 66) { DdlEstatusCompra.SelectedIndex = 2; DdlGrupo.SelectedValue = "8"; }
DdlUsuarioRegistro.DataSource = get_GlobalDTUsuarios().FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa), "Nombre");
DdlUsuarioRegistro.DataBind();
DdlUsuarioRegistro.Items.Insert(0, new ListItem("Todos", "-1"));
txtCorteA.Text = $"31/12/{DateTime.Now.Year}";
}
private void Consulta()
{
if (RblTipoCambio.SelectedValue.ToEntero() == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; }
ClsMovimientos ObjMov = new ClsMovimientos();
if (ObjMov.GetCxPPeriodo(DdlProveedor.SelectedValue.ToEntero(),DdlSubProyecto.SelectedValue.ToEntero(),DdlProveedoresClasificaciones.SelectedValue.ToEntero(),
DdlUsuarioResponsable.SelectedValue.ToEntero(),DdlUsuarioRegistro.SelectedValue.ToEntero(),DdlEstatusCompra.SelectedValue.ToEntero(),UsuarioActual.CveEmpresa,
DdlGrupo.SelectedValue.ToEntero(),DdlSubProyecto.SelectedValue.ToEntero(),TipoCambio,TCEspecifico,txtCorteA.Text.ToDate(),UsuarioActual.CveUsuario,DdlTipoProveedor.SelectedValue.ToEntero()))
{
GvDatos.DataSource = ObjMov.DtResultados;
DtDatos = ObjMov.DtResultados;
}
ObjMov.Dispose();
GvDatos.DataBind();
UpDatos.Update();
}
protected void BtnTipoCambio_Click(object sender, EventArgs e)
{
Consulta();
}
protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e)
{
TipoCambio = RblTipoCambio.SelectedValue.ToEntero();
if (TipoCambio == 3)
{
LiEspecifico.Visible = true;
TCEspecifico = get_GlobalTipoCambio(DateTime.Now);
TxtEspecifico.Text = TCEspecifico.ToString();
}
else
{
LiEspecifico.Visible = false;
}
UpBodyTipoCambio.Update();
}
protected void LnkVerGrafica_Click(object sender, EventArgs e)
{
if (DtDatos != null)
{
if (DtDatos.Rows.Count > 0)
{
DataTable Dt = new DataTable();
Dt.Columns.Add("mes");
DataTable Dt2 = new DataTable();
Dt2.Columns.Add("balloonText");
Dt2.Columns.Add("bullet");
Dt2.Columns.Add("title");
Dt2.Columns.Add("valueField");
Dt2.Columns.Add("fillAlphas");
foreach (DataRow Row in DtDatos.Rows)
{
if (Row["GPO"].ToString() != "")
{
Dt.Columns.Add($"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}");
DataRow Row2 = Dt2.NewRow();
Row2["balloonText"] = "Saldo [[category]]: [[value]]";
Row2["bullet"] = "round";
Row2["title"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}";
Row2["valueField"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}";
Row2["fillAlphas"] = 0;
Dt2.Rows.Add(Row2);
}
}
DataRow RowEnero = Dt.NewRow();
DataRow RowFebrero = Dt.NewRow();
DataRow RowMarzo = Dt.NewRow();
DataRow RowAbril = Dt.NewRow();
DataRow RowMayo = Dt.NewRow();
DataRow RowJunio = Dt.NewRow();
DataRow RowJulio = Dt.NewRow();
DataRow RowAgosto = Dt.NewRow();
DataRow RowSeptiembre = Dt.NewRow();
DataRow RowOctubre = Dt.NewRow();
DataRow RowNoviembre = Dt.NewRow();
DataRow RowDiciembre = Dt.NewRow();
foreach (DataRow Row in DtDatos.Rows)
{
if (Row["GPO"].ToString() != "")
{
RowEnero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Enero"].ToString();
RowEnero["mes"] = "Enero";
RowFebrero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Febrero"].ToString();
RowFebrero["mes"] = "Febrero";
RowMarzo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Marzo"].ToString();
RowMarzo["mes"] = "Marzo";
RowAbril[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Abril"].ToString();
RowAbril["mes"] = "Abril";
RowMayo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Mayo"].ToString();
RowMayo["mes"] = "Mayo";
RowJunio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Junio"].ToString();
RowJunio["mes"] = "Junio";
RowJulio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Julio"].ToString();
RowJulio["mes"] = "Julio";
RowAgosto[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Agosto"].ToString();
RowAgosto["mes"] = "Agosto";
RowSeptiembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Septiembre"].ToString();
RowSeptiembre["mes"] = "Septiembre";
RowOctubre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Octubre"].ToString();
RowOctubre["mes"] = "Octubre";
RowNoviembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Noviembre"].ToString();
RowNoviembre["mes"] = "Noviembre";
RowDiciembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Diciembre"].ToString();
RowDiciembre["mes"] = "Diciembre";
}
}
Dt.Rows.Add(RowEnero);
Dt.Rows.Add(RowFebrero);
Dt.Rows.Add(RowMarzo);
Dt.Rows.Add(RowAbril);
Dt.Rows.Add(RowMayo);
Dt.Rows.Add(RowJunio);
Dt.Rows.Add(RowJulio);
Dt.Rows.Add(RowAgosto);
Dt.Rows.Add(RowSeptiembre);
Dt.Rows.Add(RowOctubre);
Dt.Rows.Add(RowNoviembre);
Dt.Rows.Add(RowDiciembre);
RegistraScript($"CargaGraficaLineas({Dt.ToJson()},{Dt2.ToJson()})", "11");
RegistraScript(String.Format("$('#{0}').modal();", "DivModalGrafica"), "22");
UpGrafica.Update();
}
else
{
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia);
}
}
else
{
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia);
}
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
private void GenerarPDF(string Opcion)
{
if (DtDatos.Rows.Count < 1)
{
Alert("Tiene que haber datos consultados para imprimir.", TipoMensaje.MsgAdvertencia);
return;
}
StringBuilder StrFiltro = new StringBuilder();
if (txtCorteA.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Corte</b>: {0}", txtCorteA.Text.ToDate().ToShortDateString());
if (DdlSubProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Sucursal</b>: {0}", DdlSubProyecto.SelectedItem.Text);
if (DdlGrupo.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
if (DdlProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proveedor</b>: {0}", DdlProveedor.SelectedItem.Text);
if (DdlProveedoresClasificaciones.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Clasificación Proveedor</b>: {0}", DdlProveedoresClasificaciones.SelectedItem.Text);
if (DdlTipoProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Tipo Proveedor</b>: {0}", DdlTipoProveedor.SelectedItem.Text);
if (DdlEstatusCompra.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Estatus Compra</b>: {0}", DdlEstatusCompra.SelectedItem.Text);
if (DdlUsuarioResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlUsuarioResponsable.SelectedItem.Text);
if (DdlUsuarioRegistro.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuarioRegistro.SelectedItem.Text);
string RutaPDF = "";
string Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepCxPPeriodo.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/RepCxPPeriodo.rdlc";
}
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
para.Add(new ReportParameter("Filtros", StrFiltro.ToString()));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF(RutaPDF, DtDatos, para, "RepCxPPeriodo" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion);
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("GPO").ToString() == "")
{
e.Row.CssClass = "Totales";
e.Row.Cells[0].Text = e.Row.DBCampo("Moneda");
}
}

View File

@@ -0,0 +1,319 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepEvaluacionProveedor.aspx.vb" Inherits="RepEvaluacionProveedor" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.table-scrollable{
margin-top:0px!important;
margin-bottom:0px!important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position:static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte Evaluación de Proveedor
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px; position: relative;">
<div class="tools">
<asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" ValidationGroup="GrpConsultar" Text="Consultar" /></td>
<a href="javascript:;" data-idchekbox="<%= chkexpand.ClientID%>" class=" <%= IIf(chkexpand.Checked = True, "collapse", "expand")%>"></a>
<asp:CheckBox ID="chkexpand" CssClass="hidden" runat="server" />
</div>
<div class="titlefiltros caption magindate">
<div class="row">
<div class="col-md-1 truncate">Proveedor</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlProveedor" runat="server" CssClass="form-control input-sm select2me" Width="250" DataValueField="CveProveedor" DataTextField="RazonSocial"></asp:DropDownList>
</div>
<div class="col-md-1 ">Clasificación</div>
<div class="col-md-2"><asp:DropDownList ID="DdlCveClasificacionProveedor" CssClass="form-control select2me input-sm" runat="server" AppendDataBoundItems="true" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="206px"></asp:DropDownList> </div>
<div class="col-md-1 truncate">Fecha Inicio</div>
<div class="col-md-2 col-sm-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaI" 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="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-1 truncate">Fecha Fin</div>
<div class="col-md-2 col-sm-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaF" 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="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
</div>
</div>
<div class="portlet-body magindate" <%= IIf(chkexpand.Checked = True, "", "style=""display:none;""")%>>
<div class="row">
</div>
<div class="row">
</div>
<div id="DivFamiliaSubFamilia" class="row" runat="server" visible="false">
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<div id="dvCuerpo" style ="width:100% ">
<div class="row col-md-12">
<div class="col-sm-6" style="text-align: left!important">Número de registros encontrados: <asp:UpdatePanel ID="upContador" runat="server" RenderMode="Inline" UpdateMode="Conditional"><ContentTemplate> <asp:Literal ID="LtlTotalRegistros" runat="server"></asp:Literal></ContentTemplate></asp:UpdatePanel><b></b> </div>
<div class="col-sm-6" style="text-align: right!important">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GV.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div id="dvCa" style="width:100%;visibility:hidden;top:40px">
<table id="dTable" class="correcto table"><tr>
<td id="dvPro" class="alert alert-success" style="text-align:center!important"> <strong>Proveedor</strong> </td>
<td id="dvReq" class="alert alert-warning" style="text-align:center!important"> <strong>Requisición</strong> </td>
<td id="dvOc" class="alert alert-info" style="text-align:center!important"><strong>Orden de Compra</strong></td>
<td id="dvCo" class="alert alert-success" style="text-align:center!important"><strong>Compra</strong></td>
</tr></table>
</div>
<asp:UpdatePanel ID="UPDatos" runat="server" RenderMode="Inline" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GV" runat="server" GridLines="None" BorderWidth="0" UseAccessibleHeader="true"
CssClass="correcto table table-smallpadding Widthall " data-sort="true" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
<Columns>
<asp:TemplateField HeaderText="Nombre" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblProveedor" runat="server" Text='<%# Eval("NombreComercial").ToString() %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Folio" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblReqFolio" runat="server" Text='<%# If(Eval("ReqFolio").ToString() = "", "-", Eval("ReqFolio")) %>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Reg." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblReqFechaIng" runat="server" Text='<%# If(Eval("ReqFecha").ToString() = "", "-", Eval("ReqFecha", "{0:dd/MM/yyyy}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Entrega" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblReqFechaE" runat="server" Text='<%# If(Eval("ReqFechaEst").ToString() = "", "-", Eval("ReqFechaEst", "{0:dd/MM/yyyy}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Lugar Entrega" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblReqLugarEntrega" runat="server" Text='<%# If(Eval("ReqLugarEntrega").ToString() = "", "-", Eval("ReqLugarEntrega")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Folio" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblOcFolio" runat="server" Text='<%# Eval("OcFolio") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Reg." ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblOcFechaIng" runat="server" Text='<%# If(Eval("OcFechaIng").ToString() = "", "-", Eval("OcFechaIng", "{0:dd/MM/yyyy}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Estimada" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblOcFechaE" runat="server" Text='<%# If(Eval("OcFechaEst").ToString() = "", "-", Eval("OcFechaEst", "{0:dd/MM/yyyy}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Almacen" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblalmacen" runat="server" Text='<%# If(Eval("Almacen").ToString() = "", "-", Eval("Almacen")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Captura" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label ID="lblFechaIng" runat="server" Text='<%# If(Eval("CoFechaIng").ToString() = "", "-", Eval("CoFechaIng", "{0:dd/MM/yyyy}")) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Atraso" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="lblAtraso" runat="server" Text='<%# Eval("Atraso") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" HorizontalAlign="Left" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/scripts/datatable.js"></script>
<script src="/Metronic/assets/global/plugins/datatables/all.min.js"></script>
<script type="text/javascript">
function IrC(v) {
window.open('../Compras/Compras.aspx?CveCompra=' + v, '_blank');
}
function IrO(v) {
window.open('../OC/OC.aspx?OC=' + v, '_blank');
}
function IrP(v) {
window.open('../Compras/Proveedores.aspx?CveProveedor=' + v, '_blank');
}
var dTable;
function pageLoad() {
var Tam = TamañoVentana();
var Alto = Tam.height - 330;
if (Alto < 100) {
Alto = 100;
}
var rows = false;
var cont = 0;
$("#<%=GV.ClientID %> tr").each(function () {
cont++;
});
if (cont > 2) {
var head = $('<thead></thead>');
head.append($('#C_GV tr:nth-child(1)'));
$('#C_GV').prepend(head);
dTable = $('#C_GV').DataTable({
'order': [], 'orderable': true, scrollY: Alto + 'px', scrollCollapse: true, paging: false, searching: false, info: false
});
subHeaders();
}
}
$(window).resize(function () {
subHeaders();
dTable.columns.adjust().draw();
});
function subHeaders() {
$('#dvCa').css('visibility', 'hidden');
$("#<%=GV.ClientID %> tr").each(function() {
if (!this.rowIndex) return;
var celdas = [];
$(this).find('td').each(function (column, td) {
//scrollWidth
//celdas.push($(td).width());
var scrollWidt =0;
scrollWidt = $(td).prop('scrollWidth')
celdas.push($(td).prop('scrollWidth'));
//console.log('this ' + $(this).width());
//console.log('td ' + $(td).width());
});
var ancho = 0
ancho += celdas[0];
//console.log('ancho pro ' + ancho);
$('#dvPro').width(ancho);
ancho = 0;
ancho += celdas[1];
ancho += celdas[2];
ancho += celdas[3];
ancho += celdas[4];
// console.log('ancho req ' + ancho);
$('#dvReq').width(ancho);
ancho = 0;
ancho += celdas[5];
ancho += celdas[6];
ancho += celdas[7];
// console.log('ancho req ' + ancho);
$('#dvOc').width(ancho);
ancho = 0;
ancho += celdas[8];
ancho += celdas[9];
ancho += celdas[10];
// console.log('ancho req ' + ancho);
$('#dvCo').width(ancho);
ancho = 0;
$('#dvCa').css('visibility', 'visible');
return false;
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,136 @@
Imports System.Data
Imports Extensiones
Partial Class RepEvaluacionProveedor
Inherits ClsPaginas
Private Sub RepEvaluacionProveedor_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
' GV.HeaderRow.TableSection = TableRowSection.TableHeader
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
Dim dNow As Date = Now
TxtFechaF.Text = dNow.ToString("dd/MM/yyyy")
dNow = dNow.AddDays(-30)
TxtFechaI.Text = dNow.ToString("dd/MM/yyyy")
DdlCveClasificacionProveedor.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
DdlCveClasificacionProveedor.DataBind()
DdlCveClasificacionProveedor.Items.Insert(0, New ListItem("Sin Clasificación", "-1"))
cargaDatos()
End If
End Sub
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
cargaDatos()
End Sub
Private Sub cargaDatos()
Dim fInicio As Date = Date.Parse(TxtFechaI.Text)
Dim fFin As Date = Date.Parse(TxtFechaF.Text)
Dim objCompras As New ClsCompras
objCompras.GetRepEvaluacionProveedores(UsuarioActual.Empresa.CveEmpresa, DdlProveedor.SelectedValue, DdlCveClasificacionProveedor.SelectedValue.ToEntero, fInicio, fFin)
GV.DataSource = objCompras.DtResultados
LtlTotalRegistros.Text = objCompras.DtResultados.Rows.Count.ToString
GV.DataBind()
UPDatos.Update()
upContador.Update()
objCompras.Dispose()
End Sub
Protected Sub GV_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GV.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If Not (e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5) Then
Dim Liga As String = String.Empty
If (e.Row.DBCampo("ReqCve").ToString <> "") Then
Liga = String.Format("<a class='Texto' href='javascript:IrO(""{0}"");'>", e.Row.DBCampo("ReqCve"))
e.Row.FCLabel("lblReqFolio").Text = String.Format("<div >{0}{1}</a></div>", Liga, e.Row.DBCampo("ReqFolio"))
End If
If e.Row.DBCampo("OcCve").ToString <> "" Then
Liga = String.Format("<a class='Texto' href='javascript:IrO(""{0}"");'>", e.Row.DBCampo("OcCve"))
e.Row.FCLabel("lblOcFolio").Text = String.Format("<div >{0}{1}</a></div>", Liga, e.Row.DBCampo("OcFolio"))
End If
Liga = String.Format("<a class='Texto' href='javascript:IrP(""{0}"");'>", e.Row.DBCampo("CveProveedor"))
e.Row.FCLabel("lblProveedor").Text = String.Format("<div >{0}{1}</a></div>", Liga, e.Row.DBCampo("NombreComercial"))
'Liga = String.Format("<a class='Texto' href='javascript:IrC(""{0}"");'>", e.Row.DBCampo("CveCompra"))
'e.Row.FCLabel("lblReqFolio").Text = String.Format("<div >{0}{1}</a></div>", Liga, e.Row.DBCampo("ReqFolio"))
Dim atraso As Integer = e.Row.DBCampo("Atraso").Trim.ToEntero
e.Row.FCLabel("lblAtraso").Font.Bold = True
e.Row.FCLabel("lblAtraso").Text = atraso
e.Row.FCLabel("lblAtraso").Width = 70
If atraso > 0 Then
e.Row.FCLabel("lblAtraso").CssClass = "label label-danger"
Else
e.Row.FCLabel("lblAtraso").CssClass = "label label-success"
End If
End If
End If
End Sub
Private Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
GV.ExportToExcel("Evaluacion_proveedores")
End Sub
Protected Sub GV_RowCreated(sender As Object, e As GridViewRowEventArgs) Handles GV.RowCreated
'If (e.Row.RowType = DataControlRowType.Header) Then
' Dim HeaderGrid As GridView = DirectCast(sender, GridView)
' Dim HeaderGridRow As New GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Insert)
' Dim HeaderCell As New TableCell()
' HeaderCell.Text = "Requisición"
' HeaderCell.ColumnSpan =
' HeaderGridRow.Cells.Add(HeaderCell)
' HeaderCell = New TableCell()
' HeaderCell.Text = "Orden de Compra"
' HeaderCell.ColumnSpan = 3
' HeaderGridRow.Cells.Add(HeaderCell)
' HeaderCell = New TableCell()
' HeaderCell.Text = "Compra"
' HeaderCell.ColumnSpan = 3
' HeaderGridRow.Cells.Add(HeaderCell)
' HeaderGrid.CssClass = "correcto table table-smallpadding Widthall"
' GV.Controls(0).Controls.AddAt(0, HeaderGridRow)
'End If
End Sub
End Class

85
Compras/RepGastos.aspx Normal file
View File

@@ -0,0 +1,85 @@
<%@ Page Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="True" CodeFile="RepGastos.aspx.vb" Inherits="RepGastos" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Gastos
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="H" Runat="Server">
<li><asp:HyperLink ID="LnkFiltrarPA_Vta_ReporteGastosCentroCostoGet" data-toggle="modal" data-target="#DModalPA_Vta_ReporteGastosCentroCostoGet" NavigateUrl="javascript:Void(0)" Runat="server" ><i class="fa fa-filter"></i>Filtros</asp:HyperLink></li>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="upDatosPA_V" runat ="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:GridView ID="GVPA_Vta_ReporteGastosCentroCostoGet" runat="server" GridLines="None" CssClass ="table table-hover Widthall table-striped" AutoGenerateColumns="False"
datakeynames="SubProyecto,Clasificacion,Gasto">
<Columns>
<asp:TemplateField HeaderText="Sub Proyecto">
<ItemTemplate>
<asp:Label ID="lblsubProyecto" runat="server" Text='<%# Eval("SubProyecto")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Clasificacion">
<ItemTemplate>
<asp:Label ID="lblclasificacion" runat="server" Text='<%# Eval("Clasificacion")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Gasto">
<ItemTemplate>
<asp:Label ID="lblgasto" runat="server" Text='<%# Eval("Gasto", "{0:###,###,###,###.##}")%>'> </asp:Label>
</ItemTemplate>
<ItemStyle HorizontalAlign ="right" />
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DModalPA_Vta_ReporteGastosCentroCostoGet" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UPModalPA_V" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content" style="width:400px;">
<div class="modal-header ">
<h4 class="modal-title"><asp:Literal ID="ltlPA_Vtitulo" Text="Filtros" runat="server"> </asp:Literal></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4 truncate ">Fecha Inicio</div>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; ">
<asp:TextBox ID="TxtPA_VfechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<span class="input-group-btn "> <asp:LinkButton ID="LnkPA_VfechaInicio" class="btn default " Text=" <i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> </span>
</div>
<ajax:MaskedEditExtender ID="MEEPA_VfechaInicio" runat="server" TargetControlID="TxtPA_VfechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEEPA_VfechaInicio" TargetControlID="TxtPA_VfechaInicio" PopupButtonID="LnkPA_VfechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
</div>
</div>
<div class="row">
<div class="col-md-4 truncate ">Fecha Fin</div>
<div class="col-md-8">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; ">
<asp:TextBox ID="TxtPA_VfechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<span class="input-group-btn "> <asp:LinkButton ID="LnkPA_VfechaFin" class="btn default " Text=" <i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton> </span>
</div>
<ajax:MaskedEditExtender ID="MEEPA_VfechaFin" runat="server" TargetControlID="TxtPA_VfechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEEPA_VfechaFin" TargetControlID="TxtPA_VfechaFin" PopupButtonID="LnkPA_VfechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
</div>
</div>
</div>
<div class="modal-footer">
<div class="modal-btn">
<asp:Button ID="BtnPA_VFiltrar" OnClick="BtnPA_VFiltrar_Click" runat="server" Text="Filtrar" CssClass="btn btn-primary" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

79
Compras/RepGastos.aspx.vb Normal file
View File

@@ -0,0 +1,79 @@
Imports System.Data.SqlClient
Imports System.Text
Imports System.Web
Imports System.Linq
Imports System.Collections.Generic
Imports System.Data
Imports System.Web.UI.WebControls
Imports Extensiones
Partial Class RepGastos
Inherits ClsPaginas
#Region "Propiedades"
Private Property RfechaInicio() As DateTime
Get
Return If(IsNothing(ViewState("RfechaInicio")), DateTime.MinValue, (ViewState("RfechaInicio")))
End Get
Set
ViewState("RfechaInicio") = Value
End Set
End Property
Private Property RfechaFin() As DateTime
Get
Return If(IsNothing(ViewState("RfechaFin")), DateTime.MinValue, (ViewState("RfechaFin")))
End Get
Set
ViewState("RfechaFin") = Value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
TxtPA_VfechaInicio.Text = FirstDayOfMonth(Now).ToShortDateString
TxtPA_VfechaFin.Text = LastDayOfMonth(Now).ToShortDateString
CargaPA_Vta_ReporteGastosCentroCostoGet()
End If
End Sub
Protected Sub CargaPA_Vta_ReporteGastosCentroCostoGet()
Dim ObjCompras As New ClsCompras
If ObjCompras.GetReporteGastosCentroCosto(UsuarioActual.CveEmpresa, RfechaInicio, RfechaFin) Then
GVPA_Vta_ReporteGastosCentroCostoGet.DataSource = ObjCompras.DtResultados
GVPA_Vta_ReporteGastosCentroCostoGet.DataBind()
upDatosPA_V.Update()
End If
ObjCompras.Dispose()
End Sub
Protected Sub LimpiaPA_Vta_ReporteGastosCentroCostoGet()
TxtPA_VfechaInicio.Text = ""
TxtPA_VfechaFin.Text = ""
UPModalPA_V.Update()
End Sub
Protected Sub BtnPA_VFiltrar_Click(sender As Object, e As System.EventArgs)
RfechaInicio = TxtPA_VfechaInicio.Text.ToDate()
RfechaFin = TxtPA_VfechaFin.Text.ToDate()
CargaPA_Vta_ReporteGastosCentroCostoGet()
RegistraScript("$('#DModalPA_Vta_ReporteGastosCentroCostoGet').modal('hide');")
End Sub
Private Sub GVPA_Vta_ReporteGastosCentroCostoGet_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GVPA_Vta_ReporteGastosCentroCostoGet.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("Clasificacion") = "" Then
e.Row.CssClass = "Totales"
End If
End If
End Sub
End Class

225
Compras/RepGastosFijos.aspx Normal file
View File

@@ -0,0 +1,225 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepGastosFijos.aspx.cs" Inherits="Compras_RepGastosFijos" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
<style>
.MultiLineTextBox {
resize: none;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Gastos Fijos
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpLnkAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarGasto" runat="server" Visible="true" OnClick="LnkAgregarGasto_Click"><i class="fa fa-plus"></i><span style="padding: 10px">Agregar Gasto Mes </span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimirPDF" runat="server" OnClick="LnkImprimirPDF_Click"> <i class="fa fa-ad-pdf"></i><span style="padding: 10px">Generar PDF</span></asp:LinkButton>
</li>
<%-- <li>
<asp:LinkButton ID="LnkImprimirExcel" runat="server" OnClick="LnkImprimirExcel_Click"> <i class="fa fa-ad-excel"></i><span style="padding: 10px">Generar Excel</span></asp:LinkButton>
</li>--%>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimirPDF" />
<%--<asp:PostBackTrigger ControlID="LnkImprimirExcel" />--%>
</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 id="PFiltros" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" class="btn btn-primary" ValidationGroup="Valida" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1 " style="width: 90px;">Fecha Inicial:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioI" 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="ImgCalendarioI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<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="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<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>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="col-md-1 " style="width: 80px;">Fecha Final:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" 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: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="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<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>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<asp:CompareValidator ID="CVFechas" runat="server" ForeColor="#a94442" ControlToCompare="TxtFechaI" ControlToValidate="TxtFechaF" Type="Date" Operator="GreaterThan" Display="None" ErrorMessage="<b><span style='text-decoration: underline;'>ERROR:</span></b><br /><b>''Fecha R.F.''</b> debe ser mayor a Fecha R.I." ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCE2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechas" Width="270px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<%--<div class="row" style="margin-left: 0px; margin-top: 15px; margin-bottom: 5px; text-align: right; margin-right: 5px;" align="left">
<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>--%>
<asp:GridView ID="GVDatos" runat="server" DataKeyNames="CveEvento,Asunto, Descripcion, FechaInicio, Importe,FechaGasto, Prioridad, FechaFinRecurrencia"
AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn ScrollAD" data-sort="true" GridLines="None"
EmptyDataRowStyle-HorizontalAlign="Center" OnRowDataBound="GVDatos_RowDataBound">
<Columns>
<asp:BoundField DataField="Asunto" HeaderText="Gasto" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Descripcion" HeaderText="Descripción" ItemStyle-Width="40%" />
<asp:BoundField DataField="FechaGasto" HeaderText="Fecha" ItemStyle-Width="10%" DataFormatString="{0:dd/MM/yyyy}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Importe" HeaderText="Importe" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:C}" />
<asp:TemplateField ItemStyle-Width="5%" ItemStyle-HorizontalAlign="Center" HeaderText="Comandos">
<ItemTemplate>
<%--<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" ToolTip="Editar Gasto Mensual" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-edit'></i>" />--%>
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" AlternateText="Editar" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<%-- MODAL AGREGAR --%>
<div id="DvModalGasto" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UPModalGasto" 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">&times;</span>
</button>
<h4 class="modal-title" id="TxtGatos" runat="server">Agregar Gasto Mensual</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalBody" UpdateMode="conditional">
<ContentTemplate>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAsunto" runat="server" CssClass="form-control" MaxLength="500" CausesValidation="true"></asp:TextBox>
<label style="margin-top: -6px;" for="<%= TxtAsunto.ClientID.ToString()%>">Asunto:</label>
<asp:RequiredFieldValidator ID="RFVAsuntoEvento" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtAsunto" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Asunto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFechaInicio.ClientID.ToString() %>" style="font-size: 13px; color: #888888;">Fecha Inicio:</label>
<div class="row">
<div class="col-md-4">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaInicio" runat="server" Style="width: 90px;" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioM" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFecha" runat="server" TargetControlID="TxtFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarioM" TargetControlID="TxtFechaInicio" PopupButtonID="ImgCalendarioM" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFecha" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtFechaInicio" Display="None" ErrorMessage="El campo <b>''Fecha Inicio''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFecha" runat="server" HighlightCssClass="vco" TargetControlID="rfvFecha" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<br />
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtDescripcion" runat="server" CssClass="form-control MultiLineTextBox" MaxLength="500" CausesValidation="true" TextMode="MultiLine" Rows="2"></asp:TextBox>
<label style="margin-top: -6px; height: 63px" for="<%= TxtDescripcion.ClientID.ToString()%>">Descripción:</label>
<asp:RequiredFieldValidator ID="RFVDescripcion" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDescripcion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="padding-left: 0px">
<asp:DropDownList ID="DdlPrioridad" runat="server" ClientIDMode="Static" Width="120px" CssClass="form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Baja" Value="1"></asp:ListItem>
<asp:ListItem Text="Media" Value="2"></asp:ListItem>
<asp:ListItem Text="Alta" Value="3"></asp:ListItem>
</asp:DropDownList>
<label style="margin-top: -5px; margin-left: 0px;" for="<%=DdlPrioridad.ClientID.ToString()%>">Prioridad:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<label for="<%= TxtFechaFinRecurrencia.ClientID.ToString() %>" style="font-size: 13px; color: #888888;">Terminar en:</label>
<div class="row">
<div class="col-md-4">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFinRecurrencia" runat="server" Style="width: 90px;" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaFinRecurrencia" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFinRecurrencia" runat="server" TargetControlID="TxtFechaFinRecurrencia" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFinRecurrencia" TargetControlID="TxtFechaFinRecurrencia" PopupButtonID="imgFechaFinRecurrencia" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFinRecurrencia" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtFechaFinRecurrencia" Display="None" ErrorMessage="El campo <b>''Terminar en''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFinRecurrencia" runat="server" HighlightCssClass="vco" TargetControlID="RFVFinRecurrencia" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<br />
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtGastoImporte" runat="server" CssClass="form-control" MaxLength="500" CausesValidation="true" Width="120px"></asp:TextBox>
<label style="margin-top: -6px; width: 120px" for="<%= TxtGastoImporte.ClientID.ToString()%>">Importe:</label>
<ajax:FilteredTextBoxExtender runat="server" TargetControlID="TxtGastoImporte" FilterType="Numbers, Custom" ValidChars=",." />
<asp:RegularExpressionValidator ID="REVImporte" runat="server" ControlToValidate="TxtGastoImporte" ValidationExpression="^([1-9]{1}[\d]{0,2}(\,[\d]{3})*(\.[\d]{0,4})?|[1-9]{1}[\d]{0,}(\.[\d]{0,4})?|0(\.[\d]{0,2})?|(\.[\d]{1,4})?)$" ValidationGroup="GrpObligatorio" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />Formato incorrecto."></asp:RegularExpressionValidator>
<%--<asp:RegularExpressionValidator ID="REImporte" ControlToValidate="TxtGastoImporte" runat="server" ErrorMessage="" ValidationExpression="[0-9]{1,10}"> </asp:RegularExpressionValidator>--%>
<%--<ajax:MaskedEditExtender ID="MEEGastoImporte" runat="server" TargetControlID="TxtGastoImporte" Mask="999,999.99" MaskType="Number" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<asp:RequiredFieldValidator ID="RFVGastoImporte" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtGastoImporte" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnGuardarGasto" runat="server" Text="Guardar" CssClass="btn btn-primary" OnClick="BtnGuardarGasto_Click" ValidationGroup="GrpObligatorio"></asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,256 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Extensiones;
using Microsoft.Reporting.WebForms;
using System.Text;
using System.Globalization;
using System.IO;
public partial class Compras_RepGastosFijos : ClsPaginas
{
#region "PROPIEDADES"
private DataTable DTDatos
{
get
{
return (DataTable)ViewState["DTDatos"];
}
set
{
ViewState["DTDatos"] = value;
}
}
private String FechaInicio
{
get
{
return ViewState["FechaInicio"].ToString();
}
set
{
ViewState["FechaInicio"] = value;
}
}
private String FechaFin
{
get
{
return ViewState["FechaFin"].ToString();
}
set
{
ViewState["FechaFin"] = value;
}
}
private int CveEvento
{
get
{
return ViewState["CveEvento"].ToString().ToEntero();
}
set
{
ViewState["CveEvento"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaDatos();
CargaDatos();
}
}
#region "CARGA DATOS"
protected void CargaDatos()
{
FechaInicio = TxtFechaI.Text;
FechaFin = TxtFechaF.Text;
ClsOIEventos ObjEventos = new ClsOIEventos();
if (ObjEventos.GetGastoMensual(FechaInicio, FechaFin, UsuarioActual.CveEmpresa, -1, -1, -1))
{
DTDatos = ObjEventos.DtResultados;
GVDatos.DataSource = DTDatos;
}
GVDatos.DataBind();
ObjEventos.Dispose();
UPDatos.Update();
}
protected void InicializaDatos()
{
DateTime FI = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
DateTime FF = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month));
FechaInicio = FI.ToShortDateString();
FechaFin = FF.ToShortDateString();
TxtFechaI.Text = FechaInicio;
TxtFechaF.Text = FechaFin;
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void GVDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DataKey("CveEvento") == "")
{
e.Row.CssClass = "SubTotales";
e.Row.FCLinkButton("LnkEditar").Visible = false;
}
}
}
#endregion
#region "AGREGAR / EDITAR GASTO"
protected void BtnGuardarGasto_Click(object sender, EventArgs e)
{
ClsOIEventos ObjEventos = new ClsOIEventos();
int CveTipoEvento = 10;
DateTime FechaInicio = string.Format("{2}/{1}/{0} 12:00:00 AM", (TxtFechaInicio.Text.ToDateTime()).Year, (TxtFechaInicio.Text.ToDateTime()).Month, (TxtFechaInicio.Text.ToDateTime()).Day).ToDateTime();
DateTime FechaFin = string.Format("{2}/{1}/{0} 13:00:00 PM", (TxtFechaInicio.Text.ToDateTime()).Year, (TxtFechaInicio.Text.ToDateTime()).Month, (TxtFechaInicio.Text.ToDateTime()).Day).ToDateTime();
//Recurrencia 4 = Mensual
int RecurrenciaTipo = 4;
int Frecuencia = 1;
var Mes = 1;
DateTime RecurrenciaFin = TxtFechaFinRecurrencia.Text.ToDate();
double Importe = TxtGastoImporte.Text.ToDouble();
if (CveEvento == -1)
{
if (ObjEventos.AddEventoAgenda(5, TxtAsunto.Text, TxtDescripcion.Text, DdlPrioridad.SelectedValue.ToEntero(), FechaInicio, FechaFin, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
RecurrenciaTipo: RecurrenciaTipo, Frecuencia: Frecuencia, Mes: Mes, RecurrenciaFin: RecurrenciaFin.ToString(), CveTipoEvento: CveTipoEvento, Importe: Importe))
{
LimpiaModal();
this.RegistraScript("$('#DvModalGasto').modal('hide');");
Alert("El Evento Gasto Mensual se guardó correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
else
{
if (ObjEventos.UpdateEvento( TxtAsunto.Text, TxtDescripcion.Text, DdlPrioridad.SelectedValue.ToEntero(), 5,-1, FechaInicio, FechaFin, -1, "-1", CveEvento,
RecurrenciaTipo: RecurrenciaTipo, Frecuencia: Frecuencia, Mes: Mes, RecurrenciaFin: RecurrenciaFin.ToString(), Importe: Importe))
{
LimpiaModal();
this.RegistraScript("$('#DvModalGasto').modal('hide');");
Alert("El Evento Gasto Mensual se ha Actualizado correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
ObjEventos.Dispose();
CargaDatos();
}
protected void LimpiaModal()
{
CveEvento = -1;
TxtAsunto.Text = "";
TxtDescripcion.Text = "";
TxtFechaInicio.Text = "";
DdlPrioridad.SelectedValueExist("1");
TxtFechaFinRecurrencia.Text = "";
TxtGastoImporte.Text = "";
}
protected void LnkAgregarGasto_Click(object sender, EventArgs e)
{
LimpiaModal();
UPModalGasto.Update();
this.RegistraScript("$('#DvModalGasto').modal();");
}
protected void LnkEditar_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CveEvento = GvRow.DataKey("CveEvento").ToEntero();
TxtAsunto.Text = GvRow.DataKey("Asunto");
TxtFechaInicio.Text = GvRow.DataKey("FechaInicio");
TxtDescripcion.Text = GvRow.DataKey("Descripcion");
DdlPrioridad.SelectedValueExist("Prioridad");
TxtFechaFinRecurrencia.Text = GvRow.DataKey("FechaFinRecurrencia");
String ImporteString = String.Format("{0:c}", GvRow.DataKey("Importe").ToDouble());
TxtGastoImporte.Text = ImporteString;
UPModalGasto.Update();
this.RegistraScript("$('#DvModalGasto').modal();");
}
#endregion
#region "REPORTE"
protected void LnkImprimirPDF_Click(object sender, EventArgs e)
{
ImprimiReporte();
}
protected void ImprimiReporte(string Formato = "PDF")
{
string FechaInicio = DateTime.Parse(TxtFechaI.Text).ToShortDateString();
string FechaFinal = DateTime.Parse(TxtFechaF.Text).ToShortDateString();
string Ruta = string.Format("{0}Empresas/{1}/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa);
string RutaPDF = string.Format("{0}/Formatos/RepGastosFijos.rdlc", Ruta);
if (!File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/RepGastosFijos.rdlc";
}
var logouri = string.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
System.IO.FileInfo Imagen = new System.IO.FileInfo(string.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
List<ReportParameter> @params = new List<ReportParameter>();
@params.Add(new ReportParameter("pImg", new Uri(Server.MapPath(string.Format("~/Empresas/{0}/Logo.png", UsuarioActual.CveEmpresa))).AbsoluteUri));
@params.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
@params.Add(new ReportParameter("FechaInicio", FechaInicio));
@params.Add(new ReportParameter("FechaFin", FechaFinal));
@params.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
@params.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
if (Imagen.Exists)
{
@params.Add(new ReportParameter("LogoPath", logouri));
}
else
{
@params.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF(RutaPDF, DTDatos, @params, "RepGastosFijos " + DateTime.Now.ToString("yyyy-MM-dd"), Formato);
}
#endregion
}

View File

@@ -0,0 +1,143 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepGastosSemanal.aspx.cs" Inherits="Compras_RepGastosSemanal" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Gastos Semanal
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" runat="server" OnClick="LnkExcel_Click"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
</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" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" OnClick="BtnConsultar_Click" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 ">Fecha Inicial:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" 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: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="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<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>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="col-md-1 ">Fecha Final:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" 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: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="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<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>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<div class="portlet-body">
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-6" id="DivDatos" runat="server" visible="false">
<div class="col-md-12" align="Center">
<label><b>Provisiones de matriz y sucursales para pago a acreedores</b></label>
</div>
<br />
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<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>
<asp:GridView ID="GvDatos" runat="server" GridLines="None"
EmptyDataText="No se han encontrado datos con los filtros seleccionados"
OnRowDataBound="GvDatos_RowDataBound" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
Width="99%" data-sort="true" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="RazonSocial" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="ConceptoContable" ItemStyle-HorizontalAlign="Left" HeaderText="Concepto" />
<asp:BoundField DataField="Importe" ItemStyle-HorizontalAlign="Right" HeaderText="Importe" DataFormatString="{0:#,##0.##}" />
</Columns>
</asp:GridView>
</div>
<div class="col-md-6" id="DivPrestamoTraspaso" runat="server" visible="false">
<div class="col-md-12" align="Center">
<label><b>Prestamos a Agropecuaria JAM pesos</b></label>
</div>
<br />
<asp:GridView ID="GvDatosPrestamoDeudor" runat="server" GridLines="None"
EmptyDataText="No se han encontrado datos con los filtros seleccionados"
OnRowDataBound="GvDatosPrestamoDeudor_RowDataBound" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
Width="99%" data-sort="true" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Fecha" HeaderText="Fecha" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField DataField="Importe" ItemStyle-HorizontalAlign="Right" HeaderText="Importe" DataFormatString="{0:#,##0.##}" />
</Columns>
</asp:GridView>
<br />
<div class="col-md-12" align="Center">
<label><b>Traspasos entre cuentas bancarias</b></label>
</div>
<br />
<asp:GridView ID="GvDatosTraspaso" runat="server" GridLines="None"
EmptyDataText="No se han encontrado datos con los filtros seleccionados"
OnRowDataBound="GvDatosTraspaso_RowDataBound" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
Width="99%" data-sort="true" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="BancoNumCuenta" HeaderText="Cuenta" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" ItemStyle-HorizontalAlign="Right" HeaderText="Importe" DataFormatString="{0:#,##0.##}" />
</Columns>
</asp:GridView>
<br />
<div class="col-md-12" align="Center">
<label><b>Fondos de Inversión</b></label>
</div>
<br />
<asp:GridView ID="GvFondoInversion" runat="server" GridLines="None"
EmptyDataText="No se han encontrado datos con los filtros seleccionados"
OnRowDataBound="GvFondoInversion_RowDataBound" CssClass="table table-hover table-striped ScrollAD mysmallbtn"
Width="99%" data-sort="true" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="BancoNumCuenta" HeaderText="Cuenta" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Importe" ItemStyle-HorizontalAlign="Right" HeaderText="Importe" DataFormatString="{0:#,##0.##}" />
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,219 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
public partial class Compras_RepGastosSemanal : ClsPaginas
{
#region PROPIEDADES
private DataTable DtPagos
{
get { return DtPagos = (DataTable)ViewState["DtPagos"]; }
set { ViewState["DtPagos"] = value; }
}
private DataTable DtPrestamo
{
get { return DtPrestamo = (DataTable)ViewState["DtPrestamo"]; }
set { ViewState["DtPrestamo"] = value; }
}
private DataTable DtTraspaso
{
get { return DtTraspaso = (DataTable)ViewState["DtTraspaso"]; }
set { ViewState["DtTraspaso"] = value; }
}
private DataTable DtFondo
{
get { return DtFondo = (DataTable)ViewState["DtFondo"]; }
set { ViewState["DtFondo"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
#region CARGAS
private void InicializaValores()
{
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString();
txtFechaF.Text = DateTime.Now.ToShortDateString();
}
private void Consulta()
{
ClsCompras ObjComp = new ClsCompras();
if (ObjComp.GetRepGastosSemanal(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa))
{
GvDatos.DataSource = ObjComp.DtResultados;
DtPagos = ObjComp.DtResultados;
}
if (ObjComp.GetRepGastosSemanalPrestamosDeudor(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa))
{
GvDatosPrestamoDeudor.DataSource = ObjComp.DtResultados;
DtPrestamo = ObjComp.DtResultados;
}
if (ObjComp.GetRepGastosSemanalTraspasosCuenta(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, Tipo: 1))
{
GvDatosTraspaso.DataSource = ObjComp.DtResultados;
DtTraspaso = ObjComp.DtResultados;
}
if (ObjComp.GetRepGastosSemanalTraspasosCuenta(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), UsuarioActual.CveEmpresa, Tipo: 2))
{
GvFondoInversion.DataSource = ObjComp.DtResultados;
DtFondo = ObjComp.DtResultados;
}
ObjComp.Dispose();
GvDatos.DataBind();
GvDatosPrestamoDeudor.DataBind();
GvDatosTraspaso.DataBind();
GvFondoInversion.DataBind();
DivDatos.Visible = true;
DivPrestamoTraspaso.Visible = true;
UpDatos.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
Consulta();
}
#endregion
#region GRIDVIEW
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("CveSubProyecto").ToEntero() < 1)
{
e.Row.Cells[0].Text = "Total";
e.Row.CssClass = "Totales";
e.Row.Cells[1].Text = "";
}
else if (e.Row.DBCampo("Fecha").ToString() == "")
{
e.Row.Cells[0].Text = e.Row.DBCampo("SubProyecto").ToString();
e.Row.CssClass = "SubTotales2";
e.Row.Cells[1].Text = "";
}
else if (e.Row.DBCampo("RazonSocial").ToString() == "")
{
e.Row.Cells[0].Text = e.Row.DBCampo("Fecha").ToString();
e.Row.CssClass = "SubTotales";
e.Row.Cells[1].Text = "";
}
}
}
protected void GvDatosPrestamoDeudor_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Fecha").ToString() == "")
{
e.Row.Cells[0].Text = "Total";
e.Row.CssClass = "Totales";
}
}
}
protected void GvDatosTraspaso_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Fecha").ToString() == "")
{
e.Row.Cells[0].Text = "Total";
e.Row.CssClass = "Totales";
}
else if (e.Row.DBCampo("CveCuenta").ToEntero() < 1)
{
e.Row.Cells[0].Text = e.Row.DBCampo("Fecha").ToString();
e.Row.CssClass = "SubTotales";
}
}
}
protected void GvFondoInversion_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Fecha").ToString() == "")
{
e.Row.Cells[0].Text = "Total";
e.Row.CssClass = "Totales";
}
else if (e.Row.DBCampo("CveCuenta").ToEntero() < 1)
{
e.Row.Cells[0].Text = e.Row.DBCampo("Fecha").ToString();
e.Row.CssClass = "SubTotales";
}
}
}
#endregion
#region PDF
protected void GenerarPDF(String Opcion)
{
if (DtPagos.Rows.Count > 0 || DtPrestamo.Rows.Count > 0 || DtTraspaso.Rows.Count > 0 || DtFondo.Rows.Count > 0)
{
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
String logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToString()));
para.Add(new ReportParameter("Filtros",$"Semana del {txtFechaI.Text} al {txtFechaF.Text}"));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
List<ReportDataSource> lrds = new List<ReportDataSource>();
ReportDataSource rds = new ReportDataSource();
rds.Name = "DataSet1"; rds.Value = DtPagos;
ReportDataSource rds2 = new ReportDataSource();
rds2.Name = "DataSet2"; rds2.Value = DtPrestamo;
ReportDataSource rds3 = new ReportDataSource();
rds3.Name = "DataSet3"; rds3.Value = DtTraspaso;
ReportDataSource rds4 = new ReportDataSource();
rds4.Name = "DataSet4"; rds4.Value = DtFondo;
lrds.Add(rds);
lrds.Add(rds2);
lrds.Add(rds3);
lrds.Add(rds4);
ImprimirPDF("Empresas/Grales/Formatos/RepGastosSemanal.rdlc", lrds, para, "Rep. Gastos Semanal", Opcion);
}
else
{
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia);
}
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)

View File

@@ -0,0 +1,153 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepImportaciones.aspx.vb" Inherits="Compras_RepImportaciones" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="ImgAdd" PostBackUrl="/Compras/Importaciones.aspx" CommandArgument="-1" runat="server"><i class="fa fa-plus-circle"></i> Registrar Nueva Importación</asp:LinkButton>
<%--<img id="ImgAdd" runat="server" alt="Registrar Nueva Importación" style="cursor: pointer;" src="/Imagenes/BotonAgregar.gif" width="20" height="25" onclick="document.location.href='/Compras/Importaciones.aspx'" />&nbsp;--%>
</li>
</ContentTemplate>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LnkExportar" OnClick="LnkExportar_Click" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte Importaciones
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<%--<asp:UpdatePanel ID="UpFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid smmallpadding grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT" style="">
<div class="titlefiltros caption ">
<ul class="list-inline text-size-12">
<li>Aduanal:
<asp:DropDownList runat="server" ID="DdlProveedor" Width="200px" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></asp:DropDownList>
</li>
<li>Activo Fijo:
<asp:DropDownList runat="server" ID="DdlAF" Width="200px" DataValueField="CveActivoFijo" DataTextField="Descripcion" Class="table-group-action-input form-control input-inline input-small input-sm"></asp:DropDownList>
</li>
<li>Fecha Inicio:</li>
<li>
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-bottom:-15px;">
<asp:TextBox ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="100px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgFechaI" class="btn default"> <i class="fa fa-calendar"></i> </asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarioI" runat="server" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaI" runat="server" ControlToValidate="TxtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicio''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaI" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</li>
<li>Fecha Fin:</li>
<li>
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-bottom:-15px;">
<asp:TextBox ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="100px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgFechaF" class="btn default"> <i class="fa fa-calendar"></i> </asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaF" runat="server" ControlToValidate="TxtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Fin''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</li>
</ul>
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnConsultar_Click" />
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>--%>
<asp:UpdatePanel ID="UpFiltros" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultarFiltros" OnClick="BtnConsultarFiltros_Click" runat="server" Text="Consultar" ValidationGroup="GrpFiltros" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1" style="max-width: 70px">Aduanal:</div>
<div class="col-md-2">
<asp:DropDownList runat="server" ID="DdlProveedor" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="select2me"></asp:DropDownList>
</div>
<div class="col-md-1" style="max-width: 90px">Fecha Inicio:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-bottom: -15px;">
<asp:TextBox ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="100px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgFechaI" class="btn default"> <i class="fa fa-calendar"></i> </asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="TxtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarioI" runat="server" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaI" runat="server" ControlToValidate="TxtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicio''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCOFechaI" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1" style="max-width: 70px">Fecha Fin:</div>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-bottom: -15px;">
<asp:TextBox ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Onblur="Recalculafechapago();" ValidationGroup="GrpGuardar" Width="100px" ClientIDMode="Static"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton runat="server" ID="ImgFechaF" class="btn default"> <i class="fa fa-calendar"></i> </asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaF" runat="server" ControlToValidate="TxtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Fin''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%" EmptyDataText="No hay importaciones" ToolTip="Importaciones" OnRowDataBound="GvDatos_RowDataBound" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px;" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="#">
<ItemTemplate>
<asp:Literal ID="Consecutivo" runat="server" />
</ItemTemplate>
<ItemStyle Width="20px" />
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Pedimento" DataTextField="Pedimento" ItemStyle-Width="300px" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Importaciones.aspx?CveImportacion={0}" DataNavigateUrlFields="CveImportacion" />
<asp:HyperLinkField HeaderText="Descripción" DataTextField="Descripcion" ItemStyle-Width="300px" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Importaciones.aspx?CveImportacion={0}" DataNavigateUrlFields="CveImportacion" />
<asp:HyperLinkField HeaderText="Fecha" DataTextField="Fecha" DataTextFormatString="{0:d}" ItemStyle-Width="70px" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Importaciones.aspx?CveImportacion={0}" DataNavigateUrlFields="CveImportacion" />
<asp:HyperLinkField HeaderText="Aduanal" DataTextField="RazonSocial" ItemStyle-Width="250px" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Importaciones.aspx?CveImportacion={0}" DataNavigateUrlFields="CveImportacion" />
<%--<asp:HyperLinkField HeaderText="ActivoFijo" DataTextField="AFDescripcion" ItemStyle-Width="250px" ControlStyle-CssClass="Texto" DataNavigateUrlFormatString="/Compras/Importaciones.aspx?CveImportacion={0}" DataNavigateUrlFields="CveImportacion" />--%>
</Columns>
<HeaderStyle CssClass="Titulos" />
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,80 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Compras_RepImportaciones
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtImportaciones As DataTable
Get
Return CType(ViewState("DtImportaciones"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtImportaciones") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
InicializaValores()
End If
End Sub
Private Sub InicializaValores()
TxtFechaI.Text = Date.Now.AddDays(-Now.DayOfYear + 1).ToShortDateString
TxtFechaF.Text = Date.Now.ToShortDateString
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
DdlProveedor.Items.Insert(0, New ListItem("Todos", "-1"))
'DdlAF.DataSource = GlobalDTActivoFijos
'DdlAF.DataBind()
'DdlAF.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#Region " CARGA DAATOS "
Protected Sub BtnConsultarFiltros_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjImportaciones As New ClsCompras
Dim FechaI, FechaF As String
If TxtFechaI.Text <> "" Then FechaI = TxtFechaI.Text Else FechaI = "-1"
If TxtFechaF.Text <> "" Then FechaF = TxtFechaF.Text Else FechaF = "-1"
If ObjImportaciones.GetImportaciones(-1, DdlProveedor.SelectedValue.ToString.ToEntero, -1, FechaI, FechaF, UsuarioActual.CveEmpresa) Then
DtImportaciones = ObjImportaciones.DtResultados
Else
Alert("Ocurrió un error al cargar las importaciones", TipoMensaje.MsgError)
End If
ObjImportaciones.Dispose()
CargaGrid()
End Sub
Private Sub CargaGrid()
GvDatos.DataSource = DtImportaciones
GvDatos.DataBind()
UpDatos.Update()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCLiteral("Consecutivo").Text = (GvDatos.Rows.Count + 1).ToString
End If
End Sub
#End Region
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs)
GvDatos.ExportToExcel("Reporte de Importaciones")
End Sub
End Class

View File

@@ -0,0 +1,256 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepNotasCredito.aspx.vb" Inherits="Compras_RepNotasCredito" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="ImgExcel" />
<asp:PostBackTrigger ControlID="ImgImprimir" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkHabilitarSaldar" runat="server"><i class="fa fa-usd"></i> Otros Egresos</asp:LinkButton>
</li>
<li>
<asp:HyperLink ID="HLSaldar" NavigateUrl="#" runat="server" Visible="false" data-toggle="modal" data-target="#DivSaldar">Saldar</asp:HyperLink>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Notas de Crédito
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT" style="">
<div class="titlefiltros caption ">
<ul class="list-inline text-size-12">
<li>Proveedor:
<asp:DropDownList ID="DdlProveedores" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" Width="300px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Estatus:
<asp:DropDownList ID="DdlOpcion" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" Width="100px">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="True" Text="Con Saldo" Value="0"></asp:ListItem>
<asp:ListItem Text="Sin Saldo" Value="1"></asp:ListItem>
</asp:DropDownList>
</li>
<li>Fecha I.</li>
<li style="width: 140px;">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" 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: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="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<%--<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>--%>
<%--<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</li>
<li>Fecha F.</li>
<li>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" 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: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="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<%--<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>--%>
<%--<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</li>
</ul>
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" OnClick="BtnConsultar_Click" />
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Notas de Crédito" OnRowDataBound="GvDatos_RowDataBound"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="text-align: center;" GridLines="None"
DataKeyNames="CveCompra,Saldo,CveIE,CveProveedor,CvePersonal,CveMoneda,IdCtaContProveedores,
IdCtaContExtranjera,IdCtaContComplementaria,TipoCambio">
<Columns>
<asp:TemplateField ItemStyle-Width="7%">
<ItemTemplate>
<asp:CheckBox ID="chk" Checked="false" Visible="false" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%-- <asp:LinkButton ID="LbSerieFolio" runat="server" CausesValidation="False" Text="" CommandArgument="SerieFolio" OnClick="LbOrden_Click">--%>
Serie Folio
<%-- <asp:Literal ID="ImgSerieFolio" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%-- </asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLSerieFolio" runat="server" Text='<%# Eval("SerieFolio")%>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="75" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%--<asp:LinkButton ID="LbFecha" runat="server" CausesValidation="False" Text="" CommandArgument="Fecha" OnClick="LbOrden_Click">--%>
Fecha
<%-- <asp:Literal ID="ImgFecha" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%--</asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="75" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%--<asp:LinkButton ID="LbRazonSocial" runat="server" CausesValidation="False" Text="" CommandArgument="RazonSocial" OnClick="LbOrden_Click">--%>
Proveedor
<%-- <asp:Literal ID="ImgRazonSocial" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%-- </asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HLRazonSocial" runat="server" Text='<%# Eval("RazonSocial")%>' CssClass="Texto"></asp:HyperLink>
</ItemTemplate>
<ItemStyle Width="350" HorizontalAlign="Left" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%--<asp:LinkButton ID="LbAbreviatura" runat="server" CausesValidation="False" Text="" CommandArgument="Abreviatura" OnClick="LbOrden_Click">--%>
Moneda
<%--<asp:Literal ID="ImgAbreviatura" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%--</asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelAbreviatura" runat="server" Text='<%# Eval("Abreviatura")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="45" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%--<asp:LinkButton ID="LbOriginal" runat="server" CausesValidation="False" Text="" CommandArgument="Original" OnClick="LbOrden_Click">--%>
Original
<%--<asp:Literal ID="ImgOriginal" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%--</asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="80" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%-- <asp:LinkButton ID="LbAbonado" runat="server" CausesValidation="False" Text="" CommandArgument="Abonado" OnClick="LbOrden_Click">--%>
Abonado
<%--<asp:Literal ID="ImgAbonado" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%-- </asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="80" HorizontalAlign="Right" />
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<%-- <asp:LinkButton ID="LbSaldo" runat="server" CausesValidation="False" Text="" CommandArgument="Saldo" OnClick="LbOrden_Click">--%>
Saldo
<%--<asp:Literal ID="ImgSaldo" runat="server" Text=" <i class='fa fa-sort' style='color:#999' ></i>"></asp:Literal>--%>
<%--</asp:LinkButton>--%>
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="LabelSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}")%>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="80" HorizontalAlign="Right" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivSaldar" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpSaldar" 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">&times;</span>
</button>
<h4 class="modal-title" id="LtlSaldar" runat="server">Saldar</h4>
</div>
<div class="modal-body">
<div class="row">
<label class="col-md-4" style="max-width: 155px;">Fecha:</label>
<div class="col-md-3">
<div class="input-group date date-picker" data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaSaldar" runat="server" CssClass="form-control input-sm" Width="80px"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaSaldar" class="btn default input-sm" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaSaldar" runat="server" TargetControlID="TxtFechaSaldar" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CEFechaSaldar" runat="server" TargetControlID="TxtFechaSaldar" PopupButtonID="LnkFechaSaldar" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaSaldar" runat="server" ControlToValidate="TxtFechaSaldar" Display="None" Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpObligatorio" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaSaldar" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaSaldar" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVFechaSaldar" runat="server" ControlToValidate="TxtFechaSaldar" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaSaldar2" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaSaldar" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<div class="col-md-12">
<label>Concepto:</label>
<br />
<asp:TextBox ID="TxtConcepto" runat="server" Height="100" Width="600" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvConcepto" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtConcepto" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Concepto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpObligatorio"></asp:RequiredFieldValidator>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel ID="UpFooter" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:LinkButton ID="BtnSaldar" runat="server" OnClick="BtnSaldar_Click" CssClass="btn btn-primary" ValidationGroup="GrpObligatorio">Saldar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,281 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepNotasCredito
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedores.DataBind()
TxtFechaSaldar.Text = Now.ToShortDateString
CargaDatos()
End If
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras
Dim FechaI, FechaF As String
If txtFechaI.Text <> "" Then FechaI = txtFechaI.Text Else FechaI = "-1"
If txtFechaF.Text <> "" Then FechaF = txtFechaF.Text Else FechaF = "-1"
If ObjCompras.GetNotasCreditoRep(DdlProveedores.SelectedValue.ToEntero, DdlOpcion.SelectedValue.ToEntero, FechaI, FechaF, UsuarioActual.CveEmpresa) Then
DtDatos = ObjCompras.DtResultados
CargaGrid("")
Else
Alert("Ocurrió un error al obtener el catálogo de Notas de Crédito", Extensiones.TipoMensaje.MsgError)
End If
ObjCompras.Dispose()
End Sub
Protected Sub GvDatos_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.FCHyperLink("HLRazonSocial").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}", e.Row.DBCampo("CveProveedor"))
e.Row.FCHyperLink("HLSerieFolio").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DBCampo("CveCompra"))
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs)
CargaDatos()
End Sub
Protected Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GvDatos.ExportToExcel("RepNotasCredito." & Now.ToShortDateString)
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
If DtDatos IsNot Nothing Then
Dim StrFiltro As New StringBuilder
'StrFiltro.AppendFormat(String.Format("<b>Proveedor:</b> {0}, <b>Estatus:</b> {1}", DdlProveedores.SelectedItem.Text, DdlOpcion.SelectedItem.Text))
' If DdlTipoComprobante.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Tipo Documento</b>: {0}", DdlTipoComprobante.SelectedItem.Text)
If DdlProveedores.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Proveedor:</b> {0}", DdlProveedores.SelectedItem.Text)
If DdlOpcion.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Estatus:</b> {0}", DdlOpcion.SelectedItem.Text)
If txtFechaI.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate.ToShortDateString)
If txtFechaF.Text <> "" Then StrFiltro.AppendFormat("&emsp;<b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate.ToShortDateString)
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
'Dim dt As DataTable = DtVentas.FiltraParametros("", "Orden") '.FiltraParametros("Total > 0", DistinctColumns:={"GPO", "Cantidad", "SubTotal", "Descuento", "Amortizacion", "IVA", "Total"})
Dim FechaI, FechaF As String
FechaI = If(txtFechaI.Text = "" Or txtFechaI.Text = "__/__/____", "-1", txtFechaI.Text)
FechaF = If(txtFechaF.Text = "" Or txtFechaF.Text = "__/__/____", "-1", txtFechaF.Text)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("FechaInicio", FechaI))
params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepNotasCredito.rdlc", DtDatos, params, String.Format("ReporteVentas-{0}", Now.ToDateTime.ToShortDateString), Formato:=Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub LnkHabilitarSaldar_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldar.Click
For Each gr As GridViewRow In GvDatos.Rows
If gr.DataKey("CveCompra") <> "" Then
gr.FCCheckBox("Chk").Visible = True
HLSaldar.Visible = True
LnkHabilitarSaldar.Visible = False
UpDatos.Update()
End If
Next
End Sub
Protected Sub BtnSaldar_Click(sender As Object, e As EventArgs)
Dim ObjConta As New ClsContabilidad
ObjConta.IniciaTransacSQL()
Dim CvePrePoliza As Integer = 0
Dim MsgError As String = ""
Dim IdCtaContable As Integer = 0
Dim IdCtaContableComplementaria As Integer = 0
Dim Importe As Decimal = 0
Dim ImporteMN As Decimal = 0
Dim ImporteComplementaria As Decimal = 0
Dim CveMoneda As Integer = 0
Dim TC As Decimal = GlobalTipoCambio(TxtFechaSaldar.Text.ToDate).ToDecimal
Dim TCCompra As Decimal = 0
Dim Concepto As String = TxtConcepto.Text
Dim UsaComplementaria As Boolean = UsuarioActual.CveEmpresa.Contiene(119)
Dim MensajeAlert = New StringBuilder
For Each gr As GridViewRow In GvDatos.Rows
If gr.FCCheckBox("Chk").Checked Then
IdCtaContable = 0
IdCtaContableComplementaria = 0
Importe = gr.DataKey("Saldo").ToDecimal.RoundSQL
ImporteMN = gr.DataKey("Saldo").ToDecimal.RoundSQL
TCCompra = gr.DataKey("TipoCambio").ToDecimal
CveMoneda = gr.DataKey("CveMoneda").ToEntero
CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 2, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveMoneda > 1 Then
IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero
ImporteMN = (gr.DataKey("Saldo").ToDecimal * TCCompra).RoundSQL
Else
IdCtaContable = gr.DataKey("IdCtaContProveedores").ToEntero
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -Importe, "", 18, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, ImporteMX:=-If(CveMoneda > 1 AndAlso UsaComplementaria, Importe, ImporteMN), ImporteME:=-If(CveMoneda > 1, Importe, 0), CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, TipoCambio:=TCCompra) Then
MsgError = "Ocurrio un Error al saldar el movimiento"
End If
If UsaComplementaria AndAlso CveMoneda > 1 Then
ImporteComplementaria = (Importe * TCCompra - Importe).RoundSQL
IdCtaContableComplementaria = gr.DataKey("IdCtaContComplementaria").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, -ImporteComplementaria, "", 235, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContableComplementaria, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveCompraAmortizacion:=gr.DataKey("CveCompra").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=-ImporteComplementaria, ImporteME:=-ImporteComplementaria, TipoCambioPago:=TC, TipoCambio:=TCCompra) Then
MsgError = "Ocurrio un Error al saldar el movimiento"
End If
End If
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(564).ToString.ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 211, Concepto, TxtFechaSaldar.Text.ToDate, IdCtaContable, -1, gr.DataKey("CveIE").ToEntero, ImporteMX:=If(CveMoneda > 1, (Importe * TC), Importe).RoundSQL, CveCuenta:=-1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero) Then
MsgError = "Ocurrio un Error al saldar el movimiento"
End If
If TC <> TCCompra AndAlso CveMoneda > 1 AndAlso UsaComplementaria Then
Dim difFluctuacion As Decimal = TC - TCCompra
Dim CveConceptoFluctua As Integer = 64 '64.ganacia, 65.perdida
Dim TipoMovtoFluctua As Boolean = True
Dim IdCtaContableFluctua As Integer
Dim CveCuenta As Integer = 0
If difFluctuacion < 0 Then
CveConceptoFluctua = 65
TipoMovtoFluctua = False
IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
Else
CveConceptoFluctua = 64
TipoMovtoFluctua = True
IdCtaContableFluctua = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
End If
Dim ImporteFluctuacion As Decimal = Math.Abs((Importe * difFluctuacion).RoundSQL)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoFluctua, ImporteFluctuacion, "", CveConceptoFluctua, Concepto, Now, IdCtaContableFluctua, -1, CveCompra:=gr.DataKey("CveCompra").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, ImporteMX:=ImporteFluctuacion, ImporteME:=ImporteFluctuacion, TipoCambio:=TCCompra, TipoCambioPago:=TC, CveCuenta:=CveCuenta) Then
MsgError = "Ocurrio un Error al saldar el movimiento"
End If
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
MsgError = ObjConta.MensajePolizaDescuadre
GuardaLogAD($"Ventas/Ventas-ProcesoPrePolizas | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
End If
End If
If UsuarioActual.Empresa.Funcionalidad(200) = "1" And MsgError = "" And UsuarioActual.Empresa.UsaContabilidad Then
If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa) Then
If MensajeAlert.ToString = "" Then
MensajeAlert.AppendFormat("Los siguientes movimientos fueron saldados correctamente: <br/>")
End If
MensajeAlert.AppendFormat("<ul><li><a Class=""Texto"" href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Poliza {1}</a></li></ul>", ObjConta.ContaIdPoliza, ObjConta.ContaFolio)
End If
End If
If MsgError <> "" Then Exit For
End If
Next
If MsgError = "" Then
ObjConta.Commit()
If MensajeAlert.ToString <> "" Then
Alert(MensajeAlert.ToString)
Else
Alert("Los movimientos fueron saldados correctamente.")
End If
Alert(MensajeAlert.ToString)
CargaDatos()
HLSaldar.Visible = False
RegistraScript("$('#DivSaldar').modal('hide')")
LnkHabilitarSaldar.Visible = True
Else
ObjConta.RollBack()
Alert(MsgError, TipoMensaje.MsgError)
End If
ObjConta.Dispose()
End Sub
Protected Sub LnkSaldar_Click(sender As Object, e As EventArgs)
End Sub
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(", ", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Protected Sub CargaGrid(Orden As String)
Dim DV As DataView = Nothing
DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows)
If Orden <> String.Empty Then
GvDatos.DataSource = DV.ToTable()
Else
GvDatos.DataSource = DtDatos
End If
GvDatos.DataBind()
UpDatos.Update()
DV.Dispose()
End Sub
#End Region
End Class

213
Compras/RepPUESinPago.aspx Normal file
View File

@@ -0,0 +1,213 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepPUESinPago.aspx.vb" Inherits="Compras_RepPUESinPago" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.Widthall {
width: 100% !important;
}
.dataTables_scrollHeadInner {
width: 100% !important;
background-color: #dddddd;
padding-left: 0px !important;
}
.dataTables_scrollFoot {
display: none;
position: static;
}
.table-scrollable {
margin: 0px !important;
}
.dataTables_scroll {
margin-bottom: 0px;
}
.table.dataTable {
margin-top: 0px !important;
}
.dataTables_scrollBody table th {
padding: 0px !important;
padding-right: 4px !important;
padding-left: 4px !important;
}
.sinlink td a {
pointer-events: none;
cursor: default;
color: black;
font-size: small;
}
.white a {
color: white !important;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte PUE Sin Pago
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkPDF" OnClick="LnkPDF_Click" runat="server"><i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkPDF" />
<asp:PostBackTrigger ControlID="LnkExcel" />
</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="UpGral" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT smalltitle" style="min-height: 49px; position: relative;">
<div class="tools">
<asp:Button ID="btConsultar" CssClass="btn btn-primary" runat="server" OnClick="btConsultar_Click" OnValidationGroup="GrpConsultar" Text="Consultar" /></td>
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption magindate">
<div class="row">
<div class="col-md-1 truncate" style="text-align: right!important">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: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaI" 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="CEFechaI" TargetControlID="TxtFechaI" PopupButtonID="ImgFechaI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-1 truncate" style="text-align: right!important">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: 95px !important; padding: 0px;">
<asp:TextBox Style="width: 80px !important;" ID="TxtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaF" 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="CalendarExtender1" TargetControlID="TxtFechaF" PopupButtonID="ImgFechaF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-1 truncate" style="margin-left: 30px; text-align: right!important">SubProyecto:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlSubProyecto" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" runat="server" Width="150px">
</asp:DropDownList>
</div>
<div class="col-md-1 truncate" style="margin-left: 30px; text-align: right!important">Proveedor:</div>
<div class="col-md-1">
<ADS:Dropdownlost CssClassDdl="select2me" ID="DdlProveedor" Width="100%" data-metodo="getcliente" runat="server" DataTextField="RazonSocial" DataValueField="CveProveedor" CssStyle="width: 100%;">
</ADS:Dropdownlost>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row">
<div class="Widthall" style="text-align: right!important; margin-top: 20px!important; margin-bottom: 2px!important">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvPUES.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvPUES.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
<div class="row" style="margin: 5px">
<asp:UpdatePanel ID="UPGvPUES" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvPUES" runat="server" AutoGenerateColumns="False"
DataKeysNames="CveCompra"
EmptyDataText="No se encontraron registros" ToolTip="Listado de Temas"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
data-sort="true"
data-freezerows="1"
GridLines="None">
<Columns>
<asp:TemplateField HeaderText="SerieFolio">
<ItemTemplate>
&nbsp;<asp:HyperLink ID="HplNum" runat="server" CssClass="Texto" Target="_blank" NavigateUrl='<%# Eval("CveCompra", "/Compras/Compras.aspx?CveCompra={0}") %>' Text='<%# Eval("SerieFolio") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha">
<ItemTemplate>
&nbsp;<asp:Literal runat="server" Text='<%# Eval("Fecha", "{0:d}")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Proveedor">
<ItemTemplate>
&nbsp;<asp:Literal runat="server" Text='<%# Eval("NombreComercial")%>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SubProyecto">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("SubProyecto") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("Total", "{0:N2}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="10px" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("Abreviatura") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<div style="margin-right: 20px">
<asp:Literal runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<br />
<br />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content9" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,112 @@
Imports System.Data
Imports Extensiones
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepPUESinPago
Inherits ClsPaginas
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
InicializaValores()
End If
End Sub
Private Sub InicializaValores()
TxtFechaI.Text = FirstDayOfMonth(Now).ToShortDateString
TxtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
CargaProveedores()
End Sub
Private Sub CargaProveedores()
If (UsuarioActual.Empresa.Funcionalidad(105) = "1") Then
DdlProveedor.setEsWebService(True)
DdlProveedor.Attributes.Add("data-metodo", "getproveedores")
DdlProveedor.SelectedText = "Todos"
DdlProveedor.SelectedValue = "-1"
Else
DdlProveedor.setEsWebService(False)
DdlProveedor.ddl.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.ddl.DataBind()
DdlProveedor.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
Private Sub CargadatosGvPUES()
Dim objCompras As New ClsCompras
If objCompras.GetPUESinPago(TxtFechaI.Text.ToDate, TxtFechaF.Text.ToDate, DdlProveedor.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
GvPUES.DataSource = objCompras.DtResultados
DtDatos = objCompras.DtResultados
Else
GvPUES.DataSource = Nothing
End If
objCompras.Dispose()
UPGvPUES.DataBind()
UpGral.Update()
End Sub
Protected Sub btConsultar_Click(sender As Object, e As EventArgs)
CargadatosGvPUES()
End Sub
#Region "IMPRESION"
Protected Sub LnkPDF_Click(sender As Object, e As EventArgs)
GeneraImpresion()
End Sub
Protected Sub LnkExcel_Click(sender As Object, e As EventArgs)
GeneraImpresion("Excel")
End Sub
Private Sub GeneraImpresion(Optional Formato As String = "PDF")
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim FI As String = If(TxtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{TxtFechaI.Text}")
Dim FF As String = If(TxtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{TxtFechaF.Text}")
Dim cliente As String = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedor.SelectedText}")
Dim subProy As String = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b>&nbsp;{DdlSubProyecto.SelectedItem.Text}")
If DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("AgrupadoPor", $"{FI}{FF}{cliente}{subProy}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/CompPUEConSaldo.rdlc", DtDatos, params, "RepPUESinPago", Formato)
Else
Alert("No se encontraron datos con los filtros especificados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class

303
Compras/RepPagado.aspx Normal file
View File

@@ -0,0 +1,303 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepPagado.aspx.cs" Inherits="Compras_RepPagado" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Pagado
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal"></i> Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1">Grupo:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlGrupo" runat="server" Width="100%" Class="table-group-action-input form-control input-inline input-small input-sm">
<asp:ListItem Text="Año Compra" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes Compra" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha Compra" Value="4"></asp:ListItem>
<asp:ListItem Text="Año IE" Value="9"></asp:ListItem>
<asp:ListItem Text="Mes IE" Value="10"></asp:ListItem>
<asp:ListItem Text="Año/Mes IE" Value="11"></asp:ListItem>
<asp:ListItem Text="Fecha IE" Value="12"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Centro de Costos" Value="6"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="7"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlProveedor" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha Inicial:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1">Fecha Final:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="portlet-body" style="display: none;">
<div class="row">
<label runat="server" id="LblProyecto" class="col-md-1">Proyecto:</label>
<div runat="server" id="DivProyecto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" Width="100%" OnSelectedIndexChanged="DdlProyecto_SelectedIndexChanged" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<label runat="server" id="LblSubProyecto" class="col-md-1">SubProyecto:</label>
<div runat="server" id="DivSubProyecto" class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<div class="col-md-1">Banco:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlBanco" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DdlBanco_SelectedIndexChanged" DataTextField="Banco" DataValueField="CveBanco" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Cuenta Bancaria:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlCuentaBancaria" runat="server" AppendDataBoundItems="true" DataTextField="NumCuenta" DataValueField="CveCuenta" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Registró:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlResponsable" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlMoneda" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 truncate">Fecha I. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaICompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaIEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" PopupButtonID="ImgCalFechaIEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</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="VCOFechaIEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaIEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 truncate">Fecha F. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFCompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaFEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" PopupButtonID="ImgCalFechaFEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</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="VCOFechaFEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaFEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Tipo Prov:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass="form-control select2me input-sm" Width="206px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Comprobación:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlComprobacion" runat="server" CssClass="form-control select2me input-sm" Width="206px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="99%" OnRowDataBound="GvDatos_RowDataBound" EmptyDataText="No se encontraron compras con los filtros especificados" ToolTip="Listado de Compras" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Grupo" DataField="GPO" />
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="Comprado">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplComprado" runat="server" Target="_blank" Text='<%# Eval("Comprado", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" HeaderText="Pagado">
<ItemTemplate>
<asp:HyperLink CssClass="Texto" ID="HplPagado" runat="server" Target="_blank" Text='<%# Eval("Pagado", "{0:N2}") %>'></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaCompracion(data) {
var chart = AmCharts.makeChart("chartdiv", {
"theme": "light",
"type": "serial",
"dataProvider": data,
"legend": {
"horizontalGap": 10,
"maxColumns": 1,
"position": "right",
"useGraphSettings": true,
"markerSize": 10
},
"valueAxes": [{
"stackType": "3d",
"position": "left"
}],
"startDuration": 1,
"graphs": [{
"balloonText": "Comprado [[category]]: <b>[[value]] [[moneda]]</b>",
"fillAlphas": 0.9,
"lineAlpha": 0.2,
"type": "column",
"valueField": "comprado",
"title": "Comprado"
}, {
"balloonText": "Pagado [[category]]: <b>[[value]] [[moneda]]</b>",
"fillAlphas": 0.9,
"lineAlpha": 0.2,
"type": "column",
"valueField": "pagado",
"title": "Pagado"
}],
"plotAreaFillAlphas": 0.1,
"depth3D": 60,
"angle": 30,
"categoryField": "gpo",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
jQuery('.chart-input').off().on('input change', function () {
var property = jQuery(this).data('property');
var target = chart;
chart.startDuration = 0;
if (property == 'topRadius') {
target = chart.graphs[0];
if (this.value == 0) {
this.value = undefined;
}
}
target[property] = this.value;
chart.validateNow();
});
}
</script>
</asp:Content>

311
Compras/RepPagado.aspx.cs Normal file
View File

@@ -0,0 +1,311 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Compras_RepPagado : ClsPaginas
{
#region PROPIEDADES
private DataTable DtPagado
{
get { return DtPagado = (DataTable)ViewState["DtPagado"]; }
set { ViewState["DtPagado"] = value; }
}
private string Agrupador
{
get { return (ViewState["Agrupador"] == null) ? "" : (ViewState["Agrupador"]).ToString(); }
set { ViewState["Agrupador"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
//Carga Moneda
DdlMoneda.DataSource = GlobalDTMonedas;
DdlMoneda.Items.Insert(0, new ListItem("Todos", "-1"));
DdlMoneda.DataBind();
//Carga Proveedor
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProveedor.DataBind();
//Carga Usuarios
DdlUsuario.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlUsuario.Items.Insert(0, new ListItem("Todos", "-1"));
DdlUsuario.DataBind();
//Carga Responsable
DdlResponsable.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlResponsable.Items.Insert(0, new ListItem("Todos", "-1"));
DdlResponsable.DataBind();
//Carga Bancos
DdlBanco.DataSource = GlobalDTBancos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
DdlBanco.Items.Insert(0, new ListItem("Todos", "-1"));
DdlBanco.DataBind();
CargaCuentasBancarias();
txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}";
txtFechaF.Text = DateTime.Now.ToShortDateString();
TxtFechaICompra.Text = MinFecha.ToShortDateString(); //$"01/01/{DateTime.Now.Year}";
TxtFechaFCompra.Text = DateTime.Now.ToShortDateString();
//Carga Proyectos
DdlProyecto.DataSource = get_GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario,-1,UsuarioActual.Empresa.CveEmpresa,1);
DdlProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProyecto.DataBind();
CargaSubProyectos();
CargaTipoCentroCosto();
}
private void CargaTipoCentroCosto()
{
if (UsuarioActual.Empresa.Tipo_CentroCosto == 1)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Sucursal:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 2)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Proyecto:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 4)
{
LblProyecto.InnerText = "Sucursal:";
LblSubProyecto.InnerText = "Proyecto:";
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 5)
{
LblProyecto.InnerText = "Proyecto:";
LblSubProyecto.InnerText = "Sucursal:";
}
}
private void CargaSubProyectos()
{
DdlSubProyecto.Items.Clear();
if (DdlProyecto.SelectedValue.ToEntero() > 0)
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1, 1);
}
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
private void CargaCuentasBancarias()
{
DdlCuentaBancaria.Items.Clear();
if (DdlBanco.SelectedValue.ToEntero() > 0)
{
DdlCuentaBancaria.DataSource = get_GlobalDTBancosCuentas(-1).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero()}");
}
DdlCuentaBancaria.Items.Insert(0, new ListItem("Todos", "-1"));
DdlCuentaBancaria.DataBind();
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void DdlProyecto_SelectedIndexChanged(object sender, EventArgs e)
{
CargaSubProyectos();
}
protected void DdlBanco_SelectedIndexChanged(object sender, EventArgs e)
{
CargaCuentasBancarias();
}
private void CargaDatos()
{
ClsCompras ObjComp = new ClsCompras();
if (ObjComp.GetRepPagado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlProveedor.SelectedValue.ToEntero(), DdlProyecto.SelectedValue.ToEntero(),
DdlSubProyecto.SelectedValue.ToEntero(), DdlUsuario.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero(),
DdlResponsable.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, DdlBanco.SelectedValue.ToEntero(), DdlCuentaBancaria.SelectedValue.ToEntero(),
DdlMoneda.SelectedValue.ToEntero(),TxtFechaICompra.Text.ToDate(),TxtFechaFCompra.Text.ToDate(),CveTipoProveedor: DdlTipoProveedor.SelectedValue.ToEntero(),
ConComprobacion: DdlComprobacion.SelectedValue.ToEntero()))
{
GvDatos.DataSource = ObjComp.DtResultados;
DtPagado= ObjComp.DtResultados;
}
ObjComp.Dispose();
GvDatos.DataBind();
UpDatos.Update();
Agrupador = DdlGrupo.SelectedItem.Text;
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Orden").ToString() == "")
{
e.Row.CssClass = "Totales";
}
string Liga4 = String.Format("/Compras/RepPagadoDetalle.aspx?Grupo={0}&CveProveedor={1}&CveProyecto={2}&CveSubProyecto={3}&CveUsuario={4}&FechaI={5}&FechaF={6}&CveResponsable={7}&CveBanco{8}&CveCuenta{9}&GPO={10}&CveMoneda={11}&FechaICompra={12}&FechaFCompra={13}&CveTipoProveedor={14}&Tipo=2&ConComprobacion={15}",
e.Row.DBCampo("Grupo"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"),
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("FechaI").ToString().ToDate().ToShortDateString(),
e.Row.DBCampo("FechaF").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveUsuarioResponsable"),
e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"),e.Row.DBCampo("CveMoneda"),
e.Row.DBCampo("FechaICompra").ToString().ToDate().ToShortDateString(),
e.Row.DBCampo("FechaFCompra").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveTipoProveedor"), e.Row.DBCampo("CveComprobacion"));
e.Row.FCHyperLink("HplPagado").NavigateUrl = Liga4;
string Liga5 = String.Format("/Compras/RepPagadoDetalle.aspx?Grupo={0}&CveProveedor={1}&CveProyecto={2}&CveSubProyecto={3}&CveUsuario={4}&FechaI={5}&FechaF={6}&CveResponsable={7}&CveBanco{8}&CveCuenta{9}&GPO={10}&CveMoneda={11}&FechaICompra={12}&FechaFCompra={13}&CveTipoProveedor={14}&Tipo=1&ConComprobacion={15}",
e.Row.DBCampo("Grupo"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"),
e.Row.DBCampo("CveUsuario"), e.Row.DBCampo("FechaI").ToString().ToDate().ToShortDateString(),
e.Row.DBCampo("FechaF").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveUsuarioResponsable"),
e.Row.DBCampo("CveBanco"), e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("GPO"), e.Row.DBCampo("CveMoneda"),
e.Row.DBCampo("FechaICompra").ToString().ToDate().ToShortDateString(),
e.Row.DBCampo("FechaFCompra").ToString().ToDate().ToShortDateString(), e.Row.DBCampo("CveTipoProveedor"), e.Row.DBCampo("CveComprobacion"));
e.Row.FCHyperLink("HplComprado").NavigateUrl = Liga5;
}
}
private void GenerarPDF(string Opcion)
{
if (DtPagado.Rows.Count < 1)
{
Alert("Tiene que haber datos consultados para imprimir.", TipoMensaje.MsgAdvertencia);
return;
}
StringBuilder StrFiltro = new StringBuilder();
if (txtFechaI.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate().ToShortDateString());
if (txtFechaF.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate().ToShortDateString());
if (TxtFechaICompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio Compra</b>: {0}", TxtFechaICompra.Text.ToDate().ToShortDateString());
if (TxtFechaFCompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin Compra</b>: {0}", TxtFechaFCompra.Text.ToDate().ToShortDateString());
if (DdlProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proyecto</b>: {0}", DdlProyecto.SelectedItem.Text);
if (DdlSubProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>SubProyecto</b>: {0}", DdlSubProyecto.SelectedItem.Text);
if (DdlGrupo.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
if (DdlProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proveedor</b>: {0}", DdlProveedor.SelectedItem.Text);
if (DdlUsuario.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuario.SelectedItem.Text);
if (DdlResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlResponsable.SelectedItem.Text);
if (DdlBanco.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
if (DdlCuentaBancaria.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Cuenta Bancaria</b>: {0}", DdlCuentaBancaria.SelectedItem.Text);
if (DdlMoneda.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
string Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepRecuperacion.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/RepPagado.rdlc";
}
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
para.Add(new ReportParameter("Filtros", StrFiltro.ToString()));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF(RutaPDF,DtPagado, para, "RepPagado" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion);
}
protected void LnkVerGrafica_Click(object sender, EventArgs e)
{
if (DtPagado != null)
{
if (DtPagado.Rows.Count < 1)
{
Alert("No hay datos disponibles", ModExtensiones.TipoMensaje.MsgAdvertencia);
return;
}
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}";
RegistraScript("$('#DivModalGrafica').modal('show')");
DataTable Dt = new DataTable();
Dt.Columns.Add("gpo");
Dt.Columns.Add("comprado");
Dt.Columns.Add("pagado");
Dt.Columns.Add("moneda");
foreach (DataRow Dr in DtPagado.Rows)
{
if (Dr["Orden"].ToString() != "")
{
DataRow Row = Dt.NewRow();
Row["gpo"] = $"{Dr["GPO"].ToString()} {GlobalDTMonedas.FiltraParametros($"CveMoneda = {Dr["CveMoneda"].ToString()}").Rows[0]["Abreviatura"].ToString()}";
Row["comprado"] = Dr["Comprado"].ToString().FormatoNumero();
Row["pagado"] = Dr["Pagado"].ToString().FormatoNumero();
Row["moneda"] = Dr["Moneda"].ToString();
Dt.Rows.Add(Row);
}
}
var query = from s in Dt.AsEnumerable()
select new
{
gpo = s["gpo"].ToString(),
comprado = s["comprado"].ToString().ToDouble(),
pagado = s["pagado"].ToString().ToDouble(),
moneda = s["moneda"].ToString()
};
var json = Newtonsoft.Json.JsonConvert.SerializeObject(query);
RegistraScript($"CargaGraficaCompracion({json})", "22");
UPModalProd.Update();

View File

@@ -0,0 +1,209 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepPagadoDetalle.aspx.cs" Inherits="Compras_RepPágadoDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Pagado Detalle
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-ad-excel"></i> Exporta Excel</asp:LinkButton>
</li>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1">Grupo:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlGrupo" runat="server" Width="100%" Class="table-group-action-input form-control input-inline input-small input-sm">
<asp:ListItem Text="Año Compra" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes Compra" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha Compra" Value="4"></asp:ListItem>
<asp:ListItem Text="Año IE" Value="9"></asp:ListItem>
<asp:ListItem Text="Mes IE" Value="10"></asp:ListItem>
<asp:ListItem Text="Año/Mes IE" Value="11"></asp:ListItem>
<asp:ListItem Text="Fecha IE" Value="12"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Centro de Costos" Value="6"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="7"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlProveedor" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha Inicial:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1">Fecha Final:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="portlet-body" style="display: none;">
<div class="row">
<label runat="server" id="LblProyecto" class="col-md-1">Proyecto:</label>
<div runat="server" id="DivProyecto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" Width="100%" OnSelectedIndexChanged="DdlProyecto_SelectedIndexChanged" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<label runat="server" id="LblSubProyecto" class="col-md-1">SubProyecto:</label>
<div runat="server" id="DivSubProyecto" class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<div class="col-md-1">Banco:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlBanco" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DdlBanco_SelectedIndexChanged" DataTextField="Banco" DataValueField="CveBanco" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Cuenta Bancaria:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlCuentaBancaria" runat="server" AppendDataBoundItems="true" DataTextField="NumCuenta" DataValueField="CveCuenta" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Registró:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlResponsable" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlMoneda" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 truncate">Fecha I. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaICompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaIEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" PopupButtonID="ImgCalFechaIEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</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="VCOFechaIEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaIEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 truncate">Fecha F. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFCompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaFEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" PopupButtonID="ImgCalFechaFEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</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="VCOFechaFEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaFEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Tipo Prov:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlTipoProveedor" runat="server" CssClass="form-control select2me input-sm" Width="206px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<div id="DivLblMes" visible="false" runat="server" class="col-md-1" style="max-width: 80px">Usar Mes:</div>
<div id="DivChkMes" visible="false" runat="server" class="col-md-1" style="margin-bottom: 4px;">
<asp:CheckBox ID="ChkMesSeleccionado" runat="server" CssClass="md-checksd2"></asp:CheckBox>
</div>
</div>
<div class="row">
<div class="col-md-1">Comprobación:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlComprobacion" runat="server" CssClass="form-control select2me input-sm" Width="206px">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Si" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="No" Value="0"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="99%" OnRowDataBound="GvDatos_RowDataBound" EmptyDataText="No se encontraron compras con los filtros especificados" ToolTip="Listado de Compras" CssClass="ScrollAD table table-striped table-hover Widthall" GridLines="None"
DataKeyNames="CveCompra">
<Columns>
<asp:BoundField HeaderText="Fecha de Pago" DataField="FechaDocumento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:HyperLinkField HeaderText="Folio" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" DataTextField="SerieFolio" Target="_blank" />
<asp:BoundField HeaderText="IVA" DataField="IVA" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Total" DataField="Importe" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Proyecto/SubProyecto" DataField="ProyectoSubProyecto" DataFormatString="{0}" />
<asp:HyperLinkField HeaderText="Folio Bancario" DataNavigateUrlFields="CveIE" DataNavigateUrlFormatString="/Bancos/IE.aspx?CveIE={0}" DataTextField="FolioIE" Target="_blank" />
<asp:HyperLinkField HeaderText="Proveedor" DataNavigateUrlFields="CveProveedor" DataNavigateUrlFormatString="/Compras/Proveedores.aspx?CveProveedor={0}" DataTextField="RazonSocial" ControlStyle-CssClass="truncate2" />
<asp:BoundField HeaderText="Banco" DataField="Banco" />
<asp:BoundField HeaderText="Num. Cuenta" DataField="NumCuenta" />
<asp:BoundField HeaderText="Dias Vencimiento" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.##}" DataField="DiasVencimiento" />
<asp:BoundField HeaderText="Dias Pago" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:#,##0.##}" DataField="DiasPagados" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,295 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Compras_RepPágadoDetalle : ClsPaginas
{
#region PROPIEDADES
private DataTable DtPagado
{
get { return DtPagado = (DataTable)ViewState["DtPagado"]; }
set { ViewState["DtPagado"] = value; }
}
private string GPO
{
get { return (ViewState["GPO"] == null) ? "" : ViewState["GPO"].ToString(); }
set { ViewState["GPO"] = value; }
}
private int Tipo
{
get { return (ViewState["Tipo"] == null) ? -1 : ViewState["Tipo"].ToString().ToEntero(); }
set { ViewState["Tipo"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
//Carga Moneda
DdlMoneda.DataSource = GlobalDTMonedas;
DdlMoneda.Items.Insert(0, new ListItem("Todos", "-1"));
DdlMoneda.DataBind();
//Carga Proveedor
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProveedor.DataBind();
//Carga Usuarios
DdlUsuario.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlUsuario.Items.Insert(0, new ListItem("Todos", "-1"));
DdlUsuario.DataBind();
//Carga Responsable
DdlResponsable.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlResponsable.Items.Insert(0, new ListItem("Todos", "-1"));
DdlResponsable.DataBind();
//Carga Bancos
DdlBanco.DataSource = GlobalDTBancos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
DdlBanco.Items.Insert(0, new ListItem("Todos", "-1"));
DdlBanco.DataBind();
CargaCuentasBancarias();
txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}";
txtFechaF.Text = DateTime.Now.ToShortDateString();
//Carga Proyectos
DdlProyecto.DataSource = get_GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.Empresa.CveEmpresa, 1);
DdlProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProyecto.DataBind();
CargaSubProyectos();
CargaTipoCentroCosto();
txtFechaI.Text = Request["FechaI"] == null ? "" : Request["FechaI"].ToString();
txtFechaF.Text = Request["FechaF"] == null ? "" : Request["FechaF"].ToString();
TxtFechaICompra.Text = Request["FechaICompra"] == null ? "" : Request["FechaICompra"].ToString();
TxtFechaFCompra.Text = Request["FechaFCompra"] == null ? "" : Request["FechaFCompra"].ToString();
DdlGrupo.SelectedValueExist(Request["Grupo"] == null ? "-1" : Request["Grupo"].ToString());
DdlProyecto.SelectedValueExist(Request["CveProyecto"] == null ? "-1" : Request["CveProyecto"].ToString());
DdlSubProyecto.SelectedValueExist(Request["CveSubProyecto"] == null ? "-1" : Request["CveSubProyecto"].ToString());
DdlProveedor.SelectedValueExist(Request["CveProveedor"] == null ? "-1" : Request["CveProveedor"].ToString());
DdlUsuario.SelectedValueExist(Request["CveUsuario"] == null ? "-1" : Request["CveUsuario"].ToString());
DdlResponsable.SelectedValueExist(Request["CveResponsable"] == null ? "-1" : Request["CveResponsable"].ToString());
DdlBanco.SelectedValueExist(Request["CveBanco"] == null ? "-1" : Request["CveBanco"].ToString());
DdlCuentaBancaria.SelectedValueExist(Request["CveCuenta"] == null ? "-1" : Request["CveCuenta"].ToString());
DdlMoneda.SelectedValueExist(Request["CveMoneda"] == null ? "-1" : Request["CveMoneda"].ToString());
DdlTipoProveedor.SelectedValueExist(Request["CveTipoProveedor"] == null ? "-1" : Request["CveTipoProveedor"].ToString());
DdlComprobacion.SelectedValueExist(Request["ConComprobacion"] == null ? "-1" : Request["ConComprobacion"].ToString());
GPO = Request["GPO"] == null ? "" : Request["GPO"].ToString();
Tipo = Request["Tipo"] == null ? -1 : Request["Tipo"].ToString().ToEntero();
if (DdlGrupo.SelectedValue.ToEntero()==1) { txtFechaI.Text = $"01/01/{GPO}"; txtFechaF.Text = $"31/12/{GPO}"; }
if (DdlGrupo.SelectedValue.ToEntero() == 9) { TxtFechaICompra.Text = $"01/01/{GPO}"; TxtFechaFCompra.Text = $"31/12/{GPO}"; }
if (DdlGrupo.SelectedValue.ToEntero() == 11) {
string Mes = GPO.Substring(5, 2);
string DiaFinal = "";
if (Mes == "02") { DiaFinal = "28"; }else if (Mes.Contiene("01", "03", "05", "07", "08", "10", "12")){ DiaFinal = "31"; } else { DiaFinal = "30"; }
txtFechaI.Text = $"01/{GPO.Substring(5, 2)}/{GPO.Substring(0, 4)}";
txtFechaF.Text = $"{DiaFinal}/{GPO.Substring(5, 2)}/{GPO.Substring(0, 4)}";
}
if (DdlGrupo.SelectedValue.ToEntero() == 3)
{
string Mes = GPO.Substring(5, 2);
string DiaFinal = "";
if (Mes == "02") { DiaFinal = "28"; } else if (Mes.Contiene("01", "03", "05", "07", "08", "10", "12")) { DiaFinal = "31"; } else { DiaFinal = "30"; }
TxtFechaICompra.Text = $"01/{GPO.Substring(5, 2)}/{GPO.Substring(0, 4)}";
TxtFechaFCompra.Text = $"{DiaFinal}/{GPO.Substring(5, 2)}/{GPO.Substring(0, 4)}";
}
if (DdlGrupo.SelectedValue.ToEntero()==4) { txtFechaI.Text = $"{GPO.Substring(0, 2)}/{GPO.Substring(3, 2)}/{GPO.Substring(6, 4)}"; txtFechaF.Text = $"{GPO.Substring(0, 2)}/{GPO.Substring(3, 2)}/{GPO.Substring(6, 4)}"; }
if (DdlGrupo.SelectedValue.ToEntero()==12) { TxtFechaICompra.Text = $"{GPO.Substring(0, 2)}/{GPO.Substring(3, 2)}/{GPO.Substring(6, 4)}"; TxtFechaFCompra.Text = $"{GPO.Substring(0, 2)}/{GPO.Substring(3, 2)}/{GPO.Substring(6, 4)}"; }
if (DdlGrupo.SelectedValue.ToEntero().Contiene(2, 10)) { DivLblMes.Visible = true; DivChkMes.Visible = true; ChkMesSeleccionado.Checked = true; }
CargaDatos();
}
private void CargaTipoCentroCosto()
{
if (UsuarioActual.Empresa.Tipo_CentroCosto == 1)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Sucursal:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 2)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Proyecto:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 4)
{
LblProyecto.InnerText = "Sucursal:";
LblSubProyecto.InnerText = "Proyecto:";
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 5)
{
LblProyecto.InnerText = "Proyecto:";
LblSubProyecto.InnerText = "Sucursal:";
}
}
private void CargaSubProyectos()
{
DdlSubProyecto.Items.Clear();
if (DdlProyecto.SelectedValue.ToEntero() > 0)
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1, 1);
}
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
private void CargaCuentasBancarias()
{
DdlCuentaBancaria.Items.Clear();
if (DdlBanco.SelectedValue.ToEntero() > 0)
{
DdlCuentaBancaria.DataSource = get_GlobalDTBancosCuentas(-1).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero()}");
}
DdlCuentaBancaria.Items.Insert(0, new ListItem("Todos", "-1"));
DdlCuentaBancaria.DataBind();
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
CargaDatos();
}
protected void DdlProyecto_SelectedIndexChanged(object sender, EventArgs e)
{
CargaSubProyectos();
}
protected void DdlBanco_SelectedIndexChanged(object sender, EventArgs e)
{
CargaCuentasBancarias();
}
private void CargaDatos()
{
ClsCompras ObjComp = new ClsCompras();
if (ObjComp.GetRepPagadoDetalle(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlProveedor.SelectedValue.ToEntero(), DdlProyecto.SelectedValue.ToEntero(),
DdlSubProyecto.SelectedValue.ToEntero(), DdlUsuario.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero(),
DdlResponsable.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, DdlBanco.SelectedValue.ToEntero(), DdlCuentaBancaria.SelectedValue.ToEntero(),
DdlMoneda.SelectedValue.ToEntero(),ChkMesSeleccionado.Checked,GPO, TxtFechaICompra.Text.ToDate(), TxtFechaFCompra.Text.ToDate(), Tipo, CveTipoProveedor: DdlTipoProveedor.SelectedValue.ToEntero(),
ConComprobacion: DdlComprobacion.SelectedValue.ToEntero()))
{
GvDatos.DataSource = ObjComp.DtResultados;
DtPagado = ObjComp.DtResultados;
}
ObjComp.Dispose();
if (UsuarioActual.Empresa.Tipo_CentroCosto == 1) { GvDatos.Columns[4].HeaderText = "Sucursal"; }
if (UsuarioActual.Empresa.Tipo_CentroCosto == 2) { GvDatos.Columns[4].HeaderText = "Proyecto"; }
if (UsuarioActual.Empresa.Tipo_CentroCosto == 4) { GvDatos.Columns[4].HeaderText = "Sucursal/Proyecto"; }
if (UsuarioActual.Empresa.Tipo_CentroCosto == 5) { GvDatos.Columns[4].HeaderText = "Proyecto/Sucursal"; }
GvDatos.DataBind();
UpDatos.Update();
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Tipo").ToEntero()==1)
{
e.Row.CssClass = "Totales";
e.Row.Cells[0].Text = e.Row.DBCampo("GPO").ToString();
}else if (e.Row.DBCampo("CveCompra").ToEntero() < 1)
{
e.Row.CssClass = "SubTotales";
e.Row.Cells[0].Text = e.Row.DBCampo("GPO").ToString();
}
}
}
private void GenerarPDF(string Opcion)
{
if (DtPagado.Rows.Count < 1)
{
Alert("Tiene que haber datos consultados para imprimir.", TipoMensaje.MsgAdvertencia);
return;
}
StringBuilder StrFiltro = new StringBuilder();
if (txtFechaI.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate().ToShortDateString());
if (txtFechaF.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate().ToShortDateString());
if (TxtFechaICompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio Compra</b>: {0}", TxtFechaICompra.Text.ToDate().ToShortDateString());
if (TxtFechaFCompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin Compra</b>: {0}", TxtFechaFCompra.Text.ToDate().ToShortDateString());
if (DdlProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proyecto</b>: {0}", DdlProyecto.SelectedItem.Text);
if (DdlSubProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>SubProyecto</b>: {0}", DdlSubProyecto.SelectedItem.Text);
if (DdlGrupo.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
if (DdlProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proveedor</b>: {0}", DdlProveedor.SelectedItem.Text);
if (DdlUsuario.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuario.SelectedItem.Text);
if (DdlResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlResponsable.SelectedItem.Text);
if (DdlBanco.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
if (DdlCuentaBancaria.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Cuenta Bancaria</b>: {0}", DdlCuentaBancaria.SelectedItem.Text);
if (DdlMoneda.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
string Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepPagadoDetalle.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/RepPagadoDetalle.rdlc";
}
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
para.Add(new ReportParameter("Filtros", StrFiltro.ToString()));
para.Add(new ReportParameter("TipoCentroCosto", UsuarioActual.Empresa.Tipo_CentroCosto.ToString()));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}

View File

@@ -0,0 +1,299 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepPagadoPeriodo.aspx.cs" Inherits="Compras_RepPagadoPeriodo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte de Pagado Periodo
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal"></i> Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
<li>
<asp:LinkButton ID="LnkPdf" OnClick="LnkPdf_Click" runat="server"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExcel" OnClick="LnkExcel_Click" runat="server"><i class="fa fa-file-excel-o" style="font-weight:bold;"></i> Excel</asp:LinkButton>
</li>
</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 id="PFiltro" class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" ValidationGroup="Valida" OnClick="BtnConsultar_Click" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1">Grupo:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm select2me" ID="DdlGrupo" runat="server" Width="100%" Class="table-group-action-input form-control input-inline input-small input-sm">
<asp:ListItem Text="Año Compra" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Año/Mes Compra" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha Compra" Value="4"></asp:ListItem>
<asp:ListItem Text="Año IE" Value="9"></asp:ListItem>
<asp:ListItem Text="Mes IE" Value="10"></asp:ListItem>
<asp:ListItem Text="Año/Mes IE" Value="11"></asp:ListItem>
<asp:ListItem Text="Fecha IE" Value="12"></asp:ListItem>
<asp:ListItem Selected="True" Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Centro de Costos" Value="6"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="7"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlProveedor" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha Inicial:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="col-md-1">Fecha Final:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="margin-top: -5px; padding: 5px 0px;">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Style="width: 80px;"></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>
<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>
<div class="portlet-body" style="display: none;">
<div class="row">
<label runat="server" id="LblProyecto" class="col-md-1">Proyecto:</label>
<div runat="server" id="DivProyecto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" Width="100%" OnSelectedIndexChanged="DdlProyecto_SelectedIndexChanged" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<label runat="server" id="LblSubProyecto" class="col-md-1">SubProyecto:</label>
<div runat="server" id="DivSubProyecto" class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="form-control input-sm select2me">
</asp:DropDownList>
</div>
<div class="col-md-1">Banco:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlBanco" runat="server" AppendDataBoundItems="true" AutoPostBack="true" OnSelectedIndexChanged="DdlBanco_SelectedIndexChanged" DataTextField="Banco" DataValueField="CveBanco" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Cuenta Bancaria:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlCuentaBancaria" runat="server" AppendDataBoundItems="true" DataTextField="NumCuenta" DataValueField="CveCuenta" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1">Registró:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlResponsable" runat="server" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlMoneda" runat="server" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" CssClass="form-control input-small input-sm select2me" Width="100%">
</asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 truncate">Fecha I. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style=" margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaICompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaIEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaIEjec" runat="server" TargetControlID="TxtFechaICompra" PopupButtonID="ImgCalFechaIEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaIEjec" runat="server" ControlToValidate="TxtFechaICompra" Display="None" ErrorMessage="El campo <b>''Fecha Inicial Compra''</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="VCOFechaIEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaIEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaIEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 truncate">Fecha F. Compra:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="margin-top: 5px; width: 140px !important; padding: 0px;">
<asp:TextBox ID="TxtFechaFCompra" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgCalFechaFEjec" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender ID="CalFechaFEjec" runat="server" TargetControlID="TxtFechaFCompra" PopupButtonID="ImgCalFechaFEjec" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CVFechaFEjec" runat="server" ControlToValidate="TxtFechaFCompra" Display="None" ErrorMessage="El campo <b>''Fecha Final Compra''</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="VCOFechaFEjec1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="VCOFechaFEjec2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFEjec" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" Width="99%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron datos con los filtros especificados"
CssClass="table GVD table-striped table-hover Widthall ScrollAD" GridLines="None" OnRowDataBound="GvDatos_RowDataBound">
<Columns>
<asp:BoundField DataField="GPO" HeaderText="Grupo" ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Enero" HeaderText="Ene" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Febrero" HeaderText="Feb" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Marzo" HeaderText="Mar" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Abril" HeaderText="Abr" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Mayo" HeaderText="May" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Junio" HeaderText="Jun" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Julio" HeaderText="Jul" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Agosto" HeaderText="Ago" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Septiembre" HeaderText="Sep" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Octubre" HeaderText="Oct" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Noviembre" HeaderText="Nov" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Diciembre" HeaderText="Dic" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Pagado" HeaderText="Pagado" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" OnSelectedIndexChanged="RblTipoCambio_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" OnClick="BtnTipoCambio_Click" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpGrafica" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text="Pagado"></asp:Label>
</h4>
</div>
<div class="modal-body">
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script type="text/javascript">
function CargaGraficaLineas(data, graph) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"legend": {
"useGraphSettings": true,
"valueWidth": 150
},
"dataProvider": data,
"startDuration": 0.5,
"graphs": graph,
"chartCursor": {
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "mes",
"categoryAxis": {
"gridPosition": "start",
"axisAlpha": 0,
"fillAlpha": 0.05,
"fillColor": "#000000",
"gridAlpha": 0,
"position": "top"
},
"export": {
"enabled": true,
"position": "bottom-right"
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,375 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
public partial class Compras_RepPagadoPeriodo : ClsPaginas
{
#region PROPIEDADES
private DataTable DtDatos
{
get { return DtDatos = (DataTable)ViewState["DtDatos"]; }
set { ViewState["DtDatos"] = value; }
}
private int TipoCambio
{
get { return (ViewState["TipoCambio"] == null) ? -1 : Convert.ToInt32(ViewState["TipoCambio"]); }
set { ViewState["TipoCambio"] = value; }
}
private double TCEspecifico
{
get { return (ViewState["TCEspecifico"] == null) ? 0 : Convert.ToDouble(ViewState["TCEspecifico"]); }
set { ViewState["TCEspecifico"] = value; }
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InicializaValores();
}
}
private void InicializaValores()
{
TipoCambio = 1;
TCEspecifico = -1;
//Carga Moneda
DdlMoneda.DataSource = GlobalDTMonedas;
DdlMoneda.Items.Insert(0, new ListItem("Todos", "-1"));
DdlMoneda.DataBind();
//Carga Proveedor
DdlProveedor.DataSource = get_GlobalDTCompProveedores(UsuarioActual.CveEmpresa);
DdlProveedor.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProveedor.DataBind();
//Carga Usuarios
DdlUsuario.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlUsuario.Items.Insert(0, new ListItem("Todos", "-1"));
DdlUsuario.DataBind();
//Carga Responsable
DdlResponsable.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
DdlResponsable.Items.Insert(0, new ListItem("Todos", "-1"));
DdlResponsable.DataBind();
//Carga Bancos
DdlBanco.DataSource = GlobalDTBancos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}");
DdlBanco.Items.Insert(0, new ListItem("Todos", "-1"));
DdlBanco.DataBind();
CargaCuentasBancarias();
txtFechaI.Text = $"01/{DateTime.Now.Month}/{DateTime.Now.Year}";
txtFechaF.Text = DateTime.Now.ToShortDateString();
TxtFechaICompra.Text = $"01/01/{DateTime.Now.Year}";
TxtFechaFCompra.Text = DateTime.Now.ToShortDateString();
//Carga Proyectos
DdlProyecto.DataSource = get_GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.Empresa.CveEmpresa, 1);
DdlProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlProyecto.DataBind();
CargaSubProyectos();
CargaTipoCentroCosto();
}
private void CargaTipoCentroCosto()
{
if (UsuarioActual.Empresa.Tipo_CentroCosto == 1)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Sucursal:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 2)
{
DdlSubProyecto.Items.Clear();
DivProyecto.Visible = false;
LblProyecto.Visible = false;
LblSubProyecto.InnerText = "Proyecto:";
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 4)
{
LblProyecto.InnerText = "Sucursal:";
LblSubProyecto.InnerText = "Proyecto:";
}
else if (UsuarioActual.Empresa.Tipo_CentroCosto == 5)
{
LblProyecto.InnerText = "Proyecto:";
LblSubProyecto.InnerText = "Sucursal:";
}
}
private void CargaSubProyectos()
{
DdlSubProyecto.Items.Clear();
if (DdlProyecto.SelectedValue.ToEntero() > 0)
{
DdlSubProyecto.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1, 1);
}
DdlSubProyecto.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSubProyecto.DataBind();
}
private void CargaCuentasBancarias()
{
DdlCuentaBancaria.Items.Clear();
if (DdlBanco.SelectedValue.ToEntero() > 0)
{
DdlCuentaBancaria.DataSource = get_GlobalDTBancosCuentas(-1).FiltraParametros($"CveBanco = {DdlBanco.SelectedValue.ToEntero()}");
}
DdlCuentaBancaria.Items.Insert(0, new ListItem("Todos", "-1"));
DdlCuentaBancaria.DataBind();
}
protected void LnkVerGrafica_Click(object sender, EventArgs e)
{
if (DtDatos != null)
{
if (DtDatos.Rows.Count > 0)
{
DataTable Dt = new DataTable();
Dt.Columns.Add("mes");
DataTable Dt2 = new DataTable();
Dt2.Columns.Add("balloonText");
Dt2.Columns.Add("bullet");
Dt2.Columns.Add("title");
Dt2.Columns.Add("valueField");
Dt2.Columns.Add("fillAlphas");
foreach (DataRow Row in DtDatos.Rows)
{
if (Row["Orden"].ToString() != "")
{
Dt.Columns.Add($"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}");
DataRow Row2 = Dt2.NewRow();
Row2["balloonText"] = "Pagado [[category]]: [[value]]";
Row2["bullet"] = "round";
Row2["title"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}";
Row2["valueField"] = $"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}";
Row2["fillAlphas"] = 0;
Dt2.Rows.Add(Row2);
}
}
DataRow RowEnero = Dt.NewRow();
DataRow RowFebrero = Dt.NewRow();
DataRow RowMarzo = Dt.NewRow();
DataRow RowAbril = Dt.NewRow();
DataRow RowMayo = Dt.NewRow();
DataRow RowJunio = Dt.NewRow();
DataRow RowJulio = Dt.NewRow();
DataRow RowAgosto = Dt.NewRow();
DataRow RowSeptiembre = Dt.NewRow();
DataRow RowOctubre = Dt.NewRow();
DataRow RowNoviembre = Dt.NewRow();
DataRow RowDiciembre = Dt.NewRow();
foreach (DataRow Row in DtDatos.Rows)
{
if (Row["Orden"].ToString() != "")
{
RowEnero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Enero"].ToString();
RowEnero["mes"] = "Enero";
RowFebrero[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Febrero"].ToString();
RowFebrero["mes"] = "Febrero";
RowMarzo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Marzo"].ToString();
RowMarzo["mes"] = "Marzo";
RowAbril[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Abril"].ToString();
RowAbril["mes"] = "Abril";
RowMayo[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Mayo"].ToString();
RowMayo["mes"] = "Mayo";
RowJunio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Junio"].ToString();
RowJunio["mes"] = "Junio";
RowJulio[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Julio"].ToString();
RowJulio["mes"] = "Julio";
RowAgosto[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Agosto"].ToString();
RowAgosto["mes"] = "Agosto";
RowSeptiembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Septiembre"].ToString();
RowSeptiembre["mes"] = "Septiembre";
RowOctubre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Octubre"].ToString();
RowOctubre["mes"] = "Octubre";
RowNoviembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Noviembre"].ToString();
RowNoviembre["mes"] = "Noviembre";
RowDiciembre[$"{Row["GPO"].ToString()} {Row["Abreviatura"].ToString()}"] = Row["Diciembre"].ToString();
RowDiciembre["mes"] = "Diciembre";
}
}
Dt.Rows.Add(RowEnero);
Dt.Rows.Add(RowFebrero);
Dt.Rows.Add(RowMarzo);
Dt.Rows.Add(RowAbril);
Dt.Rows.Add(RowMayo);
Dt.Rows.Add(RowJunio);
Dt.Rows.Add(RowJulio);
Dt.Rows.Add(RowAgosto);
Dt.Rows.Add(RowSeptiembre);
Dt.Rows.Add(RowOctubre);
Dt.Rows.Add(RowNoviembre);
Dt.Rows.Add(RowDiciembre);
RegistraScript($"CargaGraficaLineas({Dt.ToJson()},{Dt2.ToJson()})", "11");
RegistraScript(String.Format("$('#{0}').modal();", "DivModalGrafica"), "22");
UpGrafica.Update();
}
else
{
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia);
}
}
else
{
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia);
}
}
protected void LnkPdf_Click(object sender, EventArgs e)
{
GenerarPDF("PDF");
}
protected void LnkExcel_Click(object sender, EventArgs e)
{
GenerarPDF("EXCEL");
}
private void GenerarPDF(string Opcion)
{
if (DtDatos.Rows.Count < 1)
{
Alert("Tiene que haber datos consultados para imprimir.", TipoMensaje.MsgAdvertencia);
return;
}
StringBuilder StrFiltro = new StringBuilder();
if (txtFechaI.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate().ToShortDateString());
if (txtFechaF.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate().ToShortDateString());
if (TxtFechaICompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Inicio Compra</b>: {0}", TxtFechaICompra.Text.ToDate().ToShortDateString());
if (TxtFechaFCompra.Text != "")
StrFiltro.AppendFormat("&emsp;<b>Fecha Fin Compra</b>: {0}", TxtFechaFCompra.Text.ToDate().ToShortDateString());
if (DdlProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proyecto</b>: {0}", DdlProyecto.SelectedItem.Text);
if (DdlSubProyecto.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>SubProyecto</b>: {0}", DdlSubProyecto.SelectedItem.Text);
if (DdlGrupo.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Grupo</b>: {0}", DdlGrupo.SelectedItem.Text);
if (DdlProveedor.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Proveedor</b>: {0}", DdlProveedor.SelectedItem.Text);
if (DdlUsuario.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuario.SelectedItem.Text);
if (DdlResponsable.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Responsable</b>: {0}", DdlResponsable.SelectedItem.Text);
if (DdlBanco.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
if (DdlCuentaBancaria.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Cuenta Bancaria</b>: {0}", DdlCuentaBancaria.SelectedItem.Text);
if (DdlMoneda.SelectedValue != "-1")
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
string Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepPagadoPeriodo.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{
RutaPDF = "Empresas/Grales/Formatos/RepPagadoPeriodo.rdlc";
}
System.IO.FileInfo Imagen = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> para = new List<ReportParameter>();
para.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
para.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
para.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToShortDateString()));
para.Add(new ReportParameter("Filtros", StrFiltro.ToString()));
if (Imagen.Exists)
{
para.Add(new ReportParameter("LogoPath", logouri));
}
else
{
para.Add(new ReportParameter("LogoPath", ""));
}
ImprimirPDF(RutaPDF, DtDatos, para, "RepPagadoPeriodo" + DateTime.Now.ToString("yyyyMMddhhmmss"), Opcion);
}
protected void GvDatos_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DBCampo("Orden").ToString() == "")
{
e.Row.CssClass = "Totales";
}
}
}
private void Consulta()
{
if (RblTipoCambio.SelectedValue.ToEntero() == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; }
ClsCompras ObjCompras = new ClsCompras();
if(ObjCompras.GetRepPagadoPeriodo(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), DdlProveedor.SelectedValue.ToEntero(), DdlProyecto.SelectedValue.ToEntero(),
DdlSubProyecto.SelectedValue.ToEntero(), DdlUsuario.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero(),
DdlResponsable.SelectedValue.ToEntero(), UsuarioActual.CveUsuario, DdlBanco.SelectedValue.ToEntero(), DdlCuentaBancaria.SelectedValue.ToEntero(),
DdlMoneda.SelectedValue.ToEntero(), TxtFechaICompra.Text.ToDate(), TxtFechaFCompra.Text.ToDate(), TipoCambio, TCEspecifico)){
GvDatos.DataSource = ObjCompras.DtResultados;
DtDatos = ObjCompras.DtResultados;
}
ObjCompras.Dispose();
GvDatos.DataBind();
UpDatos.Update();
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
Consulta();
}
protected void DdlProyecto_SelectedIndexChanged(object sender, EventArgs e)
{
CargaSubProyectos();
}
protected void DdlBanco_SelectedIndexChanged(object sender, EventArgs e)
{
CargaCuentasBancarias();
}
protected void BtnTipoCambio_Click(object sender, EventArgs e)
{
Consulta();
}
protected void RblTipoCambio_SelectedIndexChanged(object sender, EventArgs e)
{
TipoCambio = RblTipoCambio.SelectedValue.ToEntero();
if (TipoCambio == 3)
{
LiEspecifico.Visible = true;
TCEspecifico = get_GlobalTipoCambio(DateTime.Now);
TxtEspecifico.Text = TCEspecifico.ToString();
}

View File

@@ -0,0 +1,153 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepPerioricidad.aspx.vb" Inherits="Compras_RepPerioricidad" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte Perioricidad de Compra
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" >
<div class="portlet-title portlet-filterT smalltitle" >
<div class="tools" >
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" CssClass="btn btn-primary"/>
<a href="javascript;" class="expand" data-original-title="" title=""></a>
</div>
<div class="titlefiltros caption " >
<div class="row">
<div class="col-md-1 " ><label class="truncate text-size-12">Proyecto:</label></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="Proyecto" DataValueField="CveProyecto" AutoPostBack="true">
</asp:DropDownList>
</div>
<%--<asp:UpdatePanel ID="UPPSubProyecto" runat="server" UpdateMode="Conditional">
<ContentTemplate> --%>
<div class="col-md-1 " ><label class="truncate text-size-12">Sub-Proyecto:</label></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlSubProyecto" CssClass="form-control input-sm select2me" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
</asp:DropDownList>
</div>
<%-- </ContentTemplate>
</asp:UpdatePanel>--%>
<div class="col-md-1 " ><label class="truncate text-size-12">Clasificación:</label></div>
<div class="col-md-2 ">
<asp:DropDownList ID="DdlClasificacion" CssClass="form-control input-sm select2me" runat="server" DataTextField="Clasificacion" DataValueField="CveClasificacion" AutoPostBack="true">
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" id="divfiltros" runat="server" >
<div class="row">
<label class="col-md-1 truncate text-size-12">Producto Servicio:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlPS" CssClass="form-control input-sm select2me" runat="server" DataTextField="PSCodigo" DataValueField="CvePS">
</asp:DropDownList>
</div>
<label class="col-md-1 truncate text-size-12">Fecha Inicio:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width:100% !important; padding:0px;" >
<asp:TextBox Width="100%" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" ></asp:TextBox>
<span class="input-group-btn "> <asp:LinkButton ID="imgCalendarioI" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<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="CalendarioI" TargetControlID="txtFechaI" PopupButtonID="imgCalendarioI" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
<label class="col-md-1 truncate text-size-12">Fecha Final:</label>
<div class="col-md-2">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width:100% !important; padding:0px;" >
<asp:TextBox Width="100%" 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>
<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="CalendarioF" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="Gv" ClientIDMode="Static" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Registros" CssClass="table table-advance Widthall" Style="text-align: center;" GridLines="None"
DataKeyNames="TipoRenglon">
<Columns>
<%--<asp:BoundField DataField="Clasificacion" HeaderText="Clasificacion" />--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Left"><%--ItemStyle-Width="20px"--%>
<HeaderTemplate>
<table style="width:100%">
<tr>
<td style="width:46%">Concepto</td>
<td style="width:10%; text-align:center;">Fecha</td>
<td style="width:10%; text-align:center;">Unidad Medida</td>
<td style="width:10%; text-align:center;">Cantidad</td>
<td style="width:10%; text-align:center;">Importe</td>
<td style="width:7%; text-align:center;">OC</td>
<td style="width:7%; text-align:center;">Activo Fijo</td>
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table style="width:100%">
<tr id="tr1" runat="server">
<td colspan="3" style="width:66%">
<asp:Literal ID="LblAgrupador" runat="server" Text='<%# Eval("Agrupador").ToString %>'></asp:Literal>
</td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblCantidad" runat="server" Text='<%# Eval("Cantidad", "{0:N2}").ToString%>'></asp:Literal>
</td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblPU" runat="server" Text='<%# Eval("PU", "{0:N2}").ToString%>'></asp:Literal>
</td>
<td style="width:7%; text-align:center;">
<asp:Literal ID="LblFolioOC" runat="server" Text='<%# Eval("FolioOC").ToString%>'></asp:Literal>
</td>
<td style="width:7%; text-align:center;">
<asp:Literal ID="LblCodigoAF" runat="server" Text='<%# Eval("CodigoAF").ToString%>'></asp:Literal>
</td>
</tr>
<tr id="tr2" runat="server">
<td style="width:46%"></td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}").ToString%>'></asp:Literal>
</td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblUM" runat="server" Text='<%# Eval("UnidadMedida").ToString%>'></asp:Literal>
</td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblCantidad2" runat="server" Text='<%# Eval("Cantidad", "{0:N2}").ToString%>'></asp:Literal>
</td>
<td style="width:10%; text-align:center;">
<asp:Literal ID="LblPU2" runat="server" Text='<%# Eval("PU", "{0:N2}").ToString%>'></asp:Literal>
</td>
<td style="width:7%; text-align:center;">
<asp:Literal ID="LblFolioOC2" runat="server" Text='<%# Eval("FolioOC").ToString%>'></asp:Literal>
</td>
<td style="width:7%; text-align:center;">
<asp:Literal ID="LblCodigoAF2" runat="server" Text='<%# Eval("CodigoAF").ToString%>'></asp:Literal>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
<%--<asp:BoundField DataField="Fecha" HeaderText="Fecha" DataFormatString="{0:d}" />--%>
<%--<asp:BoundField DataField="UnidadMedida" HeaderText="Unidad de Medida" />--%>
<%--<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" />--%>
<%--<asp:BoundField DataField="PU" HeaderText="Importe" />--%>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

View File

@@ -0,0 +1,111 @@
Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Partial Class Compras_RepPerioricidad
Inherits ClsPaginas
Private Property DtDatos As DataTable
Get
Return CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
'divfiltros.Attributes.CssStyle.Add("display", "none")
RegistraScript(String.Format("$('#{0}').css({{'display':'none'}});", divfiltros.ClientID))
txtFechaI.Text = Now.AddMonths(-6).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
CargaCombos()
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
Dim ObjCompras As New ClsCompras
If ObjCompras.GetRepComprasPerioricidad(DdlSubProyecto.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa) Then
DtDatos = ObjCompras.DtResultados
Gv.DataSource = DtDatos
Else
Gv.DataSource = Nothing
End If
ObjCompras.Dispose()
Gv.DataBind()
UPPDatos.Update()
End Sub
Protected Sub Gv_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles Gv.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("TipoRenglon").ToEntero = 1 Then
'e.Row.FindControl("LblSpace").Visible = False
e.Row.FindControl("tr2").Visible = False
e.Row.CssClass = "Totales"
ElseIf e.Row.DataKey("TipoRenglon").ToEntero = 2 Then
'e.Row.FCLiteral("LblAgrupador").Text = String.Format("&nbsp;&nbsp;&nbsp;&nbsp;{0}", e.Row.DBCampo("Agrupador"))
e.Row.FindControl("tr2").Visible = False
e.Row.CssClass = "SubTotales2"
'e.Row.FindControl("tdConcepto")
e.Row.Cells(0).Style.Add("padding-left", "15px;")
Else
e.Row.FindControl("tr1").Visible = False
'e.Row.BackColor = Drawing.Color.LightSkyBlue
End If
End If
End Sub
Private Sub CargaCombos()
DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)
DdlProyecto.DataBind()
If DdlProyecto.Items.Count > 0 Then
DdlProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlPS.Items.Insert(0, New ListItem("Todos", "-1"))
'DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
'DdlClasificacion.DataBind()
If UsuarioActual.Empresa.UsaAC Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion")
Else
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
End If
DdlClasificacion.DataBind()
If DdlClasificacion.Items.Count > 0 Then
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End If
End Sub
Private Sub CargaPS(CveClasificacion As Integer)
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=CveClasificacion)
DdlPS.DataBind()
If DdlPS.Items.Count > 0 Then
DdlPS.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
If DdlSubProyecto.Items.Count > 0 Then
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged
CargaPS(DdlClasificacion.SelectedValue.ToEntero)
End Sub
End Class

View File

@@ -0,0 +1,479 @@
<%@ Page Title="Reporte de Compras" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepProductosServicios.aspx.vb" Inherits="Compras_RepProductosServicios" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
margin-top: 10px;
}
.select2-selection__rendered {
margin-top: 0px;
height: 25px;
}
.select2-selection {
margin-top: 0px;
height: 31px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
outline: 0;
}
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
<%-- <li>
<asp:LinkButton ID="ImgImprimir" runat="server" Enabled="false"> <i class="fa fa-print"></i> Imprimir</asp:LinkButton>
</li>--%>
<li>
<asp:LinkButton ID="ImgPDF" runat="server" OnClick="ImgPDF_Click"> <i class="fa fa-file-pdf-o" style="font-weight:bold; margin-right:5px;"></i> <span> PDF</span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"> <i class="fa fa-file-excel-o" style="font-weight:bold; margin-right:5px;"></i><span> Excel</span></asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server"><i class="fa fa-signal"></i> Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Productos Servicios
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate">Proveedor</label>
<div class="col-md-2">
<ADS:Dropdownlost ID="DdlProveedor" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></ADS:Dropdownlost>
<%--<asp:DropDownList ID="DdlProveedor" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
</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>
<label class="col-md-1 truncate">Agrupador</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="form-control input-sm select2me">
<%-- <asp:ListItem Text="Proyecto" Value="1"></asp:ListItem>
<asp:ListItem Text="SubProyectos" Value="2"></asp:ListItem>
<asp:ListItem Text="Categoría" Value="3"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="4"></asp:ListItem>
<asp:ListItem Text="Productos-Servicios" Value="5"></asp:ListItem>
<asp:ListItem Text="Año" Value="6"></asp:ListItem>
<asp:ListItem Text="Mes" Value="7"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="8"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="10"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="11"></asp:ListItem>
<asp:ListItem Text="Estatus Fact." Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1"><span>Tipo Gasto:</span></div>
<div class="col-md-2">
<%--<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoGasto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Categoría</label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlCategoria" Width="100%" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlCategoria" SelectionMode="Multiple" data-text="Todas" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Clasificación</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" AutoPostBack="true" OnSelectedIndexChanged="DdlClasificacion_SelectedIndexChanged" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">P. S.</label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
</div>
<div class="row">
<label id="LblProyecto" runat="server" class="col-md-1 truncate">Proyecto</label>
<div id="DivProyecto" runat="server" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" Width="100%" CssClass="select2me" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label id="LblSubProyecto" runat="server" class="col-md-1 truncate">SubProyecto </label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlSubProyecto" Width="100%" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Estatus</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlEstatus" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Usuario</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlUsuario" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="RowCostos" runat="server" visible="false">
<label class="col-md-1 truncate">Familia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlFamilia" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">SubFamilia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubFamilia" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="RowActivoFijo" runat="server" visible="false">
<label class="col-md-1 truncate">Tipo AF</label>
<div class="col-md-2">
<%--<asp:DropDownList ID="DdlTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoAF" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" AutoPostBack="true"></asp:ListBox>
</div>
<label class="col-md-1 truncate">SubTipo AF</label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlSubTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubTipoAF" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" AutoPostBack="true" ></asp:ListBox>
</div>
<label class="col-md-1 truncate">Activo Fijo</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlAF" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="CodDesc" DataValueField="CveActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Docto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoDocto" runat="server" AppendDataBoundItems="true" >
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
<asp:ListItem Text="Nota de Crédito" Value="NC"></asp:ListItem>
<asp:ListItem Text="Anticipo" Value="Ant" ></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas con los filtros especificados" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="text-align: center;" GridLines="None" ToolTip="Listado de Ventas">
<Columns>
<asp:BoundField HeaderText="Grupo" DataField="Gpo" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="450px" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="SubTotal" DataField="SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Descuento" DataField="Descuento" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="IVA" DataField="IVA" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="MAX_SubTotal" DataField="MAX_SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="AVG_SubTotal" DataField="AVG_SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="MIN_SubTotal" DataField="MIN_SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="MAX_Total" DataField="MAX_Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="AVG_Total" DataField="AVG_Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField Visible="false" HeaderText="MIN_Total" DataField="" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" style="width: 315px; background-color: White; border: solid 1px black; color: Black; display: none; position: absolute;">
<table class="table table-striped table-advance table-hover" width="315px">
<tr class="Titulos">
<th style="width: 310px">
<asp:Label ID="LblTitulo1" runat="server" ClientIDMode="Static" Text="Personalizar Columnas"></asp:Label>
</th>
<th style="padding-right: 4px; padding-top: 4px" valign="top">
<img alt="" src="/Imagenes/close.gif" style="cursor: pointer;" onclick="$('#DivPersonalizar').hide(1000);" /></th>
</tr>
<tr align="left">
<td colspan="2">
<table style="width: 305px;" class="table table-striped table-advance table-hover">
<thead>
<tr>
<th style="text-align: left;">
<asp:CheckBox ID="ChkRetIVA" runat="server" Text="Ret. IVA" /></th>
<th style="text-align: left;">
<asp:CheckBox ID="ChkMinSub" runat="server" Text="SubTotal Mínimo" /></th>
</tr>
<tr>
<th style="text-align: left;">
<asp:CheckBox ID="ChkRetISR" runat="server" Text="Ret. ISR" /></th>
<th style="text-align: left;">
<asp:CheckBox ID="ChkMaxTot" runat="server" Text="Total Máximo" /></th>
</tr>
<tr>
<th style="text-align: left;">
<asp:CheckBox ID="ChkMaxSub" runat="server" Text="SubTotal Máximo" /></th>
<th style="text-align: left;">
<asp:CheckBox ID="ChkAvgTot" runat="server" Text="Total Promedio" /></th>
</tr>
<tr>
<th style="text-align: left;">
<asp:CheckBox ID="ChkAVGSub" runat="server" Text="SubTotal Promedio" /></th>
<th style="text-align: left;">
<asp:CheckBox ID="ChkMinTot" runat="server" Text="Total Mínimo" /></th>
</tr>
</thead>
</table>
</td>
</tr>
<tr style="height: 25px">
<td style="text-align: center;" colspan="2">
<asp:Button ID="BtnPersonalizar" runat="server" Text="Personalizar" class="btn btn-primary" /><input type="button" value="Cancelar" onclick="$('#DivPersonalizar').hide(1000);" class="btn btn-primary" /></td>
</tr>
</table>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="SubTotal" Value="2"></asp:ListItem>
<asp:ListItem Text="IVA" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,662 @@
Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
Imports Microsoft.Reporting.WebForms
Partial Class Compras_RepProductosServicios
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
DtDatos = DirectCast(ViewState("DtDatos"), DataTable)
End Get
Set(ByVal value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
Return ViewState("TCEspecifico").ToString.ToDouble
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property TipoCambio As Integer
Get
Return ViewState("TipoCambio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("TipoCambio") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
SetValues()
End If
End Sub
#Region "CARGAS"
Private Sub SetValues()
'Cargo Proyectos
DdlProyecto.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyecto.DataBind()
'CAarga Tipos de Gasto
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
'Cargo Categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
'CargaProveedor
DdlProveedor.setEsWebService(True)
DdlProveedor.Attributes.Add("data-metodo", "getproveedores")
DdlProveedor.SelectedText = "Todos"
DdlProveedor.SelectedValue = "-1"
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'CargaEstatus
DdlEstatus.DataSource = GlobalDTCompEstatusFactura
DdlEstatus.DataBind()
'Carga Productos
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'Carga Tipos AF
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlTipoAF.DataBind()
'Carga SubTipos AF
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlSubTipoAF.DataBind()
'Carga Grupos
CargaGrupo()
'Carga Tipo Centro de Costo
CargaTipoCentroCosto()
'CARGA COSTOS
If UsuarioActual.CveEmpresa = 66 Then
Dim NumItems As Integer = DdlGrupo.Items.Count
'COSTOS PROYECTO
DdlGrupo.Items.Insert(NumItems, New ListItem("Costos", "13"))
RowCostos.Visible = True
'Carga Familias
DdlFamilia.DataSource = GlobalDTFamilias(66)
DdlFamilia.DataBind()
'Carga SubFamilias
DdlSubFamilia.DataSource = GlobalDTSubFamilias(66)
DdlSubFamilia.DataBind()
'COSTOS AF
DdlGrupo.Items.Insert(NumItems + 1, New ListItem("Costos por Activo Fijo", "14"))
'Carga AF
'DdlAF.DataSource = GlobalDTActivoFijos().FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
'DdlAF.DataBind()
End If
RowActivoFijo.Visible = True
'Carga Fechas
txtFechaI.Text = FirstDayOfMonth(Now.AddMonths(-5)).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
CreaDataTableColor()
TipoCambio = 1
TCEspecifico = 0
End Sub
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3"))
DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4"))
DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5"))
DdlGrupo.Items.Insert(3, New ListItem("Año", "6"))
DdlGrupo.Items.Insert(4, New ListItem("Mes", "7"))
DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8"))
DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9"))
DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10"))
DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11"))
DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("8")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.InnerText = "Sucursal:"
LblSubProyecto.InnerText = "Proyecto:"
DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Proyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.InnerText = "Proyecto:"
LblSubProyecto.InnerText = "Sucursal:"
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Sucursal", "2"))
DdlGrupo.DataBind()
End If
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1
Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString
Dim Categoria As String = IIf(DdlCategoria.GetSelectedValuesM = "", "-1", DdlCategoria.GetSelectedValuesM).ToString
Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim TipoAF As String = IIf(DdlTipoAF.GetSelectedValuesM = "", "-1", DdlTipoAF.GetSelectedValuesM).ToString
Dim SubTipoAF As String = IIf(DdlSubTipoAF.GetSelectedValuesM = "", "-1", DdlSubTipoAF.GetSelectedValuesM).ToString
If ObjCompras.GetRepProductosServicios(DdlProyecto.SelectedValue.ToEntero, SubProyectos, Categoria, DdlClasificacion.SelectedValue.ToEntero,
DdlPS.SelectedValue.ToEntero, FechaI, FechaF, DdlProveedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero,
UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlFamilia.SelectedValue.ToEntero, DdlSubFamilia.SelectedValue.ToEntero,
TipoAF, SubTipoAF, DdlAF.SelectedValue.ToEntero, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario,
TipoDocto:=DdlTipoDocto.SelectedValue) Then
DtDatos = ObjCompras.DtResultados
GvDatos.DataSource = DtDatos
Else
DtDatos = Nothing
GvDatos.DataSource = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataBind()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
#End Region
#Region "CONSULTAR"
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
UPDatos.Update()
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If DdlGrupo.SelectedValue.ToEntero < 13 Then
If e.Row.DBCampo("GpoID") = "1" Then
e.Row.Cells(0).Text = e.Row.DBCampo("Moneda")
e.Row.CssClass = "Totales"
End If
ElseIf DdlGrupo.SelectedValue.ToEntero = 13 Then
If e.Row.DBCampo("Familia") = "" Then
e.Row.CssClass = "Totales"
ElseIf e.Row.DBCampo("SubFamilia") = "" Then
e.Row.CssClass = "SubTotales2"
ElseIf e.Row.DBCampo("PS") = "" Then
e.Row.CssClass = "SubTotales3"
End If
ElseIf DdlGrupo.SelectedValue.ToEntero = 14 Then
If e.Row.DBCampo("SubFamilia") = "" Then
e.Row.CssClass = "Totales"
ElseIf e.Row.DBCampo("AF") = "" Then
e.Row.CssClass = "SubTotales2"
End If
End If
Dim FechaI = txtFechaI.Text, FechaF = txtFechaF.Text
If DdlGrupo.SelectedValue = "6" Then ' cuando es Año
'-1/01
If e.Row.DBCampo("Anio") = "-1/01" Then
FechaI = $"01/01/{e.Row.DBCampo("Anio")}"
Else
FechaI = $"01/01/{e.Row.DBCampo("Anio")}".ToDate.FirstDayOfMonth.ToShortDateString
End If
FechaF = $"01/12/{e.Row.DBCampo("Anio")}".ToDate.LastDayOfMonth.ToShortDateString
End If
If DdlGrupo.SelectedValue = "8" Then ' cuando es Año/Mes
If e.Row.DBCampo("AnioMes") = "-1/01" Then
FechaI = $"{e.Row.DBCampo("AnioMes")}/01"
Else
FechaI = $"{e.Row.DBCampo("AnioMes")}/01".ToDate.FirstDayOfMonth.ToShortDateString
End If
FechaF = $"{e.Row.DBCampo("AnioMes")}/01".ToDate.LastDayOfMonth.ToShortDateString
End If
Dim Liga = String.Format("/Compras/RepProductosServiciosDetalle.aspx?GPO={0}&Anio={1}&Mes={2}&AnioMes={3}&Fecha={4}&CveProveedor={5}&CveUsuario={6}&CveEstatusFactura={7}&FechaI={8}&FechaF={9}&CveProyecto={10}&CveSubProyecto={11}&CveCategoria={12}&CveClasificacion={13}&CvePS={14}&CveFamilia={15}&CveSubFamilia={16}&CveTipoAF={17}&CveSubTipoAF={18}&CveAF={19}&CveMoneda={20}&CveTipoGasto={21}&TipoCambio={22}&TCEspecifico={23}",
DdlGrupo.SelectedValue, e.Row.DBCampo("Anio"), e.Row.DBCampo("Mes"), e.Row.DBCampo("AnioMes"), e.Row.DBCampo("Fecha"), e.Row.DBCampo("CveProveedor"), e.Row.DBCampo("CveUsuario"),
e.Row.DBCampo("CveEstatusFactura"), FechaI, FechaF, e.Row.DBCampo("CveProyecto"), e.Row.DBCampo("CveSubProyecto"), e.Row.DBCampo("CveCategoria"), e.Row.DBCampo("CveClasificacion"),
e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveFamilia"), e.Row.DBCampo("CveSubFamilia"), e.Row.DBCampo("CveTipoAF"), e.Row.DBCampo("CveSubTipoAF"), e.Row.DBCampo("CveAF"), e.Row.DBCampo("CveMoneda"), DdlTipoGasto.GetSelectedValuesM, e.Row.DBCampo("TipoCambio"), e.Row.DBCampo("TCEspecifico"))
If Not e.Row.DBCampo("GpoID") = "1" Then
e.Row.Cells(0).Text = String.Format("<a class=""Texto"" target=""_blank"" href=""{0}"">{1}</a>", Liga, If(e.Row.DBCampo("GpoID") = "1", e.Row.DBCampo("Moneda"), e.Row.DBCampo("GPO")))
e.Row.Cells(1).Text = String.Format("<a class=""Texto"" target=""_blank"" href=""{0}"">{1}</a>", Liga, e.Row.DBCampo("Cantidad").FormatoNumero)
End If
'Si son igual a cero se limpia el campo
If e.Row.DBCampo("SubTotal").ToDouble = 0 Then e.Row.Cells(2).Text = ""
If e.Row.DBCampo("Descuento").ToDouble = 0 Then e.Row.Cells(3).Text = ""
If e.Row.DBCampo("IVA").ToDouble = 0 Then e.Row.Cells(4).Text = ""
If e.Row.DBCampo("Total").ToDouble = 0 Then e.Row.Cells(5).Text = ""
If e.Row.DBCampo("MAX_SubTotal").ToDouble = 0 Then e.Row.Cells(6).Text = ""
If e.Row.DBCampo("AVG_SubTotal").ToDouble = 0 Then e.Row.Cells(7).Text = ""
If e.Row.DBCampo("MIN_SubTotal").ToDouble = 0 Then e.Row.Cells(8).Text = ""
If e.Row.DBCampo("MAX_Total").ToDouble = 0 Then e.Row.Cells(9).Text = ""
If e.Row.DBCampo("AVG_Total").ToDouble = 0 Then e.Row.Cells(10).Text = ""
If e.Row.DBCampo("MIN_Total").ToDouble = 0 Then e.Row.Cells(11).Text = ""
End If
End Sub
#End Region
#Region "PERSONALIZAR"
Protected Sub BtnPersonalizar_Click(sender As Object, e As System.EventArgs) Handles BtnPersonalizar.Click
'If ChkMaxTot.Checked Then
' GvDatos.Columns(14).Visible = True
'Else
' GvDatos.Columns(14).Visible = False
'End If
UPDatos.Update()
End Sub
#End Region
#Region " SELECTED INDEX CHANGED"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue <> "-1" Then
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, DdlProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, -1)
DdlSubProyecto.DataBind()
End If
' DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFamilia.SelectedIndexChanged
DdlSubFamilia.Items.Clear()
If DdlFamilia.SelectedValue <> "-1" Then
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero)
DdlSubFamilia.DataBind()
Else
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa)
DdlSubFamilia.DataBind()
End If
DdlSubFamilia.Items.Insert(0, New ListItem("Sin Asignar", "-2"))
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoAF.SelectedIndexChanged
DdlSubTipoAF.Items.Clear()
If DdlTipoAF.GetSelectedValuesM <> "" Then
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveTipoActivoFijo IN ({0})", DdlTipoAF.GetSelectedValuesM(True)))
DdlSubTipoAF.DataBind()
Else
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlSubTipoAF.DataBind()
End If
'DdlSubTipoAF.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlSubTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubTipoAF.SelectedIndexChanged
DdlAF.Items.Clear()
If DdlSubTipoAF.GetSelectedValuesM <> "" Then
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa, -1).FiltraParametros(String.Format("CveSubTipoActivoFijo IN ({0})", DdlSubTipoAF.GetSelectedValuesM(True)))
DdlAF.DataBind()
'Else
' DdlAF.DataSource = GlobalDTSubTipoActivoFijo(66)
' DdlAF.DataBind()
End If
DdlAF.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlPS.UsaWebService Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, DdlClasificacion.SelectedValue.ToEntero())
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
#End Region
#Region "IMPRESION"
Private Sub ImgExcel_Click(sender As Object, e As EventArgs) Handles ImgExcel.Click
GeneraPDF("Excel")
'GvDatos.ExportToExcel("ReporteProductosServicios" & Now.ToShortDateString)
End Sub
Protected Sub GeneraPDF(Optional Formato As String = "PDF")
Dim params As List(Of ReportParameter) = New List(Of ReportParameter)()
Dim Imagen As System.IO.FileInfo = New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedor.SelectedText}")
Dim FechaInicio = If(txtFechaI.Text = "", "", $"&emsp;<b>Fecha Inicio:</b>&nbsp;{txtFechaI.Text}")
Dim FechaFin = If(txtFechaF.Text = "", "", $"&emsp;<b>Fecha Fin:</b>&nbsp;{txtFechaF.Text}")
Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $"&emsp;<b>Agrupado por:</b>&nbsp;{DdlGrupo.SelectedItem.Text}")
Dim TipoGasto = If(DdlTipoGasto.GetSelectedText = "", "", $"&emsp;<b>Tipo Gasto:</b>&nbsp;{DdlTipoGasto.GetSelectedText}")
Dim Categoria = If(DdlCategoria.GetSelectedText = "", "", $"&emsp;<b>Categoria:</b>&nbsp;{DdlCategoria.GetSelectedText}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DdlClasificacion.SelectedItem.Text}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S.:</b>&nbsp;{DdlPS.SelectedText}")
Dim Proyecto = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>Proyecto:</b>&nbsp;{DdlSubProyecto.GetSelectedText}")
Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b>&nbsp;{DdlEstatus.SelectedItem.Text}")
Dim Usuario = If(DdlUsuario.SelectedValue = "-1", "", $"&emsp;<b>Usuario:</b>&nbsp;{DdlUsuario.SelectedItem.Text}")
Dim TipoAF = If(DdlTipoAF.GetSelectedText = "", "", $"&emsp;<b>Tipo AF:</b>&nbsp;{DdlTipoAF.GetSelectedText}")
Dim SubTipoAF = If(DdlSubTipoAF.GetSelectedText = "", "", $"&emsp;<b>SubTipo AF:</b>&nbsp;{DdlSubTipoAF.GetSelectedText}")
Dim AF = If(DdlAF.SelectedValue = "-1", "", $"&emsp;<b>Activo Fijo:</b>&nbsp;{DdlAF.SelectedItem.Text}")
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString()))
params.Add(New ReportParameter("Filtros", $"{Proveedor}{FechaInicio}{FechaFin}{Grupo}{TipoGasto}{Categoria}{Clasificacion}{PS}{Proyecto}{Estatus}{Usuario}{TipoAF}{SubTipoAF}{AF}"))
'params.Add(New ReportParameter("Proveedor", DdlProveedor.SelectedItem.Text))
'params.Add(New ReportParameter("FechaInicio", txtFechaI.Text))
'params.Add(New ReportParameter("FechaFin", txtFechaF.Text))
'params.Add(New ReportParameter("Grupo", DdlGrupo.SelectedItem.Text))
'params.Add(New ReportParameter("TipoGasto", IIf(DdlTipoGasto.GetSelectedText = "", "Todos", DdlTipoGasto.GetSelectedText).ToString())) 'DdlTipoGasto.SelectedItem.Text))
'params.Add(New ReportParameter("Categoria", IIf(DdlCategoria.GetSelectedText = "", "Todas", DdlCategoria.GetSelectedText).ToString()))
'params.Add(New ReportParameter("Clasificacion", DdlClasificacion.SelectedItem.Text))
'params.Add(New ReportParameter("PS", IIf(DdlPS.SelectedText = "", "Todos", DdlPS.SelectedText).ToString()))
'params.Add(New ReportParameter("Proyecto", IIf(DdlProyecto.Visible, DdlProyecto.SelectedItem.Text, IIf(DdlSubProyecto.GetSelectedText = "", "Todos", DdlSubProyecto.GetSelectedText)).ToString()))
'params.Add(New ReportParameter("Estatus", DdlEstatus.SelectedItem.Text))
'params.Add(New ReportParameter("Usuario", DdlUsuario.SelectedItem.Text))
'params.Add(New ReportParameter("TipoAF", IIf(DdlTipoAF.GetSelectedText = "", "Todos", DdlTipoAF.GetSelectedText).ToString()))
'params.Add(New ReportParameter("SubTipoAF", IIf(DdlSubTipoAF.GetSelectedText = "", "Todos", DdlSubTipoAF.GetSelectedText).ToString()))
'params.Add(New ReportParameter("AF", IIf(DdlAF.SelectedItem.Text = "", "Todos", DdlAF.SelectedItem.Text).ToString()))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosCompras.rdlc", DtDatos, params, "Reporte de Productos Servicios", Formato)
End Sub
Protected Sub ImgPDF_Click(sender As Object, e As EventArgs)
GeneraPDF()
End Sub
#End Region
#Region "TIPO CAMBIO"
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
CargaDatos()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
UPDatos.Update()
End Sub
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DtDatos.Rows
If Not Dr("GpoID").ToString = "1" Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {Dr("CveMoneda").ToString}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
Case 3
Row("Valor") = Dr("IVA").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = Dr("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,414 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepProductosServiciosDetalle.aspx.vb" Inherits="Compras_RepProductosServiciosDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.select2 .select2-selection__rendered {
line-height: 1;
color: #111;
}
.select2 .select2-selection--multiple {
box-sizing: border-box;
cursor: pointer;
display: block;
min-height: 20px;
user-select: none;
-webkit-user-select: none;
}
.select2-container--default .select2-selection--multiple .select2-selection__choice {
margin-top: 10px;
}
.select2-selection__rendered {
margin-top: 0px;
height: 25px;
}
.select2-selection {
margin-top: 0px;
height: 31px;
}
.select2-container--default.select2-container--focus .select2-selection--multiple {
border: none;
outline: 0;
}
#chartdiv {
width: 100%;
height: 500px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="E" runat="Server">
Reporte de Productos Servicios Detalle
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="ImgImprimir" runat="server"> <i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 truncate">Proveedor</label>
<div class="col-md-2">
<%--<asp:DropDownList ID="DdlProveedor" runat="server" CssClass="form-control input-sm select2me" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<ADS:Dropdownlost ID="DdlProveedor" runat="server" CssStyle="width: 100%;" Width="100%" DataTextField="RazonSocial" DataValueField="CveProveedor" ></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>
<label class="col-md-1 truncate">Agrupador</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="form-control input-sm select2me">
<%-- <asp:ListItem Text="Proyecto" Value="1"></asp:ListItem>
<asp:ListItem Text="SubProyectos" Value="2"></asp:ListItem>
<asp:ListItem Text="Categoría" Value="3"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="4"></asp:ListItem>
<asp:ListItem Text="Productos-Servicios" Value="5"></asp:ListItem>
<asp:ListItem Text="Año" Value="6"></asp:ListItem>
<asp:ListItem Text="Mes" Value="7"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="8"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="10"></asp:ListItem>
<asp:ListItem Text="Usuario" Value="11"></asp:ListItem>
<asp:ListItem Text="Estatus Fact." Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1"><span>Tipo Gasto:</span></div>
<div class="col-md-2">
<%-- <asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoGasto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Categoría</label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlCategoria" Width="100%" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlCategoria" SelectionMode="Multiple" data-text="Todas" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Clasificación</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" AutoPostBack="true" Width="100%" runat="server" OnSelectedIndexChanged="DdlClasificacion_SelectedIndexChanged" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">P. S.</label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
</div>
<div class="row">
<label id="LblProyecto" runat="server" class="col-md-1 truncate">Proyecto</label>
<div id="DivProyecto" runat="server" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" Width="100%" CssClass="select2me" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label id="LblSubProyecto" runat="server" class="col-md-1 truncate">SubProyecto </label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlSubProyecto" Width="100%" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<label class="col-md-1 truncate">Estatus</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlEstatus" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="EstatusFactura" DataValueField="CveEstatusFactura">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Usuario</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlUsuario" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Usuario" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="RowCostos" runat="server" visible="false">
<label class="col-md-1 truncate">Familia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlFamilia" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">SubFamilia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubFamilia" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="RowActivoFijo" runat="server" visible="false">
<label class="col-md-1 truncate">Tipo AF</label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlTipoAF" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" AutoPostBack="true"></asp:ListBox>
</div>
<label class="col-md-1 truncate">SubTipo AF</label>
<div class="col-md-2">
<%-- <asp:DropDownList ID="DdlSubTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<asp:ListBox ID="DdlSubTipoAF" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server" AutoPostBack="true" ></asp:ListBox>
</div>
<label class="col-md-1 truncate">Activo Fijo</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlAF" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="CodDesc" DataValueField="CveActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Docto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoDocto" runat="server" AppendDataBoundItems="true" >
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Factura" Value="Fac"></asp:ListItem>
<asp:ListItem Text="Nota de Crédito" Value="NC"></asp:ListItem>
<asp:ListItem Text="Anticipo" Value="Ant" ></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" Width="100%" EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" data-sort="true" Style="text-align: center;" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Fecha" DataField="FechaCompra" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Código" DataField="Codigo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Producto o Servicio" DataField="PS" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="AF" DataField="CodigoAF" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Clasificación" DataField="Clasificacion" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="PU" DataField="PU" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Cantidad" DataField="Cantidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="SubTotal" DataField="SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField HeaderText="Total" DataField="Total" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:HyperLinkField HeaderText="Serie Folio" DataTextField="SerieFolio" ItemStyle-HorizontalAlign="Left" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:BoundField HeaderText="Proveedor" DataField="RazonSocial" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="SubProyecto" DataField="SubProyecto" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="LblTituloGrafica" runat="server" ClientIDMode="Static" Text=""></asp:Label>
</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-2"></div>
<label class="col-md-1 truncate">Grafica:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlGrafica" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlGrafica_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Barras" Value="1"></asp:ListItem>
<asp:ListItem Text="Pastel" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">&nbsp;&nbsp;&nbsp;Ver:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Total" Value="1"></asp:ListItem>
<asp:ListItem Text="SubTotal" Value="2"></asp:ListItem>
<asp:ListItem Text="Cantidad" Value="3"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<br />
<div id="chartdiv"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script>
function CargaGraficaBarras(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "serial",
"theme": "light",
"dataProvider": data,
"startDuration": 2,
"valueAxes": [{
"position": "left",
"title": "Ventas"
}],
"graphs": [{
"balloonText": "[[category]]: <b>[[value]]</b> [[Moneda]]",
"colorField": "Color",
"fillAlphas": 1,
"lineAlpha": 0.1,
"type": "column",
"valueField": "Valor"
}],
"depth3D": 20,
"angle": 30,
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryField": "Texto",
"categoryAxis": {
"gridPosition": "start",
"labelRotation": 90
},
"export": {
"enabled": true
}
});
}
function CargaGraficaPastel(data) {
var chart = AmCharts.makeChart("chartdiv", {
"type": "pie",
"theme": "light",
"dataProvider":
data,
"valueField": "Valor",
"titleField": "Texto",
"outlineAlpha": 0.4,
"depth3D": 0,
"balloonText": "[[title]]<br><span style='font-size:14px'><b>[[value]]</b> ([[percents]]% [[Moneda]])</span>",
"angle": 0,
"export": {
"enabled": true
}
});
}
</script>
</asp:Content>

View File

@@ -0,0 +1,437 @@
Option Explicit On
Option Strict On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class Compras_RepProductosServiciosDetalle
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
Return CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
CargaCombos()
CargaTipoCentroCosto()
Dim Grupo, Proyecto, SubProyecto, Categoria, Clasificacion, PS, Proveedor, Estatus, Usuario, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, TipoGasto As String
Dim Anio, Mes, AnioMes, Fecha, FechaI, FechaF As String
Grupo = If(Request("GPO") IsNot Nothing AndAlso Request("GPO").ToEntero() > 0, Request("GPO").ToEntero(), -1).ToString
Proyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString
SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString
SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() = -2, "-2", SubProyecto)
Categoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString
Clasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString
PS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString
Proveedor = If(Request("CveProveedor") IsNot Nothing AndAlso Request("CveProveedor").ToEntero() > 0, Request("CveProveedor").ToEntero(), -1).ToString
Estatus = If(Request("CveEstatusFactura") IsNot Nothing AndAlso Request("CveEstatusFactura").ToEntero() > 0, Request("CveEstatusFactura").ToEntero(), -1).ToString
Usuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString
Familia = If(Request("CveFamilia") IsNot Nothing AndAlso Request("CveFamilia").ToEntero() > -3, Request("CveFamilia").ToEntero(), -1).ToString
SubFamilia = If(Request("CveSubFamilia") IsNot Nothing AndAlso Request("CveSubFamilia").ToEntero() > -3, Request("CveSubFamilia").ToEntero(), -1).ToString
TipoActivoFijo = If(Request("CveTipoAF") IsNot Nothing AndAlso Request("CveTipoAF").ToEntero() > 0, Request("CveTipoAF").ToEntero(), -1).ToString
SubTipoActivoFijo = If(Request("CveSubTipoAF") IsNot Nothing AndAlso Request("CveSubTipoAF").ToEntero() > 0, Request("CveSubTipoAF").ToEntero(), -1).ToString
ActivoFijo = If(Request("CveAF") IsNot Nothing AndAlso Request("CveAF").ToEntero() > 0, Request("CveAF").ToEntero(), -1).ToString
CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToString.ToEntero
TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto").ToEntero > 0, Request("CveTipoGasto").ToEntero(), -1).ToString
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text)
txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
Else
If FechaI <> "-1" Then
txtFechaI.Text = FechaI
End If
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
End If
DdlCategoria.SelectedValue = Categoria
If Clasificacion.ToEntero > 0 Then
CargaClasificaciones(DdlCategoria.SelectedValue.ToEntero)
DdlClasificacion.SelectedValueExist(Clasificacion)
End If
DdlPS.SelectedValue = PS
DdlProyecto.SelectedValue = Proyecto
DdlSubProyecto.SelectedValue = SubProyecto
DdlFamilia.SelectedValue = Familia
DdlSubFamilia.SelectedValue = SubFamilia
DdlProveedor.SelectedValue = Proveedor
DdlEstatus.SelectedValue = Estatus
DdlUsuario.SelectedValue = Usuario
DdlTipoAF.SelectedValue = TipoActivoFijo
DdlTipoGasto.SelectedValueExist(TipoGasto)
DdlSubTipoAF.SelectedValue = SubTipoActivoFijo
DdlAF.SelectedValue = ActivoFijo
CargaDatos(Proyecto.ToEntero, SubProyecto.ToEntero, Categoria.ToEntero, Clasificacion.ToEntero, PS.ToEntero, Proveedor.ToEntero, Usuario.ToEntero, Estatus.ToEntero, Grupo.ToEntero, Familia.ToEntero, SubFamilia.ToEntero, TipoActivoFijo.ToEntero, SubTipoActivoFijo.ToEntero, ActivoFijo.ToEntero, TipoGasto.ToEntero)
End If
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
TdProyecto.Visible = False
TdProyecto2.Visible = False
LtSubProyecto.Text = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
TdProyecto.Visible = False
TdProyecto2.Visible = False
LtSubProyecto.Text = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
TdProyecto.InnerText = "Sucursal:"
LtSubProyecto.Text = "Proyecto:"
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
TdProyecto.InnerText = "Proyecto:"
LtSubProyecto.Text = "Sucursal:"
End If
End Sub
Private Sub CargaCombos()
'Cargo Proyectos
DdlProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlProyecto.DataBind()
'Cargo Categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
'CargaProveedor
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'CargaEstatus
DdlEstatus.DataSource = GlobalDTCompEstatusFactura
DdlEstatus.DataBind()
'CARGA COSTOS
If UsuarioActual.CveEmpresa = 66 Then
'COSTOS PROYECTO
RowCostos.Visible = True
'Carga Familias
DdlFamilia.DataSource = GlobalDTFamilias(66)
DdlFamilia.DataBind()
'Carga SubFamilias
DdlSubFamilia.DataSource = GlobalDTSubFamilias(66)
DdlSubFamilia.DataBind()
'COSTOS AF
RowActivoFijo.Visible = True
'Carga Tipos AF
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(66)
DdlTipoAF.DataBind()
'Carga SubTipos AF
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66)
DdlSubTipoAF.DataBind()
'Carga AF
'DdlAF.DataSource = GlobalDTActivoFijos().FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
'DdlAF.DataBind()
End If
If UsuarioActual.Empresa.GralSoloProyecto Then
TdProyecto.Visible = False
TdProyecto2.Visible = False
LtSubProyecto.Text = "Proyecto"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa)
DdlSubProyecto.DataBind()
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
Dim TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero)
If ObjCompras.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero,
DdlPS.SelectedValue.ToEntero, FechaI, FechaF, DdlProveedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero,
UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlFamilia.SelectedValue.ToEntero, DdlSubFamilia.SelectedValue.ToEntero, DdlTipoAF.SelectedValue.ToEntero, DdlSubTipoAF.SelectedValue.ToEntero, DdlAF.SelectedValue.ToEntero, CveMoneda, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, TipoGasto:=DdlTipoGasto.SelectedValue.ToEntero, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DtDatos = ObjCompras.DtResultados
Else
DtDatos = Nothing
End If
ObjCompras.Dispose()
CargaGrid("")
End Sub
Private Sub CargaDatos(Proyecto As Integer, SubProyecto As Integer, Categoria As Integer, Clasificacion As Integer, PS As Integer, Proveedor As Integer, Usuario As Integer, Estatus As Integer, Grupo As Integer, Familia As Integer, SubFamilia As Integer, TipoActivoFijo As Integer, SubTipoActivoFijo As Integer, ActivoFijo As Integer, TipoGasto As Integer)
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
Dim TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero)
If ObjCompras.GetRepProductosServiciosDetalle(Proyecto, SubProyecto, Categoria, Clasificacion, PS, FechaI, FechaF, Proveedor, Usuario, Estatus, UsuarioActual.CveEmpresa, Grupo, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, CveMoneda, RblTipoCambio.SelectedValue.ToEntero, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
DtDatos = ObjCompras.DtResultados
Else
DtDatos = Nothing
End If
ObjCompras.Dispose()
CargaGrid("")
End Sub
#Region " D R O P - D O W N S | SELECT INDEX CHANGED"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue <> "-1" Then
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
DdlSubProyecto.DataBind()
End If
DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged
CargaClasificaciones(DdlCategoria.SelectedValue.ToEntero)
End Sub
Private Sub CargaClasificaciones(CveCategoria As Integer)
DdlClasificacion.Items.Clear()
If DdlCategoria.SelectedValue <> "-1" Then
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=CveCategoria)
DdlClasificacion.DataBind()
End If
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClasificacion.SelectedIndexChanged
DdlPS.Items.Clear()
If DdlClasificacion.SelectedValue <> "-1" Then
DdlPS.DataSource = GlobalDTProductosServicios(UsuarioActual.CveEmpresa)
DdlPS.DataBind()
End If
DdlSubFamilia.Items.Insert(0, New ListItem("Sin Asignar", "-2"))
DdlPS.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFamilia.SelectedIndexChanged
DdlSubFamilia.Items.Clear()
If DdlFamilia.SelectedValue <> "-1" Then
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero)
DdlSubFamilia.DataBind()
Else
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa)
DdlSubFamilia.DataBind()
End If
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoAF.SelectedIndexChanged
DdlSubTipoAF.Items.Clear()
If DdlTipoAF.SelectedValue <> "-1" Then
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66).FiltraParametros(String.Format("CveTipoActivoFijo = {0}", DdlTipoAF.SelectedValue.ToEntero))
DdlSubTipoAF.DataBind()
Else
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66)
DdlSubTipoAF.DataBind()
End If
DdlSubTipoAF.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlSubTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubTipoAF.SelectedIndexChanged
DdlAF.Items.Clear()
If DdlSubTipoAF.SelectedValue <> "-1" Then
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa, DdlSubTipoAF.SelectedValue.ToEntero)
DdlAF.DataBind()
'Else
' DdlAF.DataSource = GlobalDTSubTipoActivoFijo(66)
' DdlAF.DataBind()
End If
DdlAF.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
#End Region
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DBCampo("Orden") = "" AndAlso e.Row.DBCampo("RazonSocial") = "" Then
e.Row.CssClass = "Totales"
End If
e.Row.Cells(6).Width = Unit.Pixel(100)
e.Row.Cells(3).Width = Unit.Pixel(80)
End If
End Sub
#Region "tipo Cambio"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
CargaDatos()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
UPDatos.Update()
End Sub
#End Region
#Region "O R D E N A M I E N T O"
Protected Sub LbOrden_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim Orden As String = ""
Dim Campo As String = ""
Dim Literal As Literal = Nothing
Const OrdenInicial As String = ""
Dim Arg(2) As String
Arg = CType(sender, LinkButton).CommandArgument().ToString.Split(";"c)
Campo = Arg(0)
Literal = CType(CType(sender, LinkButton).NamingContainer.FindControl("Img" & Campo.Replace(",", "_")), Literal)
If ViewState(String.Format("O{0}", Campo)) IsNot Nothing AndAlso ViewState(String.Format("O{0}", Campo)).ToString = String.Format("{0} DESC", Campo) Then
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} ASC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-asc' style='color:#999' ></i>")
Else
ViewState(String.Format("O{0}", Campo)) = String.Format("{0} DESC", Campo)
Literal.Text = String.Format("<i class='fa fa-sort-desc' style='color:#999' ></i>")
End If
Orden = OrdenInicial & ViewState(String.Format("O{0}", Campo)).ToString
ViewState("Orden") = Orden
CargaGrid(Orden)
End Sub
Protected Sub CargaGrid(Orden As String)
Dim DV As DataView = Nothing
DV = New DataView(DtDatos, "", Orden, DataViewRowState.CurrentRows)
If Orden <> String.Empty Then
GvDatos.DataSource = DV.ToTable()
Else
GvDatos.DataSource = DtDatos
End If
GvDatos.DataBind()
UPDatos.Update()
DV.Dispose()
End Sub
#End Region
#Region " IMPRESION - NUEVO "
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
If txtFechaI.Text = "" Then FechaI = "-1".ToDate
If txtFechaF.Text = "" Then FechaF = "-1".ToDate
Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $"&emsp;<b>Grupo:</b> {DdlGrupo.SelectedItem.Text}")
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b> {DdlProyecto.SelectedItem.Text}")
Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.SelectedItem.Text}")
Dim Categoria = If(DdlCategoria.SelectedValue = "-1", "", $"&emsp;<b>Categoria:</b> {DdlCategoria.SelectedItem.Text}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b> {DdlClasificacion.SelectedItem.Text}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S:</b> {DdlPS.SelectedItem.Text}")
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedor.SelectedItem.Text}")
Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b> {DdlEstatus.SelectedItem.Text}")
Dim TipoAF = If(DdlTipoAF.SelectedValue = "-1", "", $"&emsp;<b>Tipo AF:</b> {DdlTipoAF.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero)
If DtDatos.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
'params.Add(New ReportParameter("FechaInicio", FechaI))
'params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupoPor", $"{Grupo}{Proyecto}{SubProyecto}{Categoria}{Clasificacion}{PS}{Proveedor}{Estatus}{TipoAF}{FechaIn}{FechaFn}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalleCompra.rdlc", DtDatos, params, "ReportePSDetalle", Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
End Class

View File

@@ -0,0 +1,712 @@
Option Explicit On
Option Strict On
Imports Microsoft.Reporting.WebForms
Imports Extensiones
Imports System.Data
Partial Class Compras_RepProductosServiciosDetalle
Inherits ClsPaginas
#Region "PROPIEDADES"
Private Property DtDatos As DataTable
Get
Return CType(ViewState("DtDatos"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtDatos") = value
End Set
End Property
Private Property CveMoneda As Integer
Get
Return ViewState("CveMoneda").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveMoneda") = value
End Set
End Property
Private Property DtColor As DataTable
Get
Return DirectCast(ViewState("DtColor"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtColor") = value
End Set
End Property
Private Property Agrupador As String
Get
Return ViewState("Agrupador").ToString
End Get
Set(value As String)
ViewState("Agrupador") = value
End Set
End Property
Private Property TCEspecifico As Double
Get
Return ViewState("TCEspecifico").ToString.ToDouble
End Get
Set(value As Double)
ViewState("TCEspecifico") = value
End Set
End Property
Private Property TipoCambio As Integer
Get
Return ViewState("TipoCambio").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("TipoCambio") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario.Contiene(77, 21) Then Response.Redirect("/Inicio.aspx")
SetValues()
InicializaValores()
End If
End Sub
#Region "CARGAS"
Private Sub InicializaValores()
Dim Grupo, Proyecto, SubProyecto, Categoria, Clasificacion, PS, Proveedor, Estatus, Usuario, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, TipoGasto As String
Dim Anio, Mes, AnioMes, Fecha, FechaI, FechaF, TipoDocto As String
Grupo = If(Request("GPO") IsNot Nothing AndAlso Request("GPO").ToEntero() > 0, Request("GPO").ToEntero(), -1).ToString
Proyecto = If(Request("CveProyecto") IsNot Nothing AndAlso Request("CveProyecto").ToEntero() > 0, Request("CveProyecto").ToEntero(), -1).ToString
'PARAMETROS DE LISTBOXS
SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto") <> "", Request("CveSubProyecto"), "-1").ToString
SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() = -2, "-2", SubProyecto)
TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto") <> "", Request("CveTipoGasto"), "-1").ToString
Categoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria") <> "", Request("CveCategoria"), "-1").ToString
TipoActivoFijo = If(Request("CveTipoAF") IsNot Nothing AndAlso Request("CveTipoAF") <> "", Request("CveTipoAF"), "-1").ToString
SubTipoActivoFijo = If(Request("CveSubTipoAF") IsNot Nothing AndAlso Request("CveSubTipoAF") <> "", Request("CveSubTipoAF"), "-1").ToString
'END PARAMETROS DE LISTBOXS
'SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() > 0, Request("CveSubProyecto").ToEntero(), -1).ToString
'SubProyecto = If(Request("CveSubProyecto") IsNot Nothing AndAlso Request("CveSubProyecto").ToEntero() = -2, "-2", SubProyecto)
'Categoria = If(Request("CveCategoria") IsNot Nothing AndAlso Request("CveCategoria").ToEntero() > 0, Request("CveCategoria").ToEntero(), -1).ToString
'TipoActivoFijo = If(Request("CveTipoAF") IsNot Nothing AndAlso Request("CveTipoAF").ToEntero() > 0, Request("CveTipoAF").ToEntero(), -1).ToString
'SubTipoActivoFijo = If(Request("CveSubTipoAF") IsNot Nothing AndAlso Request("CveSubTipoAF").ToEntero() > 0, Request("CveSubTipoAF").ToEntero(), -1).ToString
'TipoGasto = If(Request("CveTipoGasto") IsNot Nothing AndAlso Request("CveTipoGasto").ToEntero > 0, Request("CveTipoGasto").ToEntero(), -1).ToString
Clasificacion = If(Request("CveClasificacion") IsNot Nothing AndAlso Request("CveClasificacion").ToEntero() > 0, Request("CveClasificacion").ToEntero(), -1).ToString
PS = If(Request("CvePS") IsNot Nothing AndAlso Request("CvePS").ToEntero() > 0, Request("CvePS").ToEntero(), -1).ToString
Proveedor = If(Request("CveProveedor") IsNot Nothing AndAlso Request("CveProveedor").ToEntero() > 0, Request("CveProveedor").ToEntero(), -1).ToString
Estatus = If(Request("CveEstatusFactura") IsNot Nothing AndAlso Request("CveEstatusFactura").ToEntero() > 0, Request("CveEstatusFactura").ToEntero(), -1).ToString
Usuario = If(Request("CveUsuario") IsNot Nothing AndAlso Request("CveUsuario").ToEntero() > 0, Request("CveUsuario").ToEntero(), -1).ToString
Familia = If(Request("CveFamilia") IsNot Nothing AndAlso Request("CveFamilia").ToEntero() > -3, Request("CveFamilia").ToEntero(), -1).ToString
SubFamilia = If(Request("CveSubFamilia") IsNot Nothing AndAlso Request("CveSubFamilia").ToEntero() > -3, Request("CveSubFamilia").ToEntero(), -1).ToString
ActivoFijo = If(Request("CveAF") IsNot Nothing AndAlso Request("CveAF").ToEntero() > 0, Request("CveAF").ToEntero(), -1).ToString
CveMoneda = If(Request("CveMoneda") IsNot Nothing AndAlso Request("CveMoneda").ToEntero() > 0, Request("CveMoneda").ToEntero(), -1).ToString.ToEntero
TipoDocto = If(Request("TipoDocto") IsNot Nothing, Request("TipoDocto").ToString, "-1").ToString
Anio = If(Request("Anio") IsNot Nothing, Request("Anio").ToString, "-1").ToString
Mes = If(Request("Mes") IsNot Nothing, Request("Mes").ToString, "-1").ToString
AnioMes = If(Request("AnioMes") IsNot Nothing, Request("AnioMes").ToString, "-1").ToString
Fecha = If(Request("Fecha") IsNot Nothing, Request("Fecha").ToString, "-1").ToString
FechaI = If(Request("FechaI") IsNot Nothing, Request("FechaI").ToString, "-1").ToString
FechaF = If(Request("FechaF") IsNot Nothing, Request("FechaF").ToString, "-1").ToString
TCEspecifico = If(Request("TCEspecifico") IsNot Nothing AndAlso Request("TCEspecifico").ToDouble() > 0, Request("TCEspecifico").ToDouble, -1).ToString.ToDouble
RblTipoCambio.SelectedValue = If(Request("TipoCambio") IsNot Nothing AndAlso Request("TipoCambio").ToEntero() > 0, Request("TipoCambio").ToEntero(), 1).ToString
If RblTipoCambio.SelectedValue.ToEntero > 1 Then CveMoneda = -1
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
txtFechaI.Text = If(Anio <> "-1", String.Format("01/01/{0}", Anio), txtFechaI.Text)
txtFechaI.Text = If(Mes <> "-1", String.Format("01/{0}/0001", Mes), txtFechaI.Text)
txtFechaI.Text = If(AnioMes <> "-1", String.Format("01/{0}/{1}", AnioMes.Substring(5, 1).PadLeft(2, "0"c), AnioMes.Substring(0, 4)), txtFechaI.Text)
If Fecha <> "-1" Then
txtFechaI.Text = Fecha
txtFechaF.Text = Fecha
Else
If FechaI <> "-1" Then
txtFechaI.Text = FechaI
End If
If FechaF <> "-1" Then
txtFechaF.Text = FechaF
End If
End If
'CARGA LISTBOXs
DdlSubProyecto.SelectedValuesIfExistM(SubProyecto)
DdlTipoGasto.SelectedValuesIfExistM(TipoGasto)
DdlCategoria.SelectedValuesIfExistM(Categoria)
DdlTipoAF.SelectedValuesIfExistM(TipoActivoFijo)
DdlSubTipoAF.SelectedValuesIfExistM(SubTipoActivoFijo)
'END CARGA LISTBOXs
'DdlCategoria.SelectedValueExist(Categoria)
DdlClasificacion.SelectedValueExist(Clasificacion)
If PS <> "-1" Then
DdlPS.SelectedValue = PS
DdlPS.SelectedText = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=PS.ToEntero)(0)("PSCodigo").ToString
End If
DdlProyecto.SelectedValueExist(Proyecto)
If DivProyecto.Visible Then CargaSubProyecto()
'DdlSubProyecto.SelectedValueExist(SubProyecto)
DdlFamilia.SelectedValueExist(Familia)
DdlSubFamilia.SelectedValueExist(SubFamilia)
DdlProveedor.SelectedValue = Proveedor
If DdlProveedor.SelectedValue.ToEntero > 0 Then
DdlProveedor.SelectedText = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros($"CveProveedor = {Proveedor}").Rows(0)("RazonSocial").ToString
Else
DdlProveedor.SelectedText = "Todos"
End If
DdlTipoDocto.SelectedValueExist(TipoDocto)
DdlEstatus.SelectedValueExist(Estatus)
DdlUsuario.SelectedValueExist(Usuario)
'DdlTipoAF.SelectedValueExist(TipoActivoFijo)
'DdlTipoGasto.SelectedValueExist(TipoGasto)
'DdlSubTipoAF.SelectedValueExist(SubTipoActivoFijo)
DdlSubTipoAF_SelectedIndexChanged(DdlSubTipoAF, New EventArgs)
DdlAF.SelectedValueExist(ActivoFijo)
DdlGrupo.SelectedValueExist(Grupo)
CargaDatos(Proyecto.ToEntero, SubProyecto, Categoria, Clasificacion.ToEntero, PS.ToEntero, Proveedor.ToEntero, Usuario.ToEntero, Estatus.ToEntero, Grupo.ToEntero, Familia.ToEntero, SubFamilia.ToEntero, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo.ToEntero, TipoGasto)
End Sub
Private Sub SetValues()
'Cargo Proyectos
DdlProveedor.setEsWebService(True)
DdlProveedor.Attributes.Add("data-metodo", "getproveedores")
DdlProveedor.SelectedText = "Todos"
DdlProveedor.SelectedValue = "-1"
'CAarga Tipos de Gasto
DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa)
DdlTipoGasto.DataBind()
'Cargo Categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
'CargaProveedor
DdlProveedor.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
DdlProveedor.DataBind()
'CargaUsuarios
DdlUsuario.DataSource = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlUsuario.DataBind()
'CargaEstatus
DdlEstatus.DataSource = GlobalDTCompEstatusFactura
DdlEstatus.DataBind()
'Carga Productos
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = ""
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPS(UsuarioActual.CveEmpresa)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
'Carga Tipos AF
DdlTipoAF.DataSource = GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlTipoAF.DataBind()
'Carga SubTipos AF
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa)
DdlSubTipoAF.DataBind()
'Carga Grupos
CargaGrupo()
'Carga Tipo Centro de Costo
CargaTipoCentroCosto()
'CARGA COSTOS
If UsuarioActual.CveEmpresa = 66 Then
Dim NumItems As Integer = DdlGrupo.Items.Count
'COSTOS PROYECTO
DdlGrupo.Items.Insert(NumItems, New ListItem("Costos", "13"))
RowCostos.Visible = True
'Carga Familias
DdlFamilia.DataSource = GlobalDTFamilias(66)
DdlFamilia.DataBind()
'Carga SubFamilias
DdlSubFamilia.DataSource = GlobalDTSubFamilias(66)
DdlSubFamilia.DataBind()
'COSTOS AF
DdlGrupo.Items.Insert(NumItems + 1, New ListItem("Costos por Activo Fijo", "14"))
'Carga AF
'DdlAF.DataSource = GlobalDTActivoFijos().FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
'DdlAF.DataBind()
End If
RowActivoFijo.Visible = True
'Carga Fechas
txtFechaI.Text = FirstDayOfMonth(Now.AddMonths(-5)).ToShortDateString
txtFechaF.Text = Now.ToShortDateString
CreaDataTableColor()
TipoCambio = 1
TCEspecifico = 0
End Sub
Private Sub CargaGrupo()
DdlGrupo.Items.Insert(0, New ListItem("Categoria", "3"))
DdlGrupo.Items.Insert(1, New ListItem("Clasificación", "4"))
DdlGrupo.Items.Insert(2, New ListItem("Productos-Servicios", "5"))
DdlGrupo.Items.Insert(3, New ListItem("Año", "6"))
DdlGrupo.Items.Insert(4, New ListItem("Mes", "7"))
DdlGrupo.Items.Insert(5, New ListItem("Año/Mes", "8"))
DdlGrupo.Items.Insert(6, New ListItem("Fecha", "9"))
DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10"))
DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11"))
DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12"))
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("8")
End Sub
Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Sucursal:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyecto.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.InnerText = "Proyecto:"
DdlSubProyecto.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyecto.DataBind()
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 3 Then
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("SubProyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 4 Then
LblProyecto.InnerText = "Sucursal:"
LblSubProyecto.InnerText = "Proyecto:"
DdlGrupo.Items.Insert(0, New ListItem("Sucursal", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Proyecto", "2"))
DdlGrupo.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 5 Then
LblProyecto.InnerText = "Proyecto:"
LblSubProyecto.InnerText = "Sucursal:"
DdlGrupo.Items.Insert(0, New ListItem("Proyecto", "1"))
DdlGrupo.Items.Insert(1, New ListItem("Sucursal", "2"))
DdlGrupo.DataBind()
End If
End Sub
Protected Sub BtnConsultar_Click(sender As Object, e As System.EventArgs) Handles BtnConsultar.Click
CargaDatos()
End Sub
Private Sub CargaDatos()
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero)
Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString
Dim Categoria As String = IIf(DdlCategoria.GetSelectedValuesM = "", "-1", DdlCategoria.GetSelectedValuesM).ToString
Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim TipoAF As String = IIf(DdlTipoAF.GetSelectedValuesM = "", "-1", DdlTipoAF.GetSelectedValuesM).ToString
Dim SubTipoAF As String = IIf(DdlSubTipoAF.GetSelectedValuesM = "", "-1", DdlSubTipoAF.GetSelectedValuesM).ToString
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1
If ObjCompras.GetRepProductosServiciosDetalle(DdlProyecto.SelectedValue.ToEntero, SubProyectos, Categoria, DdlClasificacion.SelectedValue.ToEntero,
DdlPS.SelectedValue.ToEntero, FechaI, FechaF, DdlProveedor.SelectedValue.ToEntero, DdlUsuario.SelectedValue.ToEntero, DdlEstatus.SelectedValue.ToEntero,
UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlFamilia.SelectedValue.ToEntero, DdlSubFamilia.SelectedValue.ToEntero, TipoAF, SubTipoAF, DdlAF.SelectedValue.ToEntero, CveMoneda, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=DdlTipoDocto.SelectedValue) Then
DtDatos = ObjCompras.DtResultados
Else
DtDatos = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataSource = DtDatos
GvDatos.DataBind()
UPDatos.Update()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
Private Sub CargaDatos(Proyecto As Integer, SubProyecto As String, Categoria As String, Clasificacion As Integer, PS As Integer, Proveedor As Integer, Usuario As Integer, Estatus As Integer, Grupo As Integer, Familia As Integer, SubFamilia As Integer, TipoActivoFijo As String, SubTipoActivoFijo As String, ActivoFijo As Integer, TipoGasto As String)
Dim ObjCompras As New ClsCompras()
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then TCEspecifico = TxtEspecifico.Text.ToDouble Else TCEspecifico = -1
If ObjCompras.GetRepProductosServiciosDetalle(Proyecto, SubProyecto, Categoria, Clasificacion, PS, FechaI, FechaF, Proveedor, Usuario, Estatus, UsuarioActual.CveEmpresa, Grupo, Familia, SubFamilia, TipoActivoFijo, SubTipoActivoFijo, ActivoFijo, CveMoneda, TipoCambio, TCEspecifico:=TCEspecifico, TipoGasto:=TipoGasto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, TipoDocto:=DdlTipoDocto.SelectedValue) Then
DtDatos = ObjCompras.DtResultados
Else
DtDatos = Nothing
End If
ObjCompras.Dispose()
GvDatos.DataSource = DtDatos
GvDatos.DataBind()
UPDatos.Update()
Agrupador = DdlGrupo.SelectedItem.Text
End Sub
Private Sub CargaSubProyecto()
DdlSubProyecto.Items.Clear()
If DdlProyecto.SelectedValue <> "-1" Then
DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero)
DdlSubProyecto.DataBind()
End If
'DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
#End Region
#Region "SELECT INDEX CHANGED"
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyecto.SelectedIndexChanged
CargaSubProyecto()
End Sub
'Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCategoria.SelectedIndexChanged
' CargaClasificaciones(DdlCategoria.SelectedValue.ToEntero)
'End Sub
'Private Sub CargaClasificaciones(CveCategoria As Integer)
' DdlClasificacion.Items.Clear()
' If DdlCategoria.SelectedValue <> "-1" Then
' DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=CveCategoria)
' DdlClasificacion.DataBind()
' End If
' DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
'End Sub
Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFamilia.SelectedIndexChanged
DdlSubFamilia.Items.Clear()
If DdlFamilia.SelectedValue <> "-1" Then
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero)
DdlSubFamilia.DataBind()
Else
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa)
DdlSubFamilia.DataBind()
End If
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoAF.SelectedIndexChanged
DdlSubTipoAF.Items.Clear()
If DdlTipoAF.GetSelectedValuesM <> "" Then
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66).FiltraParametros(String.Format("CveTipoActivoFijo IN ({0})", DdlTipoAF.GetSelectedValuesM(True)))
DdlSubTipoAF.DataBind()
Else
DdlSubTipoAF.DataSource = GlobalDTSubTipoActivoFijo(66)
DdlSubTipoAF.DataBind()
End If
'DdlSubTipoAF.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlSubTipoAF_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubTipoAF.SelectedIndexChanged
DdlAF.Items.Clear()
If DdlSubTipoAF.GetSelectedValuesM <> "" Then
DdlAF.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa, -1).FiltraParametros(String.Format("CveSubTipoActivoFijo IN ({0})", DdlSubTipoAF.GetSelectedValuesM(True)))
DdlAF.DataBind()
'Else
' DdlAF.DataSource = GlobalDTSubTipoActivoFijo(66)
' DdlAF.DataBind()
End If
DdlAF.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlPS.UsaWebService Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "Todos"
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, DdlClasificacion.SelectedValue.ToEntero)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Todos", "-1"))
End If
End Sub
#End Region
#Region "GRIDVIEW"
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If Not e.Row.DBCampo("CveCompra").ToEntero > 0 Then
If e.Row.DBCampo("GPO") = "" Then
e.Row.Cells(2).Text = e.Row.DBCampo("Moneda").ToString
e.Row.CssClass = "Totales"
Else
e.Row.Cells(2).Text = e.Row.DBCampo("GPO").ToString
e.Row.CssClass = "SubTotales"
End If
End If
End If
End Sub
#End Region
#Region "TIPO DE CAMBIO"
Private Sub RblTipoCambio_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RblTipoCambio.SelectedIndexChanged
TipoCambio = RblTipoCambio.SelectedValue.ToEntero
If RblTipoCambio.SelectedValue.ToEntero = 3 Then
Dim TipoCambio As Double
LiEspecifico.Visible = True
TipoCambio = GlobalTipoCambio(Now)
TxtEspecifico.Text = TipoCambio.ToString
Else
LiEspecifico.Visible = False
End If
UpBodyTipoCambio.Update()
End Sub
Private Sub BtnTipoCambio_Click(sender As Object, e As EventArgs) Handles BtnTipoCambio.Click
CargaDatos()
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivTipoCambio"))
UPDatos.Update()
End Sub
#End Region
#Region " IMPRESION - NUEVO "
Protected Sub ImgExcel_Click(sender As Object, e As System.EventArgs) Handles ImgExcel.Click
GenerarPDF("EXCEL")
End Sub
Private Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click
GenerarPDF()
End Sub
Private Sub GenerarPDF(Optional Formato As String = "PDF")
Dim FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
Dim FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha)
If txtFechaI.Text = "" Then FechaI = "-1".ToDate
If txtFechaF.Text = "" Then FechaF = "-1".ToDate
Dim Grupo = If(DdlGrupo.SelectedValue = "-1", "", $"&emsp;<b>Grupo:</b> {DdlGrupo.SelectedItem.Text}")
Dim Proyecto = If(DdlProyecto.SelectedValue = "-1", "", $"&emsp;<b>Proyecto:</b> {DdlProyecto.SelectedItem.Text}")
'Dim SubProyecto = If(DdlSubProyecto.SelectedValue = "-1", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.SelectedItem.Text}")
'Dim Categoria = If(DdlCategoria.SelectedValue = "-1", "", $"&emsp;<b>Categoria:</b> {DdlCategoria.SelectedItem.Text}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b> {DdlClasificacion.SelectedItem.Text}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>P.S:</b> {DdlPS.SelectedText}")
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b> {DdlProveedor.SelectedText}")
Dim Estatus = If(DdlEstatus.SelectedValue = "-1", "", $"&emsp;<b>Estatus:</b> {DdlEstatus.SelectedItem.Text}")
'Dim TipoAF = If(DdlTipoAF.SelectedValue = "-1", "", $"&emsp;<b>Tipo AF:</b> {DdlTipoAF.SelectedItem.Text}")
Dim FechaIn As String = $"&emsp;<b>Fecha Inicio:</b> {txtFechaI.Text}"
Dim FechaFn As String = $"&emsp;<b>Fecha Fin:</b> {txtFechaF.Text}"
If txtFechaI.Text = "" Then FechaIn = ""
If txtFechaF.Text = "" Then FechaFn = ""
Dim TCEspecifico = If(TxtEspecifico.Text.Trim = "", -1, TxtEspecifico.Text.ToEntero)
'PARAMETROS EN LISTBOXs
Dim SubProyecto = If(DdlSubProyecto.GetSelectedText = "", "", $"&emsp;<b>SubProyecto:</b> {DdlSubProyecto.GetSelectedText}")
Dim Categoria = If(DdlCategoria.GetSelectedText = "", "", $"&emsp;<b>Categoria:</b> {DdlCategoria.GetSelectedText}")
Dim TipoGasto = If(DdlTipoGasto.GetSelectedText = "", "", $"&emsp;<b>Tipo Gasto:</b> {DdlTipoGasto.GetSelectedText}")
Dim TipoAF = If(DdlTipoAF.GetSelectedText = "", "", $"&emsp;<b>Tipo AF:</b> {DdlTipoAF.GetSelectedText}")
Dim SubTipoAF = If(DdlSubTipoAF.GetSelectedText = "", "", $"&emsp;<b>SubTipo AF:</b> {DdlSubTipoAF.GetSelectedText}")
If DtDatos.Rows.Count > 0 Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
Dim params As New List(Of ReportParameter)
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
'params.Add(New ReportParameter("FechaInicio", FechaI))
'params.Add(New ReportParameter("FechaFin", FechaF))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
params.Add(New ReportParameter("AgrupoPor", $"{Grupo}{Proyecto}{TipoGasto}{SubProyecto}{Categoria}{Clasificacion}{PS}{Proveedor}{Estatus}{TipoAF}{SubTipoAF}{FechaIn}{FechaFn}"))
If Imagen.Exists Then
params.Add(New ReportParameter("LogoPath", logouri))
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
ImprimirPDF("Empresas/Grales/Formatos/RepProductosServiciosDetalleCompra.rdlc", DtDatos, params, "ReportePSDetalle", Formato)
Else
Alert("No hay datos consultados", TipoMensaje.MsgAdvertencia)
End If
End Sub
#End Region
#Region "GRAFICA"
Protected Sub LnkVerGrafica_Click(sender As Object, e As EventArgs)
If Not DtDatos IsNot Nothing AndAlso DtDatos.Rows.Count > 0 Then
Alert("No hay datos disponibles", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
LblTituloGrafica.Text = $"Agrupado por: {Agrupador}"
RegistraScript("$('#DivModalGrafica').modal('show')")
CambioGrafica()
End Sub
Private Sub CreaDataTableColor()
DtColor = New DataTable
DtColor.Columns.Add("Color")
Dim RowColor As DataRow = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF0F00"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF6600"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FF9E01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#FCD202"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#F8FF01"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#B0DE09"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#04D215"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D8ECF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#0D52D1"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#2A0CD0"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#8A0CCF"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#CD0D74"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#754DEB"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#DDDDDD"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#999999"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#333333"
DtColor.Rows.Add(RowColor)
RowColor = Nothing
RowColor = DtColor.NewRow()
RowColor("Color") = "#000000"
DtColor.Rows.Add(RowColor)
End Sub
Private Sub CambioGrafica()
Dim Dt As New DataTable()
Dt.Columns.Add("Texto")
Dt.Columns.Add("Valor")
Dt.Columns.Add("Color")
Dt.Columns.Add("Moneda")
Dim RowColorIndex As Integer = 0
For Each Dr As DataRow In DtDatos.Rows
If Not Dr("CveCompra").ToString.ToEntero > 0 Then
Dim Row As DataRow = Nothing
Row = Dt.NewRow()
Row("Texto") = $"{Dr("GPO").ToString} {GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Abreviatura").ToString}"
Select Case DdlVer.SelectedValue.ToEntero
Case 1
Row("Valor") = Dr("Total").ToString.FormatoNumero
Case 2
Row("Valor") = Dr("SubTotal").ToString.FormatoNumero
Case 3
Row("Valor") = Dr("Cantidad").ToString.FormatoNumero
End Select
Row("Color") = DtColor.Rows(RowColorIndex)("Color").ToString
Row("Moneda") = GlobalDTMonedas().FiltraParametros($"CveMoneda = {CveMoneda}").Rows(0)("Moneda").ToString
Dt.Rows.Add(Row)
RowColorIndex += 1
If RowColorIndex = 17 Then
RowColorIndex = 0
End If
End If
Next
Dim query = From s In Dt.AsEnumerable() Select New With {.Texto = s("Texto").ToString(), .Valor = s("Valor").ToString().ToDouble(), .Color = s("Color").ToString(), .Moneda = s("Moneda").ToString()}
Dim json As String = Newtonsoft.Json.JsonConvert.SerializeObject(query)
Select Case DdlGrafica.SelectedValue.ToEntero
Case 1
RegistraScript($"CargaGraficaBarras({json})", "22")
Case 2
RegistraScript($"CargaGraficaPastel({json})", "22")
End Select
UPModalProd.Update()
End Sub
Protected Sub DdlGrafica_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
Protected Sub DdlVer_SelectedIndexChanged(sender As Object, e As EventArgs)
CambioGrafica()
End Sub
#End Region
End Class

View File

@@ -0,0 +1,332 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepProductosServiciosPeriodo.aspx.cs" Inherits="Compras_RepProductosServiciosPeriodo" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Reporte de Productos Servicios Periodo
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkPdf" runat="server" OnClick="LnkPdf_Click"><i class="fa fa-ad-pdf"></i> Generar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkExportar" runat="server" OnClick="LnkExportar_Click"><i class="fa fa-ad-excel"></i> Generar Excel</asp:LinkButton>
</li>
<li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="ImgPersonalizar" runat="server"> <i class="fa fa-pencil"></i> Personalizar</asp:HyperLink>
</li>
<li>
<asp:HyperLink NavigateUrl="javascript:;" data-toggle="modal" data-target="#DivTipoCambio" ID="ImgTipoCambio" runat="server"> <i class="fa fa-money"></i> Ver Dlls en pesos</asp:HyperLink>
</li>
</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" id="idnecesaria">
<div class="portlet-title portlet-filterT smalltitle">
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" OnClick="BtnConsultar_Click" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros caption ">
<div class="row">
<div class="col-md-1 ">Proveedor:</div>
<div class="col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlProveedores" runat="server" AppendDataBoundItems="true" DataTextField="RazonSocial" DataValueField="CveProveedor">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</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 class="col-md-1 ">Grupo:</div>
<div class=" col-md-2 ">
<asp:DropDownList CssClass=" select2me" Width="100%" ID="DdlGrupo" runat="server">
<%-- <asp:ListItem Text="Año" Value="1"></asp:ListItem>
<asp:ListItem Text="Mes" Value="2"></asp:ListItem>
<asp:ListItem Selected="True" Text="Año/Mes" Value="3"></asp:ListItem>
<asp:ListItem Text="Fecha" Value="4"></asp:ListItem>
<asp:ListItem Text="Fecha Captura" Value="9"></asp:ListItem>
<asp:ListItem Text="Proveedor" Value="5"></asp:ListItem>
<asp:ListItem Text="Tipo Documento" Value="6"></asp:ListItem>
<asp:ListItem Text="Clasificación Prov" Value="7"></asp:ListItem>
<asp:ListItem Text="Responsable" Value="8"></asp:ListItem>
<asp:ListItem Text="Remesa" Value="10"></asp:ListItem>
<asp:ListItem Text="Remesa-Proyecto" Value="11"></asp:ListItem>
<asp:ListItem Text="Proyecto" Value="12"></asp:ListItem>--%>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none">
<div class="row">
<div class="col-md-1" runat="server" id="DivLblProyecto">
<asp:Label ID="LblProyecto" runat="server">Proyecto:</asp:Label>
</div>
<div class="col-md-2" runat="server" id="DivProyecto">
<asp:DropDownList ID="DdlProyecto" CssClass="select2me" runat="server" OnSelectedIndexChanged="DdlProyecto_SelectedIndexChanged" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label runat="server" ID="LblSubProyecto" CssClass="col-md-1">SubProyecto:</asp:Label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" CssClass="select2me" AppendDataBoundItems="true" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="true" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Fecha I. Captura</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaICaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaICaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaICaptura" runat="server" TargetControlID="TxtFechaICaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaICaptura" TargetControlID="TxtFechaICaptura" PopupButtonID="ImgFechaICaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="CVFechaICaptura" runat="server" ControlToValidate="TxtFechaICaptura" 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="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaICaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Fecha F. Captura:</div>
<div class="col-md-1">
<div class="input-group input-sm input-small date date-picker" data-date-format="dd/mm/yyyy" style="padding: 0px; width: 100px !important">
<asp:TextBox Width="80px" ID="TxtFechaFCaptura" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaFCaptura" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFCaptura" runat="server" TargetControlID="TxtFechaFCaptura" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFEchaFCaptura" TargetControlID="TxtFechaFCaptura" PopupButtonID="ImgFechaFCaptura" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RFVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="CVFechaFCaptura" runat="server" ControlToValidate="TxtFechaFCaptura" 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="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFCaptura" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">Moneda:</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlMonedas" runat="server" CssClass=" select2me" AppendDataBoundItems="true" DataTextField="Moneda" DataValueField="CveMoneda" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<div class="col-md-1 ">Capturó:</div>
<div class="col-md-2 ">
<asp:DropDownList ID="DDlUsuarioCaptura" CssClass=" select2me" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Responsable:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlUsuario" runat="server" AppendDataBoundItems="true" DataTextField="Nombre" DataValueField="CveUsuario">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1">Tipo Gasto:</div>
<div class="col-md-2">
<asp:DropDownList CssClass="select2me" Width="100%" ID="DdlTipoGasto" runat="server" AppendDataBoundItems="true" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row">
<label class="col-md-1 truncate">Categoría</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlCategoria" Width="100%" CssClass="select2me" runat="server" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Clasificación</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">P. S.</label>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
</div>
<div class="row" id="RowCostos" runat="server" visible="false">
<label class="col-md-1 truncate">Familia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlFamilia" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" OnSelectedIndexChanged="DdlFamilia_SelectedIndexChanged" AppendDataBoundItems="true" DataTextField="Categoria" DataValueField="CveCategoria">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">SubFamilia</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubFamilia" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="Clasificacion" DataValueField="CveClasificacion">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Asignar" Value="-2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
<div class="row" id="RowActivoFijo" runat="server" visible="false">
<label class="col-md-1 truncate">Tipo AF</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" OnSelectedIndexChanged="DdlTipoAF_SelectedIndexChanged" AppendDataBoundItems="true" DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">SubTipo AF</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubTipoAF" Width="100%" AutoPostBack="true" runat="server" CssClass="select2me" OnSelectedIndexChanged="DdlSubTipoAF_SelectedIndexChanged" AppendDataBoundItems="true" DataTextField="SubTipoActivoFijo" DataValueField="CveSubTipoActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 truncate">Activo Fijo</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlAF" Width="100%" runat="server" CssClass="select2me" AppendDataBoundItems="true" DataTextField="CodDesc" DataValueField="CveActivoFijo">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" data-sort="true" Width="98%" AutoGenerateColumns="False"
EmptyDataText="No se encontraron Ventas con los filtros especificados" ToolTip="Listado de Ventas"
CssClass="table GVD table-striped table-hover Widthall ScrollAD" GridLines="None" OnRowDataBound="GvDatos_RowDataBound">
<Columns>
<asp:BoundField DataField="GPO" HeaderText="Grupo" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Enero" HeaderText="Ene" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Febrero" HeaderText="Feb" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Marzo" HeaderText="Mar" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Abril" HeaderText="Abr" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Mayo" HeaderText="May" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Junio" HeaderText="Jun" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Julio" HeaderText="Jul" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Agosto" HeaderText="Ago" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Septiembre" HeaderText="Sep" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Octubre" HeaderText="Oct" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Noviembre" HeaderText="Nov" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Diciembre" HeaderText="Dic" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField DataField="Total" HeaderText="Total" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UPPersonalizar" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivPersonalizar" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label2" runat="server" ClientIDMode="Static" Text="Ver En:"></asp:Label></h4>
</div>
<div class="modal-body">
<table style="width: 335px;" class="table table-striped table-advance table-hover">
<tbody>
<tr>
<td style="text-align: left;">
<asp:RadioButton ID="RbSubTotal" Checked="true" GroupName="GnPersonalizar" Text="SubTotal" runat="server" /></td>
<td style="text-align: left;">
<asp:RadioButton ID="RbTotal" GroupName="GnPersonalizar" Text="Total" runat="server" /></td>
<td style="text-align: left;">
<asp:RadioButton ID="RbIVA" GroupName="GnPersonalizar" Text="IVA" runat="server" /></td>
</tr>
</tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-success" data-dismiss="modal" onclick="$('#BtnPersonalizar').click();">Personalizar</button>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnPersonalizar" Style="display: none" ClientIDMode="Static" runat="server" Text="Personalizar" class="btn btn-success" OnClick="BtnPersonalizar_Click" />
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel runat="server" ID="UpTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<div id="DivTipoCambio" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">
<asp:Label ID="Label1" runat="server" ClientIDMode="Static" Text="Cambiar Tipo Cambio de Dólares"></asp:Label></h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpBodyTipoCambio" UpdateMode="Conditional">
<ContentTemplate>
<asp:RadioButtonList runat="server" ID="RblTipoCambio" OnSelectedIndexChanged="RblTipoCambio_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Selected="true" Text="Moneda Original" Value="1"></asp:ListItem>
<asp:ListItem Text="Dólares en Tipo Cambio de la Fecha Compra" Value="2"></asp:ListItem>
<asp:ListItem Text="Tipo Cambio Especifico" Value="3"></asp:ListItem>
</asp:RadioButtonList>
<div class="row" style="margin-left: 10px;" runat="server" id="LiEspecifico" visible="false">
Especifico:
<asp:TextBox ID="TxtEspecifico" runat="server" Width="55px" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="modal-footer">
<asp:Button ID="BtnTipoCambio" runat="server" Text="Aceptar" class="btn btn-primary" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

Some files were not shown because too many files have changed in this diff Show More