Imports Extensiones Imports System.Data Partial Class Bancos_DepositoTerminal Inherits ClsPaginas #Region "Propiedades" Private Property NombreComercial As String Get Return ViewState("NombreComercial").ToString End Get Set(value As String) ViewState("NombreComercial") = value End Set End Property #End Region Private Sub Bancos_DepositoTerminal_Load(sender As Object, e As EventArgs) Handles Me.Load If Not IsPostBack Then TxtFecha.Text = NowADS().ToShortDateString CargaCuentas() If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then rowComisiones.Visible = True 'divTipoPago.Visible = True End If End If End Sub Protected Sub ChkAjusteOI_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ChkAjusteOI.CheckedChanged If ChkAjusteOI.Checked Then TxtOtrosImportes.Visible = True TxtTotal.Visible = True GvFacturas.Columns(5).Visible = True Else TxtOtrosImportes.Visible = False TxtTotal.Visible = False GvFacturas.Columns(5).Visible = False TxtOtrosImportes.Text = "" TxtTotal.Text = "" RegistraScript("$get('TxtImporte').value = FormatoNumero(SumaValores(), 2);") End If UpGvFacturas.Update() 'UPVentas.Update() End Sub #Region "CARGA COMBOS" Private Sub CargaCuentas() DdlCuentaDeposito.DataSource = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTipoCuenta <> 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlCuentaTerminal.DataSource = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTipoCuenta = 1", "", {"CveCuenta", "NumCuentaMoneda"}) DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones().FiltraParametros("CveTipoTransaccion in (11,12)") DdlCuentaDeposito.DataBind() DdlCuentaTerminal.DataBind() DdlTipoTransaccion.DataBind() DdlCuentaDeposito.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub DdlCuentaSelectIndexChange() If UsuarioActual.Empresa.Funcionalidad(505) <> "1" Then Dim Folio As Long Dim Banco As New ClsBancos Folio = Banco.GetNextFolio(DdlCuentaDeposito.SelectedValue.ToEntero, 8) Banco.Dispose() TxtFolio.Text = Folio.ToString Else TxtFolio.Text = "" End If End Sub Protected Sub DdlCuentaDeposito_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCuentaDeposito.SelectedIndexChanged DdlCuentaSelectIndexChange() End Sub #End Region #Region "CARGA DATOS" 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") ObjBancos.GetVentasTerminal(FechaI, FechaF, UsuarioActual.CveEmpresa, DdlCuentaTerminal.SelectedValue.ToEntero) GvFacturas.DataSource = ObjBancos.DtResultados ObjBancos.Dispose() UpGvFacturas.Update() GvFacturas.DataBind() End Sub Private Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click CargaDatos() End Sub #End Region #Region "GUARDAR" Private Sub BtnDepositar_Click(sender As Object, e As EventArgs) Handles BtnDepositar.Click Dim TotalImporte As Decimal = 0 For Each Gvr As GridViewRow In GvFacturas.Rows If Gvr.FCCheckBox("ChkFactura").Checked Then TotalImporte += Gvr.FCTextBox("TxtAbonar").Text.ToDecimal End If Next If TotalImporte = 0 Then Alert("Seleccion una factura para realizar el deposito", TipoMensaje.MsgAdvertencia) Exit Sub Else Dim OcurrioError As Boolean = False Dim ObjContabilidad As New ClsContabilidad() Dim ObjCliente As New ClsClientes(ObjContabilidad.IniciaTransacSQL()) Dim ObjBancos As New ClsBancos(ObjContabilidad.IniciaTransacSQL()) Dim CveIE As Integer 'Banco Dim NuevaCvePrePoliza As Integer Dim CveMoneda As Integer = 1 Dim TipoCambio As Double = 1 Dim Fecha As Date = TxtFecha.Text.ToDate Dim IDPoliza As Integer = 0 Dim FolioPoliza As String = "" Dim drDestino As DataRow = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa ).FiltroPrimero($"CveCuenta = {DdlCuentaDeposito.SelectedValue}") Dim MsgError As String = "" If drDestino IsNot Nothing Then CveMoneda = drDestino("CveMoneda").ToString.ToEntero End If NuevaCvePrePoliza = ObjContabilidad.AddPrePolizas("Ventas", 11, TotalImporte, TotalImporte, CveMoneda, Fecha, "Depósito Bancario", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) CveIE = ObjBancos.AddBancos_IE(DdlCuentaDeposito.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text, "Depósito Bancario", TxtImporte.Text.ToDecimal, CveMoneda, 1, TxtObservaciones.Text, "", False, False, -1, NuevaCvePrePoliza, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIE > 0 Then If NuevaCvePrePoliza > 0 Then Dim PorcentajePago As Decimal = 1 Dim CvePlantillaPoliza As Integer = 11 Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" Dim dtConceptos As DataTable = Nothing Dim tipoCambioVenta As Decimal Dim tipoCambioActual As Decimal Dim tipoCambioManual As Decimal Dim CuentasContablesInvalidas As New StringBuilder If ObjContabilidad.GetPlantillaConceptos(UsuarioActual.CveEmpresa, CvePlantillaPoliza) Then dtConceptos = ObjContabilidad.DtResultados End If 'inserto las ventas que voy a pagar For Each gvr As GridViewRow In GvFacturas.Rows If gvr.FCCheckBox("ChkFactura").Checked Then If ObjCliente.GetClientes(gvr.DataKey("CveCliente").ToEntero, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, -1) Then NombreComercial = ObjCliente.NombreComercial End If If gvr.DataKey("CveMoneda").ToEntero = 2 Then tipoCambioVenta = GlobalTipoCambio(gvr.FCLiteral("LtlFecha").Text.ToDate).ToString.ToDecimal tipoCambioActual = GlobalTipoCambio(TxtFecha.Text.ToDate).ToString.ToDecimal tipoCambioManual = tipoCambioActual Else tipoCambioVenta = 1 tipoCambioActual = 1 tipoCambioManual = 1 End If If dtConceptos IsNot Nothing Then For Each Row As DataRow In dtConceptos.Rows Dim ConceptoContable = Row("CveConcepto").ToString.ToEntero Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False) Dim ImporteMovimiento As Decimal = 0 Dim importeMX As Decimal Dim FechaMovimiento As Date = TxtFecha.Text.ToDate Dim ConceptoMovimiento As String = ObjContabilidad.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreComercial, gvr.DataKey("SerieFolio").ToString, TxtFolio.ToString) Dim Referencia As String = gvr.DataKey("SerieFolio").ToString Dim CveSubProyecto As Integer = gvr.DataKey("CveSubProyecto").ToEntero Select Case ConceptoContable Case 2 'Pago Cliente ImporteMovimiento = gvr.FCTextBox("TxtAbonar").Text.ToDecimal importeMX = ImporteMovimiento * tipoCambioVenta If tipoCambioVenta > 1 Then ConceptoMovimiento += $" TC:{tipoCambioVenta} ${ImporteMovimiento.FormatoNumero(2)}" If ImporteMovimiento <> 0 Then importeMX = ImporteMovimiento If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, TipoMovimiento, 0, ImporteMovimiento * tipoCambioVenta - ImporteMovimiento, ConceptoContable, Referencia, ConceptoMovimiento, CveIE:=CveIE, CveVenta:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveSubProyecto:=CveSubProyecto, CveCliente:=ViewState("CveCliente").ToString.ToEntero) Then MsgError = "No se pudo insertar la póliza" End If End If End If Case 8 'Ret IVA x Trasladar ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento, 2) * tipoCambioVenta If tipoCambioVenta > 1 Then ConceptoMovimiento += $" TC:{tipoCambioVenta} ${ImporteMovimiento.FormatoNumero(2)}" Case 9 'Ret ISR x Trasladar ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento, 2) * tipoCambioVenta If tipoCambioVenta > 1 Then ConceptoMovimiento += $" TC:{tipoCambioVenta} ${ImporteMovimiento.FormatoNumero(2)}" Case 13 'Iva por Trasladar ImporteMovimiento = gvr.DataKey("IVA").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioVenta, 2) If tipoCambioVenta > 1 Then ConceptoMovimiento += $" TC:{tipoCambioVenta} ${ImporteMovimiento.FormatoNumero(2)}" Case 62 'Ret IVA Trasladado ImporteMovimiento = gvr.DataKey("RetIVA").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioVenta, 2) If tipoCambioManual > 1 Then ConceptoMovimiento += $" TC:{tipoCambioManual} ${ImporteMovimiento.FormatoNumero(2)}" Case 63 'Ret ISR Trasladado ImporteMovimiento = gvr.DataKey("RetISR").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioManual, 2) If tipoCambioManual > 1 Then ConceptoMovimiento += $" TC:{tipoCambioManual} ${ImporteMovimiento.FormatoNumero(2)}" Case 61 'Iva Trasladado ImporteMovimiento = gvr.DataKey("IVA").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioManual, 2) If tipoCambioManual > 1 Then ConceptoMovimiento += $" TC:{tipoCambioManual} ${ImporteMovimiento.FormatoNumero(2)}" Case 38 'IEPS por trasladar ImporteMovimiento = gvr.DataKey("IEPS").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioVenta, 2) Case 39 'IEPS Trasladado ImporteMovimiento = gvr.DataKey("IEPS").ToDecimal * PorcentajePago importeMX = Math.Round(ImporteMovimiento * tipoCambioManual, 2) Case 78 'Otros Ingresos If ChkAjusteOI.Checked Then ImporteMovimiento = gvr.FCTextBox("TxtComision").Text.ToDecimal importeMX = Math.Round(ImporteMovimiento * tipoCambioVenta, 2) If tipoCambioVenta > 1 Then ConceptoMovimiento += $" TC:{tipoCambioVenta} ${ImporteMovimiento.FormatoNumero(2)}" End If Case 30 ImporteMovimiento = 0 Case Else ImporteMovimiento = 0 End Select If ImporteMovimiento <> 0 Then If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, TipoMovimiento, ImporteMovimiento, importeMX, ConceptoContable, Referencia, ConceptoMovimiento, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveSubProyecto:=CveSubProyecto, CveCliente:=gvr.DataKey("CveCliente").ToEntero) Then MsgError = "No se pudo insertar la póliza" End If End If Next End If End If Next If CveMoneda > 1 Then If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, 30, "", "", CveIE:=CveIE) Then MsgError = "No se pudo insertar la póliza" End If If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, 204, "", "", CveIE:=CveIE) Then MsgError = "No se pudo insertar la póliza" End If Else If Not ObjContabilidad.AddPrePolizasDetalle(NuevaCvePrePoliza, False, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, 30, "", "", CveIE:=CveIE) Then MsgError = "No se pudo insertar la póliza" End If End If Else MsgError = "No se pudo insertar la póliza" End If Else MsgError = "No se insertó el encabezado" End If If MsgError = "" Then ObjContabilidad.Commit() CargaDatos() DdlCuentaSelectIndexChange() TxtObservaciones.Text = "" TxtImporte.Text = "" UPPFiltros.Update() Dim StrMsg As New StringBuilder StrMsg.Append("Abono Registrado Correctamente.
") If IDPoliza > 0 Then StrMsg.AppendFormat("
Poliza: {1}", IDPoliza, FolioPoliza) Alert($"{StrMsg.ToString}

