411 lines
19 KiB
VB.net
411 lines
19 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
|
|
Imports Extensiones
|
|
Imports Microsoft.Reporting.WebForms
|
|
Partial Class Bancos_RepEgresosSinComprobante
|
|
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 DtFuncionariosEmpleados As DataTable
|
|
Get
|
|
Return CType(ViewState("DtFuncionariosEmpleados"), DataTable)
|
|
End Get
|
|
Set(value As DataTable)
|
|
ViewState("DtFuncionariosEmpleados") = 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
|
|
|
|
DdlUsuarioResponsable.DataSource = GlobalDTUsuarioResponsable(UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre")
|
|
DdlUsuarioResponsable.DataBind()
|
|
|
|
If UsuarioActual.TienePermisoProceso(91) Then
|
|
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre")
|
|
DdlUsuarioRegistro.DataBind()
|
|
DdlUsuarioRegistro.Items.Insert(0, New ListItem("Todos", "-1"))
|
|
Else
|
|
DdlUsuarioRegistro.DataSource = GlobalDTUsuarios(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa)
|
|
DdlUsuarioRegistro.DataBind()
|
|
End If
|
|
|
|
DdlProveedoresClasificaciones.DataSource = GlobalDTProveedorClasificacion(UsuarioActual.CveEmpresa)
|
|
DdlProveedoresClasificaciones.DataBind()
|
|
|
|
DdlMoneda.DataSource = GlobalDTMonedas
|
|
DdlMoneda.DataBind()
|
|
|
|
DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros("Tipo='Egs'")
|
|
DdlTipoTransaccion.DataBind()
|
|
|
|
DdlUsuarioSolicito.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre")
|
|
DdlUsuarioSolicito.DataBind()
|
|
|
|
DdlProveedores.setEsWebService(True)
|
|
DdlProveedores.Attributes.Add("data-metodo", "getproveedores")
|
|
DdlProveedores.SelectedText = "Todos"
|
|
DdlProveedores.SelectedValue = "-1"
|
|
|
|
CargaDatos()
|
|
TxtConcepto.Text = "Saldado de Egresos por comprobar"
|
|
CargarCentrosDeCosto(Nothing, DdlSubProyecto, Nothing, LblSubproyecto, AplicaTodos:="Selecione uno")
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaDatos()
|
|
Dim Mov As New ClsMovimientos
|
|
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 Mov.GetEgresosSinComprobar(FechaI, FechaF, DdlProveedores.SelectedValue.ToEntero, -1, DdlProveedoresClasificaciones.SelectedValue.ToEntero, DdlUsuarioRegistro.SelectedValue.ToEntero, DdlUsuarioResponsable.SelectedValue.ToEntero, DdlMoneda.SelectedValue.ToEntero, If(ChkSaldo.Checked, 1, 0), UsuarioActual.CveEmpresa, DdlTipoTransaccion.SelectedValue.ToEntero, DdlUsuarioSolicito.SelectedValue.ToEntero) Then
|
|
DtDatos = Mov.DtResultados
|
|
CargaGrid("")
|
|
CargaGridPersonal("")
|
|
UPDatos.Update()
|
|
upDatosPersonal.Update()
|
|
End If
|
|
|
|
Mov.Dispose()
|
|
|
|
End Sub
|
|
|
|
|
|
Protected Sub GvESC_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvESC.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
|
|
If e.Row.DBCampo("CveProveedor") = "" Then
|
|
e.Row.BackColor = Drawing.Color.LightGray
|
|
e.Row.FCHyperLink("Hpl").NavigateUrl = ""
|
|
e.Row.FCHyperLink("Hpl").Font.Bold = True
|
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
|
|
End If
|
|
|
|
'CUANDO ES SUBTITULO
|
|
If e.Row.DBCampo("CveIE") = "" Then
|
|
|
|
If e.Row.DBCampo("CveMoneda") = "" Then
|
|
e.Row.CssClass = "SubTotales2"
|
|
Else
|
|
e.Row.CssClass = "SubTotales"
|
|
e.Row.FCLiteral("LtMoneda").Visible = True
|
|
e.Row.FCHyperLink("Hpl").Visible = False
|
|
End If
|
|
End If
|
|
|
|
'LINK A IE
|
|
If e.Row.DBCampo("Folio") <> "" Then
|
|
e.Row.FCHyperLink("HLFolio").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE"))
|
|
End If
|
|
|
|
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(1).ForeColor = Drawing.Color.Red
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub GvPersonal_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPersonal.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
If e.Row.DBCampo("CvePersonal") = "" Then
|
|
e.Row.BackColor = Drawing.Color.LightGray
|
|
' e.Row.FCHyperLink("ImgAbonar").Visible = False
|
|
e.Row.FCHyperLink("Hpl").NavigateUrl = ""
|
|
e.Row.FCHyperLink("Hpl").Font.Bold = True
|
|
e.Row.Cells(1).HorizontalAlign = HorizontalAlign.Center
|
|
End If
|
|
If e.Row.RowIndex = 1 Then
|
|
e.Row.Cells(1).Width = Unit.Pixel(440)
|
|
End If
|
|
|
|
'If e.Row.DBCampo("FechaDocumento") = "" Then e.Row.BackColor = Drawing.Color.LightGray
|
|
If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(1).ForeColor = Drawing.Color.Red
|
|
' e.Row.FCHyperLink("ImgAbonar").NavigateUrl = String.Format("/Bancos/ProveedoresAbonar.aspx?CveProveedor={0}&FechaI={1}&FechaF={2}&CveUsuarioProgramo={3}&CveMoneda={4}&Serie={5}", e.Row.DBCampo("CveProveedor"), If(txtFechaI.Text <> "", txtFechaI.Text, "-1"), If(txtFechaF.Text <> "", txtFechaF.Text, "-1"), DdlUsuarioProgramo.SelectedValue, e.Row.DBCampo("CveMoneda"), e.Row.DBCampo("Serie"))
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click
|
|
CargaDatos()
|
|
End Sub
|
|
|
|
Private Sub CargaGrid(Orden As String)
|
|
GvESC.DataSource = DtDatos.FiltraParametros("CveProveedor IS NOT NULL", Orden)
|
|
GvESC.DataBind()
|
|
End Sub
|
|
|
|
Private Sub CargaGridPersonal(Orden As String)
|
|
Dim Mov As New ClsMovimientos
|
|
If Mov.GetEgresosSinComprobarPersonal(UsuarioActual.CveEmpresa) Then
|
|
GvPersonal.DataSource = Mov.DtResultados
|
|
DtFuncionariosEmpleados = Mov.DtResultados
|
|
End If
|
|
Mov.Dispose()
|
|
GvPersonal.DataBind()
|
|
End Sub
|
|
|
|
Private Sub LnkHabilitarSaldar_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldar.Click
|
|
|
|
For Each gr As GridViewRow In GvESC.Rows
|
|
If gr.DataKey("CveIE") <> "" Then
|
|
gr.FCCheckBox("Chk").Visible = True
|
|
UPDatos.Update()
|
|
|
|
End If
|
|
Next
|
|
|
|
TxtConcepto.Text = "Saldado de Egresos por comprobar"
|
|
TxtFechaSaldar.Text = NowADS().ToShortDateString
|
|
DVSaldar.Visible = True
|
|
UpSaldar.Update()
|
|
|
|
End Sub
|
|
Private Sub LnkHabilitarSaldoFyE_Click(sender As Object, e As EventArgs) Handles LnkHabilitarSaldarFyE.Click
|
|
For Each gr As GridViewRow In GvPersonal.Rows
|
|
If gr.DataKey("CvePersonal") <> "" Then
|
|
gr.FCCheckBox("Chk").Visible = True
|
|
LnkSaldarFyE.Visible = True
|
|
LnkHabilitarSaldarFyE.Visible = False
|
|
upDatosPersonal.Update()
|
|
End If
|
|
Next
|
|
End Sub
|
|
|
|
Protected Sub LnkSaldar_Click(sender As Object, e As EventArgs)
|
|
|
|
|
|
Dim Contador As Integer = 0
|
|
For Each gr As GridViewRow In GvESC.Rows
|
|
If gr.FCCheckBox("Chk").Checked Then
|
|
Contador += 1
|
|
End If
|
|
Next
|
|
|
|
If Not Contador > 0 Then
|
|
Alert("No se hay movimientos seleccionados")
|
|
Exit Sub
|
|
End If
|
|
|
|
Dim ObjConta As New ClsContabilidad
|
|
Dim ObjProveedor As New ClsCompProveedores(ObjConta.IniciaTransacSQL())
|
|
|
|
Dim EsContabilizable As Boolean = If(UsuarioActual.CveEmpresa.Contiene(13, 83), False, True)
|
|
|
|
Dim CvePrePoliza As Integer = 0
|
|
Dim MsgError As String = ""
|
|
Try
|
|
|
|
If Contador > 0 Then
|
|
Dim tFecha As Date = TxtFechaSaldar.Text.ToDate
|
|
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, 0, 0, 1, tFecha,
|
|
TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
Dim ImporteSaldoGral As Decimal = 0
|
|
Dim TipoMovtoConcepto As Boolean = True
|
|
For Each gr As GridViewRow In GvESC.Rows
|
|
If gr.FCCheckBox("Chk").Checked Then
|
|
Dim ImporteSaldo As Decimal = gr.DataKey("Saldo").ToDecimal
|
|
|
|
Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(11, gr.DataKey("CveMoneda").ToEntero, True, gr.DataKey("CveTipoProveedor").ToEntero)
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteSaldo, ImporteSaldo, ConPrepAplicacion.CveConcepto, gr.DataKey("Folio"), TxtConcepto.Text,
|
|
CveIE:=gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero,
|
|
CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero, Contabilizable:=EsContabilizable) Then
|
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
Exit For
|
|
End If
|
|
If gr.DataKey("CveMoneda").ToEntero > 1 Then
|
|
|
|
Dim TCValuacion As Decimal = gr.DataKey("TipoCambio").ToDecimal
|
|
If UsuarioActual.Empresa.Funcionalidad(703) = "1" Then
|
|
Dim tFechaUltimaFluctuacion As Date
|
|
Dim UltimaFluctuacion As MTipoCambioFluctuacion = GlobalTipoCambioUltimaFluctuacion(tFecha)
|
|
If UltimaFluctuacion IsNot Nothing Then
|
|
If UltimaFluctuacion.FechaFluctuacion < tFecha Then
|
|
tFechaUltimaFluctuacion = UltimaFluctuacion.FechaFluctuacion
|
|
TCValuacion = UltimaFluctuacion.TCFluctuacion
|
|
End If
|
|
If gr.DataKey("FechaDocumento").ToDate < tFechaUltimaFluctuacion Then TCValuacion = TCValuacion
|
|
End If
|
|
End If
|
|
|
|
Dim ImporteMN As Decimal = (ImporteSaldo * TCValuacion - ImporteSaldo).RoundSQL
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoConcepto, ImporteMN, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, gr.DataKey("Folio"), TxtConcepto.Text,
|
|
CveIE:=gr.DataKey("CveIE").ToEntero, TipoCambio:=TCValuacion, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero,
|
|
ImporteME:=gr.DataKey("Saldo").ToDecimal, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero, Contabilizable:=EsContabilizable) Then
|
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
Exit For
|
|
End If
|
|
ImporteSaldo += ImporteMN
|
|
End If
|
|
ImporteSaldoGral += ImporteSaldo
|
|
End If
|
|
Next
|
|
If MsgError = "" Then
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovtoConcepto, ImporteSaldoGral, ImporteSaldoGral, 211, "", TxtConcepto.Text,
|
|
CveIE:=-1, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero, Contabilizable:=EsContabilizable) Then
|
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
End If
|
|
|
|
If MsgError = "" AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then
|
|
MsgError = "Error al validar."
|
|
End If
|
|
End If
|
|
Else
|
|
Alert("No se especificaron")
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgError = "Ocurrió un error al generar la prepoliza"
|
|
OnError(MsgError, ex)
|
|
End Try
|
|
|
|
|
|
If MsgError = "" Then
|
|
'LnkSaldar.Visible = False
|
|
'LnkHabilitarSaldar.Visible = True
|
|
DVSaldar.Visible = False
|
|
|
|
ObjConta.Commit()
|
|
CargaDatos()
|
|
Alert(String.Format("Los movimientos se saldaron correctamente <br/> <a href='/Contabilidad/RegPrePolizas.aspx?CvePrePoliza={0}' class='Texto'>Ver Póliza</a>", CvePrePoliza), TipoMensaje.MsgInformacion)
|
|
|
|
Else
|
|
ObjConta.RollBack()
|
|
Alert(MsgError, TipoMensaje.MsgError)
|
|
End If
|
|
|
|
ObjConta.Dispose()
|
|
ObjProveedor.Dispose()
|
|
End Sub
|
|
Protected Sub LnkSaldarFyE_Click(sender As Object, e As EventArgs)
|
|
Dim ObjConta As New ClsContabilidad
|
|
ObjConta.IniciaTransacSQL()
|
|
|
|
Dim CvePrePoliza As Integer = 0
|
|
Dim MsgError As String = ""
|
|
|
|
Try
|
|
For Each gr As GridViewRow In GvPersonal.Rows
|
|
If gr.FCCheckBox("Chk").Checked Then
|
|
Dim CveConceptoContable As Integer
|
|
Dim TipoMovtoOtIngresos As Boolean = True
|
|
Dim TipoMovtoConcepto As Boolean = False
|
|
|
|
Select Case gr.DataKey("CveConceptoContable").ToEntero
|
|
Case 10
|
|
CveConceptoContable = 21
|
|
Case 28
|
|
CveConceptoContable = 29
|
|
TipoMovtoOtIngresos = False
|
|
TipoMovtoConcepto = True
|
|
Case 37
|
|
CveConceptoContable = 43
|
|
Case 42
|
|
CveConceptoContable = 41
|
|
Case 43
|
|
CveConceptoContable = 37
|
|
End Select
|
|
|
|
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepEgresosSinComprobante", 6, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, NowADS(),
|
|
"Saldo de ExC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoConcepto, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, CveConceptoContable, "", "Saldo de ExC por Sistema",
|
|
CveIE:=gr.DataKey("CveIE").ToEntero, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CvePersonal:=gr.DataKey("CvePersonal").ToEntero) Then
|
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
Exit For
|
|
End If
|
|
|
|
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoOtIngresos, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, 78, "", "Saldo de ExC por Sistema", gr.DataKey("CveIE").ToEntero) Then
|
|
MsgError = "Ocurrio un error al saldar el movimiento"
|
|
Exit For
|
|
End If
|
|
|
|
End If
|
|
Next
|
|
Catch ex As Exception
|
|
MsgError = "Ocurrió un error al generar la prepoliza"
|
|
OnError(MsgError, ex)
|
|
End Try
|
|
|
|
|
|
If MsgError = "" Then
|
|
ObjConta.Commit()
|
|
CargaDatos()
|
|
Alert("Los movimientos se saldaron correctamente.")
|
|
Else
|
|
ObjConta.RollBack()
|
|
Alert(MsgError, TipoMensaje.MsgError)
|
|
End If
|
|
|
|
LnkSaldarFyE.Visible = False
|
|
LnkHabilitarSaldarFyE.Visible = True
|
|
ObjConta.Dispose()
|
|
End Sub
|
|
|
|
|
|
#Region "IMPRESIONES"
|
|
|
|
Private Sub ImprimirReportePdf(Archivo As String, DtDatos As DataTable, Optional Formato As String = "PDF")
|
|
If DtDatos.Rows.Count > 0 Then
|
|
Dim StrFiltro As New StringBuilder
|
|
If txtFechaI.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha Inicio </b>: {0}", txtFechaI.Text.ToDate.ToShortDateString)
|
|
If txtFechaF.Text <> "" Then StrFiltro.AppendFormat(" <b>Fecha Fin </b>: {0}", txtFechaF.Text.ToDate.ToShortDateString)
|
|
Dim Imagen As New System.IO.FileInfo($"{UsuarioActual.Empresa.Ruta}/Logo.png")
|
|
|
|
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", NowADS().ToDateTime.ToShortDateString))
|
|
params.Add(New ReportParameter("Filtros", StrFiltro.ToString))
|
|
params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, $"file://{Imagen.FullName}", "")))
|
|
ImprimirPDF($"Empresas/Grales/Formatos/{Archivo}", DtDatos, params, String.Format("EgresosSinComprovante-{0}", NowADS().ToDateTime.ToShortDateString), Formato:=Formato)
|
|
End If
|
|
End Sub
|
|
|
|
#Region "PROVEEDORES"
|
|
|
|
Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) Handles LnkExportar.Click
|
|
ImprimirReportePdf("RepEgresosSinComprobante.rdlc", DtDatos.FiltraParametros(" RazonSocial is not null "), "EXCEL")
|
|
End Sub
|
|
|
|
Private Sub LinkPDF_Click(sender As Object, e As EventArgs) Handles LinkPDF.Click
|
|
ImprimirReportePdf("RepEgresosSinComprobante.rdlc", DtDatos.FiltraParametros(" RazonSocial is not null "))
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#Region "FUNCIONARIOS/EMPLEADOS"
|
|
|
|
Protected Sub LnkExportarFuncionarios_Click(sender As Object, e As EventArgs)
|
|
ImprimirReportePdf("RepEgresosSinComprobanteFuncionarios.rdlc", DtFuncionariosEmpleados, "EXCEL")
|
|
End Sub
|
|
Protected Sub LnkPDFFuncionarios_Click(sender As Object, e As EventArgs)
|
|
ImprimirReportePdf("RepEgresosSinComprobanteFuncionarios.rdlc", DtFuncionariosEmpleados)
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
End Class
|