From 95ae37b881e1f18b26dbfcd2e1fac846e2da84bd Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 21 Feb 2022 17:16:05 -0700 Subject: [PATCH] Contratos, repcomplementos de pago motivo de cancelacion --- App_Code/ClsGenerales.vb | 8 +- App_Code/ClsInventarios.vb | 9 +- App_Code/DtDatos.xsd | 31 +- Bancos/RepComplementoPago.aspx | 91 +- Bancos/RepComplementoPago.aspx.vb | 198 +- Contabilidad/RegPrePolizaS.aspx.vb | 3358 ++++++++--------- Contratos/ContratoObraAutorizacion.aspx | 3 +- Contratos/ContratoObraAutorizacion.aspx.vb | 52 - Empresas/119/Formatos/RepIVAAcreditable.rpt | Bin 131072 -> 131072 bytes Empresas/Grales/Formatos/RepIVA.rpt | Bin 147456 -> 147456 bytes .../Grales/Formatos/RepIVAAcreditable.rpt | Bin 147456 -> 147456 bytes Inventarios/CartaPorteManual.aspx | 2 +- Inventarios/CartaPorteManual.aspx.vb | 8 +- Inventarios/CatUnidades.aspx | 6 +- Inventarios/CatUnidades.aspx.vb | 6 +- Inventarios/RepEntregaAlmacenRuta.aspx | 11 +- Inventarios/RepEntregaAlmacenRuta.aspx.cs | 40 +- Inventarios/TraspasoAlmacen.aspx | 2 +- Inventarios/TraspasoAlmacen.aspx.vb | 8 +- 19 files changed, 1981 insertions(+), 1852 deletions(-) diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index e82343f8c..16e26a4a7 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -3867,7 +3867,7 @@ Public Class ClsGenerales End Function Public Function AddInvEntregaAlmacenRuta(CveSubProyecto As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer, CveMovimientoAlmacen As Integer, CveChofer As Integer, CveCamion As Integer, FechaEntrega As Date, FechaLlegada As DateTime, Tipo As String, - FolioReferencia As String, Referencia As String, FechaLimite As Date, Orden As Integer, Estatus As Integer, Distancia As Integer, Optional ConfigCartaPorte As String = "-1", + FolioReferencia As String, Referencia As String, FechaLimite As Date, Orden As Integer, Estatus As Integer, Distancia As Integer, Optional CveConfigAutoTransporte As Integer = -1, Optional CveCamionRemolque1 As Integer = -1, Optional CveCamionRemolque2 As Integer = -1) As Integer Dim Retorno As Integer = -1 DataAdapter("PA_Inv_EntregaAlmacenRutaAdd") @@ -3893,7 +3893,7 @@ Public Class ClsGenerales .Add("@CveCamionRemolque1", SqlDbType.Int).Value = CveCamionRemolque1 .Add("@CveCamionRemolque2", SqlDbType.Int).Value = CveCamionRemolque2 - .Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte + .Add("@CveConfigAutoTransporte", SqlDbType.Int).Value = CveConfigAutoTransporte .Add("@CveEntregaAlmacen", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -3909,7 +3909,7 @@ Public Class ClsGenerales Public Function UpdateInvEntregaAlmacenRuta(CveEntregaAlmacen As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer, CveChofer As Integer, CveCamion As Integer, FechaEntrega As Date, CveEmpresa As Integer, Optional FechaLlegada As DateTime = MinFecha, Optional CveCamionRemolque1 As Integer = -1, Optional CveCamionRemolque2 As Integer = -1, Optional Distancia As Integer = -1, - Optional ConfigCartaPorte As String = "-1") As Boolean + Optional CveConfigAutoTransporte As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_EntregaAlmacenRutaUpdate") @@ -3928,7 +3928,7 @@ Public Class ClsGenerales .Add("@CveCamionRemolque1", SqlDbType.Int).Value = CveCamionRemolque1 .Add("@CveCamionRemolque2", SqlDbType.Int).Value = CveCamionRemolque2 .Add("@Distancia", SqlDbType.Int).Value = Distancia - .Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte + .Add("@CveConfigAutoTransporte", SqlDbType.Int).Value = CveConfigAutoTransporte End With diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index fe1fe6f3f..e5d8cb414 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -5542,16 +5542,17 @@ Public Class ClsInventarios Return Retorno End Function - Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer, ConfigCartaPorte As String, Anio As Integer, CveTipoPermisoSCT As Integer, NumPermisoSCT As String, NombreAseguradora As String, + Public Function AddCamiones(Placa As String, Especificacion As String, CveEmpresa As Integer, CveConfigAutoTransporte As Integer, Anio As Integer, CveTipoPermisoSCT As Integer, NumPermisoSCT As String, NombreAseguradora As String, NumPolizaSeguro As String, CveUsuario As Integer, NombreAseguradoraMedioAmbiente As String, NumPolizaSeguroMedioAmbiente As String, NombreAseguradoraCarga As String, NumPolizaSeguroCarga As String, Optional CveTipoCamion As Integer = 1, Optional LongitudCaja As String = "", Optional LineaTransportacion As String = "", Optional SCAC As String = "", Optional CAAT As String = "", Optional CveTipoRemolque As Integer = -1, Optional NumeroTrailer As String = "") As Boolean + Dim Retorno As Boolean = False DataAdapter("PA_Inv_CamionesAdd") With SqlAdapter.SelectCommand.Parameters .Add("@Placa", SqlDbType.VarChar).Value = Placa .Add("@Especificacion", SqlDbType.VarChar).Value = Especificacion - .Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte + .Add("@CveConfigAutoTransporte", SqlDbType.Int).Value = CveConfigAutoTransporte .Add("@Anio", SqlDbType.Int).Value = Anio .Add("@CveTipoPermisoSCT", SqlDbType.VarChar).Value = CveTipoPermisoSCT .Add("@NumPermisoSCT", SqlDbType.VarChar).Value = NumPermisoSCT @@ -5594,7 +5595,7 @@ Public Class ClsInventarios End Try Return Retorno End Function - Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String, ConfigCartaPorte As String, Anio As Integer, CveTipoPermisoSCT As Integer, NumPermisoSCT As String, NombreAseguradora As String, + Public Function UpdateCamiones(CveCamion As Integer, Placa As String, Especificacion As String, CveConfigAutoTransporte As Integer, Anio As Integer, CveTipoPermisoSCT As Integer, NumPermisoSCT As String, NombreAseguradora As String, NumPolizaSeguro As String, CveUsuario As Integer, CveEmpresa As Integer, NombreAseguradoraMedioAmbiente As String, NumPolizaSeguroMedioAmbiente As String, NombreAseguradoraCarga As String, NumPolizaSeguroCarga As String, Optional CveTipoCamion As Integer = -1, Optional LongitudCaja As String = "", Optional LineaTransportacion As String = "", Optional SCAC As String = "", Optional CAAT As String = "", Optional CveTipoRemolque As Integer = -1, Optional NumeroTrailer As String = "") As Boolean @@ -5604,7 +5605,7 @@ Public Class ClsInventarios .Add("@CveCamion", SqlDbType.Int).Value = CveCamion .Add("@Placa", SqlDbType.VarChar).Value = Placa .Add("@Especificacion", SqlDbType.VarChar).Value = Especificacion - .Add("@ConfigCartaPorte", SqlDbType.VarChar).Value = ConfigCartaPorte + .Add("@CveConfigAutoTransporte", SqlDbType.Int).Value = CveConfigAutoTransporte .Add("@Anio", SqlDbType.Int).Value = Anio .Add("@CveTipoPermisoSCT", SqlDbType.Int).Value = CveTipoPermisoSCT .Add("@NumPermisoSCT", SqlDbType.VarChar).Value = NumPermisoSCT diff --git a/App_Code/DtDatos.xsd b/App_Code/DtDatos.xsd index c658dbec9..a9dc6f67a 100644 --- a/App_Code/DtDatos.xsd +++ b/App_Code/DtDatos.xsd @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + @@ -46,7 +46,7 @@ - + @@ -66,7 +66,7 @@ - + @@ -89,7 +89,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -139,7 +139,7 @@ - + @@ -155,7 +155,7 @@ - + @@ -172,7 +172,7 @@ - + @@ -181,7 +181,7 @@ - + @@ -217,7 +217,7 @@ - + @@ -243,7 +243,7 @@ - + @@ -259,7 +259,7 @@ - + @@ -297,10 +297,11 @@ + - + @@ -310,7 +311,7 @@ - + diff --git a/Bancos/RepComplementoPago.aspx b/Bancos/RepComplementoPago.aspx index 73d4236b4..7ffa1835d 100644 --- a/Bancos/RepComplementoPago.aspx +++ b/Bancos/RepComplementoPago.aspx @@ -177,10 +177,10 @@ - + Cancelar SAT - + @@ -189,7 +189,94 @@ + + + + diff --git a/Bancos/RepComplementoPago.aspx.vb b/Bancos/RepComplementoPago.aspx.vb index d79cc385c..001edbfc8 100644 --- a/Bancos/RepComplementoPago.aspx.vb +++ b/Bancos/RepComplementoPago.aspx.vb @@ -6,14 +6,89 @@ Imports Extensiones Imports GemBox.Spreadsheet Partial Class Bancos_RepComplementoPago - Inherits ClsPaginas - - Private Sub Bancos_RepComplementoPago_Load(sender As Object, e As EventArgs) Handles Me.Load - If Not Page.IsPostBack Then + Inherits ClsPaginas + + +#Region "C A N C E L A C I O N DE C O M P L E M E N T O S" + + Private Property Can_FolioFiscalCancelar As String + Get + + If ViewState("Can_FolioFiscalCancelar") Is Nothing Then + ViewState("Can_FolioFiscalCancelar") = "" + End If + + Return ViewState("Can_FolioFiscalCancelar").ToString + + End Get + Set(value As String) + ViewState("Can_FolioFiscalCancelar") = value + End Set + End Property + + + Private Property Can_CveComplementoPagoCancelar As Integer + Get + + If ViewState("Can_CveComplementoPagoCancelar") Is Nothing Then + ViewState("Can_CveComplementoPagoCancelar") = "" + End If + + Return ViewState("Can_CveComplementoPagoCancelar").ToString.ToEntero + + End Get + Set(value As Integer) + ViewState("Can_CveComplementoPagoCancelar") = value + End Set + End Property + + Private Property Can_CvePACCancelacion As Integer + Get + + If ViewState("Can_CvePACCancelacion") Is Nothing Then + ViewState("Can_CvePACCancelacion") = "" + End If + + Return ViewState("Can_CvePACCancelacion").ToString.ToEntero + + End Get + Set(value As Integer) + ViewState("Can_CvePACCancelacion") = value + End Set + End Property + + Private Property Can_RFCReceptorCancelar As String + Get + + If ViewState("Can_RFCReceptorCancelar") Is Nothing Then + ViewState("Can_RFCReceptorCancelar") = "" + End If + + Return ViewState("Can_RFCReceptorCancelar").ToString + + End Get + Set(value As String) + ViewState("Can_RFCReceptorCancelar") = value + End Set + End Property + + + +#End Region + + Private Sub Bancos_RepComplementoPago_Load(sender As Object, e As EventArgs) Handles Me.Load + + If Not Page.IsPostBack Then + txtFechaI.Text = $"{New DateTime(Now.Year, Now.Month, 1).ToString("dd/MM/yyyy")}" txtFechaF.Text = DateTime.Now.ToString("dd/MM/yyyy") DdlCliente.setEsWebService(True) + DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion = 2 or CveSATMotivoCancelacion = 3 ") + DdlMotivoCancelacion.DataBind() + DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione uno", "-1")) + + Dim objGral As New ClsGralFolios If objGral.GetFolios("CP", UsuarioActual.CveEmpresa) Then If objGral.DtResultados.Rows.Count > 0 Then @@ -150,9 +225,9 @@ Partial Class Bancos_RepComplementoPago e.Row.FCHyperLink("HplPDF").Visible = True : e.Row.FCHyperLink("HplPDF").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=CompP&EXT=pdf&CveComplementoPago={0}&SerieFolio={1}&CveIE={2}", e.Row.DBCampo("CveComplementoPago"), e.Row.DBCampo("SerieFolioPago").ToString.Replace("&", "%26%"), e.Row.DBCampo("CveIE").ToString))) e.Row.FCLinkButton("LnkSendMail").Visible = True - 'If DdlOpcion.SelectedValue.ToEntero = 2 Then - ' e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True - 'End If + If DdlOpcion.SelectedValue.ToEntero = 2 Then + e.Row.FCLinkButton("LnkCancelarFolioFiscal").Visible = True + End If End If @@ -326,53 +401,18 @@ Partial Class Bancos_RepComplementoPago Protected Sub LnkCancelaFolioFiscal(sender As Object, e As EventArgs) - Dim Gvr As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) - - Dim CveIE As Integer = Gvr.DataKey("CveIE").ToEntero - Dim SerieFolioPago As String = Gvr.DataKey("SerieFolioPago").ToString - Dim FolioFiscalCancelar As String = Gvr.DataKey("FolioFiscalComplemento").ToString - Dim CveComplementoPagoCancelar As Integer = Gvr.DataKey("CveComplementoPago").ToEntero - Dim CvePACCancelacion As Integer = UsuarioActual.Empresa.CvePAC - Dim RFCReceptorCancelar As String = Gvr.DataKey("RFC").ToString - - If FolioFiscalCancelar <> "" Then - Dim ObjCancelacion As New Timbrado - Dim ObjBanco As New ClsBancos - - If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then - - If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then - - Alert("El complemento se cancelo correctamente.") - End If - - Else - - If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then - - If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then - - Alert("El complemento se cancelo correctamente.") - End If - Else - Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgError) - End If - - End If - - ObjBanco.Dispose() - - 'Dim objBancos As New ClsBancos - - 'If objBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, -1, CFDIRelacionado, True) Then - ' Alert($"Complemento {SerieFolioPago} cancelado correctamente.") - 'Else - ' Alert($"Se presento un error al cancelar el complementob {SerieFolioPago}.", TipoMensaje.MsgError) - 'End If - - 'objBancos.Dispose() - End If + Dim Gvr As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + + Can_FolioFiscalCancelar = Gvr.DataKey("FolioFiscalComplemento").ToString + Can_CveComplementoPagoCancelar = Gvr.DataKey("CveComplementoPago").ToEntero + Can_CvePACCancelacion = UsuarioActual.Empresa.CvePAC + Can_RFCReceptorCancelar = Gvr.DataKey("RFC").ToString + + DdlMotivoCancelacion.SelectedValueExist(-1) + + RegistraScript("$('#ModalCancelacion').modal('show');") + UpModalCancelacion.Update() End Sub @@ -417,8 +457,6 @@ Partial Class Bancos_RepComplementoPago End Sub - - Private Sub Imprimir(Optional reporte As String = "PDF") If GvD.Rows.Count > 0 Then Dim StrFiltro As New StringBuilder @@ -482,7 +520,6 @@ Partial Class Bancos_RepComplementoPago worksheet.Columns("E").Width = 6000 worksheet.Columns("F").Width = 6000 worksheet.Columns("G").Width = 4000 - worksheet.Columns("H").Width = 12000 For i = celdasConTexto.FirstColumnIndex To celdasConTexto.LastColumnIndex @@ -532,8 +569,57 @@ Partial Class Bancos_RepComplementoPago End Sub + Protected Sub BtnCancelarComplemento_Click(sender As Object, e As EventArgs) + + + Dim CveMotivoCancelacion As Integer = DdlMotivoCancelacion.SelectedValue.ToEntero + Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero() + + If CveMotivoCancelacion <= 0 Or CveSATMotivoCancelacion <= 0 Then + Alert("Debe de elegir un motivo de cancelación.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Dim ErrorProceso As Boolean = True + If Can_FolioFiscalCancelar <> "" Then + Dim ObjCancelacion As New Timbrado + Dim ObjBanco As New ClsBancos + + If EstatusSATCancelado(Can_FolioFiscalCancelar, UsuarioActual.Empresa.RFC, Can_RFCReceptorCancelar) Then + + If ObjBanco.UpdateComplementoPago(Can_CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, Can_CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then + Alert("El complemento se cancelo correctamente.") + ErrorProceso = False + End If + + Else + + If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, Can_FolioFiscalCancelar, 0, Can_RFCReceptorCancelar, UsuarioActual.Empresa.RFC, Can_CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + + If ObjBanco.UpdateComplementoPago(Can_CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, Can_CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then + Alert("El complemento se cancelo correctamente.") + ErrorProceso = False + End If + + Else + Alert("Se presento un error al cancelar el complemento.", TipoMensaje.MsgError) + ErrorProceso = True + End If + + End If + + ObjBanco.Dispose() + Else + ErrorProceso = False + End If + + If Not ErrorProceso Then + RegistraScript("$('#ModalCancelacion').modal('hide');") + End If + + + End Sub End Class diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 0f6736094..7046abfe8 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -1,165 +1,165 @@  -Imports System.Data -Imports Extensiones -Imports System.Linq -Imports System.Web.Services -Imports GemBox.Spreadsheet +Imports System.Data +Imports Extensiones +Imports System.Linq +Imports System.Web.Services +Imports GemBox.Spreadsheet Imports Microsoft.Reporting.WebForms Imports System.IO Imports iTextSharp.text.pdf -Partial Class ContabilidadC_RegPrePolizaS +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 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 - - 'PARA CREAR IE - Private Property CveConcepto As Integer - Get - Return ViewState("CveConcepto").ToString.ToEntero - End Get - Set(value As Integer) - ViewState("CveConcepto") = 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 +#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 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 + + 'PARA CREAR IE + Private Property CveConcepto As Integer + Get + Return ViewState("CveConcepto").ToString.ToEntero + End Get + Set(value As Integer) + ViewState("CveConcepto") = 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 @@ -234,71 +234,71 @@ Partial Class ContabilidadC_RegPrePolizaS End Property -#End Region +#End Region - Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load - - If Not Page.IsPostBack Then + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load + + If Not Page.IsPostBack Then Tick = DateTime.Now.Ticks.ToString - - CveMoneda = 1 - ViewState("CvePrePoliza") = 0 - ViewState("CvePeriodo") = "0" - CveConcepto = -1 - CveTipoTransaccion = -1 - CveCuenta = -1 - Folio = "-1" - ImporteDocumento = -1 - Observaciones = "-1" - Beneficiario = "-1" - Actualizar = False + + CveMoneda = 1 + ViewState("CvePrePoliza") = 0 + ViewState("CvePeriodo") = "0" + CveConcepto = -1 + CveTipoTransaccion = -1 + CveCuenta = -1 + Folio = "-1" + ImporteDocumento = -1 + Observaciones = "-1" + Beneficiario = "-1" + Actualizar = False IdPoliza = -1 CargaCtaContableE() CargaConceptosContablesE() - CargaModalConceptoCuentas() - - If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then - DivTipoGasto.Visible = True - ThTipoGasto.Visible = True - CargaTiposGasto() - End If - + CargaModalConceptoCuentas() + + If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then + DivTipoGasto.Visible = True + ThTipoGasto.Visible = True + CargaTiposGasto() + End If + If Request("CvePrePoliza") IsNot Nothing AndAlso IsNumeric(Request("CvePrePoliza")) AndAlso Request("CvePrePoliza").ToEntero > 0 Then - ViewState("CvePrePoliza") = Request("CvePrePoliza").ToEntero - CreaDT() - CargaPrePoliza() - If IfNull(Request("Tipo"), "").ToString <> "NOMPROV" Then - GvPrePoliza.Columns(5).Visible = False - DivTG.Visible = False - GvMov.Columns(5).Visible = False + ViewState("CvePrePoliza") = Request("CvePrePoliza").ToEntero + CreaDT() + CargaPrePoliza() + 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 UPPDocumento.Visible = False - Exit Sub - + Exit Sub + ElseIf Request("CvePrePolizaOrigen") IsNot Nothing AndAlso IsNumeric(Request("CvePrePolizaOrigen")) AndAlso Request("CvePrePolizaOrigen").ToEntero > 0 Then - CvePrePolizaOrigen = Request("CvePrePolizaOrigen").ToEntero + CvePrePolizaOrigen = Request("CvePrePolizaOrigen").ToEntero CreaDT() CargaPrePolizaOrigen() OcultarControlesCrearApartirDe() DvPlantilla.Visible = False - Exit Sub - - Else - CreaDT() + Exit Sub + + Else + CreaDT() BtnEliminar.Visible = False - LnkExcel.Visible = True - LnkImprimirPDF.Visible = False - DvPlantilla.Visible = True - - TxtFechaDocumento.Text = Now.ToString("dd/MM/yyyy") + LnkExcel.Visible = True + LnkImprimirPDF.Visible = False + DvPlantilla.Visible = True + + TxtFechaDocumento.Text = Now.ToString("dd/MM/yyyy") TxtFechaelaboracion.Text = Now.ToString("dd/MM/yyyy") TxtConcepto.Enabled = True TxtUsuarioElaboro.Text = UsuarioActual.Usuario @@ -307,192 +307,192 @@ Partial Class ContabilidadC_RegPrePolizaS UpPrePoliza.Visible = False - End If - - - TipoPlantilla = -1 - If IfNull(Request("Tipo"), "").ToString = "Ing" Then - TipoPlantilla = 1 - LblEncabezado.Text = "Otros Ingresos" - End If - - CargaPlantillas(TipoPlantilla) - - 'If UsuarioActual.CveRol = 1 Then trNotificar.Visible = True - - CargaConceptos() - CargaSubProyectos() - CargaCuentasContables() - - 'crea tabla temporal - ArregloMovs = New ArrayList - - CargaCuentas() - - - If IfNull(Request("Tipo"), "").ToString <> "NOMPROV" Then - GvPrePoliza.Columns(4).Visible = False - GvMov.Columns(4).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 + End If + + + TipoPlantilla = -1 + If IfNull(Request("Tipo"), "").ToString = "Ing" Then + TipoPlantilla = 1 + LblEncabezado.Text = "Otros Ingresos" + End If + + CargaPlantillas(TipoPlantilla) + + 'If UsuarioActual.CveRol = 1 Then trNotificar.Visible = True + + CargaConceptos() + CargaSubProyectos() + CargaCuentasContables() + + 'crea tabla temporal + ArregloMovs = New ArrayList + + CargaCuentas() + + + If IfNull(Request("Tipo"), "").ToString <> "NOMPROV" Then + GvPrePoliza.Columns(4).Visible = False + GvMov.Columns(4).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("CodigoCuenta", Type.GetType("System.String")) - .Add("Cuenta", Type.GetType("System.String")) - .Add("Referencia", Type.GetType("System.String")) - .Add("Concepto", Type.GetType("System.String")) - .Add("Cargo", Type.GetType("System.Double")) - .Add("Abono", Type.GetType("System.Double")) - .Add("TipoMovto", Type.GetType("System.Int32")) - .Add("EsComodin", Type.GetType("System.Int32")) - .Add("CveConcepto", 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("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("IdCtaContable", Type.GetType("System.Int32")) - .Add("ConceptoContable", Type.GetType("System.String")) + .Add("CodigoCuenta", Type.GetType("System.String")) + .Add("Cuenta", Type.GetType("System.String")) + .Add("Referencia", Type.GetType("System.String")) + .Add("Concepto", Type.GetType("System.String")) + .Add("Cargo", Type.GetType("System.Double")) + .Add("Abono", Type.GetType("System.Double")) + .Add("TipoMovto", Type.GetType("System.Int32")) + .Add("EsComodin", Type.GetType("System.Int32")) + .Add("CveConcepto", 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("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("IdCtaContable", Type.GetType("System.Int32")) + .Add("ConceptoContable", Type.GetType("System.String")) .Add("CveCuenta", Type.GetType("System.Int32")) - .Add("ContadoTipoTransaccion", Type.GetType("System.Int32")) - .Add("ContadoCuenta", Type.GetType("System.Int32")) - .Add("ContadoNumeroFolio", Type.GetType("System.String")) - .Add("ContadoImporte", Type.GetType("System.Double")) - .Add("ContadoBeneficiario", 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.Double")) + .Add("ContadoBeneficiario", Type.GetType("System.String")) .Add("ContadoObservaciones", Type.GetType("System.String")) - .Add("PorcentajeImpuesto", Type.GetType("System.Double")) - .Add("Modificado", Type.GetType("System.Boolean")) - .Add("EsComplementaria", Type.GetType("System.Boolean")) - .Add("TC", Type.GetType("System.Decimal")) - - - - End With - End Sub - - 'Private Sub CargaNomina() - ' Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero - ' Dim ObjNomina As New ClsNominas - ' Dim ObjConta As New ClsContabilidad - - ' Dim Dt As DataTable = Nothing - ' Dim Cuenta As String = "" - ' Dim Concepto As String = "" - ' Dim IdCuenta As Integer = 0 - ' Dim TipoMovto As Integer - ' Dim CveConcepto As Integer - ' Dim CodigoCuenta As String = "" - ' Dim NombreCuenta As String = "" - ' Dim Referencia As String = "" - ' Dim EsComodin As Integer = 0 - ' DtMovimientos.Clear() - - ' If ObjNomina.GetProvisionNomina(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, UsuarioActual.CveEmpresa) Then - ' Dt = ObjNomina.DtResultados - - ' For Each drt As DataRow In Dt.Rows - ' Dim dr As DataRow = DtMovimientos.NewRow - - ' If drt("NombreCompleto").ToString = "" AndAlso ObjConta.GetRetCuenta(31, UsuarioActual.CveEmpresa) Then - ' CveConcepto = 98 - ' Cuenta = "Nominas por Pagar" - ' IdCuenta = ObjConta.DtResultados(0)("IdCtaContable").ToString.ToEntero - ' Concepto = "Pago Nomina" - ' Referencia = "Pago Nomina" - ' Else - ' Concepto = drt("NombreCompleto") - ' Referencia = "" - ' CveConcepto = drt("CveConceptoContable").ToString.ToEntero - ' Cuenta = drt("ConceptoContable").ToString - ' IdCuenta = drt("IdCtaContable").ToString.ToEntero - ' End If - - ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero($"Id={IdCuenta}") - ' CodigoCuenta = If(drr IsNot Nothing, drr("CuentaFormato").ToString(), "") - ' NombreCuenta = If(drr IsNot Nothing, drr("Nombre").ToString(), "") - - ' TipoMovto = drt("TipoMovto") - - ' If TipoMovto = 0 Then - ' dr("Cargo") = Math.Abs(drt("Importe").ToString.ToDecimal) - ' dr("Abono") = 0 - ' Else - ' dr("Cargo") = 0 - ' dr("Abono") = Math.Abs(drt("Importe").ToString.ToDecimal) - ' End If - - ' dr("IdCuenta") = IdCuenta - ' dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - ' dr("Cuenta") = Cuenta - ' dr("Concepto") = Concepto - ' dr("Descripcion") = Concepto - ' dr("Referencia") = Referencia - ' dr("TipoMovto") = TipoMovto - ' dr("EsComodin") = EsComodin - ' dr("CveConcepto") = CveConcepto - ' dr("CveProveedor") = "-1" - ' dr("CveSubProyecto") = drt("CveSubProyecto") - ' dr("CvePersonal") = drt("CvePersonal") - ' dr("CveClasificacion") = drt("CveClasificacion") - ' dr("CveTipoGasto") = drt("CveTipoGasto") - - ' DtMovimientos.Rows.Add(dr) - ' Next - - ' GvMov.DataSource = DtMovimientos - ' GvMov.DataBind() - ' UPMovs.Update() - ' End If - - 'End Sub - - Private Sub CargaPrePoliza() - BtnEliminar.Visible = True - LblEncabezado.Text = "Edición de Póliza" - - Dim ObjContabilidad As New ClsContabilidad - If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then - Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") - If dr IsNot Nothing Then - 'DivAgregarConceptos.Visible = False - DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza") - TxtFechaDocumento.Text = dr("Fecha") - TxtConcepto.Text = dr("Concepto") + .Add("PorcentajeImpuesto", Type.GetType("System.Double")) + .Add("Modificado", Type.GetType("System.Boolean")) + .Add("EsComplementaria", Type.GetType("System.Boolean")) + .Add("TC", Type.GetType("System.Decimal")) + + + + End With + End Sub + + 'Private Sub CargaNomina() + ' Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero + ' Dim ObjNomina As New ClsNominas + ' Dim ObjConta As New ClsContabilidad + + ' Dim Dt As DataTable = Nothing + ' Dim Cuenta As String = "" + ' Dim Concepto As String = "" + ' Dim IdCuenta As Integer = 0 + ' Dim TipoMovto As Integer + ' Dim CveConcepto As Integer + ' Dim CodigoCuenta As String = "" + ' Dim NombreCuenta As String = "" + ' Dim Referencia As String = "" + ' Dim EsComodin As Integer = 0 + ' DtMovimientos.Clear() + + ' If ObjNomina.GetProvisionNomina(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, UsuarioActual.CveEmpresa) Then + ' Dt = ObjNomina.DtResultados + + ' For Each drt As DataRow In Dt.Rows + ' Dim dr As DataRow = DtMovimientos.NewRow + + ' If drt("NombreCompleto").ToString = "" AndAlso ObjConta.GetRetCuenta(31, UsuarioActual.CveEmpresa) Then + ' CveConcepto = 98 + ' Cuenta = "Nominas por Pagar" + ' IdCuenta = ObjConta.DtResultados(0)("IdCtaContable").ToString.ToEntero + ' Concepto = "Pago Nomina" + ' Referencia = "Pago Nomina" + ' Else + ' Concepto = drt("NombreCompleto") + ' Referencia = "" + ' CveConcepto = drt("CveConceptoContable").ToString.ToEntero + ' Cuenta = drt("ConceptoContable").ToString + ' IdCuenta = drt("IdCtaContable").ToString.ToEntero + ' End If + + ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero($"Id={IdCuenta}") + ' CodigoCuenta = If(drr IsNot Nothing, drr("CuentaFormato").ToString(), "") + ' NombreCuenta = If(drr IsNot Nothing, drr("Nombre").ToString(), "") + + ' TipoMovto = drt("TipoMovto") + + ' If TipoMovto = 0 Then + ' dr("Cargo") = Math.Abs(drt("Importe").ToString.ToDecimal) + ' dr("Abono") = 0 + ' Else + ' dr("Cargo") = 0 + ' dr("Abono") = Math.Abs(drt("Importe").ToString.ToDecimal) + ' End If + + ' dr("IdCuenta") = IdCuenta + ' dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + ' dr("Cuenta") = Cuenta + ' dr("Concepto") = Concepto + ' dr("Descripcion") = Concepto + ' dr("Referencia") = Referencia + ' dr("TipoMovto") = TipoMovto + ' dr("EsComodin") = EsComodin + ' dr("CveConcepto") = CveConcepto + ' dr("CveProveedor") = "-1" + ' dr("CveSubProyecto") = drt("CveSubProyecto") + ' dr("CvePersonal") = drt("CvePersonal") + ' dr("CveClasificacion") = drt("CveClasificacion") + ' dr("CveTipoGasto") = drt("CveTipoGasto") + + ' DtMovimientos.Rows.Add(dr) + ' Next + + ' GvMov.DataSource = DtMovimientos + ' GvMov.DataBind() + ' UPMovs.Update() + ' End If + + 'End Sub + + Private Sub CargaPrePoliza() + BtnEliminar.Visible = True + LblEncabezado.Text = "Edición de Póliza" + + Dim ObjContabilidad As New ClsContabilidad + If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then + Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + 'DivAgregarConceptos.Visible = False + DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza") + TxtFechaDocumento.Text = dr("Fecha") + TxtConcepto.Text = dr("Concepto") DivDatosPoliza.Visible = True TipoPoliza = DdlTipoPoliza.SelectedItem.Text - Folio = dr("FolioPoliza").ToString - - TxtFolio.Text = dr("FolioPoliza").ToString - TxtUsuarioElaboro.Text = dr("Usuario").ToString + Folio = dr("FolioPoliza").ToString + + TxtFolio.Text = dr("FolioPoliza").ToString + TxtUsuarioElaboro.Text = dr("Usuario").ToString TxtFechaelaboracion.Text = dr("FechaIng").ToString.ToDate.ToString("dd/MM/yyyy") ' TxtEstatus.Text = If(Boolean.Parse(dr("Estatus").ToString), "Activa", "Inactiva") - CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString - - If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then - 'DivAgregarConceptos.Visible = True - LnkAddConcepto.Visible = True - CargaConceptos() - CargaSubProyectos() - CargaCuentasContables() - End If - - ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePoliza) + CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString + + If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then + 'DivAgregarConceptos.Visible = True + LnkAddConcepto.Visible = True + CargaConceptos() + CargaSubProyectos() + CargaCuentasContables() + End If + + ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePoliza) DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") If dr("Modulo").ToString.Contiene("Banc/FluctuaA", "Banc/FluctuaC", "Banc/FluctuaV", "Banc/FluctuaFilial") Then @@ -518,27 +518,27 @@ Partial Class ContabilidadC_RegPrePolizaS DtMovimientos.Columns.Add("ContadoImporte", GetType(Decimal)) - End If - - 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,17)").Rows.Count > 0 Then - LnkComplementoPago.Visible = True - End If - - + End If + + 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,17)").Rows.Count > 0 Then + LnkComplementoPago.Visible = True + End If + + If dr("FolioPoliza").ToString = "" Then BtnContabilizar.Visible = True - End If - + End If + If UsuarioActual.Empresa.TipoContabilizacion = 1 Then If dr("FolioPoliza").ToString.ToEntero > 0 Then divContabilizada.Visible = True - Folio = dr("FolioPoliza").ToString + Folio = dr("FolioPoliza").ToString End If Else @@ -552,87 +552,87 @@ Partial Class ContabilidadC_RegPrePolizaS End If End If - 'divDatosPrincipales.Visible = False - 'divObservaciones.Visible = False - UPMovs.Visible = False - UPMovs.Update() - UPPDocumento.Update() - UpPrePoliza.Update() - - RegistraScript("comparar();") - - If Request("Tipo") IsNot Nothing AndAlso IsNumeric(Request("Tipo")) AndAlso Request("Tipo").ToEntero = 1 AndAlso UsuarioActual.CveUsuario <> 100 Then - 'For Each row As GridViewRow In GvPrePoliza.Rows - ' row.FCTextBox("TxtCargo").Enabled = False - ' row.FCTextBox("TxtAbono").Enabled = False - 'Next + 'divDatosPrincipales.Visible = False + 'divObservaciones.Visible = False + UPMovs.Visible = False + UPMovs.Update() + UPPDocumento.Update() + UpPrePoliza.Update() + + RegistraScript("comparar();") + + If Request("Tipo") IsNot Nothing AndAlso IsNumeric(Request("Tipo")) AndAlso Request("Tipo").ToEntero = 1 AndAlso UsuarioActual.CveUsuario <> 100 Then + 'For Each row As GridViewRow In GvPrePoliza.Rows + ' row.FCTextBox("TxtCargo").Enabled = False + ' row.FCTextBox("TxtAbono").Enabled = False + 'Next End If - LnkExcel.Visible = False - LnkImprimirPDF.Visible = True - 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() - End Sub - - Private Sub GvPrePoliza_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPrePoliza.RowDataBound - - If e.Row.RowType = DataControlRowType.DataRow Then - - ''Asignamos los Subproyectos - '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").SelectedValueExist(e.Row.DataKey("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").SelectedValueExist(e.Row.DataKey("CveTipoGasto")) - - 'ASignamos las CuentasContables - 'e.Row.FCDropDownList("DdlCtaContable").DataSource = Session("DtCuentas") - 'e.Row.FCDropDownList("DdlCtaContable").DataBind() - 'e.Row.FCDropDownList("DdlCtaContable").Items.Insert(0, New ListItem("Sin Asignar", "0")) - 'e.Row.FCDropDownList("DdlCtaContable").SelectedValueExist(e.Row.DataKey("IdCtaContable")) - - If e.Row.DataKey("IdCtaContable") > 0 Then - Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", e.Row.DataKey("IdCtaContable"))) - If drr IsNot Nothing Then - e.Row.FCLiteral("DdlCtaContable").Text = drr("CuentaFormato").ToString() + " - " + drr("Nombre").ToString() - End If - End If - - TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + e.Row.FCLiteral("TxtCargo").Text.ToDouble).ToString.FormatoNumero - TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDouble + e.Row.FCLiteral("TxtAbono").Text.ToDouble).ToString.FormatoNumero - - Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero - - If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63, 4, 291, 292) 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, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312) 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")) + LnkExcel.Visible = False + LnkImprimirPDF.Visible = True + 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() + End Sub + + Private Sub GvPrePoliza_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvPrePoliza.RowDataBound + + If e.Row.RowType = DataControlRowType.DataRow Then + + ''Asignamos los Subproyectos + '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").SelectedValueExist(e.Row.DataKey("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").SelectedValueExist(e.Row.DataKey("CveTipoGasto")) + + 'ASignamos las CuentasContables + 'e.Row.FCDropDownList("DdlCtaContable").DataSource = Session("DtCuentas") + 'e.Row.FCDropDownList("DdlCtaContable").DataBind() + 'e.Row.FCDropDownList("DdlCtaContable").Items.Insert(0, New ListItem("Sin Asignar", "0")) + 'e.Row.FCDropDownList("DdlCtaContable").SelectedValueExist(e.Row.DataKey("IdCtaContable")) + + If e.Row.DataKey("IdCtaContable") > 0 Then + Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", e.Row.DataKey("IdCtaContable"))) + If drr IsNot Nothing Then + e.Row.FCLiteral("DdlCtaContable").Text = drr("CuentaFormato").ToString() + " - " + drr("Nombre").ToString() + End If + End If + + TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + e.Row.FCLiteral("TxtCargo").Text.ToDouble).ToString.FormatoNumero + TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDouble + e.Row.FCLiteral("TxtAbono").Text.ToDouble).ToString.FormatoNumero + + Dim CveConceptoContable As Integer = e.Row.DataKey("CveConceptoContable").ToEntero + + If CveConceptoContable.Contiene(1, 2, 13, 38, 207, 203, 39, 61, 62, 63, 4, 291, 292) 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, 234, 235, 240, 305, 306, 307, 308, 309, 310, 311, 312) 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) Then e.Row.FCHyperLink("HlReferencia").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) - - 'e.Row.FCHyperLink("HlReferencia").NavigateUrl = CveConceptoContable + + 'e.Row.FCHyperLink("HlReferencia").NavigateUrl = CveConceptoContable If e.Row.DBCampo("Modificado") Then e.Row.FCCheckBox("chkModificado").Checked = True - End If - 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 - + End If + 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) 'GvPlantillas.DataSource = GlobalDTContaPlantillasPolizas(UsuarioActual.CveEmpresa, TipoPlantilla) @@ -656,57 +656,57 @@ Partial Class ContabilidadC_RegPrePolizaS DdlPlantilla2.Items.Insert(0, New ListItem("Plantilla Personalizada", "53")) End Sub - Private Sub CargaConceptos() - DdlConceptosContables.DataSource = GlobalDTContaConceptosContables(-1) - DdlConceptosContables.DataBind() - 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 - 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) 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")) - DdlSubProyectoFiltroMov.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) - DdlSubProyectoFiltroMov.DataBind() - DdlSubProyectoFiltroMov.Items.Insert(0, New ListItem("Todos", "-1")) - End Sub - - Private Sub CargaCuentasContables() + 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) 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")) + DdlSubProyectoFiltroMov.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) + DdlSubProyectoFiltroMov.DataBind() + DdlSubProyectoFiltroMov.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub + + Private Sub CargaCuentasContables() Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then DdlCuentaContableE.DataSource = ObjConta.DtResultados @@ -714,10 +714,10 @@ Partial Class ContabilidadC_RegPrePolizaS 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")) + DdlCuentaContable.DataBind() + DdlCuentaContable.Items.Insert(0, New ListItem("Seleccione", "0")) + DdlCuentaContableE.DataBind() + DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0")) End Sub Private Function CargaCuentasContpaq(CveCuenta As Integer) As Integer @@ -731,256 +731,256 @@ Partial Class ContabilidadC_RegPrePolizaS End If Return Retorno - End Function - 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 - Else - DivAgregarConceptos.Visible = False - End If - - - + End Function + 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 + Else + DivAgregarConceptos.Visible = False + End If + + + Dim CvePlantilla As Integer = DdlPlantilla.SelectedValue.ToEntero Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla).FiltraParametros(String.Format("CveEmpresa={0}", UsuarioActual.CveEmpresa), "Orden") 'Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla, UsuarioActual.CveEmpresa) - Dim Cuenta As String = "" - Dim IdCuenta As Integer = 0 - Dim CodigoCuenta As String = "" - Dim NombreCuenta As String = "" - Dim EsComodin As Integer = 0 - DtMovimientos.Clear() - - For Each drt As DataRow In Dt.Rows - - Cuenta = drt("ConceptoContable").ToString - IdCuenta = 0 - CodigoCuenta = "" - NombreCuenta = "" - 'If drt("IdCtaContable").ToString.ToEntero > 0 Then 'DtCuentasContables - ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", drt("IdCtaContable").ToString)) - ' If drr IsNot Nothing Then - ' IdCuenta = drt("IdCtaContable").ToString.ToEntero - ' CodigoCuenta = drr("CuentaFormato").ToString() - ' NombreCuenta = drr("Nombre").ToString() - ' 'Cuenta = drr("Nombre").ToString() - ' End If - ' EsComodin = 0 - 'End If - + Dim Cuenta As String = "" + Dim IdCuenta As Integer = 0 + Dim CodigoCuenta As String = "" + Dim NombreCuenta As String = "" + Dim EsComodin As Integer = 0 + DtMovimientos.Clear() + + For Each drt As DataRow In Dt.Rows + + Cuenta = drt("ConceptoContable").ToString + IdCuenta = 0 + CodigoCuenta = "" + NombreCuenta = "" + 'If drt("IdCtaContable").ToString.ToEntero > 0 Then 'DtCuentasContables + ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", drt("IdCtaContable").ToString)) + ' If drr IsNot Nothing Then + ' IdCuenta = drt("IdCtaContable").ToString.ToEntero + ' CodigoCuenta = drr("CuentaFormato").ToString() + ' NombreCuenta = drr("Nombre").ToString() + ' 'Cuenta = drr("Nombre").ToString() + ' End If + ' EsComodin = 0 + 'End If + Dim dr As DataRow = DtMovimientos.NewRow - dr("CodigoCuenta") = drt("Codigo").ToString & "
" & drt("Nombre").ToString - dr("Cuenta") = Cuenta 'TxtCuentaContable.Text - dr("Referencia") = If(drt("CveConcepto").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial")) - dr("Concepto") = TxtConcepto.Text - dr("TipoMovto") = If(drt("TipoMovto").ToString = "False", 0, 1) - dr("EsComodin") = EsComodin - dr("CveConcepto") = drt("CveConcepto") - dr("CveSubProyecto") = drt("CveSubProyectoNegativo") - dr("Cargo") = TxtCargo.Text.ToDouble - dr("Abono") = TxtAbono.Text.ToDouble - dr("CveProveedor") = drt("CveProveedor") - dr("CvePersonal") = drt("CvePersonal") - dr("CveClasificacion") = -1 + dr("CodigoCuenta") = drt("Codigo").ToString & "
" & drt("Nombre").ToString + dr("Cuenta") = Cuenta 'TxtCuentaContable.Text + dr("Referencia") = If(drt("CveConcepto").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial")) + dr("Concepto") = TxtConcepto.Text + dr("TipoMovto") = If(drt("TipoMovto").ToString = "False", 0, 1) + dr("EsComodin") = EsComodin + dr("CveConcepto") = drt("CveConcepto") + dr("CveSubProyecto") = drt("CveSubProyectoNegativo") + dr("Cargo") = TxtCargo.Text.ToDouble + dr("Abono") = TxtAbono.Text.ToDouble + dr("CveProveedor") = drt("CveProveedor") + dr("CvePersonal") = drt("CvePersonal") + dr("CveClasificacion") = -1 dr("MultipleSubProyecto") = drt("MultipleSubProyecto") dr("CveCuenta") = drt("CveCuenta") - dr("EsComplementaria") = drt("EsComplementaria") + dr("EsComplementaria") = drt("EsComplementaria") 'dr("FolioPoliza") = 0 'drt("FolioPoliza") - DtMovimientos.Rows.Add(dr) - Next - - - GvMov.DataSource = DtMovimientos - GvMov.DataBind() - 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") = "1" 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 + DtMovimientos.Rows.Add(dr) + Next + + + GvMov.DataSource = DtMovimientos + GvMov.DataBind() + 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") = "1" 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") = "0" Then e.Row.FindControl("divCargoME").Visible = True If e.Row.DBCampo("TipoMovto") = "1" Then e.Row.FindControl("divAbonoME").Visible = True - End If - - - 'Agregamos la opcion para vincular los movimientos bancarios - If e.Row.DataKey("CveConcepto").ToEntero.Contiene(41) Then - Dim ObjMovimientos As New ClsMovimientos - Dim DdlSaldos As DropDownList = e.Row.FCDropDownList("DdlSaldos") - - Select Case e.Row.DataKey("CveConcepto").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("CveConcepto").ToEntero.Contiene(30) Then - e.Row.FCLinkButton("ImgBancos").Visible = True - + End If + + + 'Agregamos la opcion para vincular los movimientos bancarios + If e.Row.DataKey("CveConcepto").ToEntero.Contiene(41) Then + Dim ObjMovimientos As New ClsMovimientos + Dim DdlSaldos As DropDownList = e.Row.FCDropDownList("DdlSaldos") + + Select Case e.Row.DataKey("CveConcepto").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("CveConcepto").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("ContadoImporte").ToDecimal > 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 BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click - + End If + End If + End Sub + + Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click + Dim FolioPoliza As Integer = -1 - Dim CvePrePolizaInsertada As Integer = -1 - + Dim CvePrePolizaInsertada As Integer = -1 + If CvePrePolizaOrigen > 0 Then CrarPrePolizaApartirDe() Exit Sub - End If - - Dim TotalCargos, TotalAbonos As Decimal - - If CvePrePoliza > 0 Then - TotalCargos = TxtTotalCargos.Text.ToDecimal - TotalAbonos = TxtTotalAbonos.Text.ToDecimal - Else - For Each Gvr As GridViewRow In GvMov.Rows - TotalCargos += Gvr.FCTextBox("TxtCargo").Text.ToDecimal - TotalAbonos += Gvr.FCTextBox("TxtAbono").Text.ToDecimal - Next - End If - - 'validaciones - - - If Not (TotalCargos = TotalAbonos AndAlso (GvPrePoliza.Rows.Count > 0 Or GvMov.Rows.Count > 0)) AndAlso UsuarioActual.CveRol <> 1 Then - Alert($"La suma de los movimientos no son iguales ({TotalCargos}-{TotalAbonos})", TipoMensaje.MsgAdvertencia) - Exit Sub + End If + + Dim TotalCargos, TotalAbonos As Decimal + + If CvePrePoliza > 0 Then + TotalCargos = TxtTotalCargos.Text.ToDecimal + TotalAbonos = TxtTotalAbonos.Text.ToDecimal + Else + For Each Gvr As GridViewRow In GvMov.Rows + TotalCargos += Gvr.FCTextBox("TxtCargo").Text.ToDecimal + TotalAbonos += Gvr.FCTextBox("TxtAbono").Text.ToDecimal + Next + End If + + 'validaciones + + + If Not (TotalCargos = TotalAbonos AndAlso (GvPrePoliza.Rows.Count > 0 Or GvMov.Rows.Count > 0)) AndAlso UsuarioActual.CveRol <> 1 Then + Alert($"La suma de los movimientos no son iguales ({TotalCargos}-{TotalAbonos})", TipoMensaje.MsgAdvertencia) + Exit Sub End If @@ -1003,37 +1003,37 @@ Partial Class ContabilidadC_RegPrePolizaS 'terminan validaciones - If CvePrePoliza > 0 Then - ActualizarPrePoliza() - Else - Dim MensajeAlert = New StringBuilder - Dim ObjIE As New ClsBancos() + If CvePrePoliza > 0 Then + ActualizarPrePoliza() + Else + Dim MensajeAlert = New StringBuilder + Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) ' Dim ObjNom As New ClsNominas(ObjIE.IniciaTransacSQL) - Dim Conta As ClsContPAQi = Nothing - Dim IDPoliza As Integer = 0 - Dim MsgError As String = "" - Dim CveIE As Integer - Dim FolioIE As String = "" - + Dim Conta As ClsContPAQi = Nothing + Dim IDPoliza As Integer = 0 + Dim MsgError As String = "" + Dim CveIE As Integer + Dim FolioIE As String = "" + 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 idCuentaContabilizacion As Long = 1 - Dim Importe As Double = 0 - Dim ImporteME As Decimal = 0 - Dim TipoCambio As Decimal = 1 - Dim TipoMovto As Boolean = False - Dim IdCtaContable As Integer = 0 - - FolioPoliza = ObjMov.FolioPoliza - - - 'inserto las compras que voy a pagarDdlSaldos + 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 idCuentaContabilizacion As Long = 1 + Dim Importe As Double = 0 + Dim ImporteME As Decimal = 0 + Dim TipoCambio As Decimal = 1 + Dim TipoMovto As Boolean = False + Dim IdCtaContable As Integer = 0 + + FolioPoliza = ObjMov.FolioPoliza + + + 'inserto las compras que voy a pagarDdlSaldos For Each gvr As GridViewRow In GvMov.Rows 'If gvr.DataKey("IDCuenta").ToEntero > 0 Then ' IdCtaContable = gvr.DataKey("IDCuenta") @@ -1054,21 +1054,21 @@ Partial Class ContabilidadC_RegPrePolizaS 'End If End If - ImporteME = 0 - TipoCambio = 1 - If gvr.DataKey("TipoMovto").ToDouble > 0 Then - Importe = gvr.FCTextBox("TxtAbono").Text.ToDouble + ImporteME = 0 + TipoCambio = 1 + If gvr.DataKey("TipoMovto").ToDouble > 0 Then + Importe = gvr.FCTextBox("TxtAbono").Text.ToDouble TipoMovto = True If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.FCTextBox("TxtAbonoME").Text.ToDecimal TipoCambio = gvr.FCTextBox("TipoCambio").Text.ToDecimal End If Else - Importe = gvr.FCTextBox("TxtCargo").Text.ToDouble - TipoMovto = False + Importe = gvr.FCTextBox("TxtCargo").Text.ToDouble + TipoMovto = False If gvr.DataKey("EsComplementaria") = "True" Then - ImporteME = gvr.FCTextBox("TxtCargoME").Text.ToDecimal - TipoCambio = gvr.FCTextBox("TxtTC").Text.ToDecimal + ImporteME = gvr.FCTextBox("TxtCargoME").Text.ToDecimal + TipoCambio = gvr.FCTextBox("TxtTC").Text.ToDecimal End If End If @@ -1083,97 +1083,97 @@ Partial Class ContabilidadC_RegPrePolizaS End If - If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then - idCuentaContabilizacion = 0 - End If - If Importe <> 0 Then - Dim tCveCuenta As Integer = gvr.DataKey("CveCuenta").ToEntero - + If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then + idCuentaContabilizacion = 0 + End If + If Importe <> 0 Then + Dim tCveCuenta As Integer = gvr.DataKey("CveCuenta").ToEntero + 'If gvr.datakey("CveConcepto") = "299" Then ' tCveCuenta = gvr.DataKey("CveCuenta").ToEntero - 'End If - - If ObjMov.AddPrePolizasDetalle(CvePrePolizaInsertada, TipoMovto, Importe, gvr.FCLiteral("LtlReferencia").Text, gvr.DataKey("CveConcepto").ToEntero, gvr.FCTextBox("TxtConcepto").Text, - TxtFechaDocumento.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, CveIE:=CveIE, - CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, - CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero, - ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio, - CveTipoGasto:=gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero, - CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta) Then - Else - MsgError = "No se pudo insertar el detalle de la póliza2" - Exit For + 'End If + + If ObjMov.AddPrePolizasDetalle(CvePrePolizaInsertada, TipoMovto, Importe, gvr.FCLiteral("LtlReferencia").Text, gvr.DataKey("CveConcepto").ToEntero, gvr.FCTextBox("TxtConcepto").Text, + TxtFechaDocumento.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, CveIE:=CveIE, + CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, + CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero, + ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio, + CveTipoGasto:=gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero, + CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta) Then + Else + MsgError = "No se pudo insertar el detalle de la póliza2" + Exit For End If - End If + End If If CveIE > 0 AndAlso gvr.DataKey("CveConcepto").ToEntero = 30 Then MensajeAlert.AppendFormat("