", TipoMensaje.MsgInformacion) Else ObjContabilidad.RollBack() End If ObjBancos.Dispose() ObjContabilidad.Dispose() ObjCliente.Dispose() End If End Sub Private Sub GvFacturas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvFacturas.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.FCCheckBox("ChkFactura").Attributes.Add("onclick", String.Format("FnSuma(this,{0},{1});", e.Row.FCTextBox("TxtAbonar").ClientID, e.Row.DBCampo("Importe"))) If e.Row.DBCampo("CveVenta").ToEntero > 0 Then e.Row.FCTextBox("TxtAbonar").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},1);", e.Row.FCCheckBox("ChkFactura").ClientID, e.Row.DBCampo("Importe"))) If UsuarioActual.Empresa.Funcionalidad(157).ToDecimal <> 0 Then e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnLimites({0},this,{1},{2},2);", e.Row.FCCheckBox("Chk").ClientID, (-UsuarioActual.Empresa.Funcionalidad(157).ToDecimal).ToString, UsuarioActual.Empresa.Funcionalidad(157).ToString.ToDecimal)) e.Row.FCRangeValidator("RVComision").MinimumValue = (-UsuarioActual.Empresa.Funcionalidad(157).ToDecimal).ToString e.Row.FCRangeValidator("RVComision").MaximumValue = UsuarioActual.Empresa.Funcionalidad(157) e.Row.FCRangeValidator("RVComision").Enabled = True Else e.Row.FCTextBox("TxtComision").Attributes.Add("onblur", String.Format("FnCambia({0},this,{1},2);", e.Row.FCCheckBox("ChkFactura").ClientID, e.Row.DBCampo("Importe"))) e.Row.FCRangeValidator("RVComision").MinimumValue = "0.00" e.Row.FCRangeValidator("RVComision").MaximumValue = e.Row.DBCampo("Importe") End If Else e.Row.FCTextBox("TxtAbonar").Visible = False e.Row.FCTextBox("TxtComision").Visible = False e.Row.FCCheckBox("ChkFactura").Visible = False End If End If End Sub #End Region End Class