Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class Bancos_DepositosCaja Inherits ClsPaginas Private Property FacturasCheckadas As Integer Get Return ViewState("FacturasCheckadas").ToString.ToEntero End Get Set(value As Integer) ViewState("FacturasCheckadas") = value End Set End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then FacturasCheckadas = 0 TxtFecha.Text = Now.ToShortDateString txtFechaI.Text = Now.AddDays(-1).ToShortDateString txtFechaF.Text = Now.ToShortDateString TxtComision.Attributes.Add("onKeyUp", "txtSuma(this);") TxtDescuento.Attributes.Add("onKeyUp", "txtSumaDescuento(this);") TxtIVA.Attributes.Add("onKeyUp", "txtSumaIVA(this);") TxtComisionIntermediario.Attributes.Add("onKeyUp", "txtSumaTntermediario(this);") CargaCuentas() ChkFaltante.Attributes.Add("onclick", "CheckFaltante(this);") ChkDescuento.Attributes.Add("onclick", "CheckDescuento(this);") ChkIntermediario.Attributes.Add("onclick", "CheckIntermediario(this);") BtnConsultar.Attributes.Add("onclick", "Consultar(this);") BtnDepositar.Attributes.Add("onclick", "Depositar(this);") End If End Sub Private Sub CargaCuentas() DdlCuentaDeposito.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta <> 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlCuentaDeposito.DataBind() DdlCajaChica.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros(" CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlCajaChica.DataBind() 'código temporal, para claudia y toñita, monge, anadelia, alba,patricia If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then DdlCajaChica.Items.Add(New ListItem("Todas", "-1")) DdlCuentaDeposito.Items.Add(New ListItem("Cuadre Solidaridad", "7850")) DdlCuentaDeposito.Items.Add(New ListItem("Cuadre Obregón", "7853")) DdlCuentaDeposito.Items.Add(New ListItem("Cuadre Matriz", "7861")) divFolio.Visible = True End If DdlSubProyectos.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) DdlSubProyectos.DataBind() DdlSubProyectos.Items.Insert(0, New ListItem("Todos", "-1")) DdlSubProyectoDeposito.DataSource = DdlSubProyectos.DataSource DdlSubProyectoDeposito.DataBind() DdlSubProyectoDeposito.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlSubProyectoDescuento.DataSource = DdlSubProyectos.DataSource DdlSubProyectoDescuento.DataBind() DdlSubProyectoDescuento.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=2) DdlClasificacion.DataBind() DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlClasificacionDescuento.DataSource = DdlClasificacion.DataSource DdlClasificacionDescuento.DataBind() DdlClasificacionDescuento.Items.Insert(0, New ListItem("Seleccione", "-1")) DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) DdlPersonal.DataBind() 'intermediario DdlProveedorIntermediario.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor in ({0})", 73343)) DdlProveedorIntermediario.DataBind() DdlClasificacionIntermediario.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, UsoClasificacion:=2) DdlClasificacionIntermediario.DataBind() DdlSubProyectoIntermediario.DataSource = GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa) DdlSubProyectoIntermediario.DataBind() 'CargaUsuarios DdlUsuario.DataSource = GlobalDTUsuarios(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlUsuario.DataBind() End Sub Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click CargaDatos() End Sub Private Sub CargaDatos() Dim ObjBancos As New ClsBancos Dim FechaI, FechaF As String FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim(), "-1") FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim(), "-1") Dim MSI As Integer = -1 If DdlTipoPago.SelectedValue = "12" Then MSI = DDlMesesSinIntereses.SelectedValue.ToEntero End If ObjBancos.GetPagosCajaChica(FechaI, FechaF, UsuarioActual.CveEmpresa, DdlCajaChica.SelectedValue.ToEntero, DdlTipoPago.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, MSI:=MSI, CveUsuario:=DdlUsuario.SelectedValue.ToEntero) GvFacturas.DataSource = ObjBancos.DtResultados If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then lblValorTotal.Text = ObjBancos.DtResultados.SUM("Importe").ToString("###,###,###.00") RegistraScript($" ValorTotalSeleccionado = {ObjBancos.DtResultados.SUM("Importe")};") End If ObjBancos.Dispose() GvFacturas.DataBind() ChkFaltante.Checked = False ChkDescuento.Checked = False ChkIntermediario.Checked = False TxtComision.Text = "" TxtDescuento.Text = "" TxtIVA.Text = "" TxtComisionIntermediario.Text = "" 'lblValorTotal.Text = "0.0" lblValorTotalSeleccionado.Text = "0.0" divLabelTotal.Visible = True DdlSubProyectoDeposito.SelectedValueExist(DdlSubProyectos.SelectedValue.ToEntero) DdlSubProyectoDescuento.SelectedValueExist(DdlSubProyectos.SelectedValue.ToEntero) DdlSubProyectoIntermediario.SelectedValueExist(DdlSubProyectos.SelectedValue.ToEntero) UpGvFacturas.Update() UpParametros.Update() UpComisiones.Update() End Sub Private Sub BtnDepositar_Click(sender As Object, e As EventArgs) Handles BtnDepositar.Click Dim TotalImporte As Decimal = 0 Dim TotalImportePrePoliza As Decimal Dim Comision As Decimal = TxtComision.Text.ToDecimal Dim Descuento As Decimal = TxtDescuento.Text.ToDecimal Dim IVA As Decimal = TxtIVA.Text.ToDecimal Dim ImporteInter As Decimal = TxtComisionIntermediario.Text.ToDecimal For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then TotalImporte += Gvr.DataKey("Importe").ToDecimal Next If TotalImporte = 0 Then Alert("Seleccion una factura para realizar el depósito", TipoMensaje.MsgAdvertencia) Exit Sub End If TotalImportePrePoliza = TotalImporte If Comision <> 0 Then TotalImporte = TotalImporte + Comision 'Comision = -(Comision) ' se inverte el valor, va cargada 'Descuento = -(Descuento) ' se inverte el valor, va cargada If DdlSubProyectoDeposito.SelectedValue.ToEntero = -1 Or DdlClasificacion.SelectedValue.ToEntero = -1 Then Alert("Debes Seleccionar un Subproyecto y una Clasificación", TipoMensaje.MsgAdvertencia) Exit Sub End If End If If Descuento <> 0 Then TotalImporte = TotalImporte - Descuento 'Descuento = -(Descuento) ' se inverte el valor, va cargada If DdlSubProyectoDescuento.SelectedValue.ToEntero = -1 Or DdlClasificacionDescuento.SelectedValue.ToEntero = -1 Then Alert("Debes Seleccionar un Subproyecto y una Clasificación de descuento", TipoMensaje.MsgAdvertencia) Exit Sub End If End If If TxtComisionIntermediario.Text.ToDecimal <> 0 Then TotalImporte = TotalImporte - TxtComisionIntermediario.Text.ToDecimal - IVA End If Dim OcurrioError As Boolean = False Dim ObjContabilidad As New ClsContabilidad() Dim ObjBancos As New ClsBancos(ObjContabilidad.IniciaTransacSQL()) Dim CveIEOrigen As Integer 'CajaChica Dim CveIEDestino As Integer 'Banco Dim NuevaCvePrePoliza As Integer Dim FolioIE As Long = -1 Dim CveMoneda As Integer = 1 Dim TipoCambio As Decimal = 1 Dim Fecha As Date = TxtFecha.Text.ToDate Dim IdCuentaBancariaOrigen As Integer = 0 Dim IdCuentaBancariaDestino As Integer = 0 Dim CveCuentaBancariaOrigen As Integer = 0 Dim drOrigen As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCajaChica.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("") Dim drDestino As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=DdlCuentaDeposito.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("") Dim CveSubProyecto As Integer = DdlSubProyectos.SelectedValue.ToEntero Dim CveClasificacion As Integer = -1 Dim CveSubProyectoComision As Integer Dim CveClasificacionComision As Integer Dim CveSubProyectoDescuento As Integer Dim CveClasificacionDescuento As Integer Dim documentos As String = "Los Depósitos se realizaron exitosamente

