Imports System.Data 'Imports DocumentFormat.OpenXml Imports Extensiones Imports GemBox.Spreadsheet Partial Class ContabilidadC_RegPrePolizaS Inherits ClsPaginas #Region "Propiedades" Public Property ArregloMovs As ArrayList Get Return CType(ViewState("ArregloMovs"), ArrayList) End Get Set(value As ArrayList) ViewState("ArregloMovs") = value End Set End Property Public Property DtMovimientos As DataTable Get Return CType(ViewState("DtMovimientos"), DataTable) End Get Set(value As DataTable) ViewState("DtMovimientos") = value End Set End Property Public Property DtMovimientosEliminar As DataTable Get Return CType(ViewState("DtMovimientosEliminar"), DataTable) End Get Set(value As DataTable) ViewState("DtMovimientosEliminar") = value End Set End Property Public Property DtCuentasContables As DataTable Get Return CType(ViewState("DtCuentasContables"), DataTable) End Get Set(value As DataTable) ViewState("DtCuentasContables") = value End Set End Property Public Property TipoPlantilla As Integer Get Return CType(ViewState("TipoPlantilla"), Integer) End Get Set(value As Integer) ViewState("TipoPlantilla") = value End Set End Property Public Property CveMoneda As Integer Get Return CType(ViewState("CveMoneda"), Integer) End Get Set(value As Integer) ViewState("CveMoneda") = value End Set End Property Private ReadOnly Property CvePrePoliza As Integer Get Return ViewState("CvePrePoliza").ToString.ToEntero End Get End Property Public Property DrConceptoContable As DataRow Get If ViewState("DrConceptoContable") IsNot Nothing Then Return CType(ViewState("DrConceptoContable"), DataRow) Else Return Nothing End If End Get Set(value As DataRow) ViewState("DrConceptoContable") = value End Set End Property Private Property CveTipoTransaccion As Integer Get Return ViewState("CveTipoTransaccion").ToString.ToEntero End Get Set(value As Integer) ViewState("CveTipoTransaccion") = value End Set End Property Private Property CveCuenta As Integer Get Return ViewState("CveCuenta").ToString.ToEntero End Get Set(value As Integer) ViewState("CveCuenta") = value End Set End Property Private Property Folio As String Get Return ViewState("Folio").ToString End Get Set(value As String) ViewState("Folio") = value End Set End Property Private Property ImporteDocumento As Decimal Get Return ViewState("ImporteDocumento").ToString.ToDecimal End Get Set(value As Decimal) ViewState("ImporteDocumento") = value End Set End Property Private Property Observaciones As String Get Return ViewState("Observaciones").ToString End Get Set(value As String) ViewState("Observaciones") = value End Set End Property Private Property Beneficiario As String Get Return ViewState("Beneficiario").ToString End Get Set(value As String) ViewState("Beneficiario") = value End Set End Property Private Property RowIndex As Integer Get Return ViewState("RowIndex").ToString.ToEntero End Get Set(value As Integer) ViewState("RowIndex") = value End Set End Property Private Property Actualizar As Boolean Get Return CBool(ViewState("Actualizar").ToString) End Get Set(value As Boolean) ViewState("Actualizar") = value End Set End Property Private ReadOnly Property CvePeriodo As Integer Get Return CType(ViewState("CvePeriodo"), Integer) End Get End Property Private ReadOnly Property CveProyecto As Integer Get Return CType(ViewState("CveProyecto"), Integer) End Get End Property Private ReadOnly Property CveSubProyecto As Integer Get Return CType(ViewState("CveSubProyecto"), Integer) End Get End Property Private ReadOnly Property CveTurno As Integer Get Return CType(ViewState("CveTurno"), Integer) End Get End Property Public Property IndiceGrid As Integer Get Return CType(ViewState("IndiceGrid"), Integer) End Get Set(value As Integer) ViewState("IndiceGrid") = value End Set End Property Public Property IdPoliza As Integer Get Return CType(ViewState("IdPoliza"), Integer) End Get Set(value As Integer) ViewState("IdPoliza") = value End Set End Property Public Property Tick As String Get Return CType(ViewState("Tick"), String) End Get Set(value As String) ViewState("Tick") = value End Set End Property Public Property CveIE As Integer Get Return CType(ViewState("CveIE"), Integer) End Get Set(value As Integer) ViewState("CveIE") = value End Set End Property Public Property IDMovEditar As Integer Get Return CType(ViewState("IDMovEditar"), Integer) End Get Set(value As Integer) ViewState("IDMovEditar") = value End Set End Property Public Property TipoPoliza As String Get Return CType(ViewState("TipoPoliza"), String) End Get Set(value As String) ViewState("TipoPoliza") = value End Set End Property Public Property CvePlantillaPoliza As Integer Get If ViewState("CvePlantillaPoliza") Is Nothing Then ViewState("CvePlantillaPoliza") = -1 End If Return ViewState("CvePlantillaPoliza").ToString.ToEntero End Get Set(value As Integer) ViewState("CvePlantillaPoliza") = value End Set End Property Public Property CvePrePolizaOrigen As Integer Get If ViewState("CvePrePolizaOrigen") Is Nothing Then ViewState("CvePrePolizaOrigen") = -1 End If Return ViewState("CvePrePolizaOrigen").ToString.ToEntero End Get Set(value As Integer) ViewState("CvePrePolizaOrigen") = 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 'If UsuarioActual.Empresa.Funcionalidad(282).ToEntero > 0 Then ' LnkImprimePDFResumen.Visible = True ' LnkImprimeExcelResumen.Visible = True 'End If Tick = NowADS().Ticks.ToString TxtTotalCargos.Attributes.Add("readonly", "readonly") TxtTotalAbonos.Attributes.Add("readonly", "readonly") CveMoneda = 1 ViewState("CvePrePoliza") = 0 ViewState("CvePeriodo") = "0" ViewState("CvePeriodo") = "0" CveTipoTransaccion = -1 CveCuenta = -1 Folio = "-1" ImporteDocumento = -1 Observaciones = "-1" Beneficiario = "-1" Actualizar = False IdPoliza = -1 TipoPlantilla = -1 If IfNull(Request("Tipo"), "").ToString = "Ing" Then TipoPlantilla = 1 LblEncabezado.Text = "Otros Ingresos" End If CargaPlantillas(TipoPlantilla) CargaConceptosContablesE() CargaModalConceptoCuentas() CargaConceptos() CargaSubProyectos() CargaCuentasBancos() If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then DivTipoGasto.Visible = True CargaTiposGasto() End If If Request("CvePrePoliza") IsNot Nothing AndAlso IsNumeric(Request("CvePrePoliza")) AndAlso Request("CvePrePoliza").ToEntero > 0 Then CreaDT() CreaDTEliminar() If CargaPrePoliza(Request("CvePrePoliza").ToEntero) Then If IfNull(Request("Tipo"), "").ToString <> "NOMPROV" Then GvPrePoliza.Columns(5).Visible = False DivTG.Visible = False GvMov.Columns(5).Visible = False End If ValidaCrearAPartirDe() DvPlantilla.Visible = False If UsuarioActual.Empresa.TipoContabilidad = 1 Then If Folio.ToEntero > 0 Then BtnDescontabilizar.Visible = True LnkFolioManual.Visible = False Else BtnDescontabilizar.Visible = False LnkFolioManual.Visible = True End If End If Exit Sub Else BtnEliminar.Visible = False LnkExcel.Visible = True DvPlantilla.Visible = True TxtFechaDocumento.Text = NowADS().ToString("dd/MM/yyyy") TxtFechaelaboracion.Text = NowADS().ToString("dd/MM/yyyy") TxtConcepto.Enabled = True TxtUsuarioElaboro.Text = UsuarioActual.Usuario End If ElseIf Request("CvePrePolizaOrigen") IsNot Nothing AndAlso IsNumeric(Request("CvePrePolizaOrigen")) AndAlso Request("CvePrePolizaOrigen").ToEntero > 0 Then CvePrePolizaOrigen = Request("CvePrePolizaOrigen").ToEntero CreaDT() If CargaPrePoliza(Request("CvePrePolizaOrigen").ToEntero) Then End If ViewState("CvePrePoliza") = "-1" 'CargaPrePolizaOrigen() OcultarControlesCrearApartirDe() DvPlantilla.Visible = False Exit Sub Else CreaDT() BtnEliminar.Visible = False LnkExcel.Visible = True DvPlantilla.Visible = True TxtFechaDocumento.Text = NowADS().ToString("dd/MM/yyyy") TxtFechaelaboracion.Text = NowADS().ToString("dd/MM/yyyy") TxtConcepto.Enabled = True TxtUsuarioElaboro.Text = UsuarioActual.Usuario End If 'crea tabla temporal ArregloMovs = New ArrayList If IfNull(Request("Tipo"), "").ToString <> "NOMPROV" Then GvPrePoliza.Columns(5).Visible = False GvMov.Columns(5).Visible = False End If End If End Sub Private Sub CreaDT() DtMovimientos = New DataTable("Movimientos") Dim IDMov As DataColumn = DtMovimientos.Columns.Add("IdMov", Type.GetType("System.Int32")) : IDMov.AutoIncrement = True With DtMovimientos.Columns .Add("Cuenta", Type.GetType("System.String")) .Add("Referencia", Type.GetType("System.String")) .Add("Concepto", Type.GetType("System.String")) .Add("Cargo", Type.GetType("System.Decimal")) .Add("Abono", Type.GetType("System.Decimal")) .Add("TipoMovto", Type.GetType("System.Boolean")) .Add("ImporteMN", Type.GetType("System.Decimal")) .Add("ImporteME", Type.GetType("System.Decimal")) .Add("EsComodin", Type.GetType("System.Int32")) .Add("CveSubProyecto", Type.GetType("System.Int32")) .Add("Descripcion", Type.GetType("System.String")) .Add("CveProveedor", Type.GetType("System.Int32")) .Add("CvePersonal", Type.GetType("System.Int32")) .Add("CveCompra", Type.GetType("System.Int32")) .Add("CveCliente", Type.GetType("System.Int32")) .Add("CveVenta", Type.GetType("System.Int32")) .Add("CveIE", Type.GetType("System.Int32")) .Add("CveClasificacion", Type.GetType("System.Int32")) .Add("MultipleSubProyecto", Type.GetType("System.Boolean")) .Add("CveTipoGasto", Type.GetType("System.Int32")) .Add("CvePrePolizaDetalle", Type.GetType("System.Int32")) .Add("CveConceptoContable", Type.GetType("System.Int32")) .Add("ConceptoContable", Type.GetType("System.String")) .Add("CveCuenta", Type.GetType("System.Int32")) .Add("CodigoNombreCuenta", Type.GetType("System.String")) .Add("SubProyecto", Type.GetType("System.String")) .Add("FolioFactura", Type.GetType("System.String")) .Add("TipoGasto", Type.GetType("System.String")) .Add("ContadoTipoTransaccion", Type.GetType("System.Int32")) .Add("ContadoCuenta", Type.GetType("System.Int32")) .Add("ContadoNumeroFolio", Type.GetType("System.String")) .Add("ContadoImporte", Type.GetType("System.Decimal")) .Add("ContadoBeneficiario", Type.GetType("System.String")) .Add("ContadoObservaciones", Type.GetType("System.String")) .Add("PorcentajeImpuesto", Type.GetType("System.Decimal")) .Add("Modificado", Type.GetType("System.Boolean")) .Add("EsComplementaria", Type.GetType("System.Boolean")) .Add("EsMonedaExtranjera", Type.GetType("System.Boolean")) .Add("TC", Type.GetType("System.Decimal")) .Add("CvePrePoliza", Type.GetType("System.Int32")) End With If Not DtMovimientos.Columns.Contains("Cargo") Then DtMovimientos.Columns.Add("Cargo", Type.GetType("System.Decimal")) DtMovimientos.Columns.Add("Abono", Type.GetType("System.Decimal")) End If DtMovimientos.AcceptChanges() End Sub Private Sub CreaDTEliminar() DtMovimientosEliminar = New DataTable("MovimientosEliminar") With DtMovimientosEliminar.Columns .Add("CvePrePolizaDetalle", GetType(Integer)) End With DtMovimientosEliminar.AcceptChanges() End Sub Private Function CargaPrePoliza(tCvePrePoliza As Integer) As Boolean Dim retorno As Boolean = False Dim ObjContabilidad As New ClsContabilidad If ObjContabilidad.GetPrePoliza(tCvePrePoliza, UsuarioActual.CveEmpresa) Then Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") If dr IsNot Nothing Then retorno = True BtnEliminar.Visible = True LblEncabezado.Text = "Edición de Póliza" ViewState("CvePrePoliza") = tCvePrePoliza DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza").ToString TxtFechaDocumento.Text = dr("Fecha").ToString.ToDate.ToShortDateString TxtConcepto.Text = dr("Concepto").ToString DivDatosPoliza.Visible = True TipoPoliza = DdlTipoPoliza.SelectedItem.Text Folio = dr("FolioPoliza").ToString TxtFolio.Text = dr("FolioPoliza").ToString TxtUsuarioElaboro.Text = dr("Usuario").ToString TxtFechaelaboracion.Text = dr("FechaIng").ToString.ToDate.ToString("dd/MM/yyyy") TxtFechaelaboracion.ToolTip = dr("FechaIng").ToString.ToDate.ToString("HH:mm:ss") CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString.ToEntero DdlPlantilla.SelectedValueExist(CvePlantillaPoliza) HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=PREPO&CvePrePoliza={CvePrePoliza}")}" HplImprimirPDF.Visible = True If UsuarioActual.CveRol = 1 Then TxtUsuarioElaboro.ToolTip = dr("Modulo").ToString If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then LnkAddConcepto.Visible = True CargaConceptos() CargaSubProyectos() End If ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") If dr("Modulo").ToString.Contiene("Banc/FluctuaA", "Banc/FluctuaC", "Banc/FluctuaV", "Banc/FluctuaFilial", "Banc/FluctuaAD") Then BtnEliminar.Enabled = False BtnEliminar.ToolTip = "No se puede eliminar al prepóliza, eliminarlos desde el módulo" End If If DtMovimientos IsNot Nothing AndAlso DtMovimientos.FiltraParametros("CveConceptoContable = 30 AND Contabilizable = 1").Rows.Count > 0 Then BtnEliminar.Enabled = False BtnEliminar.ToolTip = "No se puede eliminar al prepóliza, eliminarla desde el módulo de Bancos" End If If Not DtMovimientos.Columns.Contains("IdMov") Then Dim workColumn As DataColumn = DtMovimientos.Columns.Add("IdMov", GetType(Integer)) workColumn.AutoIncrement = True workColumn.AutoIncrementStep = 1 End If If Not DtMovimientos.Columns.Contains("ContadoCuenta") Then DtMovimientos.Columns.Add("ContadoCuenta", GetType(Integer)) DtMovimientos.Columns.Add("ContadoTipoTransaccion", GetType(Integer)) DtMovimientos.Columns.Add("ContadoNumeroFolio", GetType(String)) DtMovimientos.Columns.Add("ContadoBeneficiario", GetType(String)) DtMovimientos.Columns.Add("ContadoObservaciones", GetType(String)) DtMovimientos.Columns.Add("ContadoImporte", GetType(Decimal)) End If If Not DtMovimientos.Columns.Contains("Cargo") Then DtMovimientos.Columns.Add("Cargo", GetType(Decimal)) DtMovimientos.Columns.Add("Abono", GetType(Decimal)) End If GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() If UsuarioActual.CveRol = 1 AndAlso DtMovimientos.COUNT("TC", "TC > 1") > 0 Then GvPrePoliza.Columns(7).Visible = True End If If DtMovimientos.FiltraParametros("CveConceptoContable IN (2,292)").Rows.Count > 0 AndAlso DtMovimientos.FiltraParametros("CveConceptoContable IN (30)").Rows.Count = 0 Then LnkComplementoPago.Visible = True End If If dr("FolioPoliza").ToString = "" OrElse dr("FolioPoliza").ToString = "0" Then BtnContabilizar.Visible = True End If If UsuarioActual.Empresa.TipoContabilizacion = 1 Then If dr("FolioPoliza").ToString.ToEntero > 0 AndAlso UsuarioActual.CveRol = 1 Then divContabilizada.Visible = True Folio = dr("FolioPoliza").ToString End If Else If dr("IdPoliza").ToString.ToEntero > 0 AndAlso UsuarioActual.CveRol = 1 Then HplContabilizada.NavigateUrl = String.Format("RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) divContabilizada.Visible = True IdPoliza = dr("IdPoliza").ToString.ToEntero End If End If UpPrePoliza.Update() RegistraScript("comparar();") LnkExcel.Visible = False Else Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia) BtnEliminar.Visible = False End If End If ObjContabilidad.Dispose() UpPoliza.Update() Return retorno End Function Private Sub GvPrePoliza_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPrePoliza.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDecimal + e.Row.DBCampo("Cargo").ToDecimal).ToString.FormatoNumero TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDecimal + e.Row.DBCampo("Abono").ToDecimal).ToString.FormatoNumero If e.Row.DBCampo("Cargo").ToDouble < 0 AndAlso e.Row.FCLabel("TxtCargo") IsNot Nothing Then e.Row.FCLabel("TxtCargo").ForeColor = Drawing.Color.Red 'e.Row.FCLabel("TxtCargo").Text = String.Format("{0}", e.Row.DBCampo("Cargo").FormatoNumero()) If e.Row.DBCampo("Abono").ToDouble < 0 AndAlso e.Row.FCLabel("TxtAbono") IsNot Nothing Then e.Row.FCLabel("TxtAbono").ForeColor = Drawing.Color.Red '.Text = String.Format("{0}", e.Row.DBCampo("Abono").FormatoNumero()) Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero If CveConceptoContable.Contiene(1, 2, 12, 91, 13, 38, 207, 203, 39, 61, 62, 63, 4, 278, 291, 292, 293, 294, 272, 150, 251, 301) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DataKey("CveVenta")) If CveConceptoContable.Contiene(5, 6, 17, 18, 14, 19, 25, 26, 60, 205, 225, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312, 201, 206, 323, 324, 341, 342, 343, 344, 304, 272, 259, 287, 288, 370, 371, 372, 373) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Compras/Compras.aspx?CveCompra={0}", e.Row.DataKey("CveCompra")) If CveConceptoContable.Contiene(68) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", e.Row.DBCampo("CveMovimientoAlmacen")) If CveConceptoContable.Contiene(30, 204, 66, 92, 202, 10, 21, 48, 56, 338, 339, 340, 345, 346, 347) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) End If If e.Row.RowType = DataControlRowType.Header Then 'e.Row.FCDropDownList("DdlSubProyectoFiltro").DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) 'e.Row.FCDropDownList("DdlSubProyectoFiltro").DataBind() 'e.Row.FCDropDownList("DdlSubProyectoFiltro").Items.Insert(0, New ListItem("Todos", "-1")) End If End Sub Private Sub CargaPlantillas(TipoPlantilla As Integer) Dim dtt As DataTable = Nothing If UsuarioActual.CveEmpresa.Contiene(120) Then dtt = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1) Else dtt = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla) End If DdlPlantilla.DataSource = dtt DdlPlantilla2.DataSource = dtt DdlPlantilla.DataBind() DdlPlantilla.Items.Insert(0, New ListItem("Plantilla Personalizada", "53")) DdlPlantilla2.DataBind() DdlPlantilla2.Items.Insert(0, New ListItem("Plantilla Personalizada", "53")) End Sub Private Sub CargaConceptos() DdlConceptosContables.DataSource = GlobalDTContaConceptosContables(-1) DdlConceptosContables.DataBind() End Sub Private Sub DdlConceptosContables_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConceptosContables.SelectedIndexChanged Dim dr As DataRow = GlobalDTContaConceptosContables(DdlConceptosContables.SelectedValue.ToEntero).FiltroPrimero("") If dr IsNot Nothing Then If dr("AplicaTC").ToString = "True" Then TxtTCPreP.Visible = True LblTC.Visible = True Else TxtTCPreP.Visible = False LblTC.Visible = False End If End If If DdlConceptosContables.SelectedValue.ToEntero.Contiene(5, 17, 201, 206, 14, 15, 16, 19, 25, 26, 21) Then CargaProveedores() DdlProveedores.Visible = True DdlCompras.Visible = True Else DdlProveedores.Visible = False DdlCompras.Visible = False End If If DdlConceptosContables.SelectedValue.ToEntero.Contiene(28, 29) Then CargaPersonal() DdlPersonal.Visible = True Else DdlPersonal.Visible = False End If If DdlConceptosContables.SelectedValue.ToEntero.Contiene(1, 2, 203, 207, 13, 61, 8, 9, 62, 63, 38, 39, 12, 91, 291, 292) Then CargaClientes() DdlClientes.Visible = True DdlVentas.Visible = True Else DdlClientes.Visible = False DdlVentas.Visible = False End If End Sub Private Sub DdlProveedores_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedores.SelectedIndexChanged CargaCompras(DdlProveedores.SelectedValue.ToEntero) End Sub Private Sub DdlClientes_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientes.selectedindexchange CargaVentas(DdlClientes.SelectedValue.ToEntero) End Sub Private Sub CargaSubProyectos() DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaCuentasContables() If DdlCuentaContable.Items.Count = 0 Then Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then DdlCuentaContableE.DataSource = ObjConta.DtResultados 'DdlCuentaContable.DataSource = ObjConta.DtResultados DtCuentasContables = ObjConta.DtResultados End If ObjConta.Dispose() 'DdlCuentaContable.DataBind() DdlCuentaContable.Items.Insert(0, New ListItem("Seleccione", "0")) DdlCuentaContableE.DataBind() DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0")) End If End Sub Private Sub CargaTiposGasto() DdlTipoGasto.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGasto.DataBind() DdlTipoGasto.Items.Insert(0, New ListItem("Sin Asignar", "0")) End Sub Private Sub CargaProveedores() DdlProveedores.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) DdlProveedores.DataBind() DdlProveedores.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaCompras(CveProveedor As Integer) If DdlConceptosContables.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then Dim ObjCompras As New ClsCompras DdlCompras.ClearSelection() If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then DdlCompras.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0") DdlCompras.DataBind() DdlCompras.Items.Insert(0, New ListItem(" - ", "-1")) Else DdlCompras.DataSource = Nothing DdlCompras.DataBind() DdlCompras.Items.Insert(0, New ListItem(" - ", "-1")) End If ObjCompras.Dispose() End If End Sub Private Sub CargaClientes() DdlClientes.setEsWebService(True) DdlClientes.Attributes.Add("data-metodo", "getcliente") 'DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) 'DdlClientes.DataBind() ' DdlClientes.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaVentas(CveCliente As Integer) Dim ObjVentas As New ClsVentas DdlVentas.ClearSelection() If ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then DdlVentas.DataSource = ObjVentas.DtResultados '.FiltraParametros("Saldo > 0") DdlVentas.DataBind() DdlVentas.Items.Insert(0, New ListItem(" - ", "-1")) Else DdlVentas.DataSource = Nothing DdlVentas.DataBind() DdlVentas.Items.Insert(0, New ListItem(" - ", "-1")) End If ObjVentas.Dispose() End Sub Private Sub CargaPersonal() DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) DdlPersonal.DataBind() DdlPersonal.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Protected Sub DdlPlantilla_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlPlantilla.SelectedIndexChanged TxtTotalAbonos.Text = "" TxtTotalCargos.Text = "" If DdlPlantilla.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un Movimiento Válido", TipoMensaje.MsgAdvertencia) DdlPlantilla.SelectedValue = "-1" Exit Sub End If If DdlPlantilla.SelectedValue.ToEntero = 53 Then 'Plantilla Personalizada DivAgregarConceptos.Visible = True LnkAddConcepto.Visible = True If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then 'DivAgregarConceptos.Visible = True LnkAddConcepto.Visible = True CargaConceptos() CargaSubProyectos() CargaCuentasContables() End If divPrePolizas.Visible = True GvPrePoliza.Visible = True DivAgregarConceptos.Visible = False divMovtos.Visible = False UPMovs.Update() Else DivAgregarConceptos.Visible = False divMovtos.Visible = True divPrePolizas.Visible = False UPMovs.Update() End If Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(UsuarioActual.CveEmpresa, CvePlantilla).FiltraParametros("", "Orden") Dim EsComodin As Integer = 0 DtMovimientos.Clear() For Each drt As DataRow In Dt.Rows Dim dr As DataRow = DtMovimientos.NewRow dr("CodigoNombreCuenta") = drt("Codigo").ToString & "
" & drt("Nombre").ToString dr("ConceptoContable") = drt("ConceptoContable").ToString dr("Referencia") = If(drt("CveConceptoContable").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial")) dr("Concepto") = TxtConcepto.Text dr("TipoMovto") = If(drt("TipoMovto").ToString = "False", 0, 1) dr("TipoMovto") = If(drt("TipoMovto").ToString = "False", 0, 1) dr("EsComodin") = EsComodin dr("CveConceptoContable") = drt("CveConceptoContable") dr("CveSubProyecto") = drt("CveSubProyectoNegativo") dr("Cargo") = TxtCargo.Text.ToDecimal dr("Abono") = TxtAbono.Text.ToDecimal dr("CveProveedor") = drt("CveProveedor") dr("CvePersonal") = drt("CvePersonal") dr("CveClasificacion") = -1 dr("MultipleSubProyecto") = drt("MultipleSubProyecto") dr("CveCuenta") = drt("CveCuenta") dr("EsComplementaria") = drt("EsComplementaria") dr("EsMonedaExtranjera") = drt("EsMonedaExtranjera") dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto") DtMovimientos.Rows.Add(dr) Next GvMov.DataSource = DtMovimientos GvMov.DataBind() GvPrePoliza.DataBind() ''limpio el grid UpPrePoliza.Update() UPMovs.Update() End Sub Protected Sub GvMov_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvMov.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left e.Row.Height = Unit.Pixel(1) e.Row.Cells(0).ToolTip = e.Row.DBCampo("CveCuenta") If e.Row.DBCampo("TipoMovto") = "True" Then e.Row.FCTextBox("TxtAbono").Visible = True Else e.Row.FCTextBox("TxtCargo").Visible = True End If e.Row.FCTextBox("TxtAbono").Text = If(e.Row.DBCampo("Abono") = "0", "", e.Row.DBCampo("Abono")) e.Row.FCTextBox("TxtCargo").Text = If(e.Row.DBCampo("Cargo") = "0", "", e.Row.DBCampo("Cargo")) e.Row.FCTextBox("TxtConcepto").Text = e.Row.DBCampo("Descripcion") If CvePeriodo > 0 Then e.Row.FCTextBox("TxtCargo").Enabled = False e.Row.FCTextBox("TxtAbono").Enabled = False End If e.Row.FCDropDownList("DdlSubProyecto").DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlSubProyecto").DataBind() e.Row.FCDropDownList("DdlSubProyecto").Items.Insert(0, New ListItem(" - ", "-1")) e.Row.FCDropDownList("DdlSubProyecto").SelectedValue = e.Row.DBCampo("CveSubProyecto") 'Asignamos los Tipos de Gasto e.Row.FCDropDownList("DdlTipoGasto").DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlTipoGasto").DataBind() e.Row.FCDropDownList("DdlTipoGasto").Items.Insert(0, New ListItem("Sin Asignar", "-1")) e.Row.FCDropDownList("DdlTipoGasto").SelectedValue = e.Row.DBCampo("CveTipoGasto") If DdlPlantilla.SelectedValue.ToEntero = 53 Then 'Plantilla Personalizada e.Row.FCDropDownList("DdlSubProyecto").Enabled = True e.Row.FCLinkButton("imgD").Visible = True Else e.Row.FCDropDownList("DdlSubProyecto").Enabled = False End If If e.Row.DBCampo("MultipleSubProyecto") = "True" Then e.Row.FCDropDownList("DdlSubProyecto").Enabled = True End If If e.Row.DBCampo("EsComplementaria") = "True" Then If e.Row.DBCampo("TipoMovto") = "False" Then e.Row.FindControl("divCargoME").Visible = True If e.Row.DBCampo("TipoMovto") = "True" Then e.Row.FindControl("divAbonoME").Visible = True End If 'Agregamos la opcion para vincular los movimientos bancarios If e.Row.DataKey("CveConceptoContable").ToEntero.Contiene(41) Then Dim ObjMovimientos As New ClsMovimientos Dim DdlSaldos As DropDownList = e.Row.FCDropDownList("DdlSaldos") Select Case e.Row.DataKey("CveConceptoContable").ToEntero 'Acreedores Case 41 If (ObjMovimientos.GetAcreedoresSaldosDetalles(-1, CveMoneda, UsuarioActual.CveEmpresa)) Then DdlSaldos.Visible = True DdlSaldos.DataSource = ObjMovimientos.DtResultados.FiltraParametros($"CveIE > 0 AND CveProveedor = {e.Row.DataKey("CveProveedor").ToEntero}") DdlSaldos.DataBind() DdlSaldos.Items.Insert(0, New ListItem("Seleccione", "-1")) End If End Select ObjMovimientos.Dispose() End If If e.Row.DataKey("CveConceptoContable").ToEntero.Contiene(30) Then e.Row.FCLinkButton("ImgBancos").Visible = True If e.Row.DataKey("ContadoTipoTransaccion").ToEntero > 0 And e.Row.DataKey("ContadoCuenta").ToEntero > 0 And e.Row.DataKey("ContadoNumeroFolio").ToString.Length > 0 And e.Row.DataKey("ContadoBeneficiario").ToString.Length > 0 Then e.Row.FCLinkButton("ImgBancos").CssClass = "btn btn-circle btn-sm green" End If End If End If End Sub Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click Dim FolioPoliza As Integer = -1 Dim CvePrePolizaInsertada As Integer = -1 'If CvePrePolizaOrigen > 0 Then ' 'CrearPrePolizaApartirDe() ' 'Exit Sub 'End If Dim TotalCargos, TotalAbonos As Decimal If CvePrePoliza > 0 Then TotalCargos = TxtTotalCargos.Text.ToDecimal TotalAbonos = TxtTotalAbonos.Text.ToDecimal Else If GvPrePoliza.Visible Then For Each Gvr As GridViewRow In GvPrePoliza.Rows TotalCargos += Gvr.DataKey("Cargo").ToDecimal TotalAbonos += Gvr.DataKey("Abono").ToDecimal Next Else For Each Gvr As GridViewRow In GvMov.Rows TotalCargos += Gvr.FCTextBox("TxtCargo").Text.ToDecimal TotalAbonos += Gvr.FCTextBox("TxtAbono").Text.ToDecimal Next End If End If 'validaciones If ((GvPrePoliza.Visible AndAlso GvPrePoliza.Rows.Count = 0) OrElse ((GvMov.Visible AndAlso GvMov.Rows.Count = 0))) Then Alert(" No se han especificado partidas", TipoMensaje.MsgAdvertencia) Exit Sub End If If (TotalCargos <> TotalAbonos) Then Alert($"La suma de los movimientos no son iguales ({TotalCargos}-{TotalAbonos})", TipoMensaje.MsgAdvertencia) Exit Sub End If If Not CvePrePoliza > 0 Then For Each Gvr As GridViewRow In GvMov.Rows If Gvr.DataKey("CveConceptoContable") = "30" AndAlso (Gvr.FCTextBox("TxtCargo").Text.ToDecimal <> 0 OrElse Gvr.FCTextBox("TxtAbono").Text.ToDecimal <> 0) Then 'si es movimietno de bancos, y tiene cantidad, deben de especificarse los datos del IE If Gvr.DataKey("ContadoCuenta").ToEntero = 0 OrElse Gvr.DataKey("ContadoTipoTransaccion").ToEntero = 0 Then Alert("No se han especificado las condiciones de pago ", TipoMensaje.MsgAdvertencia) Exit Sub End If End If Next End If 'terminan validaciones If CvePrePoliza > 0 Then ActualizarPrePoliza() Else Dim MensajeAlert As StringBuilder = New StringBuilder Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) Dim IDPoliza As Integer = 0 Dim MsgError As String = "" Dim CveIE As Integer Dim FolioIE As String = "" Dim ContRegInsertados As Integer = 0 Dim TmpCargo As Decimal = 0D Dim TmpAbono As Decimal = 0D Dim DifCargoAbono As Decimal = 0D Dim TipoGrid As Integer = 0 ' 0 - GvMov, 1 - GvPrePoliza Try Dim ConceptoPoliza As String = TxtConcepto.Text CvePrePolizaInsertada = ObjMov.AddPrePolizas("Contabilidad/RegPrePoliza", DdlPlantilla.SelectedValue.ToEntero, TotalCargos, TotalAbonos, 1, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=DdlTipoPoliza.SelectedValue.ToEntero, AgregarFolio:=True) If CvePrePolizaInsertada > 0 Then Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" Dim Importe As Decimal = 0 Dim ImporteME As Decimal = 0 Dim TipoCambio As Decimal = 1 Dim TipoMovto As Boolean = False FolioPoliza = ObjMov.FolioPoliza Dim Gv As GridView = GvMov If DdlPlantilla.SelectedValue = "53" OrElse GvPrePoliza.Visible = True Then If GvPrePoliza.Rows.Count > 0 Then Gv = GvPrePoliza TipoGrid = 1 End If End If 'inserto las compras que voy a pagarDdlSaldos For Each gvr As GridViewRow In Gv.Rows ImporteME = 0 TipoCambio = 1 If gvr.DataKey("TipoMovto") = "True" Then If TipoGrid = 0 Then 'gvmov Importe = gvr.FCTextBox("TxtAbono").Text.ToDecimal TmpAbono = TmpAbono + Importe TipoMovto = True If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.FCTextBox("TxtAbonoME").Text.ToDecimal If gvr.DataKey("EsMonedaExtranjera") = "True" Then TipoCambio = gvr.FCTextBox("TxtTC").Text.ToDecimal Else Importe = gvr.DataKey("Abono").ToDecimal TmpAbono = TmpAbono + Importe TipoMovto = True If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.DataKey("ImporteME").ToDecimal If gvr.DataKey("EsMonedaExtranjera") = "True" Then TipoCambio = gvr.DataKey("TC").ToDecimal End If Else If TipoGrid = 0 Then 'gvmov Importe = gvr.FCTextBox("TxtCargo").Text.ToDecimal TmpCargo = TmpCargo + Importe TipoMovto = False If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.FCTextBox("TxtCargoME").Text.ToDecimal If gvr.DataKey("EsMonedaExtranjera") = "True" Then TipoCambio = gvr.FCTextBox("TxtTC").Text.ToDecimal Else Importe = gvr.DataKey("Cargo").ToDecimal TmpCargo = TmpCargo + Importe TipoMovto = False If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.DataKey("ImporteME").ToDecimal If gvr.DataKey("EsMonedaExtranjera") = "True" Then TipoCambio = gvr.DataKey("TC").ToDecimal End If End If If Not gvr.DataKey("CveConceptoContable").Contiene("30", "10", "204") Then ' 30-bancos, 10-anticipos proveedores, 204- blancos complementaria If gvr.DataKey("CveConceptoContable").ToEntero = 41 Then CveIE = gvr.FCDropDownList("DdlSaldos").SelectedValue.ToEntero Else CveIE = -1 End If End If 'Registra movimieno bancario If gvr.DataKey("CveConceptoContable") = "30" AndAlso (Importe <> 0 OrElse DdlPlantilla.SelectedValue = "53") Then Dim tFolio As String = gvr.DataKey("ContadoNumeroFolio").ToString If tFolio.ToEntero = 0 Then tFolio = SiguienteFolioBancos(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero) Dim tCveMoneda As Integer = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveCuenta:=gvr.DataKey("ContadoCuenta").ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda").ToEntero CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text.ToDate, tFolio, gvr.DataKey("ContadoBeneficiario"), Importe, tCveMoneda, gvr.DataKey("TC").ToDecimal, gvr.DataKey("ContadoObservaciones"), "", False, False, 0, CvePrePolizaInsertada, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIE < 0 Then MsgError = "No se pudo registrar movimiento bancario" Exit For Else If tFolio <> "0" OrElse tFolio <> "" Then FolioIE = tFolio Else FolioIE = ObjIE.Folio End If End If End If If Importe <> 0 OrElse TipoGrid = 1 Then 'si es diferente de cero o si viene de grid prepolizas, que registre todo Dim tCveCuenta As Integer = gvr.DataKey("CveCuenta").ToEntero Dim tReferencia, tConcepto As String Dim tCveSubProyecto, tCveTipoGasto As Integer If TipoGrid = 0 Then 'gvmov tReferencia = gvr.FCLiteral("LtlReferencia").Text tConcepto = gvr.FCTextBox("TxtConcepto").Text tCveSubProyecto = gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero tCveTipoGasto = gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero Else tReferencia = gvr.DataKey("Referencia") tConcepto = gvr.DataKey("Concepto") tCveSubProyecto = gvr.DataKey("CveSubProyecto").ToEntero tCveTipoGasto = gvr.DataKey("CveTipoGasto").ToEntero End If If ObjMov.AddPrePolizasDetalle(CvePrePolizaInsertada, TipoMovto, Importe, Importe, gvr.DataKey("CveConceptoContable").ToEntero, tReferencia, tConcepto, CveSubProyecto:=tCveSubProyecto, CveIE:=CveIE, CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero, ImporteME:=ImporteME, TipoCambio:=TipoCambio, CveTipoGasto:=tCveTipoGasto, CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta, PorcentajeImpuesto:=gvr.DataKey("PorcentajeImpuesto").ToDecimal) Then ContRegInsertados = ContRegInsertados + 1 Else MsgError = "No se pudo insertar el detalle de la póliza2" Exit For End If End If If CveIE > 0 AndAlso gvr.DataKey("CveConceptoContable").ToEntero = 30 Then MensajeAlert.AppendFormat("

Folio Bancario: {1}", CveIE, FolioIE) End If Next If MsgError = "" AndAlso Not ObjMov.ValidacionesPrePoliza(CvePrePolizaInsertada, UsuarioActual) Then If ObjMov.ValorPolizaDescuadre > 0 Then GuardaLogAD($"Contabilidad/RegPrePolizas | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePolizaInsertada}", "LogPrePolizas") MsgError = ObjMov.MensajePolizaDescuadre & "." End If End If Else MsgError = "No se pudo insertar la póliza" End If Catch ex As Exception MsgError = $"Error {ex.Message}" End Try If ContRegInsertados = 0 Then MsgError = $"No se insertaron registros (Revise que los importes de los registros contengan valores)" End If If MsgError = "" Then Alert(If(MensajeAlert.ToString = "", $"Se registro con exito {If(FolioPoliza > 0, " Folio " & FolioPoliza & ".", "")}", $"Se registro con exito {If(FolioPoliza > 0, " Folio " & FolioPoliza & ".", "")}
" & MensajeAlert.ToString), TipoMensaje.MsgInformacion, $"window.location.href=""./RegPrePolizaS.aspx?CvePrePoliza={CvePrePolizaInsertada}""", ShowCloseButton:=False) ObjIE.Commit() TxtConcepto.Text = "" If DdlPlantilla.Visible Then DdlPlantilla_SelectedIndexChanged(Nothing, Nothing) TxtFechaDocumento.Text = "" Else Alert(MsgError.ToString, ModExtensiones.TipoMensaje.MsgError) ObjIE.RollBack() End If ObjIE.Dispose() ObjMov.Dispose() End If End Sub Private Sub ActualizarPrePoliza() Dim contador As Integer = 0 Dim OcurrioError As Boolean = False Dim ObjContabilidad As New ClsContabilidad ObjContabilidad.IniciaTransacSQL() Try Dim Retorno As Boolean = ObjContabilidad.UpdatePrePoliza(MinFecha, -1, DdlTipoPoliza.SelectedValue.ToEntero, -1, CvePrePoliza, UsuarioActual.CveEmpresa, Concepto:=TxtConcepto.Text, FechaPoliza:=TxtFechaDocumento.Text.ToDate, CveUsuarioModifico:=UsuarioActual.CveUsuario) If Retorno Then If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then OcurrioError = True End If If DtMovimientosEliminar IsNot Nothing AndAlso DtMovimientosEliminar.Rows.Count > 0 Then For Each RowEliminar As DataRow In DtMovimientosEliminar.Rows If Not ObjContabilidad.RemovePrePolizasDetalle(Me.CvePrePoliza, RowEliminar("CvePrePolizaDetalle").ToString().ToEntero()) Then OcurrioError = True Exit For End If Next End If If Not OcurrioError Then Dim CveIEAgregado As Integer = -1 For Each row As GridViewRow In GvPrePoliza.Rows If row.DataKey("CvePrePolizaDetalle").ToEntero > 0 Then If CBool(row.DataKey("Modificado")) Then contador = contador + 1 Dim ImporteIE As Decimal = If(row.FCLabel("TxtCargo").Text.ToDecimal <> 0, row.FCLabel("TxtCargo").Text.ToDecimal, row.FCLabel("TxtAbono").Text.ToDecimal) If row.DataKey("CveConceptoContable").ToEntero = 30 AndAlso ImporteIE > 0 AndAlso row.DataKey("CveIE").ToDecimal <= 0 Then Dim ObjIE As New ClsBancos(ObjContabilidad.IniciaTransacSQL) CveIEAgregado = ObjIE.AddBancos_IE(row.DataKey("ContadoCuenta").ToEntero, row.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text.ToDate, row.DataKey("ContadoNumeroFolio"), row.DataKey("ContadoBeneficiario"), ImporteIE, CveMoneda, 0, row.DataKey("ContadoObservaciones"), "", False, False, 0, row.DataKey("CvePrePoliza").ToEntero, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIEAgregado < 0 Then 'MsgError = "No se pudo registrar movimiento bancario" OcurrioError = True Exit For End If End If If Not ObjContabilidad.UpdatePrePolizasDetalle(row.DataKey("CvePrePolizaDetalle").ToEntero, row.FCLiteral("TxtConcepto").Text, row.DataKey("CveSubProyecto").ToEntero, -1, If(row.DataKey("Cargo").ToDecimal <> 0, False, True), If(row.DataKey("Cargo").ToDecimal <> 0, row.DataKey("Cargo").ToDecimal, row.DataKey("Abono").ToDecimal), CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero), CveConceptoContable:=row.DataKey("CveConceptoContable").ToEntero, CveProveedor:=row.DataKey("CveProveedor").ToEntero, CveCompra:=row.DataKey("CveCompra").ToEntero, CveCliente:=row.DataKey("CveCliente").ToEntero, CveVenta:=row.DataKey("CveVenta").ToEntero, CveClasificacion:=row.DataKey("CveClasificacion").ToEntero, CvePersonal:=row.DataKey("CvePersonal").ToEntero, Referencia:=row.FCLiteral("TxtRef").Text, TipoCambio:=row.DataKey("TC").ToDecimal, CveCuenta:=row.DataKey("CveCuenta").ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveIE:=CveIEAgregado) Then OcurrioError = True Exit For End If End If Else contador = contador + 1 Dim ImporteIE As Decimal = If(row.DataKey("Cargo").ToDecimal <> 0, row.DataKey("Cargo").ToDecimal, row.DataKey("Abono").ToDecimal) If row.DataKey("CveConceptoContable").ToEntero = 30 AndAlso ImporteIE > 0 AndAlso row.DataKey("CveIE").ToDecimal <= 0 Then Dim ObjIE As New ClsBancos(ObjContabilidad.IniciaTransacSQL) CveIEAgregado = ObjIE.AddBancos_IE(row.DataKey("ContadoCuenta").ToEntero, row.DataKey("ContadoTipoTransaccion").ToEntero, TxtFechaDocumento.Text.ToDate, row.DataKey("ContadoNumeroFolio"), row.DataKey("ContadoBeneficiario"), ImporteIE, CveMoneda, 0, row.DataKey("ContadoObservaciones"), "", False, False, 0, row.DataKey("CvePrePoliza").ToEntero, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIEAgregado < 0 Then 'MsgError = "No se pudo registrar movimiento bancario" OcurrioError = True Exit For End If End If Dim tTipoMovto As Boolean = If(row.DataKey("TipoMovto") = "True", True, False) If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, If(Not tTipoMovto, row.DataKey("Cargo").ToDecimal, row.DataKey("Abono").ToDecimal), If(Not tTipoMovto, row.DataKey("Cargo").ToDecimal, row.DataKey("Abono").ToDecimal), row.DataKey("CveConceptoContable").ToEntero, row.DataKey("Referencia").ToString, row.FCLiteral("TxtConcepto").Text, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero, CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero), CveProveedor:=row.DataKey("CveProveedor").ToEntero, CveClasificacion:=row.DataKey("CveClasificacion").ToEntero, CveCompra:=row.DataKey("CveCompra").ToEntero, CveCliente:=row.DataKey("CveCliente").ToEntero, CveVenta:=row.DataKey("CveVenta").ToEntero, CvePersonal:=row.DataKey("CvePersonal").ToEntero, CveCuenta:=row.DataKey("CveCuenta").ToEntero, PorcentajeImpuesto:=row.DataKey("PorcentajeImpuesto").ToDecimal, CveIE:=CveIEAgregado) Then OcurrioError = True Exit For End If End If Next End If If Not OcurrioError AndAlso ObjContabilidad.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then If ObjContabilidad.ValorPolizaDescuadre > 0 Then OcurrioError = True Alert("Error en validacion de prepoliza cuadre", TipoMensaje.MsgAdvertencia) GuardaLogAD($"Compras/Compras-Actualizar | Error:{ObjContabilidad.MensajePolizaDescuadre} Diferencia:{ObjContabilidad.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") End If End If Else OcurrioError = True End If Catch ex As Exception OcurrioError = True OnError("Ocurrío un error al actualizar la PrePoliza", ex) End Try If Not OcurrioError Then ObjContabilidad.Commit() CargaPrePoliza(CvePrePoliza) Alert("La PrePoliza se actualizó correctamente.", TipoMensaje.MsgInformacion, JSBtnAceptar:=$"window.location.href=""./RegPrePolizaS.aspx?CvePrePoliza={Me.CvePrePoliza}""", ShowCloseButton:=False) Else ObjContabilidad.RollBack() End If ObjContabilidad.Dispose() 'If Not OcurrioError Then ' If IdPoliza > 0 AndAlso contador > 0 Then ' Contabilizar() ' End If 'End If End Sub Protected Sub LnkAddConcepto_Click(sender As Object, e As EventArgs) RegistraScript(String.Format("$('#{0}').modal();", "DivEditConcepto")) LtlTitulo.Text = "Agregar Concepto" BtnAceptar.Text = "Agregar" LimpiaCampos() CargaCuentasContables() 'CargaConceptosContablesE() CargaSubProyectoE() CargaTipoGastoE() UpModalConcepto.Update() End Sub Protected Sub GvPrePoliza_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvPrePoliza.RowUpdating RegistraScript(String.Format("$('#{0}').modal();", "DivEditConcepto")) LtlTitulo.Text = "Editar Concepto" BtnAceptar.Text = "Aceptar" LimpiaCampos() IndiceGrid = e.RowIndex If IndiceGrid > 0 Then ChkSeguir.Visible = False Dim CveConceptoContable As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveConceptoContable").ToEntero Dim CveProveedor As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveProveedor").ToEntero Dim CveCompra As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveCompra").ToEntero Dim CvePersonal As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CvePersonal").ToEntero Dim CveCliente As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveCliente").ToEntero Dim CveVenta As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveVenta").ToEntero 'Dim FolioFactura As String = GvPrePoliza.Rows(IndiceGrid).FCHyperLink("HlReferencia").Text Dim Concepto As String = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtConcepto").Text Dim Referencia As String = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtRef").Text Dim CveSubProyecto As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveSubProyecto").ToString.ToEntero Dim CveTipoGasto As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveTipoGasto").ToString.ToEntero Dim CveCuenta As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveCuenta").ToString.ToEntero Dim Cargo As Decimal = GvPrePoliza.Rows(IndiceGrid).FCLabel("TxtCargo").Text.ToDecimal Dim Abono As Decimal = GvPrePoliza.Rows(IndiceGrid).FCLabel("TxtAbono").Text.ToDecimal Dim PorcentajeImpuesto As Decimal = GvPrePoliza.Rows(IndiceGrid).DataKey("PorcentajeImpuesto").ToDecimal Dim CveClasificacion As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("CveClasificacion").ToEntero 'Dim MonedaExtr As Decimal = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtCargo").Text.ToDecimal 'CargaConceptosContablesE() 'CargaModalConceptoCuentas() DdlConceptosContablesE.SelectedValueExist(CveConceptoContable) DdlConceptosContablesE_SelectedIndexChanged(DdlConceptosContablesE, e) TxtTipoCambio.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("TC").ToString.ToDecimal.ToString("###,###,###.####") TxtME.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ImporteME").ToDecimal.FormatoNumero DdlPorcentajeIVAE.SelectedValueExist(PorcentajeImpuesto) DdlProveedoresE.SelectedValueExist(CveProveedor) DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e) DdlComprasE.SelectedValueExist(CveCompra) DdlPersonalE.SelectedValueExist(CvePersonal) If CveCliente > 0 Then DvModalconceptoCliente.Visible = True 'DdlClientesE.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial", "") DdlClientesE.ddl.Items.Insert(0, New ListItem(GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial", ""), CveCliente.ToString)) DdlClientesE.SelectedValue = CveCliente.ToString CargaVentasE(CveCliente) End If If CveVenta > 0 Then DdlVentasE.SelectedValueExist(CveVenta) End If If CveClasificacion > 0 Then DdlClasificacionesE.SelectedValue = CveClasificacion.ToString End If TxtConceptoE.Text = Concepto TxtReferenciaE.Text = Referencia CargaSubProyectoE() DdlSubProyectoE.SelectedValueExist(CveSubProyecto) CargaTipoGastoE() DdlTipoGastoE.SelectedValueExist(CveTipoGasto) CargaCuentasContables() DdlCuentaContableE.SelectedValueExist(CveCuenta) If Cargo <> 0 Then TxtCargoE.Text = Cargo.FormatoNumero If Abono <> 0 Then TxtAbonoE.Text = Abono.FormatoNumero If CveConceptoContable = 30 Then If Abono = 0 Then CargaModalConceptoTipoTransaccion("Ing") Else CargaModalConceptoTipoTransaccion("Egs") End If DdlModalConceptoTipoTransaccion.SelectedValueExist(GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoTipoTransaccion")) DdlModalConceptoCuenta.SelectedValueExist(GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoCuenta")) TxtModalConceptoDocumentoFolio.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoNumeroFolio") TxtModalConceptoDocumentoBeneficiario.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoBeneficiario") TxtModalConceptoDocumentoObservaciones.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoObservaciones") TxtModalConceptoDocumentoImporte.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoImporte").ToDecimal.ToString("###,###,###.00") If GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoCuenta") <> "" Then Dim tCveMon As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveCuenta = {GvPrePoliza.Rows(IndiceGrid).DataKey("ContadoCuenta")}").ToEntero DivModalConceptoTipoCambio.Visible = (tCveMon = 2) End If End If If DdlConceptosContablesE.SelectedValue.ToEntero = 30 AndAlso CvePrePoliza > 0 Then DdlConceptosContablesE.Enabled = False Else DdlConceptosContablesE.Enabled = True End If UpModalConcepto.Update() End Sub Private Sub LimpiaCampos() IndiceGrid = -1 TxtConceptoE.Text = "" TxtCargoE.Text = "" TxtAbonoE.Text = "" TxtReferenciaE.Text = "" End Sub Private Sub CargaConceptosContablesE() DdlConceptosContablesE.DataSource = GlobalDTContaConceptosContables(-1) DdlConceptosContablesE.DataBind() DdlConceptosContablesE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaSubProyectoE() DdlSubProyectoE.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyectoE.DataBind() DdlSubProyectoE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaTipoGastoE() DdlTipoGastoE.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) DdlTipoGastoE.DataBind() DdlTipoGastoE.Items.Insert(0, New ListItem("Sin Asignar", "0")) End Sub Private Sub DdlConceptosContablesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConceptosContablesE.SelectedIndexChanged 'Aquii hay que consultar el concepto y determinar que es lo que se vba aplicar Dim CveConceptoContableInsertar As Integer = DdlConceptosContablesE.SelectedValue.ToEntero Dim DT_Concepto As DataTable If CveConceptoContableInsertar > 0 Then DT_Concepto = GlobalDTContaConceptosContables(CveConceptoContableInsertar) DrConceptoContable = GlobalDTContaConceptosContables(CveConceptoContableInsertar).FiltroPrimero("") Dim AplicaActivoFijo As Boolean = False Dim AplicaAlmacen As Boolean = False Dim AplicaBancos As Boolean = False 'ok Dim AplicaClasificacion As Boolean = False 'ok Dim AplicaCliente As Boolean = False 'ok Dim AplicaCompra As Boolean = False Dim AplicaImpuesto As Boolean = False Dim AplicaNomina As Boolean = False Dim AplicaPersonal As Boolean = False Dim AplicaProveedor As Boolean = False Dim AplicaSubProyecto As Boolean = False Dim AplicaTC As Boolean = False 'ok Dim AplicaVenta As Boolean = False Dim AplicaComplementaria As Boolean = False 'ok Dim AplicaME As Boolean = False 'ok AplicaActivoFijo = Boolean.Parse(DT_Concepto.Rows(0)("AplicaActivoFijo").ToString) AplicaAlmacen = Boolean.Parse(DT_Concepto.Rows(0)("AplicaAlmacen").ToString) AplicaBancos = Boolean.Parse(DT_Concepto.Rows(0)("AplicaBancos").ToString) AplicaClasificacion = Boolean.Parse(DT_Concepto.Rows(0)("AplicaClasificacion").ToString) AplicaCliente = Boolean.Parse(DT_Concepto.Rows(0)("AplicaCliente").ToString) AplicaCompra = Boolean.Parse(DT_Concepto.Rows(0)("AplicaCompra").ToString) AplicaImpuesto = Boolean.Parse(DT_Concepto.Rows(0)("AplicaImpuesto").ToString) AplicaNomina = Boolean.Parse(DT_Concepto.Rows(0)("AplicaNomina").ToString) AplicaPersonal = Boolean.Parse(DT_Concepto.Rows(0)("AplicaPersonal").ToString) AplicaProveedor = Boolean.Parse(DT_Concepto.Rows(0)("AplicaProveedor").ToString) AplicaSubProyecto = Boolean.Parse(DT_Concepto.Rows(0)("AplicaSubProyecto").ToString) AplicaTC = Boolean.Parse(DT_Concepto.Rows(0)("AplicaTC").ToString) AplicaVenta = Boolean.Parse(DT_Concepto.Rows(0)("AplicaVenta").ToString) AplicaComplementaria = Boolean.Parse(DT_Concepto.Rows(0)("EsComplementaria").ToString) 'AplicaME = Boolean.Parse(DT_Concepto.Rows(0)("EsMonedaExtranjera").ToString) If AplicaImpuesto Then DvModalconceptoProcentajeIVA.Visible = True DdlPorcentajeIVAE.Visible = True Else DvModalconceptoProcentajeIVA.Visible = False DdlPorcentajeIVAE.Visible = False End If If AplicaProveedor Then CargaProveedoresE() DvmodalconceptoProveddor.Visible = True DvModalconceptoCompra.Visible = True Else DvmodalconceptoProveddor.Visible = False DvModalconceptoCompra.Visible = False End If If AplicaPersonal Then CargaPersonalE() DvModalconceptoPersonal.Visible = True Else DvModalconceptoPersonal.Visible = False End If If AplicaClasificacion Then CargaClasificacionesE() DvModalconceptoClasificacion.Visible = True 'DdlClasificacionesE.Visible = True Else DvModalconceptoClasificacion.Visible = False 'DdlClasificacionesE.Visible = False End If If AplicaVenta Then DvModalconceptoVenta.Visible = True Else DvModalconceptoVenta.Visible = False End If If AplicaCliente Then CargaClientesE() DvModalconceptoCliente.Visible = True Else DvModalconceptoCliente.Visible = False End If If AplicaBancos AndAlso Not AplicaComplementaria Then TxtCargoE.AutoPostBack = True TxtAbonoE.AutoPostBack = True CargaModalConceptoTipoTransaccion("Egs") 'DivModalConceptoAncho.Attributes.Add("style", "width:1000px") DvMoldalConceptoSeccion1.Attributes.Add("class", "col-md-6") DvMoldalConceptoSeccion2.Visible = True RegistraScript("$('#DivModalConceptoAncho').attr('style','width:1000px');") Else ' DivModalConceptoAncho.Attributes.Add("style", "width:450px") DvMoldalConceptoSeccion1.Attributes.Add("class", "col-md-12") RegistraScript("$('#DivModalConceptoAncho').attr('style','width:450px');") DvMoldalConceptoSeccion2.Visible = False TxtCargoE.AutoPostBack = False TxtAbonoE.AutoPostBack = False End If If AplicaTC Then DivModalConceptoTipoCambio.Visible = True Else DivModalConceptoTipoCambio.Visible = False End If If AplicaComplementaria Then DivMonedaExtranjera.Visible = True Else DivMonedaExtranjera.Visible = False End If CargaCuentaConcepto(CveConceptoContableInsertar) End If UpModalConcepto.Update() End Sub Private Sub CargaCuentaConcepto(CveConcepto As Integer) Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentasAsignacionesSistema(UsuarioActual.CveEmpresa, -1, 1, CveConcepto) Then Dim dr As DataRow = ObjConta.DtResultados.FiltroPrimero("") If dr IsNot Nothing Then DdlCuentaContableE.SelectedValueExist(dr("CveCuenta")) Else If ObjConta.GetCuentasGlobales(UsuarioActual.CveEmpresa, CveConcepto) Then Dim drY As DataRow = ObjConta.DtResultados.FiltroPrimero("") If drY IsNot Nothing Then DdlCuentaContableE.SelectedValueExist(drY("CveCuenta")) End If End If End If End If ObjConta.Dispose() End Sub Private Sub CargaProveedoresE() DdlProveedoresE.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) DdlProveedoresE.DataBind() DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaComprasE(CveProveedor As Integer) If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 305, 308, 310, 311, 312) Then Dim ObjCompras As New ClsCompras DdlComprasE.ClearSelection() If ObjCompras.GetCompras(-1, "-1", "-1", CveProveedor, -1, UsuarioActual.CveEmpresa) Then DdlComprasE.DataSource = ObjCompras.DtResultados.FiltraParametros("Saldo > 0") DdlComprasE.DataBind() DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1")) Else DdlComprasE.DataSource = Nothing DdlComprasE.DataBind() DdlComprasE.Items.Insert(0, New ListItem(" - ", "-1")) End If ObjCompras.Dispose() End If End Sub Private Sub CargaClientesE() DdlClientesE.setEsWebService(True) DdlClientesE.Attributes.Add("data-metodo", "getcliente") End Sub Private Sub CargaVentasE(CveCliente As Integer) If CveCliente <= 0 Then Exit Sub If DrConceptoContable IsNot Nothing Then Dim AplicaME As Boolean = Boolean.Parse(DrConceptoContable("EsMonedaExtranjera").ToString) Dim AplicaVenta As Boolean = Boolean.Parse(DrConceptoContable("AplicaVenta").ToString) If AplicaME Then CveMoneda = 2 End If If Not AplicaVenta Then Exit Sub End If DvModalconceptoVenta.Visible = True DdlVentasE.DataSource = Nothing DdlVentasE.ClearSelection() Dim ObjVentas As New ClsVentas If ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then If CveMoneda = 2 Then DdlVentasE.DataSource = ObjVentas.DtResultados.FiltraParametros("CveMoneda = 2") Else DdlVentasE.DataSource = ObjVentas.DtResultados.FiltraParametros("CveMoneda = 1") End If DdlVentasE.DataBind() DdlVentasE.Items.Insert(0, New ListItem(" - ", "-1")) Else DdlVentasE.DataSource = Nothing DdlVentasE.DataBind() DdlVentasE.Items.Insert(0, New ListItem(" - ", "-1")) End If ObjVentas.Dispose() End Sub Private Sub CargaPersonalE() DdlPersonalE.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) DdlPersonalE.DataBind() DdlPersonalE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub CargaClasificacionesE() DdlClasificacionesE.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacionesE.DataBind() DdlClasificacionesE.Items.Insert(0, New ListItem(" - ", "-1")) End Sub Private Sub DdlProveedoresE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProveedoresE.SelectedIndexChanged CargaComprasE(DdlProveedoresE.SelectedValue.ToEntero) End Sub Private Sub DdlClientesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientesE.selectedindexchange If DdlClientesE.SelectedValue.ToEntero > 0 Then CargaVentasE(DdlClientesE.SelectedValue.ToEntero) End Sub Private Function CargaValidacionesConcepto() As Boolean Dim Retorno As Boolean = True If DdlConceptosContablesE.SelectedValue.ToEntero <= 0 Then Alert("No se ha especificado el concepto", TipoMensaje.ToastAdventencia) Return False End If If DrConceptoContable IsNot Nothing Then Dim AplicaComplementaria As Boolean = Boolean.Parse(DrConceptoContable("EsComplementaria").ToString) Dim AplicaBancos As Boolean = Boolean.Parse(DrConceptoContable("AplicaBancos").ToString) If AplicaComplementaria Then Dim Importe As Decimal = If(TxtCargoE.Text.ToDecimal <> 0, TxtCargoE.Text.ToDecimal, TxtAbonoE.Text.ToDecimal) 'valida Mon Extranjera por el TC - Mon Extranjera Dim dif As Decimal = ((TxtME.Text.ToDecimal * TxtTipoCambio.Text.ToDecimal).RoundSQL - TxtME.Text.ToDecimal).RoundSQL - Importe If dif <> 0 Then Alert("El importe moneda extranjera no coinciden con el TC ") Retorno = False Else Retorno = True End If End If If AplicaBancos AndAlso Not AplicaComplementaria Then If DdlModalConceptoTipoTransaccion.SelectedValue.ToEntero <= 0 Then Alert("seleccione las opciones de bancos ") Retorno = False End If End If End If Return Retorno End Function Protected Sub BtnAceptar_Click(sender As Object, e As EventArgs) Handles BtnAceptar.Click 'asdasdasd If Not CargaValidacionesConcepto() Then Exit Sub End If ChkSeguir.Visible = False Dim dr As DataRow = Nothing If IndiceGrid = -1 Then 'si es nuevo, crea el row ChkSeguir.Visible = True If DtMovimientos Is Nothing Then CreaDT() dr = DtMovimientos.NewRow Else 'si ya existe, asigna el row ChkSeguir.Visible = False Dim CvePrePolizaDetalle As Integer = GvPrePoliza.DataKeys(IndiceGrid).Value.ToString.ToEntero Dim Rows As DataRow() = DtMovimientos.Select("CvePrePolizaDetalle = " & CvePrePolizaDetalle) If CvePrePolizaDetalle <= 0 Then Dim IdMov As Integer = GvPrePoliza.Rows(IndiceGrid).DataKey("IdMov").ToEntero Rows = DtMovimientos.Select("IdMov = " & IdMov) End If If Rows.Count > 0 Then dr = Rows(0) End If End If dr("CveCuenta") = DdlCuentaContableE.SelectedValue dr("CodigoNombreCuenta") = DdlCuentaContableE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue dr("Concepto") = TxtConceptoE.Text dr("Referencia") = TxtReferenciaE.Text dr("TipoMovto") = If(Math.Abs(TxtCargoE.Text.ToDecimal) <> 0, False, True) dr("ImporteMN") = If(Math.Abs(TxtCargoE.Text.ToDecimal) <> 0, TxtCargoE.Text.ToDecimal, TxtAbonoE.Text.ToDecimal) dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue dr("SubProyecto") = DdlSubProyectoE.SelectedItem.Text dr("CveClasificacion") = DdlClasificacionesE.SelectedValue.ToEntero dr("CveProveedor") = DdlProveedoresE.SelectedValue.ToEntero dr("CveCompra") = DdlComprasE.SelectedValue.ToEntero dr("CvePersonal") = DdlPersonalE.SelectedValue.ToEntero dr("CveCliente") = DdlClientesE.SelectedValue.ToEntero dr("CveVenta") = DdlVentasE.SelectedValue.ToEntero dr("FolioFactura") = If(DdlComprasE.Visible = True AndAlso DdlComprasE.SelectedItem IsNot Nothing, DdlComprasE.SelectedItem.ToString, If(DdlVentasE.Visible = True AndAlso DdlVentasE.SelectedItem IsNot Nothing, DdlVentasE.SelectedItem.ToString, "")) dr("Modificado") = True dr("TC") = TxtTipoCambio.Text.ToDecimal dr("ContadoCuenta") = DdlModalConceptoCuenta.SelectedValue.ToEntero dr("ContadoTipoTransaccion") = DdlModalConceptoTipoTransaccion.SelectedValue.ToEntero dr("ContadoNumeroFolio") = TxtModalConceptoDocumentoFolio.Text dr("ContadoBeneficiario") = TxtModalConceptoDocumentoBeneficiario.Text dr("ContadoObservaciones") = TxtModalConceptoDocumentoObservaciones.Text 'dr("ContadoImporte") = TxtModalConceptoDocumentoImporte.Text.ToDecimal If DdlComprasE.Visible = True AndAlso DdlComprasE.SelectedValue.ToEntero > 0 Then dr("FolioFactura") = DdlComprasE.SelectedItem.ToString() If DdlVentasE.Visible = True AndAlso DdlVentasE.SelectedValue.ToEntero > 0 Then dr("FolioFactura") = DdlVentasE.SelectedItem.ToString() If DrConceptoContable IsNot Nothing Then dr("EsComplementaria") = DrConceptoContable("EsComplementaria") dr("EsMonedaExtranjera") = DrConceptoContable("EsMonedaExtranjera") If dr("EsMonedaExtranjera").ToString = "True" Then dr("ImporteME") = TxtME.Text.ToDecimal End If If DdlPorcentajeIVAE.Visible Then dr("PorcentajeImpuesto") = DdlPorcentajeIVAE.SelectedValue.ToDecimal If TxtCargoE.Text <> "" AndAlso TxtCargoE.Text.ToDecimal <> 0 Then dr("Cargo") = TxtCargoE.Text.ToDecimal : dr("Abono") = 0 Else dr("Abono") = TxtAbonoE.Text.ToDecimal : dr("Cargo") = 0 End If If IndiceGrid = -1 Then DtMovimientos.Rows.Add(dr) Alert("Concepto Registrado", TipoMensaje.ToastInformacion) End If DtMovimientos.AcceptChanges() GvPrePoliza.EditIndex = -1 GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() UpPrePoliza.Update() GvPrePoliza.Visible = True TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero UpTotalCargo.Update() UpTotalAbono.Update() DdlClientesE.ddl.Items.Clear() DdlClientesE.SelectedText = "" UpPrePoliza.Update() If Not ChkSeguir.Checked OrElse Not ChkSeguir.Visible Then RegistraScript("$('#DivEditConcepto').modal('hide')", "hidemodal") End Sub Protected Sub GvMov_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvMov.RowDeleting Dim idMov As Integer = GvMov.DataKeys(e.RowIndex).Value.ToString.ToEntero Dim Rows As DataRow() = DtMovimientos.Select("IDMov = " & idMov) If Rows.Count > 0 Then DtMovimientos.Rows.Remove(Rows(0)) DtMovimientos.AcceptChanges() End If GvMov.DataSource = DtMovimientos GvMov.DataBind() TxtTotalAbonos.Text = DtMovimientos.SUM("Abono").FormatoNumero TxtTotalCargos.Text = DtMovimientos.SUM("Cargo").FormatoNumero 'saco de la póliza el importe del cheque, que coincida la cuenta contable con la bancaria End Sub Private Sub LbAgregar_Click(sender As Object, e As EventArgs) Handles LbAgregar.Click If DtMovimientos Is Nothing Then CreaDT() If Actualizar Then Dim Rows As DataRow() = DtMovimientos.Select("IDMov = " & HdnCve.Value) If Rows.Count > 0 Then Dim dr As DataRow = Rows(0) Dim CodigoCuenta As String = "" Dim NombreCuenta As String = "" dr("CveCuenta") = DdlCuentaContable.SelectedValue If DdlCuentaContable.SelectedValue.ToEntero > 0 Then Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCuentaContable.SelectedValue)) If drr IsNot Nothing Then CodigoCuenta = drr("CuentaFormato").ToString() NombreCuenta = drr("Nombre").ToString() End If End If dr("CodigoNombreCuenta") = CodigoCuenta & "
" & NombreCuenta dr("Cuenta") = DdlConceptosContables.SelectedItem dr("Referencia") = TxtReferencia.Text dr("Concepto") = TxtConcepto.Text dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDecimal) > 0, False, True) dr("EsComodin") = 0 dr("CveConceptoContable") = DdlConceptosContables.SelectedValue dr("Cargo") = TxtCargo.Text.ToDecimal dr("Abono") = TxtAbono.Text.ToDecimal dr("Descripcion") = TxtDescripcion.Text dr("CveSubProyecto") = DdlSubProyecto.SelectedValue dr("CveProveedor") = DdlProveedores.SelectedValue.ToEntero dr("CveCompra") = DdlCompras.SelectedValue.ToEntero dr("CvePersonal") = DdlPersonal.SelectedValue.ToEntero dr("CveClasificacion") = -1 dr("CveCliente") = DdlClientes.SelectedValue.ToEntero dr("CveVenta") = DdlVentas.SelectedValue.ToEntero End If GvMov.DataSource = DtMovimientos GvMov.DataBind() UPMovs.Update() LbCancelarEdicion.Visible = False LbAgregar.Text = "Agregar" Else If CvePrePoliza > 0 Then Dim dr As DataRow = DtMovimientos.NewRow dr("CveCuenta") = DdlCuentaContable.SelectedValue dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text dr("CveConceptoContable") = DdlConceptosContables.SelectedValue dr("Concepto") = TxtDescripcion.Text dr("Referencia") = TxtReferencia.Text dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDecimal) > 0, False, True) dr("Cargo") = TxtCargo.Text.ToDecimal dr("Abono") = TxtAbono.Text.ToDecimal dr("ImporteMN") = If(Math.Abs(TxtCargo.Text.ToDecimal) > 0, TxtCargo.Text.ToDecimal, TxtAbono.Text.ToDecimal) dr("CveSubProyecto") = DdlSubProyecto.SelectedValue dr("SubProyecto") = DdlSubProyecto.SelectedItem.Text dr("CveProveedor") = DdlProveedores.SelectedValue.ToEntero dr("CveCompra") = DdlCompras.SelectedValue.ToEntero dr("CvePersonal") = DdlPersonal.SelectedValue.ToEntero dr("CveCliente") = DdlClientes.SelectedValue.ToEntero dr("CveVenta") = DdlVentas.SelectedValue.ToEntero TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDecimal + TxtAbono.Text.ToDecimal).ToString.FormatoNumero TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDecimal + TxtCargo.Text.ToDecimal).ToString.FormatoNumero DtMovimientos.Rows.Add(dr) DtMovimientos.AcceptChanges() If CvePrePoliza > 0 Then GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() UpPrePoliza.Update() End If Else Dim dr As DataRow = DtMovimientos.NewRow Dim CodigoCuenta As String = "" Dim NombreCuenta As String = "" dr("CveCuenta") = DdlCuentaContable.SelectedValue If DdlCuentaContable.SelectedValue.ToEntero > 0 Then Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCuentaContable.SelectedValue)) If drr IsNot Nothing Then CodigoCuenta = drr("CuentaFormato").ToString() NombreCuenta = drr("Nombre").ToString() End If End If dr("CodigoNombreCuenta") = CodigoCuenta & "
" & NombreCuenta dr("Cuenta") = DdlConceptosContables.SelectedItem.Text dr("Referencia") = TxtReferencia.Text dr("Concepto") = TxtConcepto.Text dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDecimal) > 0, False, True) dr("EsComodin") = 0 dr("CveConceptoContable") = DdlConceptosContables.SelectedValue dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text dr("Cargo") = TxtCargo.Text.ToDecimal dr("Abono") = TxtAbono.Text.ToDecimal dr("Descripcion") = TxtDescripcion.Text dr("CveSubProyecto") = DdlSubProyecto.SelectedValue dr("CveProveedor") = DdlProveedores.SelectedValue.ToEntero dr("CveCompra") = DdlCompras.SelectedValue.ToEntero dr("CvePersonal") = DdlPersonal.SelectedValue.ToEntero dr("CveClasificacion") = -1 dr("CveCliente") = DdlClientes.SelectedValue.ToEntero dr("CveVenta") = DdlVentas.SelectedValue.ToEntero TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDecimal + TxtAbono.Text.ToDecimal).ToString.FormatoNumero TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDecimal + TxtCargo.Text.ToDecimal).ToString.FormatoNumero DtMovimientos.Rows.Add(dr) DtMovimientos.AcceptChanges() GvMov.DataSource = DtMovimientos GvMov.DataBind() UPMovs.Update() Actualizar = False End If End If TxtCargo.Text = "" TxtAbono.Text = "" TxtReferencia.Text = "" TxtDescripcion.Text = "" End Sub #Region "PESTAÑA INFORMACION GENERAL DE BANCO IE" Public Sub Bancos_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) RowIndex = GvRow.RowIndex If GvRow.FCTextBox("TxtAbono").Visible Then CargaTipoTransaccion("Egs") Else CargaTipoTransaccion("Ing") End If Dim IdMov As Integer = GvRow.DataKey("IdMov").ToString.ToEntero Dim Rows As DataRow() = DtMovimientos.Select("IdMov = " & IdMov) IDMovEditar = IdMov If Rows.Count > 0 Then Dim dr As DataRow = Rows(0) DdlTipoTransaccion.SelectedValueExist(dr("ContadoTipoTransaccion").ToString.ToEntero) DdlCuenta.SelectedValueExist(dr("ContadoCuenta").ToString.ToEntero) TxtDocumentoFolio.Text = dr("ContadoNumeroFolio").ToString TxtDocumentoObservaciones.Text = dr("ContadoObservaciones").ToString TxtDocumentoBeneficiario.Text = dr("ContadoBeneficiario").ToString End If TxtDocumentoImporte.Text = If(GvRow.FCTextBox("TxtAbono").Text = "", GvRow.FCTextBox("TxtCargo").Text.FormatoNumero, GvRow.FCTextBox("TxtAbono").Text.FormatoNumero) UpBancos.Update() RegistraScript(String.Format("$('#{0}').modal();", "DivContadoModal")) End Sub Private Sub CargaTipoTransaccion(Tipo As String) DdlTipoTransaccion.Items.Clear() DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros($"Tipo = '{Tipo}' AND Estatus = 1 ") DdlTipoTransaccion.DataBind() DdlTipoTransaccion.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1")) End Sub Private Sub CargaCuentasBancos() DdlCuenta.Items.Clear() DdlCuenta.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) '.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta <> 1", DdlMoneda.SelectedValue)) DdlCuenta.DataBind() DdlCuenta.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub Private Sub BtnContado_Click(sender As Object, e As EventArgs) Handles BtnContado.Click Dim Rows As DataRow() = DtMovimientos.Select("IdMov = " & IDMovEditar) If Rows.Count > 0 Then Dim dr As DataRow = Rows(0) dr("ContadoTipoTransaccion") = DdlTipoTransaccion.SelectedValue.ToEntero dr("ContadoCuenta") = DdlCuenta.SelectedValue.ToEntero dr("ContadoNumeroFolio") = TxtDocumentoFolio.Text dr("ContadoImporte") = TxtDocumentoImporte.Text.ToDecimal dr("ContadoBeneficiario") = TxtDocumentoBeneficiario.Text dr("ContadoObservaciones") = TxtDocumentoObservaciones.Text End If DtMovimientos.AcceptChanges() If Not DtMovimientos.Columns.Contains("Cargo") Then DtMovimientos.Columns.Add("Cargo", GetType(Decimal)) DtMovimientos.Columns.Add("Abono", GetType(Decimal)) End If Dim IndexX As Integer = 0 For Each PGvRow As GridViewRow In GvMov.Rows If PGvRow.RowType = DataControlRowType.DataRow Then DtMovimientos.Rows(IndexX)("Cargo") = PGvRow.FCTextBox("TxtCargo").Text.ToDecimal DtMovimientos.Rows(IndexX)("Abono") = PGvRow.FCTextBox("TxtAbono").Text.ToDecimal IndexX = IndexX + 1 End If Next GvMov.DataSource = DtMovimientos GvMov.DataBind() 'CveTipoTransaccion = DdlTipoTransaccion.SelectedValue.ToEntero 'CveCuenta = DdlCuenta.SelectedValue.ToEntero 'Folio = TxtDocumentoFolio.Text 'ImporteDocumento = TxtDocumentoImporte.Text.ToDecimal 'Observaciones = TxtDocumentoObservaciones.Text 'Beneficiario = TxtDocumentoBeneficiario.Text RegistraScript(String.Format("$('#{0}').modal('hide');", "DivContadoModal")) GvMov.Rows(RowIndex).FCLinkButton("ImgBancos").CssClass = "btn btn-circle btn-sm green" UPMovs.Update() End Sub Private Sub BtnEliminar_Click(sender As Object, e As EventArgs) Handles BtnEliminar.Click Dim ObjContabilidad As New ClsContabilidad If ObjContabilidad.RemovePrePolizas(CvePrePoliza, UsuarioActual.CveEmpresa) Then Alert("La Prepóliza ha sido eliminada", TipoMensaje.MsgInformacion) Else Alert("La Prepóliza ha podido ser eliminada", TipoMensaje.MsgError) End If ObjContabilidad.Dispose() End Sub #End Region Protected Sub DdlTipoGasto_SelectedIndexChanged(sender As Object, e As EventArgs) If UpPrePoliza.Visible Then For Each dRow As DataRow In DtMovimientos.Rows dRow("CveTipoGasto") = DdlTipoGasto.SelectedValue dRow("TipoGasto") = DdlTipoGasto.SelectedItem.Text dRow("Modificado") = True Next DtMovimientos.AcceptChanges() GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() UpPrePoliza.Update() End If If divMovtos.Visible Then For Each Gvr As GridViewRow In GvMov.Rows Gvr.FCDropDownList("DdlTipoGasto").SelectedValueExist(DdlTipoGasto.SelectedValue) Next UPMovs.Update() End If End Sub Protected Sub DdlSubProyectoFiltro_SelectedIndexChanged(sender As Object, e As EventArgs) Dim Ddl As DropDownList = CType(sender, DropDownList) For Each Gvr As GridViewRow In GvPrePoliza.Rows If Ddl.SelectedValue.ToEntero > 0 Then If Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero = Ddl.SelectedValue.ToEntero Or Not Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero > 0 Then Gvr.Visible = True Else Gvr.Visible = False End If Else Gvr.Visible = True End If Next UpPrePoliza.Update() RegistraScript("calculateAbono()", "cargo") RegistraScript("calculateCargo()", "abono") RegistraScript("comparar()", "compara") End Sub Private Sub GvMov_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvMov.RowEditing Actualizar = True GvMov.DataKeys(e.NewEditIndex).Value.ToString.ToEntero Dim idMov As Integer = GvMov.DataKeys(e.NewEditIndex).Value.ToString.ToEntero Dim DrM As DataRow = DtMovimientos.Rows(e.NewEditIndex) If DrM IsNot Nothing Then HdnCve.Value = idMov.ToString CargaCuentasContables() ChkSeguir.Visible = False DdlCuentaContable.SelectedValueExist(DrM("CveCuenta").ToString) TxtReferencia.Text = DrM("Referencia").ToString TxtConcepto.Text = DrM("Concepto").ToString ' (Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) = dr("TipoMovto") DrM("EsComodin") = 0 DdlConceptosContables.SelectedValueExist(DrM("CveConceptoContable").ToString) TxtCargo.Text = DrM("Cargo").ToString TxtAbono.Text = DrM("Abono").ToString TxtDescripcion.Text = DrM("Descripcion").ToString DdlSubProyecto.SelectedValueExist(DrM("CveSubProyecto").ToString) DdlProveedores.SelectedValueExist(DrM("CveProveedor").ToString) DdlCompras.SelectedValueExist(DrM("CveCompra").ToString) DdlPersonal.SelectedValueExist(DrM("CvePersonal").ToString) ' DrM("CveClasificacion") = -1 DdlClientes.txtValue.Value = DrM("CveCliente").ToString 'DdlClientes.txtText.Value = DrM("CveCliente").ToString DdlVentas.SelectedValueExist(DrM("CveVenta").ToString) LbCancelarEdicion.Visible = True LbAgregar.Text = "Actualizar" End If End Sub Private Sub LbCancelarEdicion_Click(sender As Object, e As EventArgs) Handles LbCancelarEdicion.Click LbCancelarEdicion.Visible = False TxtConcepto.Text = "" Actualizar = False LbAgregar.Text = "Agregar" End Sub #Region "COMPLEMENTO DE PAGO" Private Sub LnkComplementoPago_Click(sender As Object, e As EventArgs) Handles LnkComplementoPago.Click CargaComplementosPago() RegistraScript("$('#ModalComplementoPagos').modal('show');") End Sub Private Sub CargaComplementosPago() Dim ObjBancos As New ClsBancos DVGenerarComplementoModal.Visible = False If ObjBancos.GetComplementoPagosRep(-1, MinFecha, MaxFecha, -1, -1, 1, UsuarioActual.CveEmpresa, 2, CvePrePoliza:=CvePrePoliza) Then Dim dtt As DataTable = Nothing dtt = ObjBancos.DtResultados If dtt.Rows.Count > 0 Then UpComplementoPagos.Visible = True 'GvComplementoPagos.Columns(7).Visible = True ' si tiene el permiso para eliminar IE o editar IE 'If UsuarioActual.TienePermisoProceso(85) OrElse UsuarioActual.TienePermisoProceso(99) Then GvComplementoPagos.Columns(8).Visible = True Else DVGenerarComplementoModal.Visible = True End If GvComplementoPagos.DataSource = ObjBancos.DtResultados.FiltraParametros("", DistinctColumns:={"CveComplementoPago", "FolioFiscal", "SerieFolioPago", "FechaComplemento", "Importe", "CveIE"}) End If ObjBancos.Dispose() GvComplementoPagos.DataBind() UpComplementoPagos.Update() End Sub Private Sub GeneraTimbre(CvePrePoliza As Integer) Dim Str As New StringBuilder Dim Banco As New ClsBancos Banco.IniciaTransacSQL() If Banco.GeneraTimbrePago(-1, -1, UsuarioActual, CvePrePoliza:=CvePrePoliza) Then If Banco.Mensaje = "" Then Banco.Commit() PDFReciboDePagos(-1, -1, Banco.CveComplementoPago, False) Str.AppendFormat("Folio: {0}  ", Banco.ComplementoSerieFolio) Str.AppendFormat("XML    ", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) Str.AppendFormat("PDF   ", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CveComplementoPago={1}", Banco.ComplementoSerieFolio, Banco.CveComplementoPago))) MandaCorreo(Banco.ComplementoSerieFolio, Banco.CobranzaCorreo) End If Else Banco.RollBack() Str.AppendFormat("No se genero complemento por el siguiente motivo: {0}", Banco.Mensaje) End If Banco.Dispose() Alert(Str.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();") End Sub Protected Sub GvComplementoPagos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvComplementoPagos.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then 'If e.Row.DataKey("Tipo") = "Ing" Then e.Row.Cells(3).Text = String.Format("", Encripta(String.Format("OP=CompP&EXT=xml&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolioPago"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE")))) e.Row.Cells(4).Text = String.Format("", Encripta(String.Format("OP=CompP&EXT=pdf&SerieFolio={0}&CVECOMPLEMENTOPAGO={1}&CVEIE={2}", e.Row.DBCampo("SerieFolioPago"), e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("CveIE")))) 'End If End If End Sub Private Sub MandaCorreo(NombreArchivo As String, Correo As String, Optional ConAlerta As Boolean = True) Try Dim Msg As String = "" If NombreArchivo <> "-1" Then ' Dim ObjMail As New ClsSisMail() Dim RutaXML As String = String.Format("{0}\XML\Pag\{1}.xml", UsuarioActual.Empresa.Ruta, NombreArchivo) Dim RutaPDF As String = String.Format("{0}\PDF\Pag\{1}.pdf", UsuarioActual.Empresa.Ruta, NombreArchivo) Dim Cuerpo As String = "Se hace entrega del comprobante de pago" Dim Asunto As String = "Entrega de comprobante de pago" If IO.File.Exists(RutaPDF) AndAlso IO.File.Exists(RutaXML) Then Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail) LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = RutaPDF}) LSRutasMail.Add(New ClsSisMail.ArchivoMail With {.Ruta = RutaXML}) If ObjMail.SendMail(UsuarioActual.Empresa, Correo, Asunto, Cuerpo, "", LSRutasMail) Then If ConAlerta Then 'RegistraScript("$('#ModalDivMail').modal('hide');") Alert("El correo se envió correctamente", TipoMensaje.MsgInformacion) End If Else Msg = "No se pudo enviar el correo electrónico." End If Else Msg = "No se pudo adjuntar el correo electrónico." End If End If If ConAlerta AndAlso Msg <> "" Then Alert(Msg, TipoMensaje.MsgError) End If Catch ex As Exception OnError("Ocurrió error al mandar MAIL", ex) End Try End Sub #End Region #Region "E X C E L" Private Sub LnkExcel_Click(sender As Object, e As EventArgs) Handles LnkExcel.Click RegistraScript(String.Format("$('#{0}').modal();", "DivCargaExcel")) End Sub Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click Dim NombreArchivo As String SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet) Dim workbook As New ExcelFile() Dim NombreHoja As String = DdlPlantilla2.SelectedItem.Text.ToString If NombreHoja.Length > 30 Then NombreHoja = NombreHoja.Substring(0, 29) End If Dim worksheet As ExcelWorksheet = workbook.Worksheets.Add(NombreHoja) Dim CvePlantilla As Integer = DdlPlantilla2.SelectedValue.ToEntero 'Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla, UsuarioActual.CveEmpresa) Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(UsuarioActual.CveEmpresa, CvePlantilla).FiltraParametros("", "Orden") Dim DtExcel As DataTable = (From row In Dt.AsEnumerable Select New With { .ConceptoAdministrativo = row.Item("ConceptoContable"), .Cuenta = row.Item("Codigo"), .NombreCuenta = row.Item("CodigoNombreCuenta"), .Cargo = "", .Abono = "", .Referencia = "", .Concepto = "", .SubProyecto = row.Item("SubProyecto"), .Folio = "", .TipoTransferencia = "", .CveConceptoContable = row.Item("CveConceptoContable"), .CveSubProyecto = IIf(row.Item("CveSubProyecto").ToString.ToEntero > 0, row.Item("CveSubProyecto"), -1), .CveCuenta = row.Item("CveCuenta") }).QueryToDataTable(True) worksheet.InsertDataTable(DtExcel, New InsertDataTableOptions() With { .ColumnHeaders = True, .StartRow = 0, .StartColumn = 0 }) Dim columnCount As Integer = worksheet.CalculateMaxUsedColumns() For i As Integer = 0 To columnCount worksheet.Columns(i).AutoFit(1, worksheet.Rows(0), worksheet.Rows(worksheet.Rows.Count - 1)) Next worksheet.Columns("K").Hidden = True worksheet.Columns("L").Hidden = True worksheet.Columns("M").Hidden = True worksheet.Columns("N").Hidden = True NombreArchivo = DdlPlantilla2.SelectedItem.Text.ToString workbook.Save(Response, $"{NombreArchivo}.xlsx", SaveOptions.XlsxDefault) End Sub Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click If TxtExcel.getfiles().Archivos.Count > 0 Then Dim file As Archivo = TxtExcel.getfiles().Archivos(0) Dim Directorio As String = Server.MapPath("~") & file.path Dim Tipo As String = If(file.Extension.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV") CargarArchivo(Directorio, file.filename, Tipo) Else Alert("No existe el archivo.Favor de subir un archivo csv o excel a la plataforma", TipoMensaje.MsgError) End If End Sub Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String) Dim dt As New DataTable ' Conexion As Odbc.OdbcConnection = Nothing Dim ErrorArchivo As Boolean = False Dim ErrorExcel As Boolean = False DdlPlantilla.SelectedValue = DdlPlantilla2.SelectedValue dt = ReadExcelFile(Ruta + FileName, True, 0) If Not ErrorArchivo Then If Not dt.Columns(0).ColumnName.ToUpper = "CONCEPTOADMINISTRATIVO" Then Alert("El nombre de la primera columna debe ser 'ConceptoAdministrativo'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(1).ColumnName.ToUpper = "CUENTA" Then Alert("El nombre de la segunda columna debe ser 'Cuenta'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(2).ColumnName.ToUpper = "NOMBRECUENTA" Then Alert("El nombre de la tercera columna debe ser 'NombreCuenta'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(3).ColumnName.ToUpper = "CARGO" Then Alert("El nombre de la cuarta columna debe ser 'Cargo'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(4).ColumnName.ToUpper = "ABONO" Then Alert("El nombre de la quinta columna debe ser 'Abono' .Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(5).ColumnName.ToUpper = "REFERENCIA" Then Alert("El nombre de la sexta columna debe ser 'Referencia'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(6).ColumnName.ToUpper = "CONCEPTO" Then Alert("El nombre de la séptima columna debe ser 'Concepto'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(7).ColumnName.ToUpper = "SUBPROYECTO" Then Alert("El nombre de la octava columna debe ser 'SubProyecto'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(8).ColumnName.ToUpper = "FOLIO" Then Alert("El nombre de la novena columna debe ser 'Folio'.Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If If Not dt.Columns(9).ColumnName.ToUpper = "TIPOTRANSFERENCIA" Then Alert("El nombre de la decima columna debe ser 'TipoTransferencia'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If End If If Not ErrorArchivo Then DtMovimientos.Clear() Try Dim ContadorRegistros As Integer = 2 For Each Row As DataRow In dt.FiltraParametros("ConceptoAdministrativo <> ''").Rows Dim NombreCuenta As String = Row("NombreCuenta").ToString Dim Cuenta As String = Row("Cuenta").ToString Dim ConceptoAdministrativo As String = Row("ConceptoAdministrativo").ToString Dim CveSubProyecto As Integer = -1 Dim TipoMovto As Boolean = If(Row("Cargo").ToString.ToDecimal <> 0, False, True) Dim CveConceptoContable As Integer = GlobalDTContaConceptosContables(-1).FiltroPrimeroValor("CveConceptoContable", String.Format("ConceptoContable ='{0}'", Row("ConceptoAdministrativo").ToString.Trim)).ToEntero ' Row("CveConceptoContable").ToString.ToEntero Dim CveClasificacion As Integer = -1 Dim CveCuentaExcel As Integer = -1 Dim ObjConta2 As New ClsContabilidad Dim FolioExcel As Long = -1 Dim TipoMov As Integer = -1 Dim TipoNaturaleza As String = "" Dim CveBancoCuenta As Integer = -1 If ObjConta2.GetCuentas(-1, Row("Cuenta").ToString.Replace("-", "").Trim, 1, UsuarioActual.CveEmpresa) Then CveCuentaExcel = ObjConta2.DtResultados.FiltroPrimeroValor("CveCuenta", "").ToEntero NombreCuenta = ObjConta2.DtResultados.FiltroPrimeroValor("CtaCodigo", "") End If ObjConta2.Dispose() If CveCuentaExcel <= 0 AndAlso CveConceptoContable <> 30 Then ' concepto 30-Bancos, tomará la cuetna de las especificaciones que se hagan enel modal Alert(String.Format("La cuenta {0} no se reconoció, favor de verificar el archivo.", Row("Cuenta").ToString)) DtMovimientos.Clear() Exit For End If If CveConceptoContable = 30 AndAlso Row("TipoTransferencia").ToString <> "" Then Dim objconta3 As New ClsContabilidad objconta3.GetConta_CuentasDataContabilidad(CveCuentaExcel, UsuarioActual.CveEmpresa) If objconta3.DtResultados.Rows.Count > 0 Then Dim rowcc As DataRow = objconta3.DtResultados.Rows(0) CveBancoCuenta = rowcc("CveBancoCuenta").ToString().ToEntero() Else CveBancoCuenta = 0 End If objconta3.Dispose() If CveBancoCuenta = 0 Then Alert(String.Format("La cuenta {0} no está vinculada a una cuenta bancaria administrativa favor de verificar el archivo.", Row("Cuenta").ToString), TipoMensaje.MsgAdvertencia) DtMovimientos.Clear() Exit For End If TipoMov = GlobalDTTipoTransacciones.FiltroPrimeroValor("CveTipoTransaccion", String.Format("TipoTransaccion = '{0}' ", Row("TipoTransferencia"))).ToEntero TipoNaturaleza = GlobalDTTipoTransacciones.FiltroPrimeroValor("Tipo", String.Format("TipoTransaccion = '{0}' ", Row("TipoTransferencia"))) FolioExcel = Row("Folio").ToString.ToEntero CveTipoTransaccion = TipoMov CveCuenta = CveBancoCuenta 'carga el consecutivo If FolioExcel = 0 Then FolioExcel = SiguienteFolioBancos(CveBancoCuenta, TipoMov).ToLong End If Folio = FolioExcel.ToString ImporteDocumento = If(Row("Abono").ToString.ToDecimal <> 0, Row("Abono").ToString.ToDecimal, Row("Cargo").ToString.ToDecimal) Observaciones = Row("Referencia").ToString Beneficiario = Row("Concepto").ToString If Not TipoMov > 0 Then Alert(String.Format("El Tipo de Transferencia no fue encontrado:
Tipo Transferencia: {0}
Folio: {1}
Importe: {2} ", Row("TipoTransferencia").ToString(), FolioExcel, ImporteDocumento), TipoMensaje.MsgAdvertencia) Exit Sub End If If Not (TipoNaturaleza = "Ing" And ((TipoMovto = False And ImporteDocumento >= 0) Or (TipoMovto = True And ImporteDocumento <= 0)) Or TipoNaturaleza = "Egs" And ((TipoMovto = True And ImporteDocumento >= 0) Or (TipoMovto = False And ImporteDocumento <= 0))) Then Alert($"El movimiento con cuenta: {NombreCuenta} , importe: {ImporteDocumento.ToString("###,###,###.00")} (registro {ContadorRegistros}), no tiene la naturaleza correcta", TipoMensaje.MsgAdvertencia) Exit Sub End If 'If Row("Abono").ToString.ToDecimal > 0 And TipoNaturaleza = "Ing" Or Row("Cargo").ToString.ToDecimal > 0 And TipoNaturaleza = "Egs" Then ' Alert($"El movimiento con cuenta: {NombreCuenta} , importe: {ImporteDocumento.ToString("###,###,###.00")} (registro {ContadorRegistros}), no tiene la naturaleza correcta", TipoMensaje.MsgAdvertencia) ' Exit Sub 'End If End If If Row("Abono").ToString.ToDecimal > 0 And Row("Cargo").ToString.ToDecimal > 0 Then Alert($"Se detecto un error en el registro {ContadorRegistros}, se tiene un valor en cargo({Row("Cargo").ToString.ToDecimal.ToString("###,###,###.00")}) y abono({Row("Abono").ToString.ToDecimal.ToString("###,###,###.00")})", TipoMensaje.MsgAdvertencia) Exit Sub End If If CveConceptoContable = 30 AndAlso Row("TipoTransferencia").ToString = "" Then Alert($" El registro {ContadorRegistros} es movimiento bancario y no se especifica el tipo de transferencia , importe: {ImporteDocumento.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia) Exit Sub End If 'sino viene el cveconcepto, busca por le nombre del concepto If CveConceptoContable = 0 Then Alert(String.Format("El concepto {0} no se reconoció, favor de verificar el archivo.", Row("ConceptoAdministrativo"))) DtMovimientos.Clear() Exit For End If If Row("SubProyecto").ToString.Trim <> "" Then CveSubProyecto = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=-1).FiltroPrimeroValor("CveSubProyecto", String.Format("SubProyecto = '{0}'", Row("SubProyecto").ToString.Trim)).ToEntero 'Row("CveSubProyecto").ToString.ToEntero If CveSubProyecto = 0 Then Alert(String.Format("El subproyecto {0} no se reconoció, favor de verificar el archivo.", Row("SubProyecto"))) DtMovimientos.Clear() Exit For End If End If If CveConceptoContable = 69 Then CveClasificacion = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveClasificacion", "").ToEntero End If Dim dr As DataRow = DtMovimientos.NewRow dr("CodigoNombreCuenta") = NombreCuenta dr("Cuenta") = ConceptoAdministrativo dr("Referencia") = Row("Referencia").ToString dr("Concepto") = Row("Concepto").ToString dr("TipoMovto") = TipoMovto dr("EsComodin") = 0 dr("CveConceptoContable") = CveConceptoContable dr("ConceptoContable") = Row("ConceptoAdministrativo").ToString dr("Cargo") = Row("Cargo").ToString.ToDecimal.RoundSQL dr("Abono") = Row("Abono").ToString.ToDecimal.RoundSQL dr("ImporteME") = 0 dr("ImporteMN") = IIf(Row("Cargo").ToString.ToDecimal <> 0, Row("Cargo").ToString.ToDecimal, Row("Abono").ToString.ToDecimal) dr("Descripcion") = Row("Concepto").ToString dr("SubProyecto") = Row("SubProyecto").ToString.Trim dr("CveSubProyecto") = CveSubProyecto dr("CveProveedor") = -1 dr("CveCompra") = -1 dr("CvePersonal") = -1 dr("CveClasificacion") = CveClasificacion dr("CveCliente") = -1 dr("CveVenta") = -1 dr("CveCuenta") = CveCuentaExcel dr("CveTipoGasto") = -1 dr("CvePrePolizaDetalle") = -1 dr("PorcentajeImpuesto") = 0D dr("TC") = 1 dr("EsComplementaria") = 0 dr("Modificado") = 1 dr("ContadoTipoTransaccion") = CveTipoTransaccion dr("ContadoCuenta") = CveBancoCuenta dr("ContadoNumeroFolio") = FolioExcel dr("ContadoImporte") = ImporteDocumento dr("ContadoBeneficiario") = Beneficiario dr("ContadoObservaciones") = Observaciones If Row("Cargo").ToString.ToDecimal <> 0 OrElse Row("Abono").ToString.ToDecimal <> 0 Then DtMovimientos.Rows.Add(dr) DtMovimientos.AcceptChanges() End If ContadorRegistros = ContadorRegistros + 1 Next GvMov.DataBind() divMovtos.Visible = False GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() UpPrePoliza.Update() TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero Catch ex As Exception Alert("No se pudo cargar el excel", TipoMensaje.MsgAdvertencia) GuardaLog(ex.Message) End Try ArregloCuentasFolios = Nothing End If End Sub #End Region #Region "Siguiente Folio" Public Property ArregloCuentasFolios As DataTable Get If ViewState("ArregloCuentasFolios") Is Nothing Then Dim dt As DataTable = New DataTable("CuentasBancos") With dt.Columns .Add("CveCuenta", Type.GetType("System.Int32")) .Add("CveTipoTransaccion", Type.GetType("System.Int32")) .Add("Folio", Type.GetType("System.Double")) End With ViewState("ArregloCuentasFolios") = dt End If Return CType(ViewState("ArregloCuentasFolios"), DataTable) End Get Set(value As DataTable) ViewState("ArregloCuentasFolios") = value End Set End Property Public Function SiguienteFolioBancos(CveCuentaBancos As Integer, CveTipoTransaccionBancos As Integer) As String Dim Retorno As String = "0" Dim Folio As Long = ArregloCuentasFolios.FiltroPrimeroValor("Folio", String.Format("CveCuenta = {0} and CveTipoTransaccion = {1}", CveCuentaBancos, CveTipoTransaccionBancos)).ToLong If Folio = 0 Then Dim Banco As New ClsBancos Folio = Banco.GetNextFolio(CveCuentaBancos, CveTipoTransaccionBancos) Banco.Dispose() End If Folio += 1 Dim a As DataRow() = ArregloCuentasFolios.Select(String.Format("CveCuenta = {0} and CveTipoTransaccion = {1}", CveCuentaBancos, CveTipoTransaccionBancos)) If a.Count = 0 Then Dim dr As DataRow = ArregloCuentasFolios.NewRow dr("Folio") = Folio dr("CveCuenta") = CveCuentaBancos dr("CveTipoTransaccion") = CveTipoTransaccionBancos ArregloCuentasFolios.Rows.Add(dr) Else a(0)("Folio") = Folio 'actualizo el folio End If ArregloCuentasFolios.AcceptChanges() Return Folio.ToString End Function #End Region Private Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click Contabilizar() End Sub Private Sub Contabilizar() Dim ObjConta As New ClsContabilidad If UsuarioActual.Empresa.TipoContabilidad = 1 Then If Folio.ToEntero = 0 Then Dim FolioManual As Integer = If(TxtFolio.Text.ToEntero > 0, TxtFolio.Text.ToEntero, -1) If ObjConta.ContabilizaDesContabilizaPrePoliza(CvePrePoliza, True, UsuarioActual.CveEmpresa, Folio:=FolioManual) Then Alert($"Contabilizado Correctamente Folio { ObjConta.ContaFolio.ToString()}.", TipoMensaje.MsgInformacion) TxtFolio.Text = ObjConta.ContaFolio.ToString() LnkFolioManual.Visible = False BtnContabilizar.Visible = False BtnDescontabilizar.Visible = True UpPoliza.Update() UpGuardar.Update() End If End If Else If IdPoliza > 0 Then 'si está bloqueada, lo desbloqueaprimero ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) End If If ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, pIDPoliza:=If(IdPoliza > 0, IdPoliza, -1), Concepto:=TxtConcepto.Text, Fecha:=TxtFechaDocumento.Text.ToDateTime()) Then If UsuarioActual.Empresa.TipoContabilizacion = 1 Then Alert(String.Format("Prepóliza contabilizada.

