This commit is contained in:
rrene
2020-07-23 09:33:12 -07:00
23 changed files with 1449 additions and 92 deletions

View File

@@ -87,8 +87,8 @@ Partial Class AF_CatAF
DdlEstatus.DataSource = GlobalDTEstadoActivoFijo DdlEstatus.DataSource = GlobalDTEstadoActivoFijo
DdlEstatus.DataBind() DdlEstatus.DataBind()
DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1")) DdlEstatus.Items.Insert(0, New ListItem("Todos", "-1"))
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto) CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyecto)
GvDatos.Columns(7).HeaderText = LblSubProyecto.Text
DivProyecto.Visible = LblProyecto.Visible DivProyecto.Visible = LblProyecto.Visible
DivProyectoDdl.Visible = LblProyecto.Visible DivProyectoDdl.Visible = LblProyecto.Visible
'DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa) 'DdlProyecto.DataSource = GlobalDTProyectos(UsuarioActual.CveEmpresa)

View File

@@ -2743,8 +2743,355 @@ Public Class ClsOIEventos
Return Retorno Return Retorno
End Function End Function
#End Region #End Region
#Region "OI_Documentos"
#Region "OI_DocumentosCategorias"
Public Function GetDocumentoCategoria(Optional CveCategoria As Integer = -1, Optional Categoria As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosCategoriasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@Categoria", SqlDbType.NVarChar).Value = Categoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener la categoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function AddDocumentoCategoria(Categoria As String, Estado As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosCategoriasAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@Categoria", SqlDbType.NVarChar).Value = Categoria
.Add("@Estado", SqlDbType.Bit).Value = Estado
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar la categoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateDocumentoCategoria(CveCategoria As Integer, Categoria As String, Estado As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosCategoriasUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@Categoria", SqlDbType.NVarChar).Value = Categoria
.Add("@Estado", SqlDbType.Bit).Value = Estado
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar la categoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveDocumentoCategoria(CveCategoria As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosCategoriasRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCategoria", SqlDbType.NVarChar).Value = CveCategoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar la categoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "OI_DocumentosSubCategoria"
Public Function GetDocumentoSubCategoria(Optional CveSubCategoria As Integer = -1, Optional SubCategoria As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosSubCategoriasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSubCategoria", SqlDbType.Int).Value = CveSubCategoria
.Add("@SubCategoria", SqlDbType.NVarChar).Value = SubCategoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener la subcategoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function AddDocumentoSubCategoria(SubCategoria As String, CveCategoria As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosSubCategoriasAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@SubCategoria", SqlDbType.NVarChar).Value = SubCategoria
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar la subcategoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateDocumentoSubCategoria(CveSubCategoria As Integer, SubCategoria As String, CveCategoria As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosSubCategoriasUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSubCategoria", SqlDbType.Int).Value = CveSubCategoria
.Add("@SubCategoria", SqlDbType.NVarChar).Value = SubCategoria
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar la subcategoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveDocumentoSubCategoria(CveSubCategoria As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosSubCategoriasRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSubCategoria", SqlDbType.NVarChar).Value = CveSubCategoria
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar la subcategoria", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "Documentos"
Public Function ListadoDocumentos(CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_ListarDocumentos")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el listado de documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetDocumento(CveDocumento As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function AddDocumento(CveSubCategoria As Integer, Descripcion As String, Observacion As String, Version As String, CveEstatus As Integer, ArchivoFisico As String,
Responsable As String, CveDocumentoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Integer
Dim Retorno As Integer = -1
DataAdapter("PA_OI_DocumentosAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveSubCategoria", SqlDbType.Int).Value = CveSubCategoria
.Add("@Descripcion", SqlDbType.NVarChar).Value = Descripcion
.Add("@Observacion", SqlDbType.NVarChar).Value = Observacion
.Add("@Version", SqlDbType.NVarChar).Value = Version
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
.Add("@ArchivoFisico", SqlDbType.NVarChar).Value = ArchivoFisico
.Add("@Responsable", SqlDbType.NVarChar).Value = Responsable
.Add("@CveDocumentoPadre", SqlDbType.Int).Value = CveDocumentoPadre
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveDocumento", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
SqlAdapter.Fill(Data)
Retorno = SqlAdapter.SelectCommand.Parameters("@CveDocumento").Value.ToString().ToEntero()
Catch ex As Exception
OnError("Ocurrió un error al agregar el Documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpdateDocumento(CveDocumento As Integer, CveSubCategoria As Integer, Descripcion As String, Observacion As String, Version As String, CveEstatus As Integer, ArchivoFisico As String,
Responsable As String, FechaAprobacion As Date, CveDocumentoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
.Add("@CveSubCategoria", SqlDbType.Int).Value = CveSubCategoria
.Add("@Descripcion", SqlDbType.NVarChar).Value = Descripcion
.Add("@Observacion", SqlDbType.NVarChar).Value = Observacion
.Add("@Version", SqlDbType.NVarChar).Value = Version
.Add("@CveEstatus", SqlDbType.Int).Value = CveEstatus
.Add("@ArchivoFisico", SqlDbType.NVarChar).Value = ArchivoFisico
.Add("@Responsable", SqlDbType.NVarChar).Value = Responsable
.Add("@FechaAprobacion", SqlDbType.Date).Value = FechaAprobacion
.Add("@CveDocumentoPadre", SqlDbType.Int).Value = CveDocumentoPadre
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el Documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function RemoveDocumento(CveDocumento As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "OI_DocumentosAutorizacion"
Public Function AddDocumentoAutorizacion(CveDocumento As Integer, CveUsuario As Integer, Adjunto As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("OI_DocumentosAutorizacionesAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Adjunto", SqlDbType.NVarChar).Value = Adjunto
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el usuario para autorizar el documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetDocumentoAutorizacion(CveDocumento As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_DocumentosAutorizacionesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveDocumento", SqlDbType.Int).Value = CveDocumento
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el usuario o usuarios para autorizar el documento", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#End Region
' IDisposable ' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean) Protected Overridable Sub Dispose(ByVal disposing As Boolean)

View File

@@ -4590,6 +4590,10 @@ Public Class ClsPaginas
PaginaDict.Add("/OI/RepDesarrollo.aspx".ToUpper(), 475) PaginaDict.Add("/OI/RepDesarrollo.aspx".ToUpper(), 475)
PaginaDict.Add("/OI/DesarrolloWizard.aspx".ToUpper(), 474) PaginaDict.Add("/OI/DesarrolloWizard.aspx".ToUpper(), 474)
PaginaDict.Add("/OI/SubidasADS.aspx".ToUpper(), 476) PaginaDict.Add("/OI/SubidasADS.aspx".ToUpper(), 476)
PaginaDict.Add("/OI/CatDocumentoCategoria.aspx".ToUpper(), 760)
PaginaDict.Add("/OI/CatDocumentoSubCategoria.aspx".ToUpper(), 761)
PaginaDict.Add("/OI/Documentos.aspx".ToUpper(), 762)
PaginaDict.Add("/OI/DocumentoDetalle.aspx".ToUpper(), 763)
#End Region #End Region
#Region "Planeacion" #Region "Planeacion"
'PLANEACIÓN 'PLANEACIÓN

View File

@@ -118,7 +118,7 @@
Proyecto: Proyecto:
</div> </div>
<div class="col-md-1" runat="server" id="Div1">Aplica NC:</div> <div class="col-md-1" runat="server" id="Div1">Aplica NC/Dev:</div>
<div class="col-md-1" id="ds" style="width: 120px;"> <div class="col-md-1" id="ds" style="width: 120px;">
<asp:DropDownList CssClass="form-control select2me input-sm" ID="DdlAplicaNC" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%"> <asp:DropDownList CssClass="form-control select2me input-sm" ID="DdlAplicaNC" runat="server" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>

View File

@@ -137,7 +137,7 @@
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-1" data-toggle="tooltip" data-placement="left" title="Aplica Nota de Crédito">Aplica NC:</div> <div class="col-md-1" data-toggle="tooltip" data-placement="left" title="Aplica Nota de Crédito">Aplica NC/Dev:</div>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList CssClass="form-control input-sm" ID="AplicaNC" runat="server" AppendDataBoundItems="true" Style="height: 30px;"> <asp:DropDownList CssClass="form-control input-sm" ID="AplicaNC" runat="server" AppendDataBoundItems="true" Style="height: 30px;">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>

View File

@@ -682,7 +682,7 @@
</asp:Panel> </asp:Panel>
<asp:GridView ID="GvPS" ShowHeader="false" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePS,Cantidad,CveUM,UM,PU,Descuento,OtrosGastos,CvePresupuestoEgreso,PS,Clasificacion,CveClasificacion,CveOrdenCompraDetalle,IVA,IVAPorcentaje,RetIVAPorcentaje,RetISRPorcentaje,IEPSPSPorcentaje,Obs,Total,CveProyecto,CveSubProyecto,Proyecto,SubProyecto,Consec,CveTipoGasto,NoDeducible" GridLines="none" BorderWidth="0" EmptyDataText="Sin Productos o Servicios agregados" CssClass="table GvPS table-striped table-hover table-advance Widthall ScrollAD mysmallbtn"> <asp:GridView ID="GvPS" ShowHeader="false" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePS,Cantidad,CveUM,UM,PU,Descuento,OtrosGastos,CvePresupuestoEgreso,PS,Clasificacion,CveClasificacion,CveOrdenCompraDetalle,IVA,IVAPorcentaje,RetIVAPorcentaje,RetISRPorcentaje,IEPSPSPorcentaje,Obs,Total,CveProyecto,CveSubProyecto,Proyecto,SubProyecto,Consec,CveTipoGasto,NoDeducible,DifPSSat" GridLines="none" BorderWidth="0" EmptyDataText="Sin Productos o Servicios agregados" CssClass="table GvPS table-striped table-hover table-advance Widthall ScrollAD mysmallbtn">
<Columns> <Columns>
<%-- 0 --%> <%-- 0 --%>
<asp:TemplateField ItemStyle-Width="15px"> <asp:TemplateField ItemStyle-Width="15px">

View File

@@ -1511,6 +1511,8 @@ Partial Class Compras_Compras
CargaFletesAgregados() CargaFletesAgregados()
End If End If
InicializaOC() InicializaOC()
'Valida si el IVA del XML es está bien calculado 'Valida si el IVA del XML es está bien calculado
@@ -2396,6 +2398,8 @@ Partial Class Compras_Compras
EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero
DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra")) DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra"))
CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero
ChkEsNoDeducible.Checked = Boolean.Parse(dr("NoDeducible").ToString)
'Select Case dr("PorcentajeIVA").ToString.ToDouble 'Select Case dr("PorcentajeIVA").ToString.ToDouble
' Case 0 ' Case 0
' DdlIVA.SelectedValue = "1" ' DdlIVA.SelectedValue = "1"
@@ -2620,6 +2624,7 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
TmpDT.Columns.Add("CveContrato", GetType(Integer)) TmpDT.Columns.Add("CveContrato", GetType(Integer))
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
@@ -3612,6 +3617,7 @@ Partial Class Compras_Compras
tPSCodigo = String.Format("{1} - {0}", ValorXML(node, "descripcion").ToUpper.Trim.Replace(vbCrLf, " ").Replace(vbLf, " ").Replace("'", "''"), ValorXML(node, "noIdentificacion").Trim) tPSCodigo = String.Format("{1} - {0}", ValorXML(node, "descripcion").ToUpper.Trim.Replace(vbCrLf, " ").Replace(vbLf, " ").Replace("'", "''"), ValorXML(node, "noIdentificacion").Trim)
End If End If
'Alert(ValorXML(node, "ClaveProdServ").Trim)
If Version = "3.3" Then If Version = "3.3" Then
If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
@@ -3721,6 +3727,8 @@ Partial Class Compras_Compras
'AGREGA A TMPDT 'AGREGA A TMPDT
AddPS(ValorXML(node, "cantidad").ToDouble, CveUM, UMM, tCveClasif, Clasif, tCvePS, PSS, TipoPS, "-1", "SE", "SE", "-1", Obs, PU, Total, IVA, RetIVA, RetISR, IEPS, 0, Descuento, PSCodigo:=tPSCodigo, TCalculaTotales:=False, CveSATPS:=ValorXML(node, "ClaveProdServ").ToEntero(), CargaXml:=True, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, PorcentajeRetISR:=PorcentajeRetISR, PorcentajeIEPS:=PorcentajeIEPS) AddPS(ValorXML(node, "cantidad").ToDouble, CveUM, UMM, tCveClasif, Clasif, tCvePS, PSS, TipoPS, "-1", "SE", "SE", "-1", Obs, PU, Total, IVA, RetIVA, RetISR, IEPS, 0, Descuento, PSCodigo:=tPSCodigo, TCalculaTotales:=False, CveSATPS:=ValorXML(node, "ClaveProdServ").ToEntero(), CargaXml:=True, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, PorcentajeRetISR:=PorcentajeRetISR, PorcentajeIEPS:=PorcentajeIEPS)
Next Next
End If End If
@@ -4484,6 +4492,17 @@ Partial Class Compras_Compras
'si el registro es manual, toma el mismo dato 'si el registro es manual, toma el mismo dato
If CveFactura <= 0 Then TotalOriginal = TxtTotal.Text.ToDecimal If CveFactura <= 0 Then TotalOriginal = TxtTotal.Text.ToDecimal
For Each GvRow As GridViewRow In GvPS.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
If GvRow.FCCheckBox("ChkEsNoDeduciblePS").Checked = False Then
EsNoDeducible = False
Exit For
End If
End If
Next
'Compra 'Compra
If ObjCompras.AddCompra(DdlTipoComprobante.SelectedValue, TxtDescripcion.Text.Trim, TxtSerie.Text.Trim, TxtFolio.Text.Trim, TxtFolioSecundario.Text.Trim, CveProveedor, TxtSubTotal.Text.ToDouble, TxtDescuento.Text.ToDouble, If ObjCompras.AddCompra(DdlTipoComprobante.SelectedValue, TxtDescripcion.Text.Trim, TxtSerie.Text.Trim, TxtFolio.Text.Trim, TxtFolioSecundario.Text.Trim, CveProveedor, TxtSubTotal.Text.ToDouble, TxtDescuento.Text.ToDouble,
LblAmortizacion.Text.ToDouble, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtIEPS.Text.ToDouble, TxtOtrosImpuestos.Text.ToDouble, LblAmortizacion.Text.ToDouble, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtIEPS.Text.ToDouble, TxtOtrosImpuestos.Text.ToDouble,
@@ -10755,6 +10774,14 @@ Partial Class Compras_Compras
End If End If
If e.Row.DataKey("DifPSSat").ToEntero = 1 Then
'#e35b5a
e.Row.BackColor = Drawing.Color.FromArgb(1, 227, 91, 90)
e.Row.Attributes.Add("data-toggle", "tooltip")
e.Row.Attributes.Add("title", "El código del producto del SAT no es igual al código del producto registrado.")
End If
End If End If
End Sub End Sub
Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvPS.RowDeleting Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvPS.RowDeleting
@@ -11018,6 +11045,8 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double)) TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double))
TmpDT.Columns.Add("NoDeducible", GetType(Boolean)) TmpDT.Columns.Add("NoDeducible", GetType(Boolean))
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
TmpDTOriginal = New DataTable TmpDTOriginal = New DataTable
TmpDTOriginal.Columns.Add("Consec", GetType(Integer)) TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal)) TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal))

View File

@@ -0,0 +1,76 @@
<%@ Page Title="OI - Catálogo de Categorías de Documentos" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatDocumentoCategoria.aspx.cs" Inherits="OI_CatDocumentoCategoria" %>
<%@ 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 Categorías de Documentos
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="BtnAgregarCategoria" OnClick="BtnAgregarCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Categoría"></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>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCategoria,Estado,Estatus,Categoria" EmptyDataText="No se encontraron Categorías de Documentos Registrados" ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Categoría" DataField="Categoria" />
<asp:BoundField HeaderText="Estado" DataField="Estatus" />
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
<%--<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></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>
<div id="DivAgregarTiposD" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Agregar Categoría de Documentos</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtCategoria" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtCategoria" runat="server" ControlToValidate="TxtCategoria" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Categoría''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="TxtCategoria">Categoría:</label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright">
<label for="ChkEstatus">Estatus:</label>
<asp:CheckBox runat="server" ID="ChkEstatus" CssClass="make-switchsd" data-size="small" Text=" " />
</div>
</div>
<br />
<div class="modal-footer">
<asp:Button ID="BtnAgregarCategoriaDoc" OnClick="BtnAgregarCategoriaDoc_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,104 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
public partial class OI_CatDocumentoCategoria : ClsPaginas
{
private int CveCategoria
{
get
{
return ViewState["CveCategoria"].ToString().ToEntero();
}
set
{
ViewState["CveCategoria"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
}
}
private void CargaDatos()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoCategoria())
{
GvDatos.DataSource = ObjOI.DtResultados;
GvDatos.DataBind();
}
ObjOI.Dispose();
}
protected void BtnAgregarCategoria_Click(object sender, EventArgs e)
{
BtnAgregarCategoriaDoc.Text = "Agregar";
TxtCategoria.Text = "";
ChkEstatus.Checked = true;
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
}
protected void LnkEditar_Click(object sender, EventArgs e)
{
BtnAgregarCategoriaDoc.Text = "Actualizar";
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CveCategoria = GvRow.DataKey("CveCategoria").ToEntero();
TxtCategoria.Text = GvRow.DataKey("Categoria");
ChkEstatus.Checked = GvRow.DataKey("Estado").ToString() == "True";
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
}
protected void LnkEliminar_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CveCategoria = GvRow.DataKey("CveCategoria").ToEntero();
ClsCompras ObjCompras = new ClsCompras();
if (ObjCompras.RemoveTipoGasto(CveCategoria))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se eliminó la Categoría de Documento correctamente");
}
ObjCompras.Dispose();
}
protected void BtnAgregarCategoriaDoc_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (BtnAgregarCategoriaDoc.Text == "Agregar")
{
if (ObjOI.AddDocumentoCategoria(TxtCategoria.Text,ChkEstatus.Checked))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se agregó la Categoría de Documento correctamente");
}
}else
{
if (ObjOI.UpdateDocumentoCategoria(CveCategoria,TxtCategoria.Text,ChkEstatus.Checked))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se actualizó la Categoría de Documento correctamente");
}
}
ObjOI.Dispose();
}
}