" Dim imprimirFolios As String = "" Dim CveSubProyectoIntermediario As Integer Dim CveClasificacionIntermediario As Integer Dim CveProveedorIntermediario As Integer = -1 If drOrigen IsNot Nothing Then CveMoneda = drOrigen("CveMoneda").ToString.ToEntero IdCuentaBancariaOrigen = drOrigen("IdCtaContable").ToString.ToEntero End If If drDestino IsNot Nothing Then CveMoneda = drDestino("CveMoneda").ToString.ToEntero IdCuentaBancariaDestino = drDestino("IdCtaContable").ToString.ToEntero End If NuevaCvePrePoliza = ObjContabilidad.AddPrePolizas("DepCaja", 13, TotalImportePrePoliza, TotalImportePrePoliza, CveMoneda, Fecha, "Depósito Bancario", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=1) If ChkIntermediario.Checked Then CveSubProyectoIntermediario = DdlSubProyectoIntermediario.SelectedValue.ToEntero CveClasificacionIntermediario = DdlClasificacionIntermediario.SelectedValue.ToEntero CveProveedorIntermediario = DdlProveedorIntermediario.SelectedValue.ToEntero If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, DdlClasificacionIntermediario.SelectedItem.Text, 95, DdlClasificacionIntermediario.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, ImporteMX:=TotalImporte, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then OcurrioError = True End If If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, TotalImporte, DdlClasificacionIntermediario.SelectedItem.Text, 95, DdlClasificacionIntermediario.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, ImporteMX:=TotalImporte, CveProveedor:=CveProveedorIntermediario, CveCuenta:=57619) Then OcurrioError = True End If If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, ImporteInter, DdlClasificacionIntermediario.SelectedItem.Text, 51, DdlClasificacionIntermediario.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, ImporteMX:=ImporteInter) Then OcurrioError = True End If If IVA <> 0 Then If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, IVA, DdlClasificacionIntermediario.SelectedItem.Text, 14, DdlClasificacionIntermediario.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionIntermediario, CveSubProyecto:=CveSubProyectoIntermediario, ImporteMX:=IVA, PorcentajeImpuesto:=0.16D) Then OcurrioError = True End If End If End If Dim CveTransaccionBanco As Integer = 13 If TotalImporte < 0 Then 'que es una devolución, entonces como es negativo, se cambia el concetpo de bancos, por condición de trigger CveTransaccionBanco = 6 End If 'código temporal, para claudia y toñita, monge, anadelia, alba,patricia If UsuarioActual.CveUsuario.Contiene(1937, 2452, 3358, 3033, 2897, 2560) Then FolioIE = TxtFolio.Text.ToEntero End If If FolioIE <= 0 Then 'Entrada a bancos FolioIE = ObjBancos.GetNextFolio(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco) End If If CveSubProyecto <= 0 Then 'sino se seleccionó del combo, busca en el listado el primero For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then CveSubProyecto = Gvr.DataKey("CveSubProyecto").ToEntero Exit For End If Next End If If FolioIE <= 0 Then OcurrioError = True End If CveIEOrigen = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, CveTransaccionBanco, Fecha, FolioIE.ToString, "Depósito Bancario", TotalImporte, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorIntermediario:=CveProveedorIntermediario) documentos += String.Format("Depósito: {1}    
", CveIEOrigen, FolioIE) If ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TotalImporte, "Depósito Bancario", 30, "Depósito Bancario", Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto, CveIE:=CveIEOrigen, ImporteMX:=TotalImporte * TipoCambio) Then If ChkFaltante.Checked Then CveSubProyectoComision = DdlSubProyectoDeposito.SelectedValue.ToEntero CveClasificacionComision = DdlClasificacion.SelectedValue.ToEntero If Comision <> 0 Then If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Comision, DdlClasificacion.SelectedItem.Text, 78, DdlClasificacion.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionComision, CveSubProyecto:=CveSubProyectoComision, ImporteMX:=Comision * TipoCambio) Then OcurrioError = True End If End If End If If ChkDescuento.Checked Then CveSubProyectoDescuento = DdlSubProyectoDescuento.SelectedValue.ToEntero CveClasificacionDescuento = DdlClasificacionDescuento.SelectedValue.ToEntero If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, Descuento, DdlClasificacionDescuento.SelectedItem.Text, 51, DdlClasificacionDescuento.SelectedItem.Text & " " & DdlPersonal.SelectedItem.Text, Fecha, IdCuentaBancariaOrigen, -1, CveClasificacion:=CveClasificacionDescuento, CveSubProyecto:=CveSubProyectoDescuento, ImporteMX:=Descuento * TipoCambio, CvePersonal:=DdlPersonal.SelectedValue.ToEntero) Then OcurrioError = True End If End If Else OcurrioError = True End If If Not OcurrioError Then For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then 'Datos de las Nuevas PrePolizas 'Entrada a Bancos Dim Importe As Decimal = Gvr.DataKey("Importe").ToDecimal Dim SerieFolio As String = Gvr.DataKey("SerieFolio").ToString 'Datos de las Prepolizas A Cancelar Dim CveIE As Integer = Gvr.DataKey("CveIE").ToEntero Dim CveVenta As Integer = Gvr.DataKey("CveVenta").ToEntero Dim CvePrePoliza As Integer = Gvr.DataKey("CvePrePoliza").ToEntero Dim CveCuentaBancaria As Integer = Gvr.DataKey("CveCuenta").ToEntero Dim tCveSubProyecto As Integer = Gvr.DataKey("CveSubProyecto").ToEntero FolioIE = ObjBancos.GetNextFolio(CveCuentaBancaria, 2) If Not FolioIE > 0 Then OcurrioError = True Exit For End If CveIEDestino = ObjBancos.AddBancos_IE(CveCuentaBancaria, 2, Fecha, FolioIE.ToString, String.Format("Depósito Bancario: {0}", SerieFolio), Importe, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, True, Importe, SerieFolio, 30, String.Format("Depósito Bancario: {0}", SerieFolio), Fecha, IdCuentaBancariaDestino, -1, CveClasificacion:=CveClasificacion, CveSubProyecto:=tCveSubProyecto, CveVenta:=CveVenta, CveIE:=CveIEDestino, ImporteMX:=Importe * TipoCambio) Then OcurrioError = True Exit For End If 'Asignamos la cuenta Deposito If Not OcurrioError AndAlso Not ObjBancos.UpdateBancos_IECuentaDeposito(CveIEOrigen, CveIE) Then OcurrioError = True Exit For End If End If Next Dim StrEncript As String = Encripta($"OP=DC&CveIE={CveIEOrigen}&CuentaCaja={DdlCajaChica.SelectedItem.Text}&CuentaDepo={DdlCuentaDeposito.SelectedItem.Text}") documentos += String.Format("
Imprimir {1}