Folio: {0} ", ObjConta.FolioPoliza), ModExtensiones.TipoMensaje.MsgInformacion) Else Alert(String.Format("Prepóliza contabilizada.

Folio:Ver Póliza", ObjConta.ContaIdPoliza), ModExtensiones.TipoMensaje.MsgInformacion) End If Else Alert($"Ocurrio un error al contabilizar {ObjConta.AlertaMensaje}", TipoMensaje.MsgAdvertencia) End If End If ObjConta.Dispose() End Sub #Region "Crear A Partir de" Private Sub OcultarControlesCrearApartirDe() BtnEliminar.Visible = False 'BtnContabilizar.Visible = False GvPrePoliza.Columns(5).Visible = False DivTG.Visible = False GvMov.Columns(5).Visible = False TxtConcepto.Enabled = True TxtFechaDocumento.Text = NowADS().ToString("dd/MM/yyyy") TxtFechaelaboracion.Text = NowADS().ToString("dd/MM/yyyy") divContabilizada.Visible = False TxtFolio.Text = "" TxtUsuarioElaboro.Text = UsuarioActual.Usuario End Sub Private Function ValidaCrearAPartirDe() As Boolean Dim Respuesta As Boolean = False If CvePlantillaPoliza > 0 Then Dim TmpCvePlantillaPoliza As Integer = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CvePlantillaPoliza", $"CvePlantillaPoliza = {CvePlantillaPoliza}").ToEntero If TmpCvePlantillaPoliza > 0 Then Respuesta = True LnkCrearAPartirDe.Visible = True End If End If Return Respuesta End Function Protected Sub LnkCrearAPartirDe_Click(sender As Object, e As EventArgs) Response.Redirect($"./RegPrePolizaS.aspx?CvePrePolizaOrigen={CvePrePoliza}") End Sub Protected Sub LnkGvPrePolizaEliminar_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) If CvePrePoliza > 0 Then Dim RowEliminar As DataRow = DtMovimientosEliminar.NewRow() RowEliminar("CvePrePolizaDetalle") = GvRow.DataKey("CvePrePolizaDetalle") DtMovimientosEliminar.Rows.Add(RowEliminar) End If DtMovimientos.Rows(GvRow.RowIndex).Delete() DtMovimientos.AcceptChanges() GvPrePoliza.DataSource = DtMovimientos GvPrePoliza.DataBind() TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero UpTotalCargo.Update() UpTotalAbono.Update() UpPrePoliza.Update() End Sub Private Sub CargaModalConceptoTipoTransaccion(Tipo As String) DdlModalConceptoTipoTransaccion.Items.Clear() DdlModalConceptoTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros($"Tipo = '{Tipo}' AND Estatus = 1 ") DdlModalConceptoTipoTransaccion.SelectedIndex = -1 DdlModalConceptoTipoTransaccion.ClearSelection() DdlModalConceptoTipoTransaccion.SelectedValue = Nothing DdlModalConceptoTipoTransaccion.DataBind() DdlModalConceptoTipoTransaccion.Items.Insert(0, New ListItem("Seleccione Tipo Movimiento", "-1")) End Sub Private Sub CargaModalConceptoCuentas() DdlModalConceptoCuenta.Items.Clear() DdlModalConceptoCuenta.ClearSelection() DdlModalConceptoCuenta.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) '.FiltraParametros(String.Format("CveMoneda = {0} AND CveTipoCuenta <> 1", DdlMoneda.SelectedValue)) DdlModalConceptoCuenta.SelectedValue = Nothing DdlModalConceptoCuenta.DataBind() DdlModalConceptoCuenta.Items.Insert(0, New ListItem("Seleccione", "-1")) End Sub #End Region Private Sub BtnDescontabilizar_Click(sender As Object, e As EventArgs) Handles BtnDescontabilizar.Click Dim ObjConta As New ClsContabilidad If ObjConta.ContabilizaDesContabilizaPrePoliza(CvePrePoliza, False, UsuarioActual.CveEmpresa) Then Alert("Descontabilizado Correctamente.", TipoMensaje.MsgInformacion) TxtFolio.Text = "" LnkFolioManual.Visible = True BtnDescontabilizar.Visible = False BtnContabilizar.Visible = True End If ObjConta.Dispose() UpPoliza.Update() UpGuardar.Update() End Sub Private Sub LnkFolioManual_Click(sender As Object, e As EventArgs) Handles LnkFolioManual.Click TxtFolio.Enabled = True TxtFolio.Focus() UpPoliza.Update() End Sub Protected Sub DdlVentasE_SelectedIndexChanged(sender As Object, e As EventArgs) Dim Venta As New ClsVentas If Venta.GetVenta(DdlVentasE.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then Dim dr As DataRow = Venta.DtResultados.FiltroPrimero("") If dr IsNot Nothing Then TxtTipoCambio.Text = dr("TipoCambioValuacion").ToString End If End If Venta.Dispose() End Sub Private Sub TxtCargoE_TextChanged(sender As Object, e As EventArgs) Handles TxtCargoE.TextChanged If TxtCargoE.Text.ToDecimal <> 0 Then CargaModalConceptoTipoTransaccion("Ing") End Sub Private Sub TxtAbonoE_TextChanged(sender As Object, e As EventArgs) Handles TxtAbonoE.TextChanged If TxtAbonoE.Text.ToDecimal <> 0 Then CargaModalConceptoTipoTransaccion("Egs") End Sub Private Sub DdlModalConceptoCuenta_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlModalConceptoCuenta.SelectedIndexChanged Dim tCveMon As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveMoneda", $"CveCuenta = {DdlModalConceptoCuenta.SelectedValue}").ToEntero If tCveMon = 2 Then DivMonedaExtranjera.Visible = True DivModalConceptoTipoCambio.Visible = True Else DivMonedaExtranjera.Visible = False DivModalConceptoTipoCambio.Visible = False End If UpModalConcepto.Update() End Sub Protected Sub LnkEmitirComplemento_Click(sender As Object, e As EventArgs) GeneraTimbre(CvePrePoliza) End Sub End Class