Folio Bancario: {1}", CveIE, FolioIE) - End If + End If Next - If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePolizaInsertada, 1) Then - If ObjMov.ValorPolizaDescuadre > 0 Then - GuardaLogAD($"Contabilidad/RegPrePolizas | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePolizaInsertada}", "LogPrePolizas") - MsgError = ObjMov.MensajePolizaDescuadre - End If + If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePolizaInsertada, 1) 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" - End Try - + Else + MsgError = "No se pudo insertar la póliza" + End If + Catch ex As Exception + MsgError = "Error" + End Try + If MsgError = "" Then 'MENSAJE IE - 'If CveIE Then - ' Alert(MensajeAlert.ToString, ModExtensiones.TipoMensaje.MsgInformacion, "window.location.reload()") - 'Else - ' Alert(If(MensajeAlert.ToString = "", "Se registro con exito.", MensajeAlert.ToString), TipoMensaje.MsgInformacion, "window.location.reload()") - 'End If - - 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}""") - - - ObjIE.Commit() - If Conta IsNot Nothing Then Conta.Commit() - - UPPDocumento.Update() - - TxtConcepto.Text = "" - GvMov.DataBind() + 'If CveIE Then + ' Alert(MensajeAlert.ToString, ModExtensiones.TipoMensaje.MsgInformacion, "window.location.reload()") + 'Else + ' Alert(If(MensajeAlert.ToString = "", "Se registro con exito.", MensajeAlert.ToString), TipoMensaje.MsgInformacion, "window.location.reload()") + 'End If + + 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}""") + + + ObjIE.Commit() + If Conta IsNot Nothing Then Conta.Commit() + + UPPDocumento.Update() + + TxtConcepto.Text = "" + GvMov.DataBind() TxtFechaDocumento.Text = "" Else - Alert(MsgError.ToString, ModExtensiones.TipoMensaje.MsgError) - ObjIE.RollBack() - If Conta IsNot Nothing Then Conta.RollBack() - End If - - ObjIE.Dispose() - ObjMov.Dispose() - If Conta IsNot Nothing Then Conta.Dispose() - End If - End Sub - + Alert(MsgError.ToString, ModExtensiones.TipoMensaje.MsgError) + ObjIE.RollBack() + If Conta IsNot Nothing Then Conta.RollBack() + End If + + ObjIE.Dispose() + ObjMov.Dispose() + If Conta IsNot Nothing Then Conta.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() - + Dim contador As Integer = 0 + Dim OcurrioError As Boolean = False + Dim ObjContabilidad As New ClsContabilidad + ObjContabilidad.IniciaTransacSQL() + ObjContabilidad.UpdatePrePoliza(MinFecha, -1, DdlTipoPoliza.SelectedValue.ToEntero, -1, CvePrePoliza, UsuarioActual.CveEmpresa, Concepto:=TxtConcepto.Text, FechaPoliza:=TxtFechaDocumento.Text.ToDate, CveUsuarioModifico:=UsuarioActual.CveUsuario) If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then OcurrioError = True - End If - - For Each row As GridViewRow In GvPrePoliza.Rows - If row.DataKey("CvePrePolizaDetalle").ToEntero > 0 Then + End If + + For Each row As GridViewRow In GvPrePoliza.Rows + If row.DataKey("CvePrePolizaDetalle").ToEntero > 0 Then If row.FCCheckBox("chkModificado").Checked Then contador = contador + 1 If Not ObjContabilidad.UpdatePrePolizasDetalle(row.DataKey("CvePrePolizaDetalle").ToEntero, row.FCLiteral("TxtConcepto").Text, row.DataKey("CveSubProyecto").ToEntero, @@ -1188,14 +1188,14 @@ Partial Class ContabilidadC_RegPrePolizaS End If Else contador = contador + 1 - If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePoliza, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, - row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), row.DataKey("Referencia").ToString, - row.DataKey("CveConceptoContable").ToEntero, row.FCLiteral("TxtConcepto").Text, Now, - row.DataKey("IdCtaContable").ToEntero, 0, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero, - CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero), - ImporteMX:=If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, - row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveProveedor:=row.DataKey("CveProveedor").ToEntero, - CveCompra:=row.DataKey("CveCompra").ToEntero, CveCliente:=row.DataKey("CveCliente").ToEntero, CveVenta:=row.DataKey("CveVenta").ToEntero, + If Not ObjContabilidad.AddPrePolizasDetalle(CvePrePoliza, If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, False, True), If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, + row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), row.DataKey("Referencia").ToString, + row.DataKey("CveConceptoContable").ToEntero, row.FCLiteral("TxtConcepto").Text, Now, + row.DataKey("IdCtaContable").ToEntero, 0, CveSubProyecto:=row.DataKey("CveSubProyecto").ToEntero, + CveTipoGasto:=If(DdlTipoGasto.Visible, row.DataKey("CveTipoGasto").ToEntero, row.DataKey("CveTipoGasto").ToEntero), + ImporteMX:=If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, + row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveProveedor:=row.DataKey("CveProveedor").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) Then OcurrioError = True Exit For @@ -1210,60 +1210,60 @@ Partial Class ContabilidadC_RegPrePolizaS Else ObjContabilidad.RollBack() Alert("Ocurrio un error al actualizar la PrePoliza.", TipoMensaje.MsgError) - End If - - ObjContabilidad.Dispose() - CargaPrePoliza() - + End If + + ObjContabilidad.Dispose() + CargaPrePoliza() + If Not OcurrioError Then If IdPoliza > 0 AndAlso contador Then ' BtnContabilizar_Click(Nothing, Nothing) 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() - - 'CargaConceptosContablesE() - CargaSubProyectoE() + 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() + + 'CargaConceptosContablesE() + CargaSubProyectoE() CargaTipoGastoE() - UpModalConcepto.Update() - End Sub - - + 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 - - 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 Double = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtCargo").Text.ToDouble - Dim Abono As Double = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtAbono").Text.ToDouble - Dim PorcentajeImpuesto As Double = GvPrePoliza.Rows(IndiceGrid).DataKey("PorcentajeImpuesto").ToEntero - - 'CargaConceptosContablesE() - 'CargaModalConceptoCuentas() - - DdlConceptosContablesE.SelectedValueExist(CveConceptoContable) + RegistraScript(String.Format("$('#{0}').modal();", "DivEditConcepto")) + LtlTitulo.Text = "Editar Concepto" + BtnAceptar.Text = "Aceptar" + LimpiaCampos() + IndiceGrid = e.RowIndex + + 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 Double = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtCargo").Text.ToDouble + Dim Abono As Double = GvPrePoliza.Rows(IndiceGrid).FCLiteral("TxtAbono").Text.ToDouble + Dim PorcentajeImpuesto As Double = GvPrePoliza.Rows(IndiceGrid).DataKey("PorcentajeImpuesto").ToEntero + + 'CargaConceptosContablesE() + 'CargaModalConceptoCuentas() + + DdlConceptosContablesE.SelectedValueExist(CveConceptoContable) DdlConceptosContablesE_SelectedIndexChanged(DdlConceptosContablesE, e) TxtModalConceptoTipoCambio.Text = GvPrePoliza.Rows(IndiceGrid).DataKey("TC").ToString.ToDouble.ToString("###,###,###.00") @@ -1286,71 +1286,71 @@ Partial Class ContabilidadC_RegPrePolizaS 'dr("ContadoImporte") = TxtModalConceptoDocumentoImporte.Text.ToDecimal - DdlProveedoresE.SelectedValueExist(CveProveedor) - DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e) - DdlComprasE.SelectedValueExist(CveCompra) - - DdlPersonalE.SelectedValueExist(CvePersonal) - + DdlProveedoresE.SelectedValueExist(CveProveedor) + DdlProveedoresE_SelectedIndexChanged(DdlProveedoresE, e) + DdlComprasE.SelectedValueExist(CveCompra) + + DdlPersonalE.SelectedValueExist(CvePersonal) + If CveCliente > 0 Then DdlClientesE.SelectedValue = CveCliente DdlClientesE.SelectedText = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimeroValor("NombreComercial", $"CveCliente={CveCliente}") DdlClientesE_SelectedIndexChanged(DdlClientesE, e) End If - DdlVentasE.SelectedValueExist(CveVenta) - - TxtConceptoE.Text = Concepto - TxtReferenciaE.Text = Referencia - - CargaSubProyectoE() - DdlSubProyectoE.SelectedValueExist(CveSubProyecto) - CargaTipoGastoE() + DdlVentasE.SelectedValueExist(CveVenta) + + TxtConceptoE.Text = Concepto + TxtReferenciaE.Text = Referencia + + CargaSubProyectoE() + DdlSubProyectoE.SelectedValueExist(CveSubProyecto) + CargaTipoGastoE() DdlTipoGastoE.SelectedValueExist(CveTipoGasto) - DdlCuentaContableE.SelectedValueExist(CveCuenta) - - If Cargo <> 0 Then - TxtCargoE.Text = Cargo - End If - - If Abono <> 0 Then - TxtAbonoE.Text = Abono + DdlCuentaContableE.SelectedValueExist(CveCuenta) + + If Cargo <> 0 Then + TxtCargoE.Text = Cargo End If - If Abono = 0 Then - CargaModalConceptoTipoTransaccion("Ing") - Else - CargaModalConceptoTipoTransaccion("Egs") + If Abono <> 0 Then + TxtAbonoE.Text = Abono + End If + + If Abono = 0 Then + CargaModalConceptoTipoTransaccion("Ing") + Else + CargaModalConceptoTipoTransaccion("Egs") 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() - 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 + 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() + 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 CargaCtaContableE() Dim ObjConta As New ClsContabilidad If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then @@ -1358,13 +1358,13 @@ Partial Class ContabilidadC_RegPrePolizaS End If ObjConta.Dispose() - DdlCuentaContableE.DataBind() - DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0")) - End Sub - - - - + DdlCuentaContableE.DataBind() + DdlCuentaContableE.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 @@ -1549,196 +1549,196 @@ Partial Class ContabilidadC_RegPrePolizaS UpModalConcepto.Update() - 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 DdlConceptosContables.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") - DdlClientesE.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) - DdlClientesE.DataBind() - ' DdlClientes.Items.Insert(0, New ListItem(" - ", "-1")) - End Sub - Private Sub CargaVentasE(CveCliente As Integer) - Dim ObjVentas As New ClsVentas - - DdlVentasE.ClearSelection() - If ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then - DdlVentasE.DataSource = ObjVentas.DtResultados '.FiltraParametros("Saldo > 0") - 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 CargaProveedoresE() + DdlProveedoresE.DataSource = GlobalDTCompProveedores(UsuarioActual.CveEmpresa) + DdlProveedoresE.DataBind() + DdlProveedoresE.Items.Insert(0, New ListItem(" - ", "-1")) + End Sub + Private Sub CargaComprasE(CveProveedor As Integer) + If DdlConceptosContables.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") + DdlClientesE.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) + DdlClientesE.DataBind() + ' DdlClientes.Items.Insert(0, New ListItem(" - ", "-1")) + End Sub + Private Sub CargaVentasE(CveCliente As Integer) + Dim ObjVentas As New ClsVentas + + DdlVentasE.ClearSelection() + If ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1", CveCliente, -1, -1, -1, "-1", "-1", "-1", CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then + DdlVentasE.DataSource = ObjVentas.DtResultados '.FiltraParametros("Saldo > 0") + 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 - CargaVentasE(DdlClientesE.SelectedValue.ToEntero) - 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 + CargaVentasE(DdlClientesE.SelectedValue.ToEntero) + End Sub + + + Protected Sub BtnAceptar_Click(sender As Object, e As EventArgs) Handles BtnAceptar.Click - 'asdasdasd - - If IndiceGrid = -1 Then - - If DtMovimientos Is Nothing Then CreaDT() - + 'asdasdasd + + If IndiceGrid = -1 Then + + If DtMovimientos Is Nothing Then CreaDT() + If CvePrePoliza > 0 Then Dim IdCtaContable As Integer = CargaCuentasContpaq(DdlCuentaContableE.SelectedValue.ToEntero) - Dim dr As DataRow = DtMovimientos.NewRow + Dim dr As DataRow = DtMovimientos.NewRow dr("IdCtaContable") = IdCtaContable dr("CveCuenta") = DdlCuentaContableE.SelectedValue 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - 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.ToDouble) > 0, 0, 1) - dr("Cargo") = TxtCargoE.Text.ToDouble - dr("Abono") = TxtAbonoE.Text.ToDouble - dr("ImporteMN") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, TxtCargoE.Text.ToDouble, TxtAbonoE.Text.ToDouble) - dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue - dr("SubProyecto") = DdlSubProyectoE.SelectedItem.Text - 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 - 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() - dr("Modificado") = True - + 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.ToDouble) > 0, 0, 1) + dr("Cargo") = TxtCargoE.Text.ToDouble + dr("Abono") = TxtAbonoE.Text.ToDouble + dr("ImporteMN") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, TxtCargoE.Text.ToDouble, TxtAbonoE.Text.ToDouble) + dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue + dr("SubProyecto") = DdlSubProyectoE.SelectedItem.Text + 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 + 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() + dr("Modificado") = True + If DdlPorcentajeIVAE.Visible Then dr("PorcentajeImpuesto") = DdlPorcentajeIVAE.SelectedValue.ToDecimal End If - DtMovimientos.Rows.Add(dr) - DtMovimientos.AcceptChanges() - - If CvePrePoliza > 0 Or CvePrePolizaOrigen Then - GvPrePoliza.DataSource = DtMovimientos - GvPrePoliza.DataBind() - UpPrePoliza.Update() + DtMovimientos.Rows.Add(dr) + DtMovimientos.AcceptChanges() + + If CvePrePoliza > 0 Or CvePrePolizaOrigen Then + GvPrePoliza.DataSource = DtMovimientos + GvPrePoliza.DataBind() + UpPrePoliza.Update() End If TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero - TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero - UpTotalCargo.Update() - UpTotalAbono.Update() - Else - 'Dim dr As DataRow = DtMovimientos.NewRow - 'Dim CodigoCuenta As String = "" - 'Dim NombreCuenta As String = "" - - 'dr("IdCuenta") = DdlCtaContableE.SelectedValue - - 'If DdlCtaContableE.SelectedValue.ToEntero > 0 Then - ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", DdlCtaContableE.SelectedValue)) - ' If drr IsNot Nothing Then - ' CodigoCuenta = drr("CuentaFormato").ToString() - ' NombreCuenta = drr("Nombre").ToString() - ' End If - 'End If - - 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - 'dr("Cuenta") = DdlConceptosContablesE.SelectedItem.Text - 'dr("Referencia") = TxtReferenciaE.Text - 'dr("Concepto") = TxtConceptoE.Text - 'dr("TipoMovto") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, 0, 1) - 'dr("EsComodin") = 0 - 'dr("CveConcepto") = DdlConceptosContablesE.SelectedValue - 'dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue - 'dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text - 'dr("Cargo") = TxtCargoE.Text.ToDouble - 'dr("Abono") = TxtAbonoE.Text.ToDouble - ''dr("Descripcion") = TxtDescripcionE.Text - 'dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue - 'dr("CveProveedor") = DdlProveedoresE.SelectedValue.ToEntero - 'dr("CveCompra") = DdlComprasE.SelectedValue.ToEntero - 'dr("CvePersonal") = DdlPersonalE.SelectedValue.ToEntero - 'dr("CveClasificacion") = -1 - 'dr("CveCliente") = DdlClientesE.SelectedValue.ToEntero - 'dr("CveVenta") = DdlVentasE.SelectedValue.ToEntero - - 'TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDouble + TxtAbonoE.Text.ToDouble).ToString.FormatoNumero - 'TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargoE.Text.ToDouble).ToString.FormatoNumero - 'DtMovimientos.Rows.Add(dr) - 'DtMovimientos.AcceptChanges() - - 'GvMov.DataSource = DtMovimientos - 'GvMov.DataBind() - 'UPMovs.Update() - 'Actualizar = False - - End If - Else - Dim CvePrePolizaDetalle As Integer = GvPrePoliza.DataKeys(IndiceGrid).Value.ToString.ToEntero - Dim Rows As DataRow() = DtMovimientos.Select("CvePrePolizaDetalle = " & CvePrePolizaDetalle) - - If Rows.Count > 0 Then + TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero + UpTotalCargo.Update() + UpTotalAbono.Update() + Else + 'Dim dr As DataRow = DtMovimientos.NewRow + 'Dim CodigoCuenta As String = "" + 'Dim NombreCuenta As String = "" + + 'dr("IdCuenta") = DdlCtaContableE.SelectedValue + + 'If DdlCtaContableE.SelectedValue.ToEntero > 0 Then + ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", DdlCtaContableE.SelectedValue)) + ' If drr IsNot Nothing Then + ' CodigoCuenta = drr("CuentaFormato").ToString() + ' NombreCuenta = drr("Nombre").ToString() + ' End If + 'End If + + 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + 'dr("Cuenta") = DdlConceptosContablesE.SelectedItem.Text + 'dr("Referencia") = TxtReferenciaE.Text + 'dr("Concepto") = TxtConceptoE.Text + 'dr("TipoMovto") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, 0, 1) + 'dr("EsComodin") = 0 + 'dr("CveConcepto") = DdlConceptosContablesE.SelectedValue + 'dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue + 'dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text + 'dr("Cargo") = TxtCargoE.Text.ToDouble + 'dr("Abono") = TxtAbonoE.Text.ToDouble + ''dr("Descripcion") = TxtDescripcionE.Text + 'dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue + 'dr("CveProveedor") = DdlProveedoresE.SelectedValue.ToEntero + 'dr("CveCompra") = DdlComprasE.SelectedValue.ToEntero + 'dr("CvePersonal") = DdlPersonalE.SelectedValue.ToEntero + 'dr("CveClasificacion") = -1 + 'dr("CveCliente") = DdlClientesE.SelectedValue.ToEntero + 'dr("CveVenta") = DdlVentasE.SelectedValue.ToEntero + + 'TxtTotalAbonos.Text = (TxtTotalAbonos.Text.ToDouble + TxtAbonoE.Text.ToDouble).ToString.FormatoNumero + 'TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargoE.Text.ToDouble).ToString.FormatoNumero + 'DtMovimientos.Rows.Add(dr) + 'DtMovimientos.AcceptChanges() + + 'GvMov.DataSource = DtMovimientos + 'GvMov.DataBind() + 'UPMovs.Update() + 'Actualizar = False + + End If + Else + Dim CvePrePolizaDetalle As Integer = GvPrePoliza.DataKeys(IndiceGrid).Value.ToString.ToEntero + Dim Rows As DataRow() = DtMovimientos.Select("CvePrePolizaDetalle = " & CvePrePolizaDetalle) + + If Rows.Count > 0 Then Dim dr As DataRow = Rows(0) - Dim IdCtaContable As Integer = CargaCuentasContpaq(DdlCuentaContableE.SelectedValue.ToEntero) + Dim IdCtaContable As Integer = CargaCuentasContpaq(DdlCuentaContableE.SelectedValue.ToEntero) dr("IdCtaContable") = IdCtaContable 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.ToDouble) > 0, 0, 1) - dr("ImporteMN") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, TxtCargoE.Text.ToDouble, TxtAbonoE.Text.ToDouble) - dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue - dr("SubProyecto") = DdlSubProyectoE.SelectedItem.Text - 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("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text + dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue + dr("Concepto") = TxtConceptoE.Text + dr("Referencia") = TxtReferenciaE.Text + dr("TipoMovto") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, 0, 1) + dr("ImporteMN") = If(Math.Abs(TxtCargoE.Text.ToDouble) > 0, TxtCargoE.Text.ToDouble, TxtAbonoE.Text.ToDouble) + dr("CveSubProyecto") = DdlSubProyectoE.SelectedValue + dr("SubProyecto") = DdlSubProyectoE.SelectedItem.Text + 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, DdlComprasE.SelectedItem.ToString, If(DdlVentasE.Visible = True, DdlVentasE.SelectedItem.ToString, "")) dr("Modificado") = True @@ -1766,207 +1766,207 @@ Partial Class ContabilidadC_RegPrePolizaS 'GvPrePoliza.Rows(IndiceGrid).FCHiddenField("HdnTipoGasto").Value = DdlTipoGastoE.SelectedValue.ToEntero 'GvPrePoliza.Rows(IndiceGrid).FCHiddenField("HdnCtaContable").Value = DdlCtaContableE.SelectedValue.ToEntero - If TxtCargoE.Text <> "" Then - dr("Cargo") = TxtCargoE.Text.ToDouble - dr("Abono") = "".ToDouble - Else - dr("Abono") = TxtAbonoE.Text.ToDouble - dr("Cargo") = "".ToDouble - End If - - - DtMovimientos.AcceptChanges() - GvPrePoliza.EditIndex = -1 - - If CvePrePoliza > 0 Or CvePrePolizaOrigen > 0 Then - GvPrePoliza.DataSource = DtMovimientos - GvPrePoliza.DataBind() - UpPrePoliza.Update() + If TxtCargoE.Text <> "" Then + dr("Cargo") = TxtCargoE.Text.ToDouble + dr("Abono") = "".ToDouble + Else + dr("Abono") = TxtAbonoE.Text.ToDouble + dr("Cargo") = "".ToDouble + End If + + + DtMovimientos.AcceptChanges() + GvPrePoliza.EditIndex = -1 + + If CvePrePoliza > 0 Or CvePrePolizaOrigen > 0 Then + GvPrePoliza.DataSource = DtMovimientos + GvPrePoliza.DataBind() + UpPrePoliza.Update() End If GvPrePoliza.Columns(11).Visible = True GvPrePoliza.Rows(IndiceGrid).FCCheckBox("chkModificado").Checked = True TxtTotalCargos.Text = DtMovimientos.SUMD("Cargo").ToString.FormatoNumero - TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero - UpTotalCargo.Update() - UpTotalAbono.Update() - + TxtTotalAbonos.Text = DtMovimientos.SUMD("Abono").ToString.FormatoNumero + UpTotalCargo.Update() + UpTotalAbono.Update() + End If - RegistraScript("$('#DivEditConcepto').modal('hide')", "hidemodal") + RegistraScript("$('#DivEditConcepto').modal('hide')", "hidemodal") End If - - + + UpPrePoliza.Update() - 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("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - dr("Cuenta") = DdlConceptosContables.SelectedItem - dr("Referencia") = TxtReferencia.Text - dr("Concepto") = TxtConcepto.Text - dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) - dr("EsComodin") = 0 - dr("CveConcepto") = DdlConceptosContables.SelectedValue - dr("Cargo") = TxtCargo.Text.ToDouble - dr("Abono") = TxtAbono.Text.ToDouble - 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 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("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + dr("Cuenta") = DdlConceptosContables.SelectedItem + dr("Referencia") = TxtReferencia.Text + dr("Concepto") = TxtConcepto.Text + dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) + dr("EsComodin") = 0 + dr("CveConcepto") = DdlConceptosContables.SelectedValue + dr("Cargo") = TxtCargo.Text.ToDouble + dr("Abono") = TxtAbono.Text.ToDouble + 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 + UPMovs.Update() + LbCancelarEdicion.Visible = False + LbAgregar.Text = "Agregar" + + Else + + If CvePrePoliza > 0 Then + Dim dr As DataRow = DtMovimientos.NewRow dr("IdCtaContable") = -1 'DdlCtaContable.SelectedValue - 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.ToDouble) > 0, 0, 1) - dr("Cargo") = TxtCargo.Text.ToDouble - dr("Abono") = TxtAbono.Text.ToDouble - dr("ImporteMN") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, TxtCargo.Text.ToDouble, TxtAbono.Text.ToDouble) - 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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero - TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).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("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - dr("Cuenta") = DdlConceptosContables.SelectedItem.Text - dr("Referencia") = TxtReferencia.Text - dr("Concepto") = TxtConcepto.Text - dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) - dr("EsComodin") = 0 - dr("CveConcepto") = DdlConceptosContables.SelectedValue - dr("CveConceptoContable") = DdlConceptosContables.SelectedValue - dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text - dr("Cargo") = TxtCargo.Text.ToDouble - dr("Abono") = TxtAbono.Text.ToDouble - 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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero - TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).ToString.FormatoNumero - DtMovimientos.Rows.Add(dr) - DtMovimientos.AcceptChanges() - - 'If CvePrePoliza > 0 Then - ' GvPrePoliza.DataSource = DtMovimientos - ' GvPrePoliza.DataBind() - ' UpPrePoliza.Update() - 'End If - - GvMov.DataSource = DtMovimientos - GvMov.DataBind() - UPMovs.Update() - Actualizar = False - - End If - - End If - - TxtCargo.Text = "" - TxtAbono.Text = "" - TxtReferencia.Text = "" - TxtDescripcion.Text = "" + 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.ToDouble) > 0, 0, 1) + dr("Cargo") = TxtCargo.Text.ToDouble + dr("Abono") = TxtAbono.Text.ToDouble + dr("ImporteMN") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, TxtCargo.Text.ToDouble, TxtAbono.Text.ToDouble) + 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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero + TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).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("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + dr("Cuenta") = DdlConceptosContables.SelectedItem.Text + dr("Referencia") = TxtReferencia.Text + dr("Concepto") = TxtConcepto.Text + dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) + dr("EsComodin") = 0 + dr("CveConcepto") = DdlConceptosContables.SelectedValue + dr("CveConceptoContable") = DdlConceptosContables.SelectedValue + dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text + dr("Cargo") = TxtCargo.Text.ToDouble + dr("Abono") = TxtAbono.Text.ToDouble + 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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero + TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).ToString.FormatoNumero + DtMovimientos.Rows.Add(dr) + DtMovimientos.AcceptChanges() + + 'If CvePrePoliza > 0 Then + ' GvPrePoliza.DataSource = DtMovimientos + ' GvPrePoliza.DataBind() + ' UpPrePoliza.Update() + 'End If + + 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").Text = "" Then - CargaTipoTransaccion("Ing") - Else - CargaTipoTransaccion("Egs") +#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").Text = "" Then + CargaTipoTransaccion("Ing") + Else + CargaTipoTransaccion("Egs") End If Dim IdMov As Integer = GvRow.DataKey("IdMov").ToString.ToEntero @@ -1981,23 +1981,23 @@ Partial Class ContabilidadC_RegPrePolizaS 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 CargaCuentas() - 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 + + 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 CargaCuentas() + 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) @@ -2015,239 +2015,239 @@ Partial Class ContabilidadC_RegPrePolizaS DtMovimientos.AcceptChanges() 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 + 'CveTipoTransaccion = DdlTipoTransaccion.SelectedValue.ToEntero + 'CveCuenta = DdlCuenta.SelectedValue.ToEntero + 'Folio = TxtDocumentoFolio.Text + 'ImporteDocumento = TxtDocumentoImporte.Text.ToDecimal + 'Observaciones = TxtDocumentoObservaciones.Text + 'Beneficiario = TxtDocumentoBeneficiario.Text - Protected Sub DdlTipoGasto_SelectedIndexChanged(sender As Object, e As EventArgs) - If UpPrePoliza.Visible Then - For Each Gvr As GridViewRow In GvPrePoliza.Rows - Gvr.FCDropDownList("DdlTipoGasto").SelectedValueExist(DdlTipoGasto.SelectedValue) - Next - UpPrePoliza.Update() - End If - If UPMovs.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 - Protected Sub DdlSubProyectoFiltroMov_SelectedIndexChanged(sender As Object, e As EventArgs) - For Each Gvr As GridViewRow In GvMov.Rows - If DdlSubProyectoFiltroMov.SelectedValue.ToEntero > 0 Then - If Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero = DdlSubProyectoFiltroMov.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 - - DdlCuentaContable.SelectedValueExist(DrM("CveCuenta").ToString) - TxtReferencia.Text = DrM("Referencia").ToString - TxtConcepto.Text = DrM("Concepto") - ' (Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) = dr("TipoMovto") - DrM("EsComodin") = 0 - DdlConceptosContables.SelectedValueExist(DrM("CveConcepto").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) + + 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 Gvr As GridViewRow In GvPrePoliza.Rows + Gvr.FCDropDownList("DdlTipoGasto").SelectedValueExist(DdlTipoGasto.SelectedValue) + Next + UpPrePoliza.Update() + End If + If UPMovs.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 + Protected Sub DdlSubProyectoFiltroMov_SelectedIndexChanged(sender As Object, e As EventArgs) + For Each Gvr As GridViewRow In GvMov.Rows + If DdlSubProyectoFiltroMov.SelectedValue.ToEntero > 0 Then + If Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero = DdlSubProyectoFiltroMov.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 + + DdlCuentaContable.SelectedValueExist(DrM("CveCuenta").ToString) + TxtReferencia.Text = DrM("Referencia").ToString + TxtConcepto.Text = DrM("Concepto") + ' (Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) = dr("TipoMovto") + DrM("EsComodin") = 0 + DdlConceptosContables.SelectedValueExist(DrM("CveConcepto").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 - - UPPDocumento.Update() - DivAgregarConceptos.Visible = True - - 'If DtMovimientos Is Nothing Then CreaDT() - - 'Dim dr As DataRow = DtMovimientos.NewRow - 'Dim CodigoCuenta As String = "" - 'Dim NombreCuenta As String = "" - - 'dr("IdCuenta") = DdlCtaContable.SelectedValue - - 'If DdlCtaContable.SelectedValue.ToEntero > 0 Then - ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", DdlCtaContable.SelectedValue)) - ' If drr IsNot Nothing Then - ' CodigoCuenta = drr("CuentaFormato").ToString() - ' NombreCuenta = drr("Nombre").ToString() - ' End If - 'End If - - 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta - 'dr("Cuenta") = DdlConceptosContables.SelectedItem - 'dr("Referencia") = TxtReferencia.Text - 'dr("Concepto") = TxtObservaciones.Text - 'dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) - 'dr("EsComodin") = 0 - 'dr("CveConcepto") = DdlConceptosContables.SelectedValue - 'dr("Cargo") = TxtCargo.Text.ToDouble - 'dr("Abono") = TxtAbono.Text.ToDouble - '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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero - 'TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).ToString.FormatoNumero - 'DtMovimientos.Rows.Add(dr) - - 'If CvePrePoliza > 0 Then - ' GvPrePoliza.DataSource = DtMovimientos - ' GvPrePoliza.DataBind() - 'End If - - - 'GvMov.DataSource = DtMovimientos - 'GvMov.DataBind() - 'UPMovs.Update() - - - 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" + 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 + + UPPDocumento.Update() + DivAgregarConceptos.Visible = True + + 'If DtMovimientos Is Nothing Then CreaDT() + + 'Dim dr As DataRow = DtMovimientos.NewRow + 'Dim CodigoCuenta As String = "" + 'Dim NombreCuenta As String = "" + + 'dr("IdCuenta") = DdlCtaContable.SelectedValue + + 'If DdlCtaContable.SelectedValue.ToEntero > 0 Then + ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", DdlCtaContable.SelectedValue)) + ' If drr IsNot Nothing Then + ' CodigoCuenta = drr("CuentaFormato").ToString() + ' NombreCuenta = drr("Nombre").ToString() + ' End If + 'End If + + 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + 'dr("Cuenta") = DdlConceptosContables.SelectedItem + 'dr("Referencia") = TxtReferencia.Text + 'dr("Concepto") = TxtObservaciones.Text + 'dr("TipoMovto") = If(Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) + 'dr("EsComodin") = 0 + 'dr("CveConcepto") = DdlConceptosContables.SelectedValue + 'dr("Cargo") = TxtCargo.Text.ToDouble + 'dr("Abono") = TxtAbono.Text.ToDouble + '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.ToDouble + TxtAbono.Text.ToDouble).ToString.FormatoNumero + 'TxtTotalCargos.Text = (TxtTotalCargos.Text.ToDouble + TxtCargo.Text.ToDouble).ToString.FormatoNumero + 'DtMovimientos.Rows.Add(dr) + + 'If CvePrePoliza > 0 Then + ' GvPrePoliza.DataSource = DtMovimientos + ' GvPrePoliza.DataBind() + 'End If + + + 'GvMov.DataSource = DtMovimientos + 'GvMov.DataBind() + 'UPMovs.Update() + + + 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" +#Region "COMPLEMENTO DE PAGO" - 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 - - 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 - - Protected Sub LnkComplementoPago_Click(sender As Object, e As EventArgs) - GeneraTimbre(CvePrePoliza) + 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 -#End Region + + 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 + + Protected Sub LnkComplementoPago_Click(sender As Object, e As EventArgs) + GeneraTimbre(CvePrePoliza) + End Sub +#End Region @@ -2571,10 +2571,10 @@ Partial Class ContabilidadC_RegPrePolizaS End If Return CType(ViewState("ArregloCuentasFolios"), DataTable) - End Get - Set(value As DataTable) - ViewState("ArregloCuentasFolios") = value - End Set + End Get + Set(value As DataTable) + ViewState("ArregloCuentasFolios") = value + End Set End Property @@ -2737,37 +2737,37 @@ Partial Class ContabilidadC_RegPrePolizaS End Function - Private Sub CargaPrePolizaOrigen() - BtnEliminar.Visible = True - LblEncabezado.Text = "Crear a partir de" - - Dim ObjContabilidad As New ClsContabilidad - If ObjContabilidad.GetPrePoliza(CvePrePolizaOrigen, UsuarioActual.CveEmpresa) Then - Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") - If dr IsNot Nothing Then - DivAgregarConceptos.Visible = False - DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza") - TxtFechaDocumento.Text = dr("Fecha") - TxtConcepto.Text = dr("Concepto") + Private Sub CargaPrePolizaOrigen() + BtnEliminar.Visible = True + LblEncabezado.Text = "Crear a partir de" + + Dim ObjContabilidad As New ClsContabilidad + If ObjContabilidad.GetPrePoliza(CvePrePolizaOrigen, UsuarioActual.CveEmpresa) Then + Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + DivAgregarConceptos.Visible = False + DdlTipoPoliza.SelectedValue = dr("CveTipoPoliza") + TxtFechaDocumento.Text = dr("Fecha") + TxtConcepto.Text = dr("Concepto") DivDatosPoliza.Visible = True TipoPoliza = DdlTipoPoliza.SelectedItem.Text - Folio = dr("FolioPoliza").ToString - - TxtFolio.Text = "" - TxtUsuarioElaboro.Text = dr("Usuario").ToString + Folio = dr("FolioPoliza").ToString + + TxtFolio.Text = "" + TxtUsuarioElaboro.Text = dr("Usuario").ToString TxtFechaelaboracion.Text = dr("FechaIng").ToString.ToDate.ToString("dd/MM/yyyy") ' TxtEstatus.Text = If(Boolean.Parse(dr("Estatus").ToString), "Activa", "Inactiva") - CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString - - If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then - 'DivAgregarConceptos.Visible = True - LnkAddConcepto.Visible = True - CargaConceptos() - CargaSubProyectos() - CargaCuentasContables() - End If - - ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePolizaOrigen) + CvePlantillaPoliza = dr("CvePlantillaPoliza").ToString + + If UsuarioActual.CveRol = 1 OrElse UsuarioActual.TienePermisoProceso(221) Then + 'DivAgregarConceptos.Visible = True + LnkAddConcepto.Visible = True + CargaConceptos() + CargaSubProyectos() + CargaCuentasContables() + End If + + ObjContabilidad.GetContabilizacionDiarioDetalle(CvePrePolizaOrigen) DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") @@ -2830,14 +2830,14 @@ Partial Class ContabilidadC_RegPrePolizaS LnkExcel.Visible = False LnkImprimirPDF.Visible = True 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() + 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() End Sub @@ -2859,57 +2859,57 @@ Partial Class ContabilidadC_RegPrePolizaS 'validaciones - If Not (TotalCargos = TotalAbonos AndAlso (GvPrePoliza.Rows.Count > 0)) Then - Alert($"La suma de los movimientos no son iguales ({TotalCargos}-{TotalAbonos})", TipoMensaje.MsgAdvertencia) - Exit Sub + If Not (TotalCargos = TotalAbonos AndAlso (GvPrePoliza.Rows.Count > 0)) Then + Alert($"La suma de los movimientos no son iguales ({TotalCargos}-{TotalAbonos})", TipoMensaje.MsgAdvertencia) + Exit Sub End If - - 'terminan validaciones - - If CvePrePoliza > 0 Then - ActualizarPrePoliza() - Else - Dim MensajeAlert = New StringBuilder - Dim ObjIE As New ClsBancos() + + 'terminan validaciones + + If CvePrePoliza > 0 Then + ActualizarPrePoliza() + Else + Dim MensajeAlert = New StringBuilder + Dim ObjIE As New ClsBancos() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) ' Dim ObjNom As New ClsNominas(ObjIE.IniciaTransacSQL) - Dim Conta As ClsContPAQi = Nothing - Dim IDPoliza As Integer = 0 - Dim MsgError As String = "" - Dim CveIE As Integer - Dim FolioIE As String = "" - + Dim Conta As ClsContPAQi = Nothing + Dim IDPoliza As Integer = 0 + Dim MsgError As String = "" + Dim CveIE As Integer + Dim FolioIE As String = "" + Try - Dim ConceptoPoliza As String = TxtConcepto.Text - - CvePrePoliza = ObjMov.AddPrePolizas("Contabilidad/RegPrePolizaCrear", CvePlantillaPoliza, TotalCargos, TotalAbonos, 1, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=DdlTipoPoliza.SelectedValue.ToEntero, AgregarFolio:=True) - - If CvePrePoliza > 0 Then - - FolioPoliza = ObjMov.FolioPoliza - - Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" - Dim idCuentaContabilizacion As Long = 1 - Dim Importe As Double = 0 - Dim ImporteME As Decimal = 0 - Dim TipoCambio As Decimal = 1 - Dim TipoMovto As Boolean = False - Dim IdCtaContable As Integer = 0 - - - 'inserto las compras que voy a pagarDdlSaldos + Dim ConceptoPoliza As String = TxtConcepto.Text + + CvePrePoliza = ObjMov.AddPrePolizas("Contabilidad/RegPrePolizaCrear", CvePlantillaPoliza, TotalCargos, TotalAbonos, 1, TxtFechaDocumento.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=DdlTipoPoliza.SelectedValue.ToEntero, AgregarFolio:=True) + + If CvePrePoliza > 0 Then + + FolioPoliza = ObjMov.FolioPoliza + + Dim alertaContabilizacion As String = "Se enviaron correctamente las siguientes pólizas:

" + Dim idCuentaContabilizacion As Long = 1 + Dim Importe As Double = 0 + Dim ImporteME As Decimal = 0 + Dim TipoCambio As Decimal = 1 + Dim TipoMovto As Boolean = False + Dim IdCtaContable As Integer = 0 + + + 'inserto las compras que voy a pagarDdlSaldos For Each gvr As GridViewRow In GvPrePoliza.Rows - ImporteME = 0 - TipoCambio = 1 - + ImporteME = 0 + TipoCambio = 1 + If Boolean.Parse(gvr.DataKey("TipoMovto")) Then - Importe = gvr.FCLiteral("TxtAbono").Text.ToDouble + Importe = gvr.FCLiteral("TxtAbono").Text.ToDouble TipoMovto = True If gvr.DataKey("EsComplementaria") = "True" Then @@ -2918,12 +2918,12 @@ Partial Class ContabilidadC_RegPrePolizaS End If Else - Importe = gvr.FCLiteral("TxtCargo").Text.ToDouble + Importe = gvr.FCLiteral("TxtCargo").Text.ToDouble TipoMovto = False If gvr.DataKey("EsComplementaria") = "True" Then ImporteME = gvr.FCTextBox("TxtCargo").Text.ToDecimal 'me - TipoCambio = gvr.FCTextBox("TxtModalConceptoDocumentoImporte").Text.ToDecimal + TipoCambio = gvr.FCTextBox("TxtModalConceptoDocumentoImporte").Text.ToDecimal End If End If @@ -2957,54 +2957,54 @@ Partial Class ContabilidadC_RegPrePolizaS End If - If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then - idCuentaContabilizacion = 0 - End If - If Importe <> 0 Then + If idCuentaContabilizacion = 1 AndAlso (IdCtaContable = 0) Then + idCuentaContabilizacion = 0 + End If + If Importe <> 0 Then Dim tCveCuenta As Integer = gvr.DataKey("CveCuenta").ToEntero - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, gvr.DataKey("Referencia"), gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("Concepto"), - TxtFechaDocumento.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveIE:=CveIE, - CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, - CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero, - ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio, CveTipoGasto:=gvr.DataKey("CveTipoGasto").ToEntero, + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, gvr.DataKey("Referencia"), gvr.DataKey("CveConceptoContable").ToEntero, gvr.DataKey("Concepto"), + TxtFechaDocumento.Text.ToDate, IdCtaContable, -1, CveSubProyecto:=gvr.DataKey("CveSubProyecto").ToEntero, CveIE:=CveIE, + CveProveedor:=gvr.DataKey("CveProveedor").ToEntero, CveCompra:=gvr.DataKey("CveCompra").ToEntero, + CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero, + ImporteMX:=Importe, ImporteME:=ImporteME, TipoCambio:=TipoCambio, CveTipoGasto:=gvr.DataKey("CveTipoGasto").ToEntero, CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCuenta:=tCveCuenta) Then - Else - MsgError = "No se pudo insertar el detalle de la póliza2" - Exit For + Else + MsgError = "No se pudo insertar el detalle de la póliza2" + Exit For End If - End If + End If If CveIE > 0 AndAlso gvr.DataKey("CveConceptoContable").ToEntero = 30 Then MensajeAlert.AppendFormat("

Folio Bancario: {1}", CveIE, FolioIE) - End If + End If Next - If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 1) Then - If ObjMov.ValorPolizaDescuadre > 0 Then - GuardaLogAD($"Contabilidad/RegPrePolizas | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - MsgError = ObjMov.MensajePolizaDescuadre - End If + If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 1) Then + If ObjMov.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Contabilidad/RegPrePolizas | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "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" + + + Else + MsgError = "No se pudo insertar la póliza" + End If + Catch ex As Exception + MsgError = "Error" End Try If MsgError = "" Then If Not ObjMov.UpdatePrePolizasOrdenamiento(CvePrePoliza, UsuarioActual.CveEmpresa) Then MsgError = "Orror al ordenar polzia" End If - End If - + End If + If MsgError = "" Then @@ -3022,14 +3022,14 @@ Partial Class ContabilidadC_RegPrePolizaS TxtFechaDocumento.Text = "" Else - Alert(MsgError.ToString, ModExtensiones.TipoMensaje.MsgError) - ObjIE.RollBack() - If Conta IsNot Nothing Then Conta.RollBack() - End If - - ObjIE.Dispose() - ObjMov.Dispose() - If Conta IsNot Nothing Then Conta.Dispose() + Alert(MsgError.ToString, ModExtensiones.TipoMensaje.MsgError) + ObjIE.RollBack() + If Conta IsNot Nothing Then Conta.RollBack() + End If + + ObjIE.Dispose() + ObjMov.Dispose() + If Conta IsNot Nothing Then Conta.Dispose() End If @@ -3058,16 +3058,16 @@ Partial Class ContabilidadC_RegPrePolizaS 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() + 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.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")) @@ -3081,5 +3081,5 @@ Partial Class ContabilidadC_RegPrePolizaS -End Class - +End Class + diff --git a/Contratos/ContratoObraAutorizacion.aspx b/Contratos/ContratoObraAutorizacion.aspx index 2b0eece80..e4cb59a81 100644 --- a/Contratos/ContratoObraAutorizacion.aspx +++ b/Contratos/ContratoObraAutorizacion.aspx @@ -160,8 +160,7 @@
- - +
diff --git a/Contratos/ContratoObraAutorizacion.aspx.vb b/Contratos/ContratoObraAutorizacion.aspx.vb index 3c2a32cd5..881aaeac4 100644 --- a/Contratos/ContratoObraAutorizacion.aspx.vb +++ b/Contratos/ContratoObraAutorizacion.aspx.vb @@ -221,11 +221,9 @@ Partial Class Contratos_ContratoObraAutorizacion If DTEstimaciones.Rows.Count > 0 Then GvEstimaciones.DataSource = DTEstimaciones - 'BtnGuardarEstimacion.Visible = True BtnAutoriza.Visible = True Else GvEstimaciones.DataSource = Nothing - BtnGuardarEstimacion.Visible = False End If GvEstimaciones.DataBind() @@ -271,56 +269,6 @@ Partial Class Contratos_ContratoObraAutorizacion End Sub - Private Sub BtnGuardarEstimacion_Click(sender As Object, e As EventArgs) Handles BtnGuardarEstimacion.Click - - CveEstimacionNueva = -1 - NuemeroEstimacionNuevo = -1 - - Dim ObjContratos As New ClsContratos() - Dim ErrorProceso As Boolean = False - - ObjContratos.IniciaTransacSQL() - - - If ObjContratos.AddContratosAvanceEstimacion(CveContratoEstimacion, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - - CveEstimacionNueva = ObjContratos.CveEstimacionNueva - NuemeroEstimacionNuevo = ObjContratos.NumeroEstimacionNueva - - For Each GvRow As GridViewRow In GvEstimaciones.Rows - - If GvRow.DataKey("CveContratoAvance").ToEntero > 0 Then - If Not ObjContratos.UpdateContratosAvanceEstimacion(GvRow.DataKey("CveContratoAvance").ToEntero, ObjContratos.CveEstimacionNueva, UsuarioActual.CveEmpresa) Then - ErrorProceso = True - Exit For - End If - End If - Next - - Else - ErrorProceso = True - End If - - 'AddContratosAvanceEstimacion - 'UpdateContratosAvanceEstimacion - - - - If Not ErrorProceso Then - ObjContratos.Commit() - Alert($"Estimación {NuemeroEstimacionNuevo} agregada correctamente.") - - BtnGuardarEstimacion.Visible = False - BtnDescargarGenerado.Visible = True - - Else - ObjContratos.RollBack() - End If - - ObjContratos.Dispose() - - UpEstimaciones.Update() - End Sub Private Sub BtnDescargarGenerado_Click(sender As Object, e As EventArgs) Handles BtnDescargarGenerado.Click diff --git a/Empresas/119/Formatos/RepIVAAcreditable.rpt b/Empresas/119/Formatos/RepIVAAcreditable.rpt index ce9d8faf0176292c6ccef8254413f959206a83cf..cad593981ac3350734a6c26b18f4ef0050ac3d1e 100644 GIT binary patch delta 11979 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 delta 11972 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 delta 22145 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�EadT^aCUux0vx&YsdVs! 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 XyCH+PIH~eN096z~1aL)h^RoOG1s+7s diff --git a/Empresas/Grales/Formatos/RepIVAAcreditable.rpt b/Empresas/Grales/Formatos/RepIVAAcreditable.rpt index e7e29a2328045d178b63be708f52248a71bf7594..5d6ac0536914061db54ec47dfd85b519ea089352 100644 GIT binary patch delta 22848 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û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Ț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 G0Zk`)f_eiiew+pL&)ZLY0DXT$ z{%5ehzrMb|zYJ75x;kYOHPCvZk(8Q`jlRE%tiU*yqJnV*@PoFtizX(dfn=1Cmc zrR}wp)fxR}e>oDLl}n;(FosMqZk^t06c*N5tO@;KMoYWWZGESZtw3t%a z1gnQb0A8{9@8I=UF|#Dzgqn6;e%!jOhppAdWtOl=dFn_8L_I5Sh>#`zV-9x}G@DQb z=*t0abWyNizk|dH9143Bd%-a`7+i#>p1L-h0U0Ppl9pv#Z^WQ_Dbqdx{6G zoVBD9ff2{hz9b+bs|kQ+6#rJj5kpGYRy?zn0`%-71G3s^qhqC-UVMhk;H^~2q7y+kbCA%Qdk0B9ZPl4wLglGBM}cpmvq4xMu$9+QErIp7{({fma^^=D@Joc=i*?IQ zT|3dbH@@ELfVj`ehmFMxC6^zq0IE=h%QyJRR$-Z6aPnvk zVctvDG*?Mnh0q;WIH_*_hDf^)PDNMQw;2Y|tZvDM9}a&2U$~Yw`ag*gU~O)R!Qr?% zYO6-_EYI#%oX7LmC%o>Pf0=s^QM=LW#(;n#hj02Ea}$oyh@#~T&%Z=rNiO2L1Jtsz zU|1IGno~kKOX1|NWTNv_HF!!y?)^(BdoCQyb%%eQLSJ+IJ*z+T$R9>}{&aWxK9)5W z4tJ@2-;&T8W7pl;(xj|B56Dq+lj6YY!BA?FRu=g5f9pm3bLxurU73$Mh13qrT&cE6 zg=(-enu3Z%BzbIwh3>{{0EuRH25^{4f`uO`x+C4=4jeYJ#>B0tEng1tvkC=Jki8-W zlBr~32-x47o6ACe5#hIha%cFDl?Z~wv*KQ!q<(>j{dr_iki9+5=06zQoQgPRK&vjg z?UhTy?dHa^v_Y_vucGD-U7H%<0rPCy#oKKe!uSk9^m|n$jYhL9%0lw;2mG_~IIH){ z@s~KmPWNB)m!AgjQ2w``72_6<-1ESf0F@g|kWVcOAFZ3Fh#UR4sHk%cnDyp;$AKjY z+SZ>ArP-c53AM%$3Nl{>3^GDmt5Rw);28+{JnFNB#x?my{BXC3#6O@e9$IoN{ z^CLK5ARyTPCWarv|B&p5a6e@HA;J%Ne~9=)(H|oHQ1*u?KUDqUf8mof45c9q@#CC+ zUS>dcKLP?G{1MoX*nzl!7=I}EBc%NOb&H>G{pbI`5d1MW${GJnUUtyN03|VbiU0jB z#m{q4ARvlOU?53;uVi z41!SVM=>qI3^6(O;{%Rn)q}~^gWOL2rhUo0Jr|i8{p$QV4P<%GIATT0XlA=RzqdV4 z@?f9)zXGa3s#mlE^?)@QSwFV*rRy(Mwn~W;2p~~1=UDVqYoWU>XdgK4L&zn+YFXa3 zL8>M2#n}}8a!h3_QzoUN!eJ_Nq6(yYYLtRK5lu~Zdsm5R>P(JUQ8tHPS?&-iH0?8L z;5waT?wTEsrD^4eliRQSzvMN9kIwhLlHr^tF`&xhG>Vo`I|1vPj;IB_6;T!zZFy}e zRhXgvymDgtb2=HPf@?_kNlMek4sdDjO1hq30=8cqRslmcsPVDgjPrAM;bWhxqo01M zadJu{Wj81_s?HugyY`1274P8+ZOSj;3P@rB(f{F&ED4@M|!50V^cVO>cKqU(jK5w7X z5?}P`VunRbD`CN=l*TiTf=?@gs9+HivmKrb?!B4ahnHRQ2e?}940qMv!VKfQZE`|6Xq zNQP$rI9!&S5?PD#C?Sq9T56h^ImGR%5fGuthyzW;39c(xTOo;o{K`Y^dvk`%`@QZ4 zd{A@g=LIA+*i0$Ez$SbbO7Ap7IaCa53*u*o+)_eQr0&R)oHE@&6i$Xwmb=%zWa}QL z7^KQ`H|7@~$zYfEX+JqoZ!0Cr$jXG2yur+rHmR`1d`hqftD>^UfKeRA;{p`o3lIQD zkL+4r%)P-YkHGzO0557U3z+D`@4LTU!AjIvOEDIl=c{E|kc4R(FpT?}hZ~|hsf%>4 zh+~K%Notp6HO(wc(eaUe`5SDVNVc%^du-K&EmEOiCoP&)oxd%cd@t}GxW=zT$6)gz?+&rE_}3Y zx%rX^3H=a=Pz!<+dCRag&JEQ9TK~`e*UaR`(72NFx0g{{75wH7ft#+rcB(A1!R;Wn zN9dj+G|!V_qXn12u$01VSt9qm6y?h-!S-}SK(-Q@$5!Y5T*Z_!&s)ZwTEXj>gZyIDxfUB&Pz;7x z1zM7n=}>zrt`7R2jG*LI>&uo3@F2#OE)OOSEftzo`g=OIV9_zE(bn*BxAf4Dwk1bo zwuOCb-CqxuxVY7Q6@y>;9RP?_Yng^O7KzLE5!+Y zR~{X3XQ;>?-u&jC^H~m$s1qVNQ_**fxeXAQawo%S%C2T$oaTZkIM8r#M?s;uqJ%3gUe1!#tlyRZw_n(&^vZJyh?bO zax1xRrbML5U9h`07#tjE=Mfo@EXdXXrgGQK?FA5G&X$8Q-M@ua)>-k6v;sVzM00=Y3l`#K-^I1L!zdIV z(^WXd+v!2(5EcS05uh2O=4GZCK++_u5{Z|Yvw8TaI)GX9vJ5PHhn^P!?)HXxce23# z{vTEt3(x?7*OLDW()E4$qPP_ELXQe6qMydgv#HB_Q#^6ET>%%(DZf2=YrTXcaM&GP zs`9;+FN!HQ(qd@LUI_8^kk*e`QbspjG_J=(%oL%jLZC^G!Q{T$aRAp+;D^%COY|7K_pf!Zzy4O4iJqAi_k;9I zs2+B-|C`2fk{$}-<7?Q5%yq%l7h_gn|C39hhhCodZkm!=q2^jnr&o@R! zpjq;8&AKi80ED_1wM;tH1rPH_H7n1baSXUpV<4TKp^r(@-&@IYXT?cw@MBKCEC00^ z-oUN-r~>=~Lf1_1&&WSu>}z^5OXTNw+>bhT-SXR)>6(_eJtBY3tPVzp!U4HO3%mzR zF2L}DqUHzjO zqJeNp{*$&r_Zg%k;Nka3ni+0BpDwm7uM}BEn%4M@VPnER-uq>zdS419 zq0Una94sQ=1!XfhK_@5EX@aH(&F~TzXMmlHnh$f4PizpKO3|W%EWVA-E6F!`Oh^oL zm6|NwVcXdA@&KH0d?yBKk|r=Ho1j5V*>#{N9nQ5B7%xFjvc?HIshf> zU)zI!TDoE%i`d+StW#0*();b|MlbbTa+HTA6qpu0{}Zpp9QM_aaCYqY>uWFKJMCct z6x`aMNQVbdUYu-FI3w1cP2B+sSL}f`*b(mM>UGM0Pi>1@Og@W)O;D8P1<&}Uc{SN5@vwellsvG6R`vV$5PKup{Bts;`zEfDm)oW`$muYxgsaVWFR3(8!B;iFd2+d z!QQTzr;4!ty*N(F?$W4MM2x-vNbvXTJo43?G;_gXlW^EEF?}BcKW<#N?Bbe$VjRma%=74a<;|QOsnYDbEij>*|!v#v{=Ys*v zrA4HPa+yn2uvikKq+>7!OWPs7_MlJzE&Ekx+SZm>(>th$2Q!B!mecpI5lRwlJOt6I$Sg zr~@3>645tq`D!lbcFKE^0w-Zd55+au(Nuz8ToW@>aK$VDOiwg~2(;NFt6f&JoQ}DA z=Ob)_gm0}_OS8NI6nwL;$t{*#Gu0@NaH`~k?u_`}YES$vHDGsl$@^-WWR;pnr)Lnw z>s*o1YuY(9;8n7;WvkM%;P;K2Wa5m4l0!6Uf-&YQ0FUOb2z1~bhjPxPH8gQm;m>-Q zj~!^Np+Q101pao>CPA!z=+s4E!9)@)sGrW#H`LF{Es2Pv`F{z=f5|3EJ=%XG|E&xE zb2WNj}BUMFTWfYI2NvJTF2{s%$2#zx?@jz zq&8^CKz4+#MjgTLG;WhR`9=?(2284QXgUSR=6&cZC_FYhn#=2 z?k{ceMoZv+tDYfnDt@luXMhM&6Tv}Ks?x@7APov57M4y;k**M{knkl@;~2t4?R{3j5$5L(i39HzSvDm?qHn6!|ZeN(| zRxb*o44JI!6Up~pWuLYNVW_Hc(hn&Yy)@l)awn@V5NS%A)5AFNml-_kf4$CCVE^R2 z|7ykQS0MQIPjx8%*YgDL_;Knbnz&`FO}62Lb>eAI1x)WG*8|EtH?pW!slS>W>j zWu53{yGz(0TV{o{Yy7eHr9zS7?Dni?<HGn0j=2Fy&JAiYB|QHahS*o5BY$G@@j?I>Z(X#T+-S+P@X1}gW z-yW!g$&z1uG#vf7jZe27dmbmY(`CgIkbN3PCv{BqrW<8IoAL<0;fSMA?x2zI^z{^a zU!-oD$iy94z*I)01|FXuI|Z&1UuQ->x&X|X)Yha&s4gHfdx{hOLW3Mhf%0iXTe$_7 zBpn-c(3Sn1fb>LVt(DtJO|Js9)Egok0~zbYt6JtUktnnX$qfN)EHt$u_)Zr1yHCF! z=eAqx2DqnqeJTbH0rx&Puz7u&@>xUxRvvJ*jFlo_ow?Mh(5CAhm82!_4}o!;900}& z*y=}pTPfIU_$0XlNUTnG#Uwsd5i?Kcn8wI`b`5JIA%2ne-liHJ{XW?-5oTdhOKG&hIfV8CYKQBK_w(~-MEJa zPY-@Qy@(JEsC1e5hN4ibqpq4tECJ|Np#*O4>9ba%4QOxb5SPCMK~-0^EmKd8Y(ZE9 z2w&nSWXR)rj3qLzyl&mv-w03~f>lxeXdE?oxY_rweN}x~2qcqvq~tloNC32P)QH<{ z2d}sK_Ei}>gkMI6VeVK;ymsPE|41?)RPKY;CW70gZ%u=$V6_)ty|(0livbp2SVo9l zU`NZ=lLpNUEnDE+<1f=XPL|fEU2-Dd9!u(0SRq=Y49h;8{FX8Qj`Afc>g95vzdg&0RMeZaQ^x+nEx=EZJ3CiCydTrvuPTw znX%AlL{Zq%nnpXBqvNMd=>(AQXO0xu2mbqk=8I~GHA)lb5Nw#r?^>OUEO&z!X~?lX z_57lD*f3!*5u&p!Fl4XQ7O;hdT*?GxKLOuQSj()J0Xq=8dnofcjzq- znudl*0>)Li5Pu$388j_WGw2XzXlF@wqrDRtLt0IAqRWKnVTK-aJ&}rOsfzWb@ zA84(SJ%fzVFHsBf3uWM{l*RrsBJ1u$Lcgx(Ni3+1w%F~_vv|M~(vVO2{h~e_58!l<3efPbak#={%DY6=6dILs25J##E-Rn)waS=WQV?(M#Vu6B3w>eQ6MVa=R(*D~C>FM+c> zn9+MnIg^FarwKy5==g35Uq$}OL3l}DWsNg}bf^o-JZ7hqfLh!xgIA1aIUI>WzloP;~Z7$fGdsR*K#A}9wD@YoqQPW4@=J9Bau;qM>K(@kl505s=(B|?t z!#SS*WOyZFj8VmRM-kwwA$+H!wE*XL>ev>tkdy*v$?>j5_wjj{e5{Dm*}lbPrwGhF zDjupJipRG?2U&P4%M3A5q@${fY*%(V#>aIgEXih4GdcAO|TPf;MvHi&X#)rSB!k7H^>V{V`4?Oti! zLZxS98d3hXo04c)3jeCXX8pAY+HgLbrBri zd-5E|0i>v@Rn0;k!e6EOxn@1jj6b;w!Y8DW2#!yKjMrRBB8Oq zcq*WlwBSj$6#f7y|D?^OXx+b6iwZ1k-+93>$CcQ=cD|NJ4g_qpZ=rl`&Ks1=Ssknp z{sVAq329>pqj|S5x$aVUukf(wD@u#BrXE`RSev2X_NBe-KJ#-)#D|4W7!Ewv-|&F( z0_OJ(N>RGTg@1*?VnwzoC`SekeFK{e#d!G^n*h^(78%As-5H!!ZrZ9GnNwwhpfNXF zN@c_OrMPGkPnYOCMbwGSzn0OXjbJ{+hc6_lxovUhuW>7|A;l9xED>Rkj1}xNX%Ng zEXzN0-1Oo|OD73j*);WNwE66SRD%puL|?G;MZOh=V6?1*uP&`&f!^CiEf#^?Lyllt>D#i>=NS@PR^cc&8| zM*XBj_1GMW5yljg(&f#r-vfX>wu0ftT7$D3^NowM!~PRD& zgCcgK#gPWGqoQ?zuIx3UKPHdri3j%RcU*>TA(j1}JVGkV0k+jRln9Nkent|LZsJ3A zJZf%v*7n^jt;7-a;YxELa^nkMI4M$g(Ex)nZr?mIQs8v^3x>RVKD7=bF@aTztVoyduzkWRqBg@qdM#%AH@N!Ezjm;8BWG8 z%0{m6@$6&zS8@cD&KuhL+w!d!Sf01X@6U;U58bwWDrtd~gNdTqc`YqmAN98xVfEK^H79nvn%3&o;`|kx%76L)YMG zIE~=-4{U*}vge(IE;3MEdf)Ko5Qmm3XH}lkZg9~eIwLeL|0+#eJS)arwry^RaaBqY z0~FCbJIHK}hr)NJv6HEvPe)=d{W+^Vap?B-NR-vZ+yzZf za)XcHkU&CsIl(9Ku$7SWz8t6*%6ufQ57V1vl6iJ^FoMH!qi!qbgo=I?B!IMG8jYBB zp`H&}F91EY2E#X#JPFcr5r}=gx62`(0;tK;S80DFigj0EN%XayO%c66T0+Jnu1%RO zomW+1cP5zgE!;Vc&9G-*Tn_dXNr+UKi~QiQUx;C0dzYrl3#?WdF~;{zW2MGmO-MfU#Fin? zomfK2?)lbRW%}uo^NB-bYv$eB1>N$eXotpp=*0z2)`=ox@aB7%CYQA|NCXBfeafs& za1nSJ81R2=Vb}1=;(S$ZGp*?)8i5li)B9=8X?6LIwP(VPI^H4_2w2ym5BbheeKn75 z(;%Q#j%rMFbjWI8?tO|Y8UfK(bCybdLT1gu9{a0ZrNdKMM}M2@%yBjB7(*mcSa+CL<*Z#qftDUj7?aka@u;4FsDwvy4oJX3 zHB8gsQxhvMM-4W4S;G{hQV6h*E5JRQ@aTXA3Wzo?&?nRRdIAhUR-QrV%vuQ$0|vOv z`qc=%YOS)zc3_lL55P7ymQns#-!u5UTV=-Eg5AEQi7wpR0m^@qf(*6<6-NX6RI?5cHnclY>x{3@IV zY`};6o&49R{x*TH*JR)w%(J1BjTWUi*P&`jnXuRL9t}XWjvA1MEI<6&ZMQHTeGd)3 zlkmp_YP>HJ8Kl6u)FRf%-xoXG@ql1w1rfCw!zHdZrnhh}hNvkf_UADAAq z;JpwO>BPb7s8PiXd59>oCEkR#9)*^8xw%3L)jsDrV-d4-|2V86hGJLAd;->YP>TQ7 zI@=@X_!IzJ-42YQx}Bieukl3(XOVK zrBOQzG_cN^)E#v`eIz1NzgJVdIV0FkX1Cxz?F|5*Tn`VG&dUJenY<=vV%vUykO9=l z7nri1&IVPgV`)9z%WU7iMwEoVqjj9b$I1KTuPXx;z6oWC|F3p~3_Xv$-JahbZh*l- zVl2oft!23Gh&8&_p-?)NdIR$o`W48b1Rn8r)jYK7_+!9Mml9Z{7t}-FLgTXRrBwrI zs~tc@didSo`fGZ^9?kk`;f>KIf(4zBC6jfx@pgx;MT}om+9RH)kI0cGP$6>Z#%f+_ z??GkZYO|2Lq5X~^4F>xg>GJT=Rj-7Z^_TPC_k0pN^&GFkpPfL}JA;jD7Q(TAg{_lB zNx3r&hR@;HtNqGn#1|tb{sm9qr zNNaaTT*J%i5XB@+lg2*6So0+p*7*7ro9qSjM)Bpqj3K8<*l?&GXdd@Hl4U7i8tR=l zc*PBkck~H8Z|>o==D&gH3L)HJU<~TK=?KVB48goomOU9MEb|ECH|F9Cm=pfM_1<1>ViuSHDHtL=D8D?0 zu+<9(SsL#~w3xTw>lSiD=`Aq1Bi;Zia;Vj^8|17l-b<>0A~KP+3}d6zFo#d8bRmLj zi>W>V_CkjwymWLrFE&Gu0Ri(t>uQ2vCpII;lh;nM(>xo7>y@WmDgN_*Ri}BBl|Y22 z%msrH@T#7MtmJ>xVEV;i0TzMx%2bUV6ufKn_vj|`hm#pW0fb9xUuMzFd8+{26Vh*< z7OPzHUmuf*$=EVx?K{*WMo7rUzlh=T#)pgIci-A1ppfswqIe!jdr=-4Uk zsjSZ!U~&7Nc$f^Le$XqGP&B6H@N!yVrh|Z!@>?Hr)4a0qm0l~>W=qMmvBd~taAdm} z3uMwBnVn6Pi7SiOKT850gQ70pbDnY!XNnif(Ro>3BRJonNW_EQQm(20g*lP! z#5aX4Wa@kxz?Ts=*FGV{B|&baK?R+kNv`0kZkC1|Mb=#%|Q0=6;(gM6iHI411ADGUZIWV+lwdFZ4; z_*6qLgv0-xUZF$?@TeKrC-K7QhM>|SUS;4IE;zbh6djiWvFW{1qZux&uwvN0AI-eO zFpeLnUb~kZ;3loT7flEHJwS0ztk#*oC1BfHd zzMKSNE791!x_nk-X<~=cZ(0P)sD%aQRBx6Ba~N``@H*mTQ|oq@o3XAY{Tv=P!@VYP zk{4CxKl}L8hh4^onYmCAd6K6g6GpFG_L7slqSG>XXr9Q2rhou~g&R|eA}HF|6aAjj zUwG+HG93+2osB~uK@rE(1qKy;rsJ+4lPPfnb0hL+$wQ*c#AB;gF(4OJs#g+&ey53WqJsMW)@bs8JY`~4aFbK z=Zs=F7u!L~WHjV#D`Q#T(_e>VXKTELaSZuTGJaxQF6jw|WNR3q*BD4VV3yIPYzY&J z97I>zKpuYOTWf&YVu73&_O#1`4BSzT^OC+IS5iPWcDnaWQnOUHVrAarelv$3-N_=T zY;n!A0a=Iyy)jp`gIXE8e#D4H3Q~_owkjSElNxR%B+6msvOEN{#&6eh zk0!vWklMwoy|?x)GZOTU~+Hk44s0y{Hy;xLJz`4~WCqwKhs$>?k3awlgp z*TGChWhYa~Cb-x_y}?tt&N1^9d@tiDC#*|xkjFqVBsr7%(cQ7Y)?n?1Ny_5IH><1hAXDtn%)Cc z=9QtlgzzHi2Zm-MG9aZf(&pLHT zSY%@ho-*C8n-vetD>InB`fTozRKMa;;o%IV*sLyiFaq(nO0 z`14)ZQ9eo;kO+%{k5Vkr?0E?AOoYf!v2C>n0s5X9Js_d}SK3>BSxuoTH()#%Po#8R zek+FIB8}(e8AJMI?!v!bx7$eqK=7JS^GOc8*JB0TK=)DmGkcGRWb-^LAD3@OEPlc5 zg_O$wD-^8^!kll4M0xZO9-;-*`1E;o57cWaky?!d^NQM?D68qdc|TdcV&u_K5@;*Q zn5uUV(?glcu-6Gt6y?uKAaV;mEaJgRg0r-4okr<^&oI!?^6}?EOdg+JrH2l8AE|h+ zQ{pnYs?i{0|nQ1GB!d}Z}mbg!W_|z<@!4%*q8O+ptx<@#hDo#6m#AiFp>BD#9o?o2Jltmj zxNolX>*fj&3I*vi%0Kp|+8*>jQ>q!_xO%D!@;Egpdyv8IX&r#6mB{bYbaDgp)9PJj zt-6BuWXE$S)85GH={Lf^5aYtTn?a83o~w_?1@0D*scq`dWN#6;IPzQuI-90{i;G)? zUNSNP;RcD-3Y@?n{@b1)zt%acLn!5YDa6iuJnE2(Qtv9qQ<@+gV?-dypD7gmg8LqC zm$eEi(6+h>D8K+r0^!B?_77&yio}DQhy^-uLDNDjAXqnqqZ__nof(!R)l&Gv-AcLo)BY0n zy-5GeMPMiyWP2@LrHTz24zd*ET1Cr^1Tx{3_R`1Dy#ytn<2!xIQe~y%I*2ql$p64@X?>Xb$I!Tva`m|E3OJx z-dD3OZuCp?K^i29_B~Ot_)skiWBpdmh^F_(mx#MMq%%lwkD;X$;LU*5lbAu4|;~4WO-e&=tV< zC7V0{3x|H|H1a^g38CC6$w5;7(;~PWlUpEk`T`UbTzelr zl@gyEW?_krG<8Zya)-gN$>9^kjSP;0ofgoo>uM12gVOl>2(Hoa2!7FQ zLGqAESWM1e9n+XugLd;t86K-N>6Ar1tMUsx(MdUuj!7?S0w)(%3@CQe*wn$|LHU7 zd{y>E1!66IjhV4GmLS<;Yi4shDnb0?kk;&mZLAV^`aKob8fOE`4{8=w#H+I97FrKt zf4A8KAu&z7dA&Efn=b@sl6)4YuWi>-JO7KVCFPi8k2HA&r!nAhf6jT``PezE^jJSo z3NQ{_IXxHe2T)4J#s`585q`hf<@I7jc`B$4S_3Vu0>%1k{kcX*n^2#ntczB@vJ_3w zcVmXy@RciYKXBR2XaHh060bYZUT+j0bY5(4?ACD%hIq74 z+e?T7d#?j9JdkqF(}Si-7Sn@b_s5pT_@VM@78iniR>y^aMsm60mSW-Sbz3&d(IJHk zWa3)jFh!p~)(GJLTib=HOfaURc229jO_6EEO zoZtXf`T-0A;EaLci8YI^C1E<3BF;C+(+ZFQI|NaQ!d}f>r5HasU^F#61eb6Rv_*~vGq@~b5Z?8WpB)F+a zXzJYBk65SMduJ!G;hUFqkMB}OG(!QoM(X%L8sku2Y^xNj-@-Rm+bfw>tP6^NKlN1QF z)K&fW-QHN~!Zc9OFR_P81aY`hzP*?{-?d^&LtQ^;^IBrcD(4xT&^cNmd%e;vW&?ds zEs3MxmPQSRO5?{TKL_kiGr^$6l8S(1MWiV#K(7x!WwLqFZcG4DT>0PHnj|ddEsl*X zb^d`Nxr5T)9` z4*Ko655z6|-?UA}2XP~}?@lvp*FI=pzkAOMnwQc43JDH9MCz(6Jim9dK2TD_I8-Gd z0r1h{m_x?!2ctoF&`C`GaH%XBD6!SLy`qnJyNkUE!0RIYw$np(Wjwu#YyhL-eN8Zr z^bw;H)LE_zLzBp`Vk4O9pFl|Vk{aScW3#{_5xVBX*t@;PJ}GoSRJVC3)3deJNz(Xe z93;#N8_S(if?F6im9n=Iy6IQ6NYEf*1x(wKl*tA2a^!_PtKT5EqG*h7_Co+J!&xAn zSs$hP5WzRxMG~C5mB#c0WXT)i=-EGz?L+10{Qm^5#D=I!aFUuRsnvEkKhReZR|!lJ zhRFtG4BzkT1ieXszwn|rHe!cu7mX|8v7>7fn)~3CLE&M&2SFli_JqHwKQKgQGFR) z-ZW`fyq=j+?na56d#mO{hD?~cdK4aabf$dVyL4nmsZ}PS&U9~Tm}>#a4>psLqh3rj zW7e}AbDxTH{GRy>*V|hrA3-}gfTd6AB$FdyYIH`miigs@7Nyt6cj$it+&bS)4x{PA z3vBo3|04Nx9IfEEe~}nrA>F(~I;}8kjP?9(gH86RWf|l6)_c>~9Cyt3Ay>J)@btX4 z3`3f_C<)1ev#-uN-HYFH8;rz*g5RJ&f4nEPCV=&X7*;pAS(#X0#mu1#0mOq&p+xB> zpo!dy8y`k{U2sLCv9zVFmz^?+~;-T=D~u2Km7p|Q4+6ia6MS2 z0waBU@t`N*qLM{v%0s&C8JLte4BSPL+lS zbfB(5(GBGY=HviP06Y0-<}6s_-0RL3E%QQhGYEf#FsB9Q%w1&_e2+gxzt75*&&Hk# zD+E9FP$$dbiNRlmPL^_xlf*whd(nvc2Vz>7?5dOrH+9tBDN3sj4U&^D|4xM}xA| zuC+&&pIdSEvx)kx;ToQ%@D8q>6BgbqXy?#&+tHT0I*CCk>_vEcP_G8YzQ0?Cm8Noo z0$uL6tJs8(0Mw+;p(a+rmaW(|g>~BP9_^g&l{xaFCLk_k)$;mW$uEN{wm~om$0~>ZLo% zsKa%e0JQdz)tceapv^)J=6h{4GWw1|wO?;~VE)An{rdA1g-VhG!r-HjhjSdzWSY#q z%)?jB=^{L@0!L~?`-8YO0ka7i+|{n8)t5sGx%3EPdb4eer^a^GC&70Lh}@zIF3-GN zC21%Cs`ons#}+s+QCB&1%vL2Pxp%FlecL%+0L!UQ=?Qdp-Iu(9xhI4Tt^Q?|Qi~b^ zwUVoC1Tyqmq{!bK7!Lp9@JV~V0qgDTL5)d?@;D$iy=AbmGcWEgd%vSrjey*WBp&CS z4S4RX*f6M=2%z6)c(#4woRv4hE9~lvBG-RO7KW$PD<792mOKZcM|d?Xn-Y1|!YxRJ z0c;O{Lv+R{ixR8!4MM3S+{*o_?2lX_{L0OGGtm!u%St$!-~8P7A|jxocN&v3lllt?_Xa@@e4F0X<|^M{Y0I8uOL7t_|VPvOg=ms{5DxXw-kY zGDv^CUtpH2UtM(+A63ieF{I5RLfG)Ol{cc*}Kr<8PeNFzC7KV_r%Su3={MulF<3Abu1w(?deb0%V_|>l zast)<8oPWy>778{S7oo7-O5=xCnE1)1eYF&89HyUq2RmDPg`Pjv~LPKC#G&%a6`={ z#lqNU)$_@^HbYO$JP4zAMNZK)`~(w662eAGP4o=%`G9Y>Vl!&^Y$ z(xJ8L($BSi7@cAaibka5IQ!?f&j||x1J$wr>!8uN0R~b5VA+!Zamc{DTLdy+ldD8; zFIr`W#@!lS@54FAeOAc6OvpxL6SU#{6`3}|B|!K=bH6=IHCxMz@HD|=ejSdL%V#C) zuNLp5rC!-|MfG+mh~Xv@OE8>gqB<_uA$8JHdseE&abNXvP%o{ofw^xrer%iANGOsh zHS8XhFC)wQ?}-m<9fXklb5<1-GZGWM7@4$A{)g7ZVt>9NlG0aKC~rzdgz(x_44AIc zQrFriv1npb=nnQU`vL}7+qC1{zI1)-x3S08fa+T*ty~A}R}ww9S##|X3&@Zd#+=nP zpgu6(mZm0l2GYgTe5Py@xar}|VZhp#?}^%MlWIuU`*|2xhym#=+{B&35&zs6`{oF+ zlHc-%{F1UG%{UunRZQQHtBn;)WY-y*(-m`8R=>7^InpYhi7=)I4tcAYjGqn6~A4%QQsA7}Ne@u2ztgZ8e0!0;at9 zLFoq_ANNv@xJ6le2?hOImzHI`B`675rL*ZW)%%L(!@Ps1FT0+(=IJYs;i*J+D*_H3 z1FbLi{THUw;NzoOh+%fmhFMx*wUp5A9|AFpSWNsZBX-#!8Fy-Xprq~*(rrY;o}rLU zu)7>GTRa41)MYN#9KQa2qY1q-R`L4%y&VA_(GE|^Iz5fCC4i35di1(eF3(k_>1^9h zi#P0HYVBb9JXM0E&x#5y#$JiOE-#MD>1V3f{rOHj27+kSm=#m{qs*Twa-5!7huZ7R zM%2gVF&DXCV(>_8R}1;T`iB@7ByXG8o7{sdOm0Zc`R$+n518HYa~8aVZsHORj8{o{ zd?5sa=CUA5+~(+A)^WI0Vu0Uc&b%O-{uZl`O+Rhb^X;LLa`lurt(DMamhVTRUTz5q z5*I2_jNvCG#qmPr0?`hq(8;kHWEYI@I(V0$rKqDrw0n_>;kxreFUbZ$_mP%E=HRI0 zq96#Sex~bh>Qxa3baie)|B3q;UlGZ#KaocgRAdOgk9pY12%o5iKX*dZ-V5Llnh~jd zzI7r8f6{DCtVW3W3G?R zJi&G+O*gFy%~C93{MTVmwbHa{1FoV?4tbEYJtZjSoKz-!L;QR~gXbr!q4T`-Z|rKg znAeQqt^u;_x0KhqCpL^8DW;1roT_`a=)J4tn^r+3o1Tu>N_8040)?ie)m>qTG`?(pOeMeQRLI_V@<0pOH1G9clKzB7#oMrCD)g?&%2=m*j zx3vCfm4Y5k&(-SAbN!b1(}E8rjw6n5yPc@yXJ42mWV>IC(!NN#jQJx}5hgs>U4>oL z^;|mwIC)?0p|GgTqe47c5tVo_GJgcQUr}Dmd0Jop_K~4XvmQW<%2}J8Yg+Ez*fC44 z=lCPrTRi>{_Fi&sH?qXSK7Z((5C{R@=12IYM!OCo>N3IQJj zWpH~WTs4MDS~d902nppI0;II*7u8n2KIU)5*D{lv@Mokc(x(|YP=2k|tlk!+h*)+t z@7&gm%BDzF-d(g{CJuo{Y*i~6<>}qKtrt1O6=k#) z%5vYb@?l_DhfOV3=padfQ?3AH6IN+cr~>Ov^cqe7L$Sg>Wx{+eU_p zfTyIwWKWeSVfT{bp@90W(tOvBT7H_=X;RsD1!}SL$vMil5vz+#WtFdx%RVk*e>blN z4>|WZC`vb4+H*Sd`7Ve&3h{PAT;tvLLHr9BSW%#FZ#b?)3b>#=Q~L{R$XT}aq;V&6 zFx0c41e9lHF`hQ>{w2l;V-z8a1>Z5FcM8E;l@wKldeU?TM@hgy_R!LexZLn-lZ~+p zCY3rx;?fiMYmy_(y%0o*H>@sn_?Eh3=s_Xjp2(@$pR_Pwo1q+Uft#(t8`sOg`&;*X zkcUNP6)T52$L90ePF7R#dGPV*k@3KD&&xF}w=Rjlk8njp8IF@}{RncYytInChUTVY zvJu9C5CP9G$3g4@(4Hh4F;0_)Lx!0{WcvOAybG`^SPsG(IY==d3^sbg=3I%_2xbhI+Bu!pH8 zApkcy(5%*|N0GqlN^x_`DJaQr1no3JXQ8Rv%C@S-xTeYu$B=3?&Ew|MYB+gpYZK&| zsY}zIwCc))>@h8p0vGsQb}q7hj!J>jW;cZbdvV$iM0kI*IJN_)$I5San$j#^~AhXZ;HO%(kyF z#o4j2$Qa9Dgb)fqqZNQ zlTBnGLW(xeEpD5Ei%9JVt=xvwaQvDV;nQ4q=S+mOtYbU2qo6Ipu+}`DHB@z%zr0YL zBTFPGX5_%XcNRsbtelaHBt)8_qEUg#yhR8TjvZ%tX*?`ZHQk{Na+s#*;K?=RH~Hmj z=c;W%dcD*YetK)_5#P^eajIuM((f^~IQ2kbG3wRFF^k7{U(7!eZ!`1fa*v9sAnZts zgwH}uqRj8`FAI6Op{u2*pZIKGA>N5A7_Q4z*8w@Y?zwLh)m|l&XZj9^u{T*Gh0hnH z3d)KU9AA2V!NhE66CeTNb~4wGYlRfL3a@{q*vKyM6tKOeP`D7kU_BZ#?PjTy*@|_k zhrYB`O^;htW%{tTdrL?TgzBa%?-OeolOaIlmL9^31R@R*;NumP2T8C>?GFYAcOb{h zt*f0x%H!|2N#+z{Z#d!PB*kch!C5R4WFK8L5hGjaotaOo=(6VM8;SKwQ3~la^ck@G z%leDqPSf1dw&U4m0Y0wz6%mYr2*=nPJ}*Hml||}81X@j@w8DROheznObP8<4^MR1< zjv@PU6UK|}QU3@d>omT?t|~u*y1U*ue9Rm(pyknBV}9xPYyr3D2e6Kh#x03^r^fC~ zX~*C7$5{=|L*;o!PzueSQ9TXbW+-^~Y8#u#*iO#O2UB~HVM;D|$^>PO;#EQtdMQBqq&6riQtu}>rH8|vwM)RDf@Fb#%W!DawlF)G?+;uzUSXexn`{4 zLS|MuS=H#&+rwIYawR=w^E2NY_<|st^pY1_A@~DLJ`Lryd34N7LFHYNVE|;>D&Io8R+k6xpq8n*H@}Dd{jvi*e0giF=bT2}y!~t!{fl>y7KdU* zkVKG!h2BC``kvJ=xSR5?pJV*-P57r@@GwA#RFe#f0k%l`^+DO4?a#`(T4b?LI=?sH z0}i}%tjR0Q$8wV{X4K;<|58TCR2khcA^%netKq^VGgADIknYBMA>yklQsO{GwY~JK z#UR{FeIsw9vLl~afjvhW2FABTxDLBQ?22P~S1R#OPLe$Sxm3|*=M*xDUHp&vju$Tl z5T+)C98b%M9*iQQV(fL-@K@ZV`GI!i%`P#YdVuVJnFOr@`)4SkKn|qLe^yNvv*(>1 z3@~jJSX%TW#-PWg!P?yr@@bE2&rL}dTR;(fO&v?%QM3m{NQd_ zxN7_1iZYp>_splBQ#>2Zh-!K(?S9UwMr=ozBvo&RH8*tN5GgMjA8anl;7_}hmeVwl z9Jgv)gLw*e2grdAf6c+;$o;M-LL_l#R>!S zHki2Xb{9jq1b*nxM8UVPVB}n6@D(w)$NgFI?)Wq!mLkIGJ_tc<=Oj@Sdif{zru4lC zv7W5HxzOYkP7q$I#UI5Q)YK*5$hfwB5vUN6$U?h=Ebct{Zp?WorYyK6T!CDm8jrgi z7fKztQYw30Ena6Sf4>K*3`>h+&q@m!cJM17MvI$e_#IZc$HS83@jZRtU8e)3l=YvJo=r|Yghn#y734MQ;oZcF+H?z$+(Ru>3foLhp!o~9#)tL#- zG>7rCN>1ogqFYDjO@&YQ+#0RXN|~ zlN<@>RonUlL~0&s%Ee|Cm@hdOWPbJdl({JVkU}+Ulr9u+jjSEiQ1!%h!BXYe{m05H zhxB=9CAn9S+L9}pEPu{`mXWTb`MYAd^=|T_PMP zoHN`ONNdr|#Hl0hk{|ja&XHM~!OXa9&*nHVIG#a#p+6yQKZA#K8-n@f*DvemXV#BO zq5g_t+&B}H*N}2a)fR`&U%6(^0Ped1t1f%zAK3w##&XvsOt@-q*?TCF-Zk7paI@02 zyhnw-t#`nu&iT0ElFW~tksOF7kuleJH~|36_pz0GSn|@r0I9X$e_#^9S@L|n>|2G%1;w8IHj z19tE7P}Wzsvlo`hX#1UTzXd*o5~w^If{ zs_HGEnj|SZEzunfVQP346v28MXYMakDNqw|sAY~Rmdejq9Oz}%HhB4~aeUdKcKz9J zTI~DAF0E&=ooX3->1ioQJW073qQwx$TLfIWNW@=^QGwok+5vKC=b_&cZIhvjZ@S>0 z(f-g(E1lKwv|57!tr@7rmvvU4NgkGW03^fdg?di8xEz(p_#Nr@gFh- zU-FWaAi?<(44=WjqbzYgB(8Q;Aai*|C*IyirbW zOf6QZXX|pb9fs{Eec<2}P6fm(En4XNJ~ZK2N9Cx9K+dEj4lmW8vkYhfap_)yN~Wt) z!&lK>(b)1T03A5#E|GSBXFl&t)CA-Xq2$d?%wHC{|0kX_}=Z_`_h62Mw|rkyw8& ztfEKdTHPh|F@8?-sfR}^JAMW2q(zt;9}7#a-guL2zgwUR1hLj~}MM~8Z+p>D#FXGux4mFw(TcUT6op0>x>tJd(T#hY9)yz22 z832NjPxg8k+&M-KP4HqAL2N6HpIz-Q`I`__%K}k21*S0%9!q5rC$2tF+&u~!G zme`k2+=<4m5>!y1Y{tG+L0~J8P}#_Eg<4hom{-0Y5w@H=Od(w@MtF@ItjxYmzBTF@ z+63h0Qjq1UjhK-Ve1~YOMh-SeDv3jnTJZ&Kh2)BP?U8Q73AQDuJ72G&Q4|D_o&KgA-fsDZauXq8wW&xi5 zuO=|)UnVf@o(<^tf5KDO?{o{=-`76Zo^#Ivu>Xf>nj7c^_|$mI4Mf5C HR~G$m+hRLC diff --git a/Inventarios/CartaPorteManual.aspx b/Inventarios/CartaPorteManual.aspx index 005b104b9..7f8b36fde 100644 --- a/Inventarios/CartaPorteManual.aspx +++ b/Inventarios/CartaPorteManual.aspx @@ -237,7 +237,7 @@
<%----%> - + diff --git a/Inventarios/CartaPorteManual.aspx.vb b/Inventarios/CartaPorteManual.aspx.vb index 08826db65..8c47ee8c4 100644 --- a/Inventarios/CartaPorteManual.aspx.vb +++ b/Inventarios/CartaPorteManual.aspx.vb @@ -562,7 +562,7 @@ Partial Class Inventarios_CartaPorteManual Dim FechallegadaMM As DateTime = (FechaLlegada.ToString("dd/MM/yyyy") & " 23:59:59").ToDateTime Dim CveEntregaAlmacen As Integer = ObjGral.AddInvEntregaAlmacenRuta(DdlSubProyecto.SelectedValue.ToEntero, CveDireccionOrigen, CveDireccionDestino, -1, DdlChofer.SelectedValue.ToEntero, DdlUnidadCamion.SelectedValue.ToEntero, FechaSalida, FechallegadaMM, "T", "-1", "-1", FechaLlegada, 1, 1, TxtDistancia.Text.ToEntero, - ConfigCartaPorte:=DdlConfigAuto.SelectedValue, CveCamionRemolque1:=DdlRemolque1.SelectedValue.ToEntero, CveCamionRemolque2:=DdlRemolque2.SelectedValue.ToEntero) + CveConfigAutoTransporte:=DdlConfigAuto.SelectedValue.ToEntero, CveCamionRemolque1:=DdlRemolque1.SelectedValue.ToEntero, CveCamionRemolque2:=DdlRemolque2.SelectedValue.ToEntero) If CveEntregaAlmacen > 0 Then @@ -1398,7 +1398,7 @@ Partial Class Inventarios_CartaPorteManual Using ObjInv As New ClsInventarios If ObjInv.GetCamiones(DdlUnidadCamion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 1) Then - DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("ConfigCartaPorte")) + DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("CveConfigAutoTransporte")) DdlConfigAuto_SelectedIndexChanged(Nothing, Nothing) End If @@ -1454,11 +1454,11 @@ Partial Class Inventarios_CartaPorteManual DdlRemolque1.SelectedValueExist(-1) DdlRemolque2.SelectedValueExist(-1) - If DdlConfigAuto.SelectedIndex > 0 Then + If DdlConfigAuto.SelectedValue.ToEntero > 0 Then Using ObjGrales As New ClsGenerales If ObjGrales.GetCartaPorteConfigAutoTransportes() Then - Dim Remolque As String = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" ClaveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue}'") + Dim Remolque As String = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" CveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue}'") If Remolque = "1" Then diff --git a/Inventarios/CatUnidades.aspx b/Inventarios/CatUnidades.aspx index 04ecf1df0..a2d03dac5 100644 --- a/Inventarios/CatUnidades.aspx +++ b/Inventarios/CatUnidades.aspx @@ -31,12 +31,12 @@ - - + @@ -124,7 +124,7 @@
- + diff --git a/Inventarios/CatUnidades.aspx.vb b/Inventarios/CatUnidades.aspx.vb index 25af2d857..7faeba751 100644 --- a/Inventarios/CatUnidades.aspx.vb +++ b/Inventarios/CatUnidades.aspx.vb @@ -125,7 +125,7 @@ Partial Class Inventarios_CatUnidades TxtPlacaNuevo.Text = GvRow.DataKey("Placa") TxtEspecificacionNuevo.Text = GvRow.DataKey("Especificacion") - DdlConfigAuto.SelectedValueExist(GvRow.DataKey("ConfigCartaPorte")) + DdlConfigAuto.SelectedValueExist(GvRow.DataKey("CveConfigAutoTransporte")) TxtAnio.Text = GvRow.DataKey("Anio") DdlTipoPermisoSCT.SelectedValueExist(GvRow.DataKey("CveTipoPermisoSCT")) @@ -197,14 +197,14 @@ Partial Class Inventarios_CatUnidades Using ObjInventarios As New ClsInventarios If CveCamion <= 0 Then - If ObjInventarios.AddCamiones(TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, UsuarioActual.CveEmpresa, DdlConfigAuto.SelectedValue, TxtAnio.Text.ToEntero(), DdlTipoPermisoSCT.SelectedValue.ToEntero(), TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario, + If ObjInventarios.AddCamiones(TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, UsuarioActual.CveEmpresa, DdlConfigAuto.SelectedValue.ToEntero, TxtAnio.Text.ToEntero(), DdlTipoPermisoSCT.SelectedValue.ToEntero(), TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario, TxtNombreAseguradoraMedioAmbiente.Text, TxtNumPolizaSeguroMedioAmbiente.Text, TxtNombreAseguradoraCarga.Text, TxtNumPolizaSeguroCarga.Text, CveTipoCamion, TxtLongitudCaja.Text, TxtLineaTransportacion.Text, TxtSCAC.Text, TxtCAAT.Text, DdlTiposRemolque.SelectedValue.ToEntero(), TxtNumeroTrailer.Text) Then Alert("Unidad agregada correctamente") Else ErrorPrceso = True End If Else - If ObjInventarios.UpdateCamiones(CveCamion, TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, DdlConfigAuto.SelectedValue, TxtAnio.Text.ToEntero(), DdlTipoPermisoSCT.SelectedValue.ToEntero(), TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, + If ObjInventarios.UpdateCamiones(CveCamion, TxtPlacaNuevo.Text, TxtEspecificacionNuevo.Text, DdlConfigAuto.SelectedValue.ToEntero, TxtAnio.Text.ToEntero(), DdlTipoPermisoSCT.SelectedValue.ToEntero(), TxtNumermisoSCT.Text, TxtNombreAseguradora.Text, TxtNumPolizaSeguro.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtNombreAseguradoraMedioAmbiente.Text, TxtNumPolizaSeguroMedioAmbiente.Text, TxtNombreAseguradoraCarga.Text, TxtNumPolizaSeguroCarga.Text, CveTipoCamion, TxtLongitudCaja.Text, TxtLineaTransportacion.Text, TxtSCAC.Text, TxtCAAT.Text, DdlTiposRemolque.SelectedValue.ToEntero(), TxtNumeroTrailer.Text) Then Alert("Unidad actualizada correctamente") Else diff --git a/Inventarios/RepEntregaAlmacenRuta.aspx b/Inventarios/RepEntregaAlmacenRuta.aspx index 99c34b4b8..cf78c0eb9 100644 --- a/Inventarios/RepEntregaAlmacenRuta.aspx +++ b/Inventarios/RepEntregaAlmacenRuta.aspx @@ -99,7 +99,7 @@ " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
@@ -165,7 +165,12 @@ - + + + + + + @@ -216,7 +221,7 @@
<%----%> - + diff --git a/Inventarios/RepEntregaAlmacenRuta.aspx.cs b/Inventarios/RepEntregaAlmacenRuta.aspx.cs index 8a8337a05..563bbfe86 100644 --- a/Inventarios/RepEntregaAlmacenRuta.aspx.cs +++ b/Inventarios/RepEntregaAlmacenRuta.aspx.cs @@ -333,7 +333,7 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas { ClsGenerales ObjGeneral = new ClsGenerales(); - if (ObjGeneral.GetInvEntregaAlmacenRutaRep(DdlSucursales.SelectedValue.ToEntero(),UsuarioActual.CveEmpresa, DdlEstatus.SelectedValue.ToEntero(), TxtFechaI.Text.ToDate(), TxtFechaF.Text.ToDate(), DdlChofer.SelectedValue.ToEntero())) + if (ObjGeneral.GetInvEntregaAlmacenRutaRep(DdlSucursales.SelectedValue.ToEntero(),UsuarioActual.CveEmpresa, DdlEstatus.SelectedValue.ToEntero(), TxtFechaI.Text.ToDate(), TxtFechaF.Text.ToDate(), DdlChofer.SelectedValue.ToEntero(),UsuarioActual.CveUsuario)) { DTDatos = ObjGeneral.DtResultados; GVDatos.DataSource = DTDatos; @@ -370,7 +370,7 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas TxtFechaEntrega.Text = GvRow.DataKey("FechaEntrega").ToDate().ToString("dd/MM/yyyy"); TxtFechaLlegada.Text = GvRow.DataKey("FechaLlegada").ToDate().ToString("dd/MM/yyyy"); TxtDistancia.Text = GvRow.DataKey("Distancia"); - DdlConfigAuto.SelectedValueExist(GvRow.DataKey("ConfigCartaPorte")); + DdlConfigAuto.SelectedValueExist(GvRow.DataKey("CveConfigAutoTransporte")); DdlConfigAuto_SelectedIndexChanged(null, null); if (GvRow.DataKey("CveCamionRemolque1").ToEntero() > 0) @@ -393,17 +393,17 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas ModalActualizaDirecciones( CveTimbre); - //if( CveDireccionOrigen > 0) - //{ - // DVDireccionOrigen.Visible = true; + if (CveDireccionOrigen > 0) + { + DVDireccionOrigen.Visible = true; - // LnkDireccionOrigen.Text = GvRow.DataKey("DireccionOrigen") + " "; - //} - //if (CveDireccionDestino > 0) - //{ - // DVDireccionDestino.Visible = true; - // LnkDireccionDestino.Text = GvRow.DataKey("Direccion") + " "; - //} + LnkDireccionOrigen.Text = GvRow.DataKey("DireccionOrigen") + " "; + } + if (CveDireccionDestino > 0) + { + DVDireccionDestino.Visible = true; + LnkDireccionDestino.Text = GvRow.DataKey("Direccion") + " "; + } UpModalEditarentrega.Update(); @@ -586,8 +586,8 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas ClsGenerales ObjGral = new ClsGenerales(); if(!ObjGral.UpdateInvEntregaAlmacenRuta(CveEntregaAlmacen,-1,-1, DdlModalChofer.SelectedValue.ToEntero(), DdlModalCamion.SelectedValue.ToEntero(), TxtFechaEntrega.Text.ToDate(), UsuarioActual.CveEmpresa, - TxtFechaLlegada.Text.ToDate(), CveCamionRemolque1: DdlRemolque1.SelectedValue.ToEntero(), CveCamionRemolque2: DdlRemolque2.SelectedValue.ToEntero(), Distancia: TxtDistancia.Text.ToEntero(), - ConfigCartaPorte: DdlConfigAuto.SelectedValue)) + TxtFechaLlegada.Text.ToDate(), CveCamionRemolque1: DdlRemolque1.SelectedValue.ToEntero(), CveCamionRemolque2: DdlRemolque2.SelectedValue.ToEntero(), Distancia: TxtDistancia.Text.ToEntero(), + CveConfigAutoTransporte: DdlConfigAuto.SelectedValue.ToEntero())) { ProcesoOK = false; } @@ -651,7 +651,7 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas e.Row.FCHyperLink("HplPDF").NavigateUrl = "/Compras/PopUpVerFactura.aspx?P=" + Extensiones.ModExtensiones.Encripta(String.Format("OP=CARPO&CVETIMBRE={0}", e.Row.DataKey("CveTimbre"))); } - //string ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, e.Row.DataKey("TimbreTipoDocto"), e.Row.DataKey("SerieFolio")); + string ArchivoXML = String.Format("{0}/XML/{1}/{2}.xml", UsuarioActual.Empresa.Ruta, e.Row.DataKey("TimbreTipoDocto"), e.Row.DataKey("SerieFolio")); //if (File.Exists(ArchivoXML)) //{ @@ -661,7 +661,9 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas } else { - e.Row.Cells[11].Text = ""; + //e.Row.Cells[11].Text = ""; + e.Row.Cells[12].Text = ""; + e.Row.Cells[13].Text = ""; } if (e.Row.DataKey("Estatus").ToEntero() == 2) @@ -733,7 +735,7 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas { if (ObjInv.GetCamiones(DdlModalCamion.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, 1)) { - DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("ConfigCartaPorte")); + DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("CveConfigAutoTransporte")); DdlConfigAuto_SelectedIndexChanged(null, null); } } @@ -789,13 +791,13 @@ public partial class General_RepEntregaAlmacenRuta : ClsPaginas DdlRemolque1.SelectedValueExist(-1); DdlRemolque2.SelectedValueExist(-1); - if (DdlConfigAuto.SelectedIndex > 0) + if (DdlConfigAuto.SelectedValue.ToEntero() > 0) { using (ClsGenerales ObjGrales = new ClsGenerales()) { if (ObjGrales.GetCartaPorteConfigAutoTransportes()) { - string Remolque = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" ClaveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue}'"); + string Remolque = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" CveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue.ToEntero()}'"); if (Remolque == "1") diff --git a/Inventarios/TraspasoAlmacen.aspx b/Inventarios/TraspasoAlmacen.aspx index 9a2231966..dc13d3ed7 100644 --- a/Inventarios/TraspasoAlmacen.aspx +++ b/Inventarios/TraspasoAlmacen.aspx @@ -234,7 +234,7 @@
<%----%> - + diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 04ceface6..93b8d5dc5 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -1237,7 +1237,7 @@ Partial Class Inventarios_TraspasoAlmacen Dim Fechallegada As DateTime = (TxtFechaLlegada.Text & " 23:59:59").ToDateTime Dim CveEntregaAlmacen As Integer = ObjGral.AddInvEntregaAlmacenRuta(CveSubProyectoTimbre, -1, -1, CveMovimientoSalida, DdlChofer.SelectedValue.ToEntero, DdlUnidadCamion.SelectedValue.ToEntero, TxtFechaEntrega.Text.ToDate, TxtFechaLlegada.Text.ToDate, "T", "", "", MinFecha, 1, 1, TxtDistancia.Text.ToEntero, - ConfigCartaPorte:=DdlConfigAuto.SelectedValue, CveCamionRemolque1:=DdlRemolque1.SelectedValue.ToEntero, CveCamionRemolque2:=DdlRemolque2.SelectedValue.ToEntero) + CveConfigAutoTransporte:=DdlConfigAuto.SelectedValue.ToEntero, CveCamionRemolque1:=DdlRemolque1.SelectedValue.ToEntero, CveCamionRemolque2:=DdlRemolque2.SelectedValue.ToEntero) If CveEntregaAlmacen > 0 Then CveTimbre = ObjGral.AddGralTimbre("Tra", CveSubProyectoTimbre, TxtFechaEntrega.Text.ToDate, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEntregaAlmacen:=CveEntregaAlmacen, AplicaCP:=ChkEmitirCartaPorte.Checked) @@ -3188,7 +3188,7 @@ Partial Class Inventarios_TraspasoAlmacen Using ObjInv As New ClsInventarios If ObjInv.GetCamiones(DdlUnidadCamion.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, 1) Then - DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("ConfigCartaPorte")) + DdlConfigAuto.SelectedValueExist(ObjInv.DtResultados.FiltroPrimeroValor("CveConfigAutoTransporte")) DdlConfigAuto_SelectedIndexChanged(Nothing, Nothing) End If @@ -3244,11 +3244,11 @@ Partial Class Inventarios_TraspasoAlmacen DdlRemolque1.SelectedValueExist(-1) DdlRemolque2.SelectedValueExist(-1) - If DdlConfigAuto.SelectedIndex > 0 Then + If DdlConfigAuto.SelectedValue.ToEntero > 0 Then Using ObjGrales As New ClsGenerales If ObjGrales.GetCartaPorteConfigAutoTransportes() Then - Dim Remolque As String = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" ClaveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue}'") + Dim Remolque As String = ObjGrales.DtResultados.FiltroPrimeroValor("Remolque", $" CveConfigAutoTransporte ='{DdlConfigAuto.SelectedValue.ToEntero}'") If Remolque = "1" Then