", StrEncript, "Depósito Bancario") End If If OcurrioError Then ObjContabilidad.RollBack() Alert("Ocurrio un error al realizar los depositos", TipoMensaje.MsgError) Else ObjContabilidad.Commit() documentos += String.Format("Prepóliza

", NuevaCvePrePoliza) Alert(documentos.ToString) CargaDatos() End If TxtComision.Text = "" TxtDescuento.Text = "" TxtIVA.Text = "" TxtComisionIntermediario.Text = "" lblValorTotal.Text = "0.0" lblValorTotalSeleccionado.Text = "0.0" CargaDatos() ObjContabilidad.Dispose() End Sub Private Sub ObtenerTotalImporta() Dim Total As Double = 0 For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then Total += Gvr.DataKey("Importe").ToDouble End If Next lblValorTotal.Text = Total.ToString("N") UpGvFacturas.Update() UpParametros.Update() End Sub Public Sub ChkFactura_Click(sender As Object, e As EventArgs) 'ObtenerTotalImporta() End Sub Protected Sub GvFacturas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFacturas.RowDataBound 'If e.Row.RowType = DataControlRowType.DataRow Then ' If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoPago.SelectedValue.Contiene("11", "12", "-2") Then ' e.Row.FCCheckBox("ChkFactura").Checked = True ' e.Row.FCCheckBox("ChkFactura").Enabled = False ' End If ' e.Row.FCCheckBox("ChkFactura").Attributes.Add("onclick", String.Format("FnSuma(this,{0});", e.Row.DBCampo("Importe"))) ' e.Row.FCCheckBox("ChkFactura").InputAttributes.Add("Value", e.Row.DBCampo("Importe")) 'End If 'If e.Row.RowType = DataControlRowType.Header Then ' If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then ' RegistraScript("$('#C_GvFacturas_ChkSelector').attr('checked', true); $('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") ' 'RegistraScript("$('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") ' End If 'End If If e.Row.RowType = DataControlRowType.DataRow Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then e.Row.FCCheckBox("ChkFactura").Checked = True If DdlTipoPago.SelectedValue.Contiene("11", "12", "-2") Then e.Row.FCCheckBox("ChkFactura").Enabled = False End If End If e.Row.FCCheckBox("ChkFactura").Attributes.Add("onclick", String.Format("FnSuma(this,{0});", e.Row.DBCampo("Importe"))) e.Row.FCCheckBox("ChkFactura").InputAttributes.Add("Value", e.Row.DBCampo("Importe")) End If If e.Row.RowType = DataControlRowType.Header Then If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso DdlTipoPago.SelectedValue.Contiene("11", "12", "-2") Then RegistraScript("$('#C_GvFacturas_ChkSelector').attr('checked', true); $('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") 'RegistraScript("$('#C_GvFacturas_ChkSelector').prop('disabled', 'disabled');") End If End If End Sub Protected Sub DdlTipoPago_SelectedIndexChanged(sender As Object, e As EventArgs) If DdlTipoPago.SelectedValue = "12" Then DDlMesesSinIntereses.Visible = True Else DDlMesesSinIntereses.Visible = False End If DDlMesesSinIntereses.SelectedValue = "-1" End Sub End Class