View File

@@ -0,0 +1,76 @@
<%@ Page Title="OI - Catálogo de Subcategorías de Documentos" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="CatDocumentoSubCategoria.aspx.cs" Inherits="OI_CatDocumentoSubCategoria" %>
<%@ 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 Subcategorías de Documentos
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="BtnAgregarSubCategoria" OnClick="BtnAgregarSubCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Subcategoría"></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>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveSubCategoria,SubCategoria,CveCategoria,Categoria" EmptyDataText="No se encontraron Categorías de Documentos Registrados" ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Subcategoría" DataField="SubCategoria" />
<asp:BoundField HeaderText="Categoría" DataField="Categoria" />
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
<%--<asp:LinkButton ID="LnkEliminar" OnClick="LnkEliminar_Click" runat="server" Visible="true" AlternateText="Reasignar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i title='Reasignar' class='icon-trash' title='Eliminar' ></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>
<div id="DivAgregarTiposD" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalTiposD" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Agregar Categoría de Documentos</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtSubCategoria" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtSubCategoria" runat="server" ControlToValidate="TxtSubCategoria" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Categoría''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="TxtSubCategoria">Subcategoría:</label>
<i></i>
</div>
<br />
<div>
<label for="TxtSubCategoria">Categoria:</label>
<asp:DropDownList ID="DdlCategorias" CssClass="form-control select2me" runat="server" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
</div>
</div>
<br />
<div class="modal-footer">
<asp:Button ID="BtnAgregarSubCategoriaDoc" OnClick="BtnAgregarSubCategoriaDoc_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
<button id="Button3" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -0,0 +1,114 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
public partial class OI_CatDocumentoSubCategoria : ClsPaginas
{
private int CveSubCategoria
{
get
{
return ViewState["CveSubCategoria"].ToString().ToEntero();
}
set
{
ViewState["CveSubCategoria"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
CargaCategoria();
}
}
private void CargaDatos()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoSubCategoria())
{
GvDatos.DataSource = ObjOI.DtResultados;
GvDatos.DataBind();
}
ObjOI.Dispose();
}
private void CargaCategoria()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoCategoria())
{
DdlCategorias.DataSource = ObjOI.DtResultados.FiltraParametros("Estado = 1");
DdlCategorias.DataBind();
}
ObjOI.Dispose();
}
protected void BtnAgregarSubCategoria_Click(object sender, EventArgs e)
{
BtnAgregarSubCategoriaDoc.Text = "Agregar";
TxtSubCategoria.Text = "";
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
}
protected void LnkEditar_Click(object sender, EventArgs e)
{
BtnAgregarSubCategoriaDoc.Text = "Actualizar";
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CveSubCategoria = GvRow.DataKey("CveSubCategoria").ToEntero();
TxtSubCategoria.Text = GvRow.DataKey("SubCategoria");
UpModalTiposD.Update();
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"));
}
protected void LnkEliminar_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
CveSubCategoria = GvRow.DataKey("CveSubCategoria").ToEntero();
ClsCompras ObjCompras = new ClsCompras();
if (ObjCompras.RemoveTipoGasto(CveSubCategoria))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se eliminó la Categoría de Documento correctamente");
}
ObjCompras.Dispose();
}
protected void BtnAgregarSubCategoriaDoc_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (BtnAgregarSubCategoriaDoc.Text == "Agregar")
{
if (ObjOI.AddDocumentoSubCategoria(TxtSubCategoria.Text, DdlCategorias.SelectedValue.ToEntero()))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se agregó la Categoría de Documento correctamente");
}
}
else
{
if (ObjOI.UpdateDocumentoSubCategoria(CveSubCategoria, TxtSubCategoria.Text, DdlCategorias.SelectedValue.ToEntero()))
{
CargaDatos();
UpDatos.Update();
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD"));
Alert("Se actualizó la Categoría de Documento correctamente");
}
}
ObjOI.Dispose();
}
}

131
OI/DocumentoDetalle.aspx Normal file
View File

@@ -0,0 +1,131 @@
<%@ Page Title="OI - Documentos detalle" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="DocumentoDetalle.aspx.cs" Inherits="OI_DocumentoDetalle" %>
<%@ 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">
Documentos detalle
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<%--<li>
<asp:LinkButton runat="server" ID="BtnAgregarDocumento" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Documento"></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Imprimir Excel</asp:LinkButton>
</li>--%>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpCliente" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="width: 100%;">
<ContentTemplate>
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
<div class="row form-group" style="width: 100%">
<asp:UpdatePanel ID="UpDerecha" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblDescripción" Text="Descripción" />
<asp:TextBox runat="server" ID="TxtDescripcion" class="form-control" />
<asp:RequiredFieldValidator ID="RfvTxtDescripcion" runat="server" ControlToValidate="TxtDescripcion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblSubCategoria" Text="Subcategoría" /><br />
<asp:DropDownList runat="server" ID="DdlSubCategoria" CssClass="select2me" Style="width: 30%" DataValueField="CveSubCategoria" DataTextField="SubCategoria">
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblEstatus" Text="Estatus" /><br />
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Style="width: 30%">
<asp:ListItem Value="1" Text="En Proceso" />
<asp:ListItem Value="2" Text="Aprobado" />
<asp:ListItem Value="1" Text="Rechazado" />
</asp:DropDownList>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblVersion" Text="Versión" />
<asp:TextBox runat="server" ID="TxtVersion" class="form-control" Style="width: 30%" />
<asp:RequiredFieldValidator ID="RfvTxtVersion" runat="server" ControlToValidate="TxtVersion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Versión''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblResponsable" Text="Responsable" />
<asp:TextBox runat="server" ID="TxtResponsable" class="form-control" Style="width: 50%" />
<asp:RequiredFieldValidator ID="RfvTxtResponsable" runat="server" ControlToValidate="TxtResponsable" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Responsable''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblObs" Text="Observaciones" />
<textarea runat="server" id="TxtObs" class="form-control" style="border: 1px solid #e5e5e5" rows="2"></textarea>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<div>
<asp:Label runat="server" ID="LblDocumentoFile" Text="Documento" />
<asp:TextBox ID="TxtDocumentoFile" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
</div>
<div runat="server" id="DivDescargarArchivo" visible="false">
<asp:Label runat="server" ID="LblDocumentoCargado" Text="Documento cargado:" />
<asp:LinkButton runat="server" ID="LkbDescargarArchivo" Text="" OnClick="LkbDescargarArchivo_Click"/>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LkbDescargarArchivo" />
</Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpIzquierda" runat="server" UpdateMode="Conditional" class="col-md-2" style="width: 50%;">
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; height: 150px; text-align: center">
<asp:Label runat="server" ID="LblUsuarios" Text="Usuarios" Font-Size="14px" /><br /><br />
<div class="text-right" style="">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px; height: 25px; border-color: #89C4F4; border:1px solid #e5e5e5" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvUsuarios.ClientID) %>" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatosUsuarios" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUsuarios" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario,Usuario,Correo" EmptyDataText="No se encontraron Categorías de Documentos Registrados"
ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover Widthall ScrollAD"
Style="margin-top: -10px; text-align: center; width: 100%; overflow-x: hidden" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Nombre" DataField="Nombre" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Unir">
<ItemTemplate>
<asp:CheckBox runat="server" ID="ChkUnir" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="row">
<div class="col-md-1" style="text-align: center; width: 100%">
<br />
<asp:LinkButton runat="server" ID="LkbGuardar" OnClick="LblGuardar_Click" Text="Guardar" class="btn btn-primary" ValidationGroup="GrpDoc"/>
<br />
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

376
OI/DocumentoDetalle.aspx.cs Normal file
View File

@@ -0,0 +1,376 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using System.IO;
using System.Text;
public partial class OI_DocumentoDetalle : ClsPaginas
{
private int CveDocumento
{
get
{
return ViewState["CveDocumento"].ToString().ToEntero();
}
set
{
ViewState["CveDocumento"] = value;
}
}
private string ErrorMensaje
{
get
{
return ViewState["ErrorMensaje"].ToString();
}
set
{
ViewState["ErrorMensaje"] = value;
}
}
private string ArchivoAdjuntoNombre
{
get
{
return ViewState["ArchivoAdjuntoNombre"].ToString();
}
set
{
ViewState["ArchivoAdjuntoNombre"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Cargar();
}
}
#region "CARGAS"
private void CargarCveDocumento()
{
string CveDocumentoAux = Page.Request["CveDocumento"];
if (CveDocumentoAux != null)
{
this.CveDocumento = CveDocumentoAux.ToEntero();
}
else
{
this.CveDocumento = -1;
}
}
private void CargarMensajeNuevoEditado()
{
string MensajeNuevoEditado = Page.Request["Mensaje"];
if (MensajeNuevoEditado == "Nuevo")
{
Alert("El Documento ha sido creado correctamente");
}else if(MensajeNuevoEditado == "Editado")
{
Alert("Los cambios en el Documento han sido guardado correctamente");
}
}
private void CargarUsuarios()
{
GvUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa);
GvUsuarios.DataBind();
}
private void CargarSubCategoria()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoSubCategoria())
{
DdlSubCategoria.DataSource = ObjOI.DtResultados;
DdlSubCategoria.DataBind();
}
ObjOI.Dispose();
}
private void CargarResponsable()
{
TxtResponsable.Text = UsuarioActual.Nombre;
}
private void CargarDocumentoYaExistente()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumento(this.CveDocumento, UsuarioActual.CveEmpresa))
{
if (ObjOI.DtResultados.Rows.Count > 0)
{
DataRow Documento = ObjOI.DtResultados.Rows[0];
TxtDescripcion.Text = Documento["Descripcion"].ToString();
DdlSubCategoria.SelectedValue = Documento["CveSubCategoria"].ToString();
DdlEstatus.SelectedValue = Documento["CveEstatus"].ToString();
TxtVersion.Text = Documento["Version"].ToString();
TxtResponsable.Text = Documento["Responsable"].ToString();
TxtObs.InnerText = Documento["Observacion"].ToString();
ArchivoAdjuntoNombre = Documento["ArchivoFisico"].ToString();
string[] ArchivoAux = Documento["ArchivoFisico"].ToString().Split('_');
string ArchivoAdjunto = ArchivoAux[1];
LkbDescargarArchivo.Text = ArchivoAdjunto;
DivDescargarArchivo.Visible = true;
}
}
ObjOI.Dispose();
}
private void CargarUsuariosAutorizo()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.GetDocumentoAutorizacion(this.CveDocumento))
{
DataTable UsuariosAutorizo = ObjOI.DtResultados;
GridViewRowCollection UsuariosRowCollection = GvUsuarios.Rows;
foreach (GridViewRow UsuarioRow in UsuariosRowCollection)
{
int CveUsuarioRow = UsuarioRow.DataKey("CveUsuario").ToEntero();
UsuarioRow.FCCheckBox("ChkUnir").Checked = UsuariosAutorizo.COUNT("CveUsuario", string.Format("CveUsuario = {0}", CveUsuarioRow)) > 0;
}
}
ObjOI.Dispose();
}
private void ConfiguracionActualizar()
{
LkbGuardar.Text = "Actualizar";
}
private void Cargar()
{
CargarUsuarios();
CargarSubCategoria();
CargarResponsable();
CargarCveDocumento();
if (this.CveDocumento > 0)
{
CargarDocumentoYaExistente();
CargarUsuariosAutorizo();
ConfiguracionActualizar();
CargarMensajeNuevoEditado();
}
}
#endregion
#region "GENERAR DOCUMENTO"
protected void LblGuardar_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
ObjOI.IniciaTransacSQL();
bool TieneError = false;
//Esta variable es requerida más adelante
int CveDocumento = 0;
string RutaArchivo = "-1";
string CorreosNotificacion = "";
byte[] ArchivoNotifiacion = null;
CveDocumento = GuardarDocumento(ref ObjOI, ref TieneError);//Se crea el Documento
if (!TieneError) { RutaArchivo = AsignarArchivoAlDocumento(CveDocumento, ref ObjOI, ref TieneError); }//Se guarda el archivo fisico y se asigna al Documento generado
if (!TieneError) { CorreosNotificacion = GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
if (!TieneError)
{
ArchivoNotifiacion = GenerarArchivoByte(RutaArchivo);
NotificarPorCorreo(CorreosNotificacion, RutaArchivo, ArchivoNotifiacion);
}
//Gestión de errores y resultados
if (!TieneError)
{
ObjOI.Commit();
string ParamMensaje = LkbGuardar.Text == "Guardar" ? "Nuevo" : "Editado";//Esto indica la acción de usuario la cual se mostrará como alert al cargar la página
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", CveDocumento, ParamMensaje));
}
else
{
ObjOI.RollBack();
Alert(this.ErrorMensaje, ModExtensiones.TipoMensaje.MsgError);
UpCliente.Update();
}
ObjOI.Dispose();
}
private int GuardarDocumento(ref ClsOIEventos ObjOI, ref bool TieneError)
{
int CveDocumentoPadre = this.CveDocumento > 0 ? this.CveDocumento : -1; //Asociamos el nuevo insert con un CveDocumento ya generado en caso de ser una nueva versión del documento
int CveDocumento = ObjOI.AddDocumento(DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, DdlEstatus.SelectedValue.ToEntero(),
"", TxtResponsable.Text, CveDocumentoPadre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
if (!(CveDocumento > 0))
{
TieneError = true;
this.ErrorMensaje = "Hubo un error al guardar el Documento";
}
return CveDocumento;
}
private string AsignarArchivoAlDocumento(int CveDocumento, ref ClsOIEventos ObjOI, ref bool TieneError)
{
string RutaArchivo = GuardarArchivo(CveDocumento);
if (RutaArchivo != "-1")
{
if (!ObjOI.UpdateDocumento(CveDocumento, -1, "-1", "-1", "-1", -1, RutaArchivo, "-1", ModExtensiones.MinFecha, -1, -1, -1))
{
TieneError = true;
this.ErrorMensaje = "Hubo un error al asignar el archivo";
}
}
else if (RutaArchivo == "Error")
{
TieneError = true;
this.ErrorMensaje = "Hubo un error al guardar el archivo";
}
return RutaArchivo;
}
private string GuardarUsuariosQueAutorizan(int CveDocumento, string RutaArchivo, ref ClsOIEventos ObjOI, ref bool TieneError)
{
StringBuilder CorreosReturn = new StringBuilder("");
GridViewRowCollection GridUsuarios = GvUsuarios.Rows;
foreach (GridViewRow GvRow in GridUsuarios)
{
if (GvRow.FCCheckBox("ChkUnir").Checked && !TieneError)
{
int CveUsuario = GvRow.DataKey("CveUsuario").ToEntero();
if (!ObjOI.AddDocumentoAutorizacion(CveDocumento, CveUsuario, RutaArchivo))
{
TieneError = true;
this.ErrorMensaje = "Hubo un error al asignar los usuarios a este documento";
break;
}
else
{
CorreosReturn.AppendFormat("{0},", GvRow.DataKey("Correo"));
}
}
}
return CorreosReturn.ToString();
}
#endregion
#region "ARCHIVO ADJUNTO"
private string GuardarArchivo(int CveDocumento)
{
string RutaArchivo = "-1";
List<Archivo> Filesgral = TxtDocumentoFile.getfiles().Archivos;
if (TxtDocumentoFile.Text != "[]")
{
foreach (Archivo fileItem in Filesgral)
{
try
{
string Version = TxtVersion.Text;
string NombreArchivo = fileItem.filenameO;
//Preparamos la ruta donde moveremos el archivo cargado
string NombreArchivoGuardado = string.Format("{0}_{1}", CveDocumento, NombreArchivo);
string RutaDestino = UsuarioActual.Empresa.Ruta + @"DocumentosRepo\" + NombreArchivoGuardado;
//Si no existe la carpeta donde se guardan se crea
if (!Directory.Exists(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo"))
{
Directory.CreateDirectory(UsuarioActual.Empresa.Ruta + @"\DocumentosRepo");
}
//Movemos el archivo de la carpeta temporal hacia la carpeta de la empresa
System.IO.File.Move(fileItem.FileUrl, RutaDestino);
RutaArchivo = NombreArchivoGuardado;
}
catch (Exception e)
{
Alert(e.Message);
RutaArchivo = "Error";
}
}
}
return RutaArchivo;
}
protected void LkbDescargarArchivo_Click(object sender, EventArgs e)
{
string Ruta = string.Format("{0}Empresas/{1}/DocumentosRepo/{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, ArchivoAdjuntoNombre);
byte[] archivoBytes = File.ReadAllBytes(Ruta);
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", String.Format("attachment;filename={0}", ArchivoAdjuntoNombre));
HttpContext.Current.Response.AddHeader("Content-Length", archivoBytes.Length.ToString());
HttpContext.Current.Response.OutputStream.Write(archivoBytes, 0, archivoBytes.Length);
HttpContext.Current.Response.End();
}
#endregion
#region "NOTIFICACIONES CORREO"
private void NotificarPorCorreo(string Para, string NombreArchivo, byte[] Adjunto)
{
string Descripcion = TxtDescripcion.Text;
string Asunto = "Se le ha agregado como participante en el desarrollo de un Documento";
string a = string.Format("{0} -- {1} --- {2}", Descripcion, Para, "");
a.GuardaLog();
ClsSisMail Mail = new ClsSisMail();
if (Adjunto != null)
{
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
{
var withBlock = itemMail;
itemMail.ArchivoBinario = Adjunto;
itemMail.NombreArchivo = NombreArchivo;
}
LSRutasMail.Add(itemMail);
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Descripcion, "", LSRutasMail);
Mail = null/* TODO Change to default(_) if this is not a reference type */;
}
else
{
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Descripcion, "");
Mail = null/* TODO Change to default(_) if this is not a reference type */;
}
}
private byte[] GenerarArchivoByte(string NombreArchivo)
{
string ArchivoEnviar = string.Format(@"{0}DocumentosRepo\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo);
if (File.Exists(ArchivoEnviar))
{
System.IO.FileStream fs = System.IO.File.Open(ArchivoEnviar, System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] buff = new byte[fs.Length + 1];
if (fs.Length > 0)
{
fs.Read(buff, 0, (fs.Length.ToString().ToEntero() - 1));
fs.Close();
}
return buff;
}
return new byte[] { };
}
#endregion
}

49
OI/Documentos.aspx Normal file
View File

@@ -0,0 +1,49 @@
<%@ Page Title="OI - Documentos" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="Documentos.aspx.cs" Inherits="OI_Documentos" %>
<%@ 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">
Documentos
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:HyperLink runat="server" ID="BtnAgregarDocumento" data-toggle="tooltip" data-placement="left" NavigateUrl="/OI/DocumentoDetalle.aspx" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Documento"></asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Imprimir Excel</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>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveDocumento,SubCategoria,Descripcion,Observacion,Version,Responsable,FechaAprobacion,FechaInicioVigencia"
EmptyDataText="No se encontraron Documentos Registrados" ToolTip="Listado de Documentos" CssClass="table table-striped table-advance table-hover"
Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<Columns>
<asp:HyperLinkField HeaderText="Descripcion" DataTextField="Descripcion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Observación" DataTextField="Observacion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Versión" DataTextField="Version" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="SubCategoria" DataTextField="SubCategoria" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="Responsable" DataTextField="Responsable" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<%--<asp:HyperLinkField HeaderText="Fecha Aprobacion" DataTextField="FechaAprobacion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>--%>
<asp:HyperLinkField HeaderText="Fecha Inicio Vigencia" DataTextField="FechaInicioVigencia" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

30
OI/Documentos.aspx.cs Normal file
View File

@@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
public partial class OI_Documentos : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
}
}
private void CargaDatos()
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.ListadoDocumentos(UsuarioActual.CveEmpresa))
{
GvDatos.DataSource = ObjOI.DtResultados;
GvDatos.DataBind();
}
ObjOI.Dispose();
}
}

View File

@@ -329,7 +329,7 @@ Partial Class RH_CatCursos
Dim Archivo As String = $"Empresas/{UsuarioActual.CveEmpresa}/Formatos/CursosInvitados.rdlc" Dim Archivo As String = $"Empresas/{UsuarioActual.CveEmpresa}/Formatos/CursosInvitados.rdlc"
If Not File.Exists($"{Server.MapPath("~")}/{Archivo}") Then If Not File.Exists($"{Extensiones.DirectorioBaseEmpresas}/{Archivo}") Then
Archivo = "Empresas/Grales/Formatos/CursosInvitados.rdlc" Archivo = "Empresas/Grales/Formatos/CursosInvitados.rdlc"
End If End If
@@ -613,7 +613,7 @@ Partial Class RH_CatCursos
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim objConstancias As New ClsConstancias Dim objConstancias As New ClsConstancias
Dim DocumenBitArray As Byte() = Nothing Dim DocumenBitArray As Byte() = Nothing
Dim RutaBase As String = Server.MapPath("~") Dim RutaBase As String = Extensiones.DirectorioBaseEmpresas
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
@@ -650,7 +650,7 @@ Partial Class RH_CatCursos
Dim Contenido As String = "Buen día. Estimado(a) " & _Nombres & vbLf & vbLf & vbLf & vbLf & " Por medio de la presente, el departamento de Capital Humano de esta " & UsuarioActual.Empresa.Empresa & " le hace la cordial invitación para asistir al curso " & _Curso & " impartido por el capacitador " & _Capacitador & ", el día " & dia & " de " & mesArray(mes - 1) & " de " & año & " en lugar " & _Ubicacion & "." & vbLf & vbLf & vbLf & vbLf & "Esperamos contar con su asistencia." Dim Contenido As String = "Buen día. Estimado(a) " & _Nombres & vbLf & vbLf & vbLf & vbLf & " Por medio de la presente, el departamento de Capital Humano de esta " & UsuarioActual.Empresa.Empresa & " le hace la cordial invitación para asistir al curso " & _Curso & " impartido por el capacitador " & _Capacitador & ", el día " & dia & " de " & mesArray(mes - 1) & " de " & año & " en lugar " & _Ubicacion & "." & vbLf & vbLf & vbLf & vbLf & "Esperamos contar con su asistencia."
If Not File.Exists(RutaArchivo) Then If Not File.Exists(RutaArchivo) Then
RutaArchivo = $"{Server.MapPath("~")}\Empresas\Grales\Formatos\CursoInvitacion.docx" RutaArchivo = $"{ Extensiones.DirectorioBaseEmpresas }\Empresas\Grales\Formatos\CursoInvitacion.docx"
End If End If
Dim params As New List(Of ReportParameter) Dim params As New List(Of ReportParameter)
@@ -659,23 +659,21 @@ Partial Class RH_CatCursos
params.Add(New ReportParameter("Fecha", Today.ToString)) params.Add(New ReportParameter("Fecha", Today.ToString))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
Dim DtDatos As New DataTable Dim DtDatos As New DataTable
Return StreamPDF("Empresas/72/Formatos/CursoInvitacion.rdlc", DtDatos, params, "Invitación a curso", "PDF")
'Dim objGemBoxDocument As New clsGemBoxDocument(RutaArchivo)
'Dim Tags As New List(Of TagsDocumentos)
Dim objGemBoxDocument As New clsGemBoxDocument(RutaArchivo)
Dim Tags As New List(Of TagsDocumentos)
'Tags.Add(New TagsDocumentos("{Curso}", _Curso)) Tags.Add(New TagsDocumentos("{Curso}", _Curso))
'Tags.Add(New TagsDocumentos("{Contenido}", Contenido)) Tags.Add(New TagsDocumentos("{Contenido}", Contenido))
''objGemBoxDocument.AgregarImagen(RutaLogo, 61.0, 53.0)
'objGemBoxDocument.SustituirTags(Tags)
'objGemBoxDocument.GuardarStream()
'Return objGemBoxDocument.GetBytesDocumento objGemBoxDocument.SustituirTags(Tags)
objGemBoxDocument.GuardarStreamPDF()
Return objGemBoxDocument.GetBytesDocumento
End Function End Function
@@ -795,9 +793,6 @@ Partial Class RH_CatCursos
ContenidoSB.AppendLine("") ContenidoSB.AppendLine("")
ContenidoSB.AppendLine("</table>") ContenidoSB.AppendLine("</table>")
Dim BytesDocumento As Byte() = GenerarImvitacion(_Curso, _Capacitador, _Nombres, _CvePersonal, _Fecha, _Ubicacion) Dim BytesDocumento As Byte() = GenerarImvitacion(_Curso, _Capacitador, _Nombres, _CvePersonal, _Fecha, _Ubicacion)
MandaCorreo("Invitación a Curso " & Curso, _Correo, "", ContenidoSB.ToString, BytesDocumento) MandaCorreo("Invitación a Curso " & Curso, _Correo, "", ContenidoSB.ToString, BytesDocumento)

View File

@@ -57,14 +57,10 @@
</li> </li>
<li> <li>
<asp:LinkButton ID="LinkPDF" runat="server" Style="color: #686868;"> <i class="fa fa-ad-pdf" style="margin-right:5px;"></i>Imprimir</asp:LinkButton> <asp:LinkButton ID="LinkPDF" runat="server"> <i class="fa fa-file-pdf-o" style="margin-right:5px;font-weight:bold"></i>Descargar PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LinkButton1" runat="server" Style="color: #686868;"> <i class="fa fa-ad-pdf" style="margin-right:5px;"></i>Imprimir</asp:LinkButton>
</li> </li>
<li> <li>
<asp:LinkButton ID="LnkExportar" runat="server" Style="color: #686868;"><i class="fa fa-ad-excel" style="margin-right:5px"></i>Excel</asp:LinkButton> <asp:LinkButton ID="LnkExportar" runat="server"><i class="fa fa-file-excel-o" style="margin-right:5px;font-weight:bold"></i>Descargar Excel</asp:LinkButton>
</li> </li>
<li> <li>
<asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="HyperLink1" runat="server" Style="color: #686868;"><i class="fa fa-pencil" style="color:#686868;margin-left:3px;margin-right:2px"></i>Personalizar</asp:HyperLink> <asp:HyperLink NavigateUrl="#" data-toggle="modal" data-target="#DivPersonalizar" ID="HyperLink1" runat="server" Style="color: #686868;"><i class="fa fa-pencil" style="color:#686868;margin-left:3px;margin-right:2px"></i>Personalizar</asp:HyperLink>
@@ -389,7 +385,6 @@
&nbsp;<asp:Literal ID="LtlTurno" runat="server" Text='<%# Eval("Turno", "{0}") %>'></asp:Literal> &nbsp;<asp:Literal ID="LtlTurno" runat="server" Text='<%# Eval("Turno", "{0}") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField> <asp:TemplateField>
<HeaderTemplate>Puesto</HeaderTemplate> <HeaderTemplate>Puesto</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
@@ -434,7 +429,7 @@
</asp:TemplateField> </asp:TemplateField>
<asp:TemplateField Visible="false"> <asp:TemplateField Visible="false">
<HeaderTemplate>SubProyecto</HeaderTemplate> <%--<HeaderTemplate>SubProyecto</HeaderTemplate>--%>
<ItemTemplate> <ItemTemplate>
&nbsp;<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto", "{0}") %>'></asp:Literal> &nbsp;<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# Eval("SubProyecto", "{0}") %>'></asp:Literal>
</ItemTemplate> </ItemTemplate>

View File

@@ -190,12 +190,12 @@ Partial Class RH_CatPersonal
DdlEstatusPersonal.DataBind() DdlEstatusPersonal.DataBind()
End Sub End Sub
Private Sub CargaProyecto() Private Sub CargaProyecto()
DdlProyectoAsignado.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1) 'DdlProyectoAsignado.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1)
DdlProyectoAsignado.DataBind() 'DdlProyectoAsignado.DataBind()
CargaTipoCentroCosto() CargaTipoCentroCosto()
If DivProyecto.Visible Then 'If DivProyecto.Visible Then
CargaSubProyectos() ' CargaSubProyectos()
End If 'End If
End Sub End Sub
Private Sub CargaSubProyectos() Private Sub CargaSubProyectos()
@@ -214,34 +214,10 @@ Partial Class RH_CatPersonal
End Sub End Sub
Private Sub CargaTipoCentroCosto() Private Sub CargaTipoCentroCosto()
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Then CargarCentrosDeCosto(DdlProyectoAsignado, DdlSubProyectoAsignado, LblProyecto, LblSubProyecto)
DdlSubProyectoAsignado.Items.Clear() DivProyecto.Visible = LblProyecto.Visible
DivProyecto.Visible = False ChkSubProyecto.Text = LblSubProyecto.Text
LblProyecto.Visible = False GvDatos.Columns(12).HeaderText = LblSubProyecto.Text
LblSubProyecto.Text = "Sucursal:"
DdlSubProyectoAsignado.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectoAsignado.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyectoAsignado.DataBind()
ElseIf UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
DdlSubProyectoAsignado.Items.Clear()
DivProyecto.Visible = False
LblProyecto.Visible = False
LblSubProyecto.Text = "Proyecto:"
DdlSubProyectoAsignado.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1)
DdlSubProyectoAsignado.Items.Insert(0, New ListItem("Todos", "-1"))
DdlSubProyectoAsignado.DataBind()
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 End Sub
Private Sub CargaSupervisores() Private Sub CargaSupervisores()

View File

@@ -568,20 +568,20 @@
<label for="<%= DdlClienteAsignado.ClientID.ToString()%>">Cliente: </label> <label for="<%= DdlClienteAsignado.ClientID.ToString()%>">Cliente: </label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright" runat="server" id="DivProyectosAsignado">
<asp:Label runat="server" ID="LblProyectoAsignado" CssClass="form-line" for="<%= DdlProyectoAsignado.ClientID.ToString()%>" style="margin-bottom:unset;color:#888888">Proyecto: </asp:Label>
<asp:DropDownList ID="DdlProyectoAsignado" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="Proyecto" DataValueField="CveProyecto" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlProyectoAsignado" runat="server" AppendDataBoundItems="True" AutoPostBack="True" DataTextField="Proyecto" DataValueField="CveProyecto" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<%-- <asp:ListItem Selected="True" Text="Sin Proyecto asignado" Value="-1"></asp:ListItem>--%> <%-- <asp:ListItem Selected="True" Text="Sin Proyecto asignado" Value="-1"></asp:ListItem>--%>
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlProyectoAsignado" runat="server" InitialValue="-1" ControlToValidate="DdlProyectoAsignado" ValidationGroup="GrpGuardar" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Proyecto''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RfvDdlProyectoAsignado" runat="server" InitialValue="-1" ControlToValidate="DdlProyectoAsignado" ValidationGroup="GrpGuardar" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Proyecto''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator>
<label for="<%= DdlProyectoAsignado.ClientID.ToString()%>">Proyecto: </label>
<i></i> <i></i>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:Label runat="server" ID="LblSubProyectoAsignado" CssClass="form-line" for="<%= DdlSubProyectoAsignado.ClientID.ToString()%>" style="margin-bottom:unset;color:#888888">SubProyecto: </asp:Label>
<asp:DropDownList ID="DdlSubProyectoAsignado" runat="server" AppendDataBoundItems="True" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlSubProyectoAsignado" runat="server" AppendDataBoundItems="True" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="form-control input-sm select2me" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Sin SubProyecto asignado" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Sin SubProyecto asignado" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlSubProyectoAsignado" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyectoAsignado" ValidationGroup="GrpGuardar" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''SubProyecto''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator> <asp:RequiredFieldValidator ID="RfvDdlSubProyectoAsignado" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyectoAsignado" ValidationGroup="GrpGuardar" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''SubProyecto''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator>
<label for="<%= DdlSubProyectoAsignado.ClientID.ToString()%>">SubProyecto: </label>
<i></i> <i></i>
</div> </div>
<%-- <div class="form-group form-md-line-input input-iconright"> <%-- <div class="form-group form-md-line-input input-iconright">
@@ -1523,10 +1523,10 @@
<asp:DropDownList ID="DdlInfoTipoAplicacion" AutoPostBack="true" runat="server" Class="form-control select2me" Width="100%"> <asp:DropDownList ID="DdlInfoTipoAplicacion" AutoPostBack="true" runat="server" Class="form-control select2me" Width="100%">
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Infonavit(Movto Permanente)" Value="5000"></asp:ListItem> <asp:ListItem Text="Infonavit (Movto Permanente)" Value="5000"></asp:ListItem>
<asp:ListItem Text="Infonavit(Porcentaje)" Value="5001"></asp:ListItem> <asp:ListItem Text="Infonavit (Porcentaje)" Value="5001"></asp:ListItem>
<asp:ListItem Text="Infonavit(Factor Descuento)" Value="5002"></asp:ListItem> <asp:ListItem Text="Infonavit (Factor Descuento)" Value="5002"></asp:ListItem>
<asp:ListItem Text="Infonavit(Cuota Fija)" Value="5003"></asp:ListItem> <asp:ListItem Text="Infonavit (Cuota Fija)" Value="5003"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
@@ -1602,8 +1602,8 @@
<asp:DropDownList ID="DdlFonTipoAplicacion" runat="server" Class="form-control select2me" Width="100%"> <asp:DropDownList ID="DdlFonTipoAplicacion" runat="server" Class="form-control select2me" Width="100%">
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Fonacot(Importe fijo)" Value="3001"></asp:ListItem> <asp:ListItem Text="Fonacot (Importe fijo)" Value="3001"></asp:ListItem>
<asp:ListItem Text="Fonacot(Por días Labarados)" Value="3002"></asp:ListItem> <asp:ListItem Text="Fonacot (Por días Laborados)" Value="3002"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
</div> </div>
@@ -3538,7 +3538,7 @@
<asp:GridView ID="GvLicencias" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1" <asp:GridView ID="GvLicencias" Width="100%" runat="server" GridLines="None" BorderWidth="0" data-heighterror="330" data-freezecols="0" data-freezerows="1"
DataKeyNames="CveLicencia,Licencia,FechaExpedicion,FechaVencimiento" DataKeyNames="CveLicencia,Licencia,FechaExpedicion,FechaVencimiento,Estatus"
CssClass=" table table-striped table-advance table-hover Widthall" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true" CssClass=" table table-striped table-advance table-hover Widthall" ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False"> AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
<Columns> <Columns>
@@ -4614,7 +4614,7 @@
<button type="button" class="close" data-dismiss="modal" aria-label="Close"> <button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
<h4 class="modal-title" runat="server" style="text-align: left">modificar Salario</h4> <h4 class="modal-title" runat="server" style="text-align: left">Modificar Salario</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div> <div>

View File

@@ -1041,11 +1041,13 @@ Partial Class RH_Personal
Private Sub CargaProyecto() Private Sub CargaProyecto()
DdlProyectoAsignado.Items.Clear() CargarCentrosDeCosto(DdlProyectoAsignado, DdlSubProyectoAsignado, LblProyectoAsignado, LblSubProyectoAsignado)
DdlProyectoAsignado.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 1) DivProyectosAsignado.Visible = LblProyectoAsignado.Visible
DdlProyectoAsignado.DataBind() 'DdlProyectoAsignado.Items.Clear()
'DdlProyectoAsignado.DataSource = GlobalDTProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 1)
'DdlProyectoAsignado.DataBind()
DdlProyectoAsignado.Items.Insert(0, New ListItem("Sin Proyecto asignado", "-1")) 'DdlProyectoAsignado.Items.Insert(0, New ListItem("Sin Proyecto asignado", "-1"))
DdlProyectoAsistenciaC.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", "", {"CveProyecto", "Proyecto"}) DdlProyectoAsistenciaC.DataSource = GlobalDTProyectos(UsuarioActual.Empresa.CveEmpresa).FiltraParametros("", "", {"CveProyecto", "Proyecto"})
DdlProyectoAsistenciaC.DataBind() DdlProyectoAsistenciaC.DataBind()
@@ -4671,12 +4673,17 @@ Partial Class RH_Personal
Dim Fecha As String = DateTime.Now.ToString("dd/MM/yyyy") Dim Fecha As String = DateTime.Now.ToString("dd/MM/yyyy")
Dim Solicitante As String = UsuarioActual.Nombre Dim Solicitante As String = UsuarioActual.Nombre
Dim anio As Integer = GvRow.DataKey("FechaInicio").ToDate().Year Dim anio As Integer = GvRow.DataKey("FechaInicio").ToDate().Year
Dim FechaPeriodo As String = GvRow.DataKey("Periodo")
If Periodoingreso > PeriodoInicio Then If Periodoingreso > PeriodoInicio Then
anio = anio - 1 anio = anio - 1
End If End If
Dim FechaPeriodo As String = String.Format("{0:dd/MM}/{1}", fechaIngreso, anio)
If File.Exists(RutaFormato) Then If File.Exists(RutaFormato) Then
Dim objGemDocument As New clsGemBoxDocument(RutaFormato) Dim objGemDocument As New clsGemBoxDocument(RutaFormato)
@@ -6124,9 +6131,35 @@ Partial Class RH_Personal
If TxtFIPrimaVacacional.Text = "0" Or TxtFIPrimaVacacional.Text = "" Or TxtFIAguinaldo.Text = "-1" Then If TxtFIPrimaVacacional.Text = "0" Or TxtFIPrimaVacacional.Text = "" Or TxtFIAguinaldo.Text = "-1" Then
TxtFIPrimaVacacional.Text = "25" TxtFIPrimaVacacional.Text = "25"
End If End If
TxtFISalariodiarioImss.Text = TxtSalarioCotizado.Text TxtFISalariodiarioImss.Text = TxtSalarioCotizado.Text
TxtFactordeIntegracion.Text = "" TxtFactordeIntegracion.Text = ""
TxtFISalarioDiarioIntegrado.Text = "" TxtFISalarioDiarioIntegrado.Text = ""
Dim objRH As New ClsRH
If objRH.VacacionesResumenGet(CvePersonal, UsuarioActual.Empresa.CveEmpresa) Then
If objRH.DtResultados.Rows.Count > 0 Then
If objRH.DtResultados.Rows.Count > 0 Then
TxtFIDiasVacaciones.Text = objRH.DtResultados(0)("Dias").ToString
Else
TxtFIDiasVacaciones.Text = "6"
End If
Else
End If
End If
objRH.Dispose()
RegistraScript("$('#DmodalFactordeIntegraccion').modal()") RegistraScript("$('#DmodalFactordeIntegraccion').modal()")
UpFactordeintegracion.Update() UpFactordeintegracion.Update()
End Sub End Sub

View File

@@ -181,7 +181,7 @@ Partial Class RH_RepPersonalInconsistencias
Dim ObjAF As New ClsAF() Dim ObjAF As New ClsAF()
If ObjAF.GetLicenciasVencidas(-1, -1, UsuarioActual.CveEmpresa, Estatus:=1) Then If ObjAF.GetLicenciasVencidas(-1, -1, UsuarioActual.CveEmpresa, Estatus:=1) Then
GvLicencias.DataSource = ObjAF.DtResultados GvLicencias.DataSource = ObjAF.DtResultados.FiltraParametros("CveEstatusPersonal = 1")
Else Else
GvLicencias.DataSource = Nothing GvLicencias.DataSource = Nothing

View File

@@ -66,13 +66,31 @@ public class Tareas72 : IHttpHandler
string JsonStringFormat = JsonString.Replace("Resultado(", "{\"Resultado\":").Replace(")", "}"); string JsonStringFormat = JsonString.Replace("Resultado(", "{\"Resultado\":").Replace(")", "}");
DataSet dataSet = JsonConvert.DeserializeObject<DataSet>(JsonStringFormat); DataSet dataSet = JsonConvert.DeserializeObject<DataSet>(JsonStringFormat);
DataTable dataTable = dataSet.Tables["Resultado"]; DataTable dataTable = dataSet.Tables["Resultado"];
if (dataTable.Rows[0]["eventoId"].ToString() == "Hdc") string eventoId = dataTable.Rows[0]["eventoId"].ToString();
if (eventoId == "Hdc" | eventoId == "HDC")
{ {
int EstatusEntregado = 3; int EstatusEntregado = 3;
//MANDAMOS A ACTUALIZAR CON ESTATUS DE ENTREGADO //MANDAMOS A ACTUALIZAR CON ESTATUS DE ENTREGADO
if (ObjGenerales.UpdatePaqueteriasGuias(CvePaqueteriaGuia, -1, -1, -1, EstatusEntregado, "-1", "", "", -1, -1, "-1", "-1", "")) if (ObjGenerales.UpdatePaqueteriasGuias(CvePaqueteriaGuia, -1, -1, -1, EstatusEntregado, "-1", "", "", -1, -1, "-1", "-1", ""))
{ {
#region 'DESCARGAR IMAGEN'
string rastreo = Guia["Rastreo"].ToString();
string uriConsultaFirma = string.Format("https://cc.paquetexpress.com.mx/ptxws/rest/api/v1/entrega/firma/{0}/@1@2@3@4@5", rastreo);
HttpClient ClientFirma = new HttpClient();
HttpResponseMessage ResponseMessageFirma = ClientFirma.GetAsync(uriConsultaFirma).Result;
string JsonStringFirma = ResponseMessageFirma.Content.ReadAsStringAsync().Result;
string JsonStringFormatFirma = JsonStringFirma.Replace("callback(", "{\"callback\":").Replace(")", "}");
DataSet dataSetFirma = JsonConvert.DeserializeObject<DataSet>(JsonStringFormatFirma);
DataTable dataTableFirma = dataSetFirma.Tables["callback"];
string ImagenBase64 = dataTableFirma.Rows[0]["imagen"].ToString();
byte[] ImagenByteArray = Convert.FromBase64String(ImagenBase64);
string rutaDestino = ModExtensiones.DirectorioEmpresas + "72\\" + "Documentos\\Guias\\" + CvePaqueteriaGuia + ".jpg";
File.WriteAllBytes(rutaDestino,ImagenByteArray);
#endregion
#region 'MANDAR CORREOS' #region 'MANDAR CORREOS'
int CveCliente = Guia["CveCliente"].ToString().ToEntero(); int CveCliente = Guia["CveCliente"].ToString().ToEntero();
int CveVenta = Guia["CveAgrupador"].ToString().ToEntero(); int CveVenta = Guia["CveAgrupador"].ToString().ToEntero();
@@ -123,7 +141,7 @@ public class Tareas72 : IHttpHandler
ObjVentas.Dispose(); ObjVentas.Dispose();
ObjVendedores.Dispose(); ObjVendedores.Dispose();
ObjEmpresa.Dispose(); ObjEmpresa.Dispose();
return false; return retorno;
} }
public bool IsReusable public bool IsReusable

View File

@@ -80,6 +80,10 @@