Files
SIG/Bancos/CuentasBancariasDetalle.aspx.vb

848 lines
35 KiB
VB.net

Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Data
'Imports DocumentFormat.OpenXml.Office.CustomUI
Partial Class Bancos_CuentasBancariasDetalle
Inherits ClsPaginas
'Configuración
#Region "P R O P I E D A D E S"
Private ReadOnly Property CveCuenta As Integer
Get
If ViewState("CveCuenta") Is Nothing Then
ViewState("CveCuenta") = -1
End If
Return ViewState("CveCuenta").ToString.ToEntero
End Get
End Property
Private Property DTUsuarios As DataTable
Get
Return CType(ViewState("DTUsuarios"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTUsuarios") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargarTipoCuenta()
CargarBanco()
CargarMoneda()
CargaCuentasPadre()
ViewState("DTUsuarios") = Nothing
Dim tablaUsuariosAux As DataTable = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre", DistinctColumns:={"CveUsuario", "Nombre", "Usuario"})
DdlUsuarios.DataSource = CargarDdlUsuarios(tablaUsuariosAux)
DdlUsuarios.DataBind()
If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 Then
ViewState("CveCuenta") = Request("CveCuenta")
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC Then
CargaCuentasContables()
End If
CargaDatos()
'Configuración de Modalidad Update
BtnGuardar.Text = "Guardar Cambios"
'LtlTitulo.Text = "Consulta del Banco:"
CargaDatosUsuarios()
InicializaConvenio()
Else
'Configuración de Modalidad Insert
LblFecha.Text = NowADS().ToShortDateString()
LtlTitulo.Text = "Agregar Nueva Cuenta Bancaria"
ViewState("CveCuenta") = -1
BtnEliminar.Visible = False
CreaDTUsuarios()
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC Then
CargaCuentasContables()
End If
'LbAgregarSucursal.Enabled = False
End If
ActivarRegistroAutomatico()
End If
End Sub
Private Sub CargaCuentasPadre()
Dim DTCuentasPadre As New DataTable
DdlCuentaPadre.DataSource = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa, CveTipoCuenta:=-1).FiltraParametros($" CveCuenta <> {CveCuenta} ", "", {"CveCuenta", "NumCuentaMoneda"})
'Dim ObjBancos As New ClsBancos
'If ObjBancos.GetBancosCuentas(-1, UsuarioActual.CveEmpresa) Then
' DTCuentasPadre = ObjBancos.DtResultados.FiltraParametros("", "", {"CveCuenta", "TipoCuenta", "Banco", "NumCuenta", "CLABE", "Moneda", "FInicial", "Estatus", "Fecha", "Usuario"})
' If CveCuenta > 0 Then
' DTCuentasPadre = DTCuentasPadre.FiltraParametros($" CveCuenta <> {CveCuenta} ")
' End If
' DdlCuentaPadre.DataSource = DTCuentasPadre
'Else
' DdlCuentaPadre.DataSource = Nothing
'End If
'ObjBancos.Dispose()
DdlCuentaPadre.DataBind()
DdlCuentaPadre.Items.Insert(0, New ListItem("Sin Selección", "-1"))
End Sub
#Region " CARGA VALORES INICIALES "
Private Sub SetValues()
ViewState("Orden") = ""
ViewState("OrdenUsuarios") = ""
ViewState("OTipoCuenta") = "TipoCuenta DESC"
ViewState("OEstatus") = "Estatus DESC"
ViewState("OFecha") = "Fecha DESC"
ViewState("OUsuario") = "Usuario DESC"
End Sub
#Region "CARGA COMBOS"
Private Sub CargarTipoCuenta()
DdlTipoCuenta.DataSource = GlobalDTTipoCuenta
DdlTipoCuenta.DataBind()
End Sub
Private Sub CargarBanco()
DdlBanco.DataSource = GlobalDTBancos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlBanco.DataBind()
DdlBanco.Items.Add(New ListItem("Empresa", "0"))
DdlSubProyectos.DataSource = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
DdlSubProyectos.DataBind()
DdlSubProyectos.Items.Insert(0, New ListItem("-", "-1"))
End Sub
Private Sub CargarMoneda()
DdlMoneda.DataSource = GlobalDTMonedas
DdlMoneda.DataBind()
End Sub
Private Sub CargaCuentasContables()
Dim dt As DataTable = Nothing
If UsuarioActual.Empresa.TipoContabilidad = 1 Then
Using ObjContabilidad As New ClsContabilidad
'UsuarioActual.Empresa.Funcionalidad(208).ToEntero
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DDlCuentaContable.DataSource = ObjContabilidad.DtResultados
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("Selecione", "-1"))
DDlCuentaContable.DataTextField = "CtaCodigo"
DDlCuentaContable.DataValueField = "CveCuenta"
End If
End Using
DDlCuentaContable.DataSource = dt
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("-", "-1"))
DdlCuentaContableComplementaria.DataSource = dt
DdlCuentaContableComplementaria.DataBind()
DdlCuentaContableComplementaria.Items.Insert(0, New ListItem("-", "-1"))
If dt IsNot Nothing Then dt.Dispose()
trCuentaContable.Visible = True
trCuentaContableComplementaria.Visible = True
Else
If UsuarioActual.Empresa.TipoContabilidad = 2 Or UsuarioActual.Empresa.UsaAC Then
Dim IdPadre As Integer
Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
If DdlTipoCuenta.SelectedValue.ToEntero = 1 Then 'Caja Chica
IdPadre = UsuarioActual.Empresa.Funcionalidad(218).ToEntero
Else
IdPadre = UsuarioActual.Empresa.Funcionalidad(209).ToEntero
End If
If IdPadre = 0 Then IdPadre = 1
If Conta.GetCuentasRecursiva(IdPadre, 1) Then
dt = Conta.DtResultados
End If
Conta.Dispose()
DDlCuentaContable.DataSource = dt
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("-", "-1"))
DdlCuentaContableComplementaria.DataSource = dt
DdlCuentaContableComplementaria.DataBind()
DdlCuentaContableComplementaria.Items.Insert(0, New ListItem("-", "-1"))
If dt IsNot Nothing Then dt.Dispose()
trCuentaContable.Visible = True
trCuentaContableComplementaria.Visible = True
End If
End If
End Sub
#End Region
#End Region
#Region " CARGA DATOS "
Private Sub CargaDatos()
Dim ObjCuentasBancariasDetalle As New ClsBancos()
If ObjCuentasBancariasDetalle.GetBancosCuentas(CveCuenta, UsuarioActual.CveEmpresa) Then
If ObjCuentasBancariasDetalle.DtResultados.Rows.Count > 0 Then
'Campos para Modificación
If ObjCuentasBancariasDetalle.TipoCuenta.ToString = "Caja Chica" Then
LtlTitulo.Text = " Caja Chica de "
LtlBanco.Text = ObjCuentasBancariasDetalle.NumCuenta
Else
LtlTitulo.Text = "Consulta de Bancos: "
LtlBanco.Text = ObjCuentasBancariasDetalle.Banco
End If
DdlBanco.SelectedValue = ObjCuentasBancariasDetalle.CveBanco.ToString
TxtNumCuenta.Text = ObjCuentasBancariasDetalle.NumCuenta
TxtCLABE.Text = ObjCuentasBancariasDetalle.CLABE
DdlMoneda.SelectedValue = ObjCuentasBancariasDetalle.CveMoneda.ToString
ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False)
ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False)
LblFecha.Text = ObjCuentasBancariasDetalle.Fecha.ToShortDateString
LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario
TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString
ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout
ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos
ChkUsaTarjeta.Checked = ObjCuentasBancariasDetalle.UsaTarjeta
ChkTieneTerminal.Checked = ObjCuentasBancariasDetalle.TieneTerminal
ChkUsaTarjeta_CheckedChanged(Nothing, Nothing)
DdlCuentaPadre.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaPadre)
trFinicial.Visible = False
trLimiteCredito.Visible = True
TxtLimiteCredito.Text = ObjCuentasBancariasDetalle.LimiteCredito.ToString
DdlTipoCuenta.SelectedValue = ObjCuentasBancariasDetalle.CveTipoCuenta.ToString
DdlSubProyectos.SelectedValueExist(ObjCuentasBancariasDetalle.CveSubProyecto.ToString)
DdlTipoCuenta_SelectedIndexChanged(DdlTipoCuenta, EventArgs.Empty)
TxtNumeroSucursal.Text = ObjCuentasBancariasDetalle.NumeroSucursal
If UsuarioActual.Empresa.TipoContabilizacion = 1 Then
DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaConta.ToString)
DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaContaComplementaria.ToString)
Else
'Dim ExisteEnIntems As Boolean = False
'For Each li As ListItem In DDlCuentaContable.Items
' If li.Value.ToEntero = ObjCuentasBancariasDetalle.0 Then
' ExisteEnIntems = True
' Exit For
' End If
'Next
'If ExisteEnIntems Then
' DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.0.ToString)
'Else
' If UsuarioActual.Empresa.TipoContabilidad = 2 Then
' Dim objCont As New ClsContPAQi(UsuarioActual.Empresa)
' If objCont.GetCuentas(ObjCuentasBancariasDetalle.0, "-1", -1) Then
' If objCont.DtResultados.Rows.Count > 0 Then
' DDlCuentaContable.Items.Add(New ListItem(objCont.DtResultados.Rows(0)("CtaCodigo").ToString, objCont.DtResultados.Rows(0)("id").ToString))
' DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.0.ToString)
' End If
' End If
' objCont.Dispose()
' End If
'End If
'DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.0.ToString)
End If
Else
Alert("El Banco Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
End If
End If
ObjCuentasBancariasDetalle.Dispose()
End Sub
#End Region
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
Dim ObjCuentasBancariasDetalle As New ClsBancos()
Dim ObjContaAC As ClsContPAQi = Nothing
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim ErrorUsuarios = False
If CveCuenta = -1 Then
If ObjCuentasBancariasDetalle.AddBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim,
TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble,
"", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked,
TieneTerminal:=ChkTieneTerminal.Checked,
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta
Else
ErrorUsuarios = True
End If
If Not ErrorUsuarios Then
For Each row As DataRow In DTUsuarios.Rows
If Not ObjCuentasBancariasDetalle.AddBancosCuentasUsuarios(ObjCuentasBancariasDetalle.TCveCuenta, row("CveUsuario").ToString.ToEntero) Then
ErrorUsuarios = True
Exit For
End If
Next
If Not ErrorUsuarios Then
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa) = Nothing
'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjCuentasBancariasDetalle.DtResultados
'Else
' ErrorUsuarios = True
'End If
End If
End If
If Not ErrorUsuarios AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToEntero > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
ErrorUsuarios = GuardaCuentasContables(ObjContaAC, ObjCuentasBancariasDetalle)
End If
Else
If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0,
TxtLimiteCredito.Text.Trim.ToDouble, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text,
ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked,
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
'CargaDatos()
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa) = Nothing
'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjCuentasBancariasDetalle.DtResultados
'Else
' ErrorUsuarios = True
'End If
UpDatos.Update()
Else
ErrorUsuarios = True
End If
End If
If Not ErrorUsuarios Then
ObjCuentasBancariasDetalle.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
If UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToEntero > 0 AndAlso DDlCuentaContable.SelectedValue.ToEntero < 1 Then
BtnAgregaCuentaContable(BtnCuentaContable, Nothing)
End If
Alert(If(CveCuenta > 0, "Los cambios se guardaron correctamente.", "La cuenta se agregó correctamente."), TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/CuentasBancarias.aspx""")
Else
ObjCuentasBancariasDetalle.RollBack()
If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
Alert("Ocurrio un error. Por favor intente nuevamente.", TipoMensaje.MsgError)
End If
ObjCuentasBancariasDetalle.Dispose()
If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
End Sub
#End Region
#Region " ELIMINAR "
Protected Sub BtnEliminar_Click(sender As Object, e As System.EventArgs) Handles BtnEliminar.Click
Dim ObjCuentasBancariasDetalle As New ClsBancos()
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim TieneError = False
'Eliminar usuarios con acceso a la cuenta
For Each row As DataRow In DTUsuarios.Rows
If Not ObjCuentasBancariasDetalle.RemoveBancosCuentasUsuarios(CveCuenta, row("CveUsuario").ToString.ToEntero) Then
TieneError = True
Exit For
End If
Next
'Elimina cuenta
If Not TieneError Then
If Not ObjCuentasBancariasDetalle.RemoveBancosCuentas(CveCuenta) Then
TieneError = True
End If
End If
If Not TieneError Then
ObjCuentasBancariasDetalle.Commit()
Alert("La cuenta se Eliminó correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/CuentasBancarias.aspx""")
Else
ObjCuentasBancariasDetalle.RollBack()
Alert("Ocurrió un error al eliminar la cuenta. Por favor vuelta a intentar.", TipoMensaje.MsgError)
End If
ObjCuentasBancariasDetalle.Dispose()
End Sub
#End Region
#Region " TIPO CUENTA "
Protected Sub DdlTipoCuenta_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlTipoCuenta.SelectedValue.ToString.ToEntero >= 6 Then
TxtFInicial.Visible = False
LtFInicial.Visible = False
trLimiteCredito.Visible = True
LtLimiteCredito.Visible = True
TxtLimiteCredito.Visible = True
RFVLimiteCredito.Enabled = True
VCELimiteCredito.Enabled = True
Else
TxtFInicial.Visible = True
LtFInicial.Visible = True
trLimiteCredito.Visible = False
LtLimiteCredito.Visible = False
TxtLimiteCredito.Visible = False
RFVLimiteCredito.Enabled = False
VCELimiteCredito.Enabled = False
If DdlTipoCuenta.SelectedValue = "1" Then
trSubProyecto.Visible = True
Else
trSubProyecto.Visible = False
End If
End If
CargaCuentasContables()
UpDatos.Update()
End Sub
#End Region
#Region " U S U A R I O S - C U E N T A S"
Protected Sub LnkAgregar_Click(sender As Object, e As EventArgs) Handles LnkAgregar.Click
Dim Obj As New ClsBancos
Dim Row As DataRow
If CveCuenta > 0 Then
If Obj.AddBancosCuentasUsuarios(CveCuenta, DdlUsuarios.SelectedValue.ToEntero) Then
DTUsuarios = Obj.DtResultados
GVU.DataSource = Obj.DtResultados
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If Obj.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Obj.DtResultados
'End If
End If
Else
If DTUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", DdlUsuarios.SelectedValue.ToString)).Rows.Count > 0 Then
Alert("El usuario ya esta registrado en este numero de cuenta", TipoMensaje.MsgAdvertencia)
Else
Row = DTUsuarios.NewRow
Row("CveCuenta") = DTUsuarios.Rows.Count + 1
Row("CveUsuario") = DdlUsuarios.SelectedValue.ToEntero
Row("Nombre") = DdlUsuarios.SelectedItem.Text.ToString
Row("Usuario") = DdlUsuarios.SelectedItem.Text.ToString
DTUsuarios.Rows.Add(Row)
End If
GVU.DataSource = DTUsuarios
End If
CargaUsuariosDDL()
Obj.Dispose()
GVU.DataBind()
End Sub
Private Sub CargaDatosUsuarios()
Dim ObjCuentasBancariasDetalle As New ClsBancos()
If ObjCuentasBancariasDetalle.GetBancosCuentasUsuariosAcceso(CveCuenta) Then
DTUsuarios = ObjCuentasBancariasDetalle.DtResultados
GVU.DataSource = DTUsuarios
End If
ObjCuentasBancariasDetalle.Dispose()
GVU.DataBind()
End Sub
Public Sub CargaUsuariosDDL()
Dim sUsuarios As String = ""
For Each row As DataRow In DTUsuarios.Rows
sUsuarios = $"{sUsuarios} {row("CveUsuario").ToString},"
Next
If sUsuarios <> "" Then
' Dim tablaUsuariosAux As DataTable = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre", DistinctColumns:={"CveUsuario", "Nombre", "Usuario"})
Dim tablaUsuariosAux As DataTable = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros($"CveUsuario NOT IN ({sUsuarios.Substring(0, sUsuarios.Length - 1)})", "Nombre")
DdlUsuarios.DataSource = CargarDdlUsuarios(tablaUsuariosAux)
'DdlUsuarios.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros($"CveUsuario NOT IN ({sUsuarios.Substring(0, sUsuarios.Length - 1)})", "Nombre")
DdlUsuarios.DataBind()
End If
End Sub
Private Sub CreaDTUsuarios()
DTUsuarios = New DataTable
DTUsuarios.Columns.Add("CveCuenta", GetType(Integer)) ' Consecutivo en este caso
DTUsuarios.Columns.Add("CveUsuario", GetType(Integer))
DTUsuarios.Columns.Add("Nombre", GetType(String))
DTUsuarios.Columns.Add("Usuario", GetType(String))
End Sub
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVU.RowDeleting
Dim ObjBancos As New ClsBancos
If CveCuenta > 0 Then
If ObjBancos.RemoveBancosCuentasUsuarios(GVU.DataKeys(e.RowIndex)("CveCuenta").ToString.ToEntero, GVU.DataKeys(e.RowIndex)("CveUsuario").ToString.ToEntero) Then
GVU.EditIndex = -1
DTUsuarios = ObjBancos.DtResultados
GVU.DataSource = ObjBancos.DtResultados
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If ObjBancos.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjBancos.DtResultados
'End If
Alert("El usuario se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If
Else
DTUsuarios.Rows.RemoveAt(e.RowIndex)
GVU.DataSource = DTUsuarios
End If
GVU.DataBind()
CargaUsuariosDDL()
ObjBancos.Dispose()
End Sub
#End Region
#Region " AGREGAR CUENTAS CONTABLES"
Private Sub ActivarRegistroAutomatico()
'Cuenta Contable
If DDlCuentaContable.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 Then
DDlCuentaContable.Width = 240
BtnCuentaContable.Visible = True
End If
'Cuenta Contable Complementaria
If DdlCuentaContableComplementaria.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(210).ToEntero > 0 Then
DdlCuentaContableComplementaria.Width = 240
BtnCuentaContableComplementaria.Visible = True
End If
End Sub
Protected Sub BtnAgregaCuentaContable(ByVal sender As Object, ByVal e As EventArgs)
Dim CuentaContable = DirectCast(sender, Button).CommandArgument.ToString
Dim Button = DirectCast(sender, Button)
Try
Select Case CuentaContable
Case "CuentaContable"
AgregarCuentaContable(Button, DDlCuentaContable)
Case "CuentaContableComplementaria"
AgregarCuentaContable(Button, DdlCuentaContableComplementaria)
End Select
Catch ex As Exception
End Try
End Sub
Private Sub AgregarCuentaContable(btn As Button, ddl As DropDownList)
Dim IdCuentaContable As Integer = -1
Dim CtaCodigo As String = ""
Dim TieneError = False
Dim CtaContableCodigo As String = "-1", CtaComplementariaCodigo As String = "-1"
Dim TipoCase = ""
Dim ObjContaAC As New ClsContPAQi(UsuarioActual.Empresa)
Dim ObjCuentasBancariasDetalle As New ClsBancos()
ObjContaAC.IniciaTransacSQL()
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim CuentaPadre = -1
TipoCase = btn.CommandArgument.ToString
Select Case TipoCase
Case "CuentaContable"
CuentaPadre = UsuarioActual.Empresa.Funcionalidad(209).ToEntero
Case "CuentaContableComplementaria"
CuentaPadre = UsuarioActual.Empresa.Funcionalidad(210).ToEntero
End Select
'agrega cuenta
IdCuentaContable = AgregaCuenta(ObjContaAC, CuentaPadre)
If IdCuentaContable > 0 Then
ObjContaAC.GetCuentas(IdCuentaContable, "-1", -1)
Dim dt = ObjContaAC.DtResultados
If dt.Rows.Count = 1 Then
Dim row As DataRow = dt.Rows(0)
CtaCodigo = CStr(row("CtaCodigo"))
Select Case TipoCase
Case "CuentaContable"
CtaContableCodigo = CtaCodigo
Case "CuentaContableComplementaria"
CtaContableCodigo = CtaCodigo
End Select
'If Not ObjCuentasBancariasDetalle.VincularCuentasContablesBancarias(Id0CtaContable, Id0CtaContableComplementaria, CveCuenta) Then
' ' TieneError = True
' 'End If
'Else
TieneError = True
End If
Else
TieneError = True
End If
If Not TieneError Then
Alert(String.Format("Se registo la Cuenta Contable: {0}", CtaCodigo, TipoMensaje.MsgInformacion))
ddl.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : ddl.SelectedValueExist(IdCuentaContable.ToString)
btn.Visible = False
ddl.Width = 330
ObjCuentasBancariasDetalle.Commit()
ObjContaAC.Commit()
Else
Alert("error", TipoMensaje.MsgError)
ObjCuentasBancariasDetalle.RollBack()
ObjContaAC.RollBack()
End If
ObjContaAC.Dispose()
ObjCuentasBancariasDetalle.Dispose()
UpDatos.Update()
End Sub
Private Function AgregaCuenta(ObjContaAC As ClsContPAQi, CuentaPadre As Integer) As Integer
Dim IdCuentaContable As Integer = -1
Dim TieneError = False
IdCuentaContable = ObjContaAC.AddSiguienteCuentaHijo(CuentaPadre, TxtNumCuenta.Text.Trim)
If IdCuentaContable > 0 Then
Else
TieneError = True
End If
If TieneError Then
IdCuentaContable = -1
End If
Return IdCuentaContable
End Function
Private Function GuardaCuentasContables(ObjContaAC As ClsContPAQi, ObjCuentasBancariasDetalle As ClsBancos) As Boolean
Dim TieneError = False
Dim IdCuentaContable, IdCuentaContableComplementaria As Integer
'agrega cuenta 1
If ChckCuentaContable.Checked Then
IdCuentaContable = AgregaCuenta(ObjContaAC, UsuarioActual.Empresa.Funcionalidad(209).ToEntero)
If IdCuentaContable < 0 Then
TieneError = True
End If
End If
'agrega cuenta 2
If ChckCuentaContable.Checked Then
IdCuentaContableComplementaria = AgregaCuenta(ObjContaAC, UsuarioActual.Empresa.Funcionalidad(210).ToEntero)
If IdCuentaContableComplementaria < 0 Then
TieneError = True
End If
End If
''vincula ambos
'If Not TieneError Then
' If Not ObjCuentasBancariasDetalle.VincularCuentasContablesBancarias(0, 0, CveCuenta) Then
' TieneError = True
' End If
'End If
Return TieneError
End Function
#End Region
#Region " Convenio CIE "
Private Sub InicializaConvenio()
If ChkLayout.Checked Then
TrConvenio.Visible = True
Else
TrConvenio.Visible = False
End If
End Sub
Protected Sub ChkLayout_CheckedChanged(sender As Object, e As EventArgs)
InicializaConvenio()
End Sub
Protected Sub ChkUsaTarjeta_CheckedChanged(sender As Object, e As EventArgs)
If ChkUsaTarjeta.Checked AndAlso CveCuenta > 0 Then
DivTarjeta.Visible = True
CargaDatosTarjeta()
Else
DivTarjeta.Visible = False
End If
End Sub
#End Region
#Region "D A T O S T A R J E TA - C R E D I T O"
'Private Sub LkbAgregarTarjera_Click(sender As Object, e As EventArgs) Handles LkbAgregarTarjera.Click
' Dim ObjTarjeta As New ClsBancos()
' Dim TieneError = False
' If Not ObjTarjeta.AddTarjetaCredito(CveCuenta, TxtNumTarjeta.Text, TxtNombreResponsable.Text, TxtFechaVencimiento.Text.ToDate, UsuarioActual.CveUsuario) Then
' TieneError = True
' End If
' If Not TieneError Then
' Alert("Se guardo la tarjeta de credito correctamente", TipoMensaje.MsgInformacion)
' TxtNumTarjeta.Text = ""
' TxtNombreResponsable.Text = ""
' TxtFechaVencimiento.Text = ""
' CargaDatosTarjeta()
' Else
' Alert("Ocurrio un Error al Guardar la tarjeta de credito", TipoMensaje.MsgError)
' End If
' ObjTarjeta.Dispose()
' UpDatos.Update()
'End Sub
Private Sub CargaDatosTarjeta()
'Dim ObjTarjeta As New ClsBancos()
'If ObjTarjeta.GetTarjetaCredito(-1, CveCuenta, -1) Then
' GvTarjetas.DataSource = ObjTarjeta.DtResultados()
'Else
' GvTarjetas.DataSource = Nothing
'End If
'GvTarjetas.DataBind()
'ObjTarjeta.Dispose()
Dim ObjCreditos As New ClsBancos
If ObjCreditos.GetTarjetasCreditos(CveCuenta) Then
If ObjCreditos.DtResultados.Rows.Count > 0 Then
GvTC.DataSource = ObjCreditos.DtResultados
End If
GvTC.Visible = True
End If
ObjCreditos.Dispose()
GvTC.DataBind()
UpDatos.Update()
End Sub
'Private Sub GvTarjetas_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvTarjetas.RowEditing
' GvTarjetas.EditIndex = e.NewEditIndex
' CargaDatosTarjeta()
'End Sub
'Private Sub GvTarjetas_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvTarjetas.RowCancelingEdit
' GvTarjetas.EditIndex = -1
' CargaDatosTarjeta()
'End Sub
'Private Sub GvTarjetas_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvTarjetas.RowUpdating
' Dim ObjTarjeta As New ClsBancos()
' Dim TieneError = False
' Dim CveCuentaTarjeta = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuentaTarjeta").ToEntero
' Dim CveCuenta As Integer = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuenta").ToEntero
' Dim Numero = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtNumeroEdit"), TextBox).Text.Trim
' Dim Responsable = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtResponsableEdit"), TextBox).Text.Trim
' Dim Vencimiento = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtFechaVencimientoEdit"), TextBox).Text.ToDate
' If Not ObjTarjeta.UpdateTarjetaCredito(CveCuentaTarjeta, CveCuenta, Numero, Responsable, Vencimiento, UsuarioActual.CveUsuario) Then
' TieneError = True
' Else
' GvTarjetas.EditIndex = -1
' End If
' If Not TieneError Then
' Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
' CargaDatosTarjeta()
' Else
' Alert("Error al actualizar los cambios.", TipoMensaje.MsgError)
' End If
' ObjTarjeta.Dispose()
' UpDatos.Update()
'End Sub
'Private Sub GvTarjetas_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvTarjetas.RowDeleting
' Dim ObjTarjeta As New ClsBancos()
' Dim TieneError = False
' Dim CveCuentaTarjeta = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuentaTarjeta").ToEntero
' If ObjTarjeta.RemoveTarjetaCredito(CveCuentaTarjeta, UsuarioActual.CveUsuario) Then
' CargaDatosTarjeta()
' Alert("Se eliminaron datos correctamente", TipoMensaje.MsgInformacion)
' Else
' Alert("Error al eliminar", TipoMensaje.MsgError)
' End If
' ObjTarjeta.Dispose()
' UpDatos.Update()
'End Sub
'Private Sub GvTarjetas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvTarjetas.RowDataBound
' If e.Row.RowType = DataControlRowType.DataRow Then
' If e.Row.RowIndex = 0 Then
' e.Row.Cells(0).Width = Unit.Pixel(100)
' e.Row.Cells(1).Width = Unit.Pixel(100)
' e.Row.Cells(2).Width = Unit.Pixel(200)
' e.Row.Cells(3).Width = Unit.Pixel(20)
' e.Row.Cells(4).Width = Unit.Pixel(20)
' End If
' End If
'End Sub
Private Function CargarDdlUsuarios(UsuariosGlobal As DataTable) As DataTable
Dim tablaUsuariosFormateada As DataTable = New DataTable("Usuarios")
Dim columnaNombre As DataColumn = New DataColumn("Nombre")
columnaNombre.DataType = System.Type.GetType("System.String")
Dim columnaCveUsuario As DataColumn = New DataColumn("CveUsuario")
columnaCveUsuario.DataType = System.Type.GetType("System.String")
tablaUsuariosFormateada.Columns.Add(columnaNombre)
tablaUsuariosFormateada.Columns.Add(columnaCveUsuario)
For Each eachRegistro As DataRow In UsuariosGlobal.Rows
Dim renglonAux As DataRow = tablaUsuariosFormateada.NewRow()
renglonAux.Item("Nombre") = $"{eachRegistro.Item("Nombre")}({eachRegistro.Item("Usuario")})"
renglonAux.Item("CveUsuario") = eachRegistro.Item("CveUsuario")
tablaUsuariosFormateada.Rows.Add(renglonAux)
Next
Return tablaUsuariosFormateada
End Function
#End Region
End Class