From eeca85e735d38fd706ee459bfa0d3417b5315056 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 5 Jan 2024 17:37:42 -0700 Subject: [PATCH 01/19] -- aumentado columnas de precios de lista --- Ventas/ActualizarPrecios.aspx | 120 ++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/Ventas/ActualizarPrecios.aspx b/Ventas/ActualizarPrecios.aspx index 94ae5bc3e..a178af956 100644 --- a/Ventas/ActualizarPrecios.aspx +++ b/Ventas/ActualizarPrecios.aspx @@ -486,6 +486,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 39ae963b48a7c71bba1a522949b09ba63991555d Mon Sep 17 00:00:00 2001 From: rakcsle Date: Sat, 6 Jan 2024 11:47:47 -0700 Subject: [PATCH 02/19] SMS - 2023.01.05 Ventas Modal Ddl Clientes Sucursales --- App_Code/ClsClientes.vb | 18 ++ App_Code/ClsPaginas.vb | 2 +- App_Code/ClsVentas.vb | 4 +- Compras/PopUpVerFactura.aspx.vb | 1 + OS/RepOSMedicas.aspx | 8 +- Ventas/Ventas.aspx | 30 ++-- Ventas/Ventas.aspx.vb | 297 +++++++++++++++++++------------- 7 files changed, 220 insertions(+), 140 deletions(-) diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb index 60f56f1b0..dbc607331 100644 --- a/App_Code/ClsClientes.vb +++ b/App_Code/ClsClientes.vb @@ -954,6 +954,24 @@ Public Class ClsClientes End Try Return Retorno End Function + Public Function GetClienteSucursales(CveCliente As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Vta_ClienteSucursalesGet") + SqlAdapter.SelectCommand.Parameters.Add("@CveCliente", SqlDbType.Int).Value = CveCliente + SqlAdapter.SelectCommand.Parameters.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener el las Sucursales del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + + Public Function GetSucursales(CveCliente As Integer, Optional CveClienteSucursal As Integer = -1) As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 44a04bf0a..b2b9a8172 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5885,7 +5885,7 @@ Public Class ClsPaginas params.Add(New ReportParameter("Documentacion", Vta.Cliente.Documentacion)) params.Add(New ReportParameter("Medico", Vta.Medico)) params.Add(New ReportParameter("Procedimiento", Vta.Procedimiento)) - params.Add(New ReportParameter("FechaCirugia", Vta.Alfa1.ToDateTime.ToString("dd/MM/yyyy hh:mm"))) + params.Add(New ReportParameter("FechaCirugia", Vta.FechaEjecucion.ToString("dd/MM/yyyy hh:mm"))) End If RutaFormato = String.Format("{0}Formatos\{1}.rdlc", UsuarioActual.Empresa.Ruta, NombreArchivo) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 645ca383a..08e1b50ed 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -406,7 +406,7 @@ Public Class ClsVentas End Function Public Function AddVenta(TipoDocto As String, FolioFact As Integer, CveCliente As Integer, CveClienteSucursal As Integer, SubTotal As Double, Descuento As Double, Amortizacion As Double, IVA As Double, RetIVA As Double, RetISR As Double, Total As Double, - CveMoneda As Integer, TipoCambio As Double, CveMetodoPago As Integer, CondicionesPago As Integer, FormaPago As Integer, FechaVencimiento As DateTime, Fecha As DateTime, MotivoDescuento As String, Observaciones As String, FechaEjecucion As Date, + CveMoneda As Integer, TipoCambio As Double, CveMetodoPago As Integer, CondicionesPago As Integer, FormaPago As Integer, FechaVencimiento As DateTime, Fecha As DateTime, MotivoDescuento As String, Observaciones As String, FechaEjecucion As DateTime, CveVendedor As Integer, Alfa1 As String, Alfa2 As String, Alfa3 As String, Num1 As Double, Num2 As Double, Num3 As Double, Fech1 As Date, Fech2 As Date, Fech3 As Date, CveCorte As Integer, NumeroPersonas As Integer, CvePrePoliza As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional Propina As Double = -1, Optional CveVentaTerminal As Integer = -1, Optional AtencionA As String = "-1", Optional CveContrato As Integer = -1, @@ -448,7 +448,7 @@ Public Class ClsVentas .Add("@Fecha", SqlDbType.DateTime).Value = Fecha .Add("@MotivoDescuento", SqlDbType.VarChar).Value = MotivoDescuento .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones - .Add("@FechaEjecucion", SqlDbType.Date).Value = FechaEjecucion + .Add("@FechaEjecucion", SqlDbType.DateTime).Value = FechaEjecucion .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@Alfa1", SqlDbType.VarChar).Value = Alfa1 .Add("@Alfa2", SqlDbType.VarChar).Value = Alfa2 diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 3740153c9..868b5c508 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -3087,6 +3087,7 @@ Partial Class PopUpVerFactura Vta.Medico = dtVentas(0)("Medico").ToString Vta.Procedimiento = dtVentas(0)("Procedimiento").ToString Vta.Alfa1 = dtVentas(0)("Alfa1").ToString + Vta.FechaEjecucion = dtVentas(0)("FechaEjecucion").ToString.ToDateTime Vta.RefDocto = dtVentas(0)("Ref").ToString Vta.CveVenta = dtVentas(0)("CveVenta").ToString.ToEntero diff --git a/OS/RepOSMedicas.aspx b/OS/RepOSMedicas.aspx index 4b9799620..9e6ae0e94 100644 --- a/OS/RepOSMedicas.aspx +++ b/OS/RepOSMedicas.aspx @@ -171,7 +171,7 @@ <%--1--%> <%--2--%> - + <%--3--%> <%--4--%> @@ -196,10 +196,4 @@ - - - - - - diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 303337546..dc0a3826e 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -8415,19 +8415,35 @@ - <%--Cliente--%> + <%--Cliente Sucursales --%>
+
+
+ + + + + Hospital: +
+
+
+ + + <%--Cliente--%> + <%--
Hospital:
-
+ --%> <%--Sucursales--%> -
+ <%--
@@ -8437,8 +8453,7 @@ Sucursal:
- -
+
--%> <%--Medico Procedimiento--%> @@ -8511,11 +8526,6 @@ - - - - - - - - <%-- Marcar el Cliente como Frecuente --%> -
-
-
-
- - Registrar -
-
-
-
-
-
-
-
- - - - -
- -
-
-
-
-
- +
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 81da4b84e..60219d322 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -1753,7 +1753,6 @@ Partial Class Clientes 'DivPortletBitacora.Visible = False BtnEliminar.Visible = False - DivProtletRegistrar.Visible = True End If TxtCorreoEntregaCompras.Text = ObjClientes.DtResultados(0)("CorreoEntregaCompras").ToString() @@ -5847,19 +5846,8 @@ Partial Class Clientes Catch ex As Exception OnError("Ocurrió error al mandar MAIL", ex) End Try - End Sub - - Private Sub BtnRegistrarCliente_Click(sender As Object, e As EventArgs) Handles BtnRegistrarCliente.Click - Dim ObjClientes As New ClsClientes - - If ObjClientes.RegistrarCliente(CveCliente) Then - RegistraScript("location.reload();") - End If - - ObjClientes.Dispose() End Sub - #End Region #Region "C O N T R A T O S" From b01f85b07118dbb8229bbf19247fa7192b37e968 Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Sun, 7 Jan 2024 13:30:52 -0700 Subject: [PATCH 04/19] cambios en finiquito y SBC --- Nomina/Finiquito.aspx | 19 +++++++++++++++++++ Nomina/Finiquito.aspx.cs | 5 +++-- RH/CalculoSBC.aspx.cs | 7 +++++++ RH/Personal.aspx.vb | 12 +++++++++++- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Nomina/Finiquito.aspx b/Nomina/Finiquito.aspx index cf5670537..f7c647ca5 100644 --- a/Nomina/Finiquito.aspx +++ b/Nomina/Finiquito.aspx @@ -307,6 +307,25 @@
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+
+
Conceptos a incluir
diff --git a/Nomina/Finiquito.aspx.cs b/Nomina/Finiquito.aspx.cs index 266ec3e36..d1381fe2a 100644 --- a/Nomina/Finiquito.aspx.cs +++ b/Nomina/Finiquito.aspx.cs @@ -803,14 +803,15 @@ public partial class Nomina_Finiquito : ClsPaginas } else { continuar = false; } if (continuar) { continuar = validaAutorizado(onom); } - if (continuar) + if (continuar && (continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero()))) { - continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero()); if (onom.DtResultados.Rows.Count > 0) { DataRow drow = onom.DtResultados.Rows[0]; LnkShowFfiniquito.Text = string.Format("{0:##,###,###.00##}", drow["SalarioBC"]); + TxtDiasVacaciones.Text = string.Format("{0:##,###,###.00##}", drow["dvacporcentaje"]); + TxtDiasAguinaldo.Text = string.Format("{0:##,###,###.00##}", drow["dAguinaldo"]); LtlSFSDI.Text = string.Format("
{0:##,###,###.00##}
", drow["SDI"]); LtlSFDias.Text = string.Format("
{0:##,###,###}
", drow["diasMesAnterior"]); LtlSFPercepciones.Text = string.Format("
{0:##,###,###.00##}
", drow["TotalPercepciones"]); diff --git a/RH/CalculoSBC.aspx.cs b/RH/CalculoSBC.aspx.cs index 0e9ba31cc..5d836103a 100644 --- a/RH/CalculoSBC.aspx.cs +++ b/RH/CalculoSBC.aspx.cs @@ -85,8 +85,10 @@ public partial class RH_CalculoSBC : ClsPaginas string SuaFiletext = System.IO.File.ReadAllText(fileurl, Encoding.GetEncoding("iso-8859-1")); using (ClsNominas ObjPersonal = new ClsNominas()) { + ObjPersonal.IniciaTransacSQL(); if (ObjPersonal.ProcesarSUA(SuaFiletext, UsuarioActual.CveEmpresa)) { + ObjPersonal.Commit(); if (ObjPersonal.DTSetResultados.Tables.Count > 4) { DateTime dateperiodo; @@ -96,6 +98,11 @@ public partial class RH_CalculoSBC : ClsPaginas GVProcesarSUA.DataSource = ObjPersonal.DTSetResultados.Tables[3]; } } + else + { + ObjPersonal.RollBack(); + + } } } diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 7395a49c5..666f3b450 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -6972,7 +6972,10 @@ Partial Class RH_Personal calcularSDI() Using ObjPersonal As ClsRH = New ClsRH() + ObjPersonal.IniciaTransacSQL() + If ObjPersonal.UpdateSalariointegrado(CvePersonal, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtFISalarioDiarioIntegrado.Text.ToDouble(), TxtFISalariodiario.Text.ToDouble) Then + ObjPersonal.Commit() TxtSalarioDiario.Text = TxtFISalariodiario.Text TxtSalarioDiarioM.Text = TxtFISalariodiario.Text TxtSalarioCotizado.Text = TxtFISalarioDiarioIntegrado.Text @@ -6980,8 +6983,10 @@ Partial Class RH_Personal TxtSalarioDiarioIntegrado.Text = TxtFISalarioDiarioIntegrado.Text TxtSDI.Text = TxtFISalarioDiarioIntegrado.Text UpDatos.Update() - Alert("Se ha actualizado el salario diario integreado") + Alert("Se ha actualizado el salario diario integrado") RegistraScript("$('#DmodalFactordeIntegraccion').modal('hide')") + Else + ObjPersonal.RollBack() End If End Using End Sub @@ -7002,9 +7007,12 @@ Partial Class RH_Personal TxtSalarioDiarioImSS.Text = (TxtFISalarioDiarioIntegrado.Text.ToDecimal() + salarioVariable).ToString() TxtSalarioDiarioIntegrado.Text = TxtFISalarioDiarioIntegrado.Text Using ObjPersonal As ClsRH = New ClsRH() + ObjPersonal.IniciaTransacSQL() If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtSalarioDiarioM.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtSalarioDiarioImSS.Text.ToDecimal(), TxtSalarioDiarioM.Text.ToDecimal()) Then + ObjPersonal.Commit() + TxtSalarioDiario.Text = TxtSalarioDiarioM.Text TxtFISalariodiario.Text = TxtSalarioDiarioM.Text TxtSalarioCotizado.Text = TxtSalarioDiarioImSS.Text @@ -7014,6 +7022,8 @@ Partial Class RH_Personal UpModSalario.Update() UpDatos.Update() Alert("Se ha actualizado el salario", TipoMensaje.ToastInformacion) + Else + ObjPersonal.RollBack() End If End Using From 6704d38b9903a295dd4fbbaa16f230977b1e19d4 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 08:28:56 -0700 Subject: [PATCH 05/19] - longitud del usuario --- Ventas/Ventas.aspx.vb | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 5a7f08614..0fe7531bd 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5194,7 +5194,7 @@ Partial Class Ventas HdnTotalVenta.Value = DbRowVenta("Total").ToString().FormatoNumero(2) TxtMotivoDescuento.Text = DbRowVenta("MotivoDescuento").ToString() TxtObsFact.Text = DbRowVenta("Observaciones").ToString() - LblUsuario.Text = DbRowVenta("Nombre").ToString() + LblUsuario.Text = DbRowVenta("Nombre").ToString().Substring(0, If(DbRowVenta("Nombre").ToString.Length > 30, 30, DbRowVenta("Nombre").ToString.Length)) LblFechaRegistro.Text = DbRowVenta("FechaIng").ToString().ToDate.ToShortDateString LblSeTimbro.Text = DbRowVenta("SeTimbro").ToString() LblMail.Text = DbRowVenta("EnvioMail").ToString() @@ -26187,7 +26187,26 @@ Partial Class Ventas #Region " SALDAR VENTA " Protected Sub BtnSaldarVenta_Click(sender As Object, e As EventArgs) - SaldarVenta() + 'SaldarVenta() + + Dim ObjCancelacion As New Timbrado + + Dim FolioFiscal As String = LblFolioFiscal.Text + Dim RFCEmisor As String = UsuarioActual.Empresa.RFC + Dim RFCReceptor As String = LblRFC.Text + Dim CvePACCancelacion As Integer = 4 + + + Dim RespCancelacion As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TxtTotal.Text.ToDecimal, RFCReceptor, RFCEmisor, CvePACCancelacion, CveSATMotivoCancelacion:=3) + + If RespCancelacion.Verificado Then + + + + Else + Alert("Los servicios de cancelación del SAT no se encuentran disponibles o presentan time out. Intente de nuevo en unos minutos.
Origen del error: WebService www.sat.gob.mx", TipoMensaje.MsgError) + End If + End Sub Private Sub SaldarVenta() 'Dim ObjVenta As New ClsVentas From 6769d82e23a96e925e6fcbcd200ef4b4c9b960ba Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 11:05:29 -0700 Subject: [PATCH 06/19] =?UTF-8?q?-=20nuevo=20m=C3=A9todo=20SubString?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/modExtensiones.vb | 4 ++++ Ventas/Ventas.aspx.vb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index d79ec8554..cdc3e0a1b 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -821,6 +821,10 @@ Namespace Extensiones End If Return Tmp End Function + + Public Function SubStringADS(Str As String, Longitud As Integer) As String + Return Str.Substring(0, If(Str.Length > 30, 30, Str.Length)) + End Function Public Function Texto2Letras(ByVal Importe As Decimal, Optional CveMoneda As Integer = 1) As String diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 0fe7531bd..a92e64d81 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5194,7 +5194,7 @@ Partial Class Ventas HdnTotalVenta.Value = DbRowVenta("Total").ToString().FormatoNumero(2) TxtMotivoDescuento.Text = DbRowVenta("MotivoDescuento").ToString() TxtObsFact.Text = DbRowVenta("Observaciones").ToString() - LblUsuario.Text = DbRowVenta("Nombre").ToString().Substring(0, If(DbRowVenta("Nombre").ToString.Length > 30, 30, DbRowVenta("Nombre").ToString.Length)) + LblUsuario.Text = DbRowVenta("Nombre").ToString().SubStringADS(30) LblFechaRegistro.Text = DbRowVenta("FechaIng").ToString().ToDate.ToShortDateString LblSeTimbro.Text = DbRowVenta("SeTimbro").ToString() LblMail.Text = DbRowVenta("EnvioMail").ToString() From b92fede0e352c227b1ce49e00dc6b66701355df9 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 11:08:22 -0700 Subject: [PATCH 07/19] - --- App_Code/Modelos.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 100ca0f8b..ec1b61e57 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -7563,7 +7563,7 @@ Namespace Modelos Public Property CveVendedor As Integer = 0 Public Property VendedorCodigo As String = "" Public Property CveSucursalEjecucion As Integer - Public Property FechaEjecucion As Date + Public Property FechaEjecucion As DateTime Public Property CveSucursalCobranza As Integer Public Property CveSubProyectoCobranza As Integer From b24ad9f94dfb78dd95fa18dcc74c6601b7e04e4b Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 11:09:04 -0700 Subject: [PATCH 08/19] - --- App_Code/modExtensiones.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index cdc3e0a1b..120c31636 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -823,7 +823,7 @@ Namespace Extensiones End Function Public Function SubStringADS(Str As String, Longitud As Integer) As String - Return Str.Substring(0, If(Str.Length > 30, 30, Str.Length)) + Return Str.Substring(0, If(Str.Length > Longitud, Longitud, Str.Length)) End Function From 937902c363054c913b670d253f4615ab770a226f Mon Sep 17 00:00:00 2001 From: AbrahamCastilloV Date: Mon, 8 Jan 2024 13:58:21 -0700 Subject: [PATCH 09/19] =?UTF-8?q?-Se=20agreg=C3=B3=20el=20formato=20para?= =?UTF-8?q?=20impresi=C3=B3n=20de=20boletos,=20se=20cambiaron=20las=20clav?= =?UTF-8?q?es=20en=20ClsPaginas=20para=20/Transportes=20y=20se=20agregaron?= =?UTF-8?q?=20el=20nombre=20de=20la=20ruta=20a=20la=20CveRuta=20en=20lista?= =?UTF-8?q?do=20de=20boletos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsPaginas.vb | 6 +- Empresas/188/Formatos/Boleto.mrt | 1155 ++++++++++++++++++++++++++++ Transportes/ListadoBoletos.aspx | 34 +- Transportes/ListadoBoletos.aspx.vb | 40 + Transportes/ListadoViajes.aspx.vb | 14 +- 5 files changed, 1236 insertions(+), 13 deletions(-) create mode 100644 Empresas/188/Formatos/Boleto.mrt diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index b2b9a8172..9b038ba79 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9583,9 +9583,9 @@ Public Class ClsPaginas #Region "Transportes" PaginaDict.Add("/Transportes/ListadoContratos.aspx".ToUpper(), 598) - PaginaDict.Add("/Transportes/ListadoViajes.aspx".ToUpper(), 598) - PaginaDict.Add("/Transportes/Boletos.aspx".ToUpper(), 598) - PaginaDict.Add("/Transportes/ListadoBoletos.aspx".ToUpper(), 598) + PaginaDict.Add("/Transportes/ListadoViajes.aspx".ToUpper(), 599) + PaginaDict.Add("/Transportes/ListadoBoletos.aspx".ToUpper(), 600) + PaginaDict.Add("/Transportes/Boletos.aspx".ToUpper(), 601) #End Region 'Antes de aquí. diff --git a/Empresas/188/Formatos/Boleto.mrt b/Empresas/188/Formatos/Boleto.mrt new file mode 100644 index 000000000..77ad4fef0 --- /dev/null +++ b/Empresas/188/Formatos/Boleto.mrt @@ -0,0 +1,1155 @@ + + + Interpretation + + + + + + + + + ReportParameters + ReportParameters,Ruta,Ruta,,System.String,RUTA_x0020_101_x0020_VIA_x0020_SAN_x0020_FRANCISCO,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,_x0037_f0f80c11ace4980af534dea0e66ae04 + ReportParameters,Origen,Origen,,System.String,GUAYMAS_x0020_SON,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,_x0039_e9facc30b104f86b1e310401529dae5 + ReportParameters,Destino,Destino,,System.String,NAPA_x0020_101,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,c10a083d19ff438aaf2166b8875ae769 + ReportParameters,FechaSalida,FechaSalida,,System.String,_x0032_024-01-03,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,_x0033_a01d4856a0f4f379f5dceff384f582e + ReportParameters,HoraSalida,HoraSalida,,System.String,_x0031_7:00,False,False,False,False,,_x0038_dc813ab476543688554b291a9de132d + ReportParameters,Asiento,Asiento,,System.String,_x0034_4,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,b3bc9f2902964064bbe83f38e0ca7de2 + ReportParameters,Nombre,Nombre,,System.String,José_x0020_Manuel_x0020_Méndez_x0020_Jr.,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,_x0038_f7d3778d21040f5904a142bc66e56c1 + ReportParameters,Visa,Visa,,System.String,_x0030_8_x002F_22_x002F_2022,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,b491315f90ef44f8895d4e835adf914a + ReportParameters,Agencia,Agencia,,System.String,Lolys_x0020_Travel,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_ + ReportParameters,TelefonoAgencia,TelefonoAgencia,,System.String,_x0033_2232,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_ + ReportParameters,Celular,Celular,,System.String,_x0039_526422037,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_,_x0034_ed4e36d5bab4f9e8e2929348b73f345 + ReportParameters,Importe,Importe,,System.String,_x0031_70,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_ + ReportParameters,TipoBoleto,TipoBoleto,,System.String,Tercera_x0020_Edad,False,False,True,False,_x003C__x003F_xml_x0020_version_x003D__x0022_1.0_x0022__x0020_encoding_x003D__x0022_utf-16_x0022__x0020_standalone_x003D__x0022_yes_x0022__x003F__x003E__x003C_StiSerializer_x0020_version_x003D__x0022_1.02_x0022__x0020_type_x003D__x0022_Net_x0022__x0020_application_x003D__x0022_State_x0022__x003E__x003C_SortDirection_x003E_None_x003C__x002F_SortDirection_x003E__x003C_BindingVariable_x0020_isNull_x003D__x0022_true_x0022__x0020__x002F__x003E__x003C_Keys_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_Values_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C_CheckedStates_x0020_isList_x003D__x0022_true_x0022__x0020_count_x003D__x0022_0_x0022__x0020__x002F__x003E__x003C__x002F_StiSerializer_x003E_ + + + EngineV2 + + 6a55c916841c4d578ddd9762afe67ae2 + + + + None;Black;2;Solid;False;4;Black + Transparent + + + Transparent + 0.4,1.4,5.4,2.6 + + + Right + 68, 114, 196 + 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 + 0,0,0,0 + Image1 + + + Center + + + Bottom;[191:191:191];1;Solid;False;4;Black + Transparent + 0,0,19,1.4 + + + Sans Serif Collection,20 + 0,0,0,0 + Text2 + + + Reimpresión del Boleto + [63:63:63] + Expression + + + Transparent + 6,1.8,1.2,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text3 + + + Ruta: + [63:63:63] + Expression + Center + + + Transparent + 6,3.8,1.2,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text1 + + + Destino: + [63:63:63] + Expression + Center + + + Transparent + 6,2.8,1.2,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text4 + + + Origen: + [63:63:63] + Expression + Center + + + Transparent + 11,1.8,1.8,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text5 + + + Fecha Salida: + [63:63:63] + Expression + Center + + + Transparent + 11,2.8,1.8,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text6 + + + Hora Salida: + [63:63:63] + Expression + Center + + + Transparent + 1.4,4.8,2.4,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text7 + + + Nombre: + [63:63:63] + Expression + Center + + + Transparent + 1.4,6.8,2.4,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text8 + + + Agencia: + [63:63:63] + Expression + Center + + + Transparent + 1.4,5.8,2.4,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text9 + + + Visa: + [63:63:63] + Expression + Center + + + Transparent + 11,5.8,1.8,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text10 + + + Teléfono: + [63:63:63] + Expression + Center + + + Transparent + 1.4,7.8,2.4,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text11 + + + Teléfono Agencia: + [63:63:63] + Expression + Center + + + Transparent + 11,6.8,1.8,0.6 + + + Sans Serif Collection,7,Bold + Right + 0,0,0,0 + Text12 + + + Tipo Boleto: + [63:63:63] + Expression + Center + + + Transparent + 0.4,9.2,2.8,0.6 + + + Sans Serif Collection,8,Bold + 0,0,0,0 + Text13 + + + Condiciones: + [63:63:63] + Expression + Center + + + Transparent + 0.4,9.8,9.2,0.4 + + + Sans Serif Collection,7 + 0,0,0,0 + Text14 + + + - 100 libras por persona. + [63:63:63] + Expression + Center + + + Transparent + 0.4,10.2,9.2,0.4 + + + Sans Serif Collection,7 + 0,0,0,0 + Text15 + + + - Exceso de equipaje genera costo extra. + [63:63:63] + Expression + Center + + + Transparent + 0.4,10.6,9.2,0.4 + + + Sans Serif Collection,7 + 0,0,0,0 + Text16 + + + - No cajas / No mascotas / No cubetas con cualquier tipo de líquido. + [63:63:63] + Expression + Center + + + Transparent + 0.4,11,2.8,0.4 + + + Sans Serif Collection,7 + 0,0,0,0 + Text17 + + + - No armas. + [63:63:63] + Expression + Center + + + Transparent + 15.8,1.8,2.8,0.6 + + + Sans Serif Collection,7,Bold + Center + 0,0,0,0 + Text18 + + + Número Asiento + [63:63:63] + Expression + Center + + + Transparent + 15.8,4.8,2.8,0.6 + + + Sans Serif Collection,7,Bold + Center + 0,0,0,0 + Text19 + + + Costo Boleto + [63:63:63] + Expression + Center + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 7.2,1.8,3.6,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape1 + + + + 0.2 + + {Ruta} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 7.2,2.8,3.6,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape2 + + + + 0.2 + + {Origen} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 7.2,3.8,3.6,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape3 + + + + 0.2 + + {Destino} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 12.8,1.8,2.8,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape4 + + + + 0.2 + + {FechaSalida} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 12.8,2.8,2.8,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape5 + + + + 0.2 + + {HoraSalida} + + + Transparent + 15.8,2.4,2.8,2 + + + Sans Serif Collection,26,Bold + Center + 0,0,0,0 + Text20 + + + {Asiento} + [63:63:63] + Expression + Center + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 3.8,4.8,11.8,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape6 + + + + 0.2 + + {Nombre} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 3.8,5.8,7,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape7 + + + + 0.2 + + {Visa} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 3.8,6.8,7,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape8 + + + + 0.2 + + {Agencia} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 3.8,7.8,7,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape9 + + + + 0.2 + + {TelefonoAgencia} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 12.8,5.8,2.8,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape10 + + + + 0.2 + + {Celular} + + + 216, 216, 216 + 191, 191, 191 + [216:216:216] + 12.8,6.8,2.8,0.6 + + + Sans Serif Collection,6 + 63, 63, 63 + Left + 0,0,0,0 + Shape11 + + + + 0.2 + + {TipoBoleto} + + + Transparent + 15.8,5.4,2.8,2 + + + Sans Serif Collection,26,Bold + Center + 0,0,0,0 + Text21 + + + ${Importe} + [63:63:63] + Expression + Center + + + + + 50b6bbee170e454fbbd54dc519e40c28 + 1,1,1,1 + Page1 + 29.7 + 21 + + + + + System.Dll + System.Drawing.Dll + System.Windows.Forms.Dll + System.Data.Dll + System.Xml.Dll + Stimulsoft.Controls.Dll + Stimulsoft.Base.Dll + Stimulsoft.Report.Dll + + Report + jesus moreno quintana + 1/8/2024 12:08:07 PM + 1/8/2024 11:08:51 AM + C:\inetpub\WWWSIGIT\Empresas\188\Formatos\Boleto.mrt + 8a0ed87b2c1746c486241406fa90a841 + Report + Centimeters + 2023.3.2.0 + + CSharp + + \ No newline at end of file diff --git a/Transportes/ListadoBoletos.aspx b/Transportes/ListadoBoletos.aspx index e855b1030..f178089be 100644 --- a/Transportes/ListadoBoletos.aspx +++ b/Transportes/ListadoBoletos.aspx @@ -19,7 +19,6 @@ -
" style="display: inline-block; margin-right: -10px; width: 150px;" /> @@ -27,12 +26,13 @@ style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
+
- + data-sort="true" DataKeyNames="Asiento,Nombre, Visa,Celular,Sexo,Estatus,Partida,Destino, Importe"> + @@ -71,17 +71,35 @@ + + + + + + + + + + + + + + + + + - + - + diff --git a/Transportes/ListadoBoletos.aspx.vb b/Transportes/ListadoBoletos.aspx.vb index 96899cc76..24a41e814 100644 --- a/Transportes/ListadoBoletos.aspx.vb +++ b/Transportes/ListadoBoletos.aspx.vb @@ -1,8 +1,11 @@ Option Explicit On Option Strict On +Imports System.Data Imports ADSNetLibrary.Helpers Imports ADSNetLibrary.SIGAPI.Helpers Imports Extensiones.ModExtensiones +Imports Microsoft.Reporting.WebForms + Partial Class ListadoBoletos Inherits ClsPaginas @@ -14,12 +17,23 @@ Partial Class ListadoBoletos ViewState("CveViaje") = value End Set End Property + Private Property Ruta As String + Get + Return ViewState("Ruta").ToString() + End Get + Set(value As String) + ViewState("Ruta") = value + End Set + End Property Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Not IsPostBack Then If Request.QueryString("CveViaje") Is Nothing Then Response.Redirect("/Transportes/ListadoViajes.aspx") End If CveViaje = Request.QueryString("CveViaje").ToEntero + Ruta = Request.QueryString("Ruta") + + Prueba.Text = Ruta InicializaCombos() CargaDatos() @@ -71,4 +85,30 @@ Partial Class ListadoBoletos End Sub + Protected Sub ImprimirBoleto(sender As Object, e As EventArgs) + Dim dtResult As New DataTable() + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + + Dim params As New List(Of ReportParameter) + + params.Add(New ReportParameter("Ruta", Ruta)) + params.Add(New ReportParameter("Origen", GvRow.DataKey("Partida"))) + params.Add(New ReportParameter("Destino", GvRow.DataKey("Destino"))) + params.Add(New ReportParameter("FechaSalida", "2024-01-03")) + params.Add(New ReportParameter("HoraSalida", "17:00")) + params.Add(New ReportParameter("Nombre", GvRow.DataKey("Nombre"))) + params.Add(New ReportParameter("Visa", GvRow.DataKey("Visa"))) + params.Add(New ReportParameter("Celular", GvRow.DataKey("Celular"))) + params.Add(New ReportParameter("Importe", GvRow.DataKey("Importe"))) + params.Add(New ReportParameter("TipoBoleto", "Tipo Boleto")) + params.Add(New ReportParameter("Agencia", "Agencia")) + params.Add(New ReportParameter("TelefonoAgencia", "Telefono Agencia")) + + ImprimirPDFStimul("Empresas/188/Formatos/Boleto.mrt", dtResult, params, NombreArchivo:="Boleto") + + 'Empresas/Grales/Formatos/EntradaSalida.mrt + 'Empresas/188/Formatos/Boleto.mrt + + End Sub + End Class \ No newline at end of file diff --git a/Transportes/ListadoViajes.aspx.vb b/Transportes/ListadoViajes.aspx.vb index 9aa5d7bfe..9a0ca63a4 100644 --- a/Transportes/ListadoViajes.aspx.vb +++ b/Transportes/ListadoViajes.aspx.vb @@ -15,6 +15,14 @@ Partial Class ListadoViajes ViewState("CveViaje") = value End Set End Property + Private Property Ruta As String + Get + Return ViewState("Ruta").ToString() + End Get + Set(value As String) + ViewState("Ruta") = value + End Set + End Property #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -192,7 +200,7 @@ Partial Class ListadoViajes DdlPartida.SelectedValue = GvRow.DataKey("CvePartida") DdlChofer.SelectedValue = GvRow.DataKey("CvePersonal") ViewState("CveViaje") = GvRow.DataKey("CveViaje") - Page.Response.Write("") + ViewState("Ruta") = GvRow.DataKey("Ruta") Dim fecha As DateTime If DateTime.TryParse(GvRow.DataKey("Fecha").ToString, fecha) Then @@ -247,6 +255,8 @@ Partial Class ListadoViajes Protected Sub GoBoletos(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim CveViaje As String = GvRow.DataKey("CveViaje") - Response.Redirect(String.Format("~/Transportes/ListadoBoletos.aspx?CveViaje={0}", CveViaje)) + Dim Ruta As String = GvRow.DataKey("Ruta") + Response.Redirect(String.Format("~/Transportes/ListadoBoletos.aspx?CveViaje={0}&Ruta={1}", CveViaje, Ruta)) + End Sub End Class From 582bd4852d10000f23f4ee43b90425e4795fe904 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 8 Jan 2024 15:25:03 -0700 Subject: [PATCH 10/19] SMS OS Devolver todo el material --- OS/OrdenesServicios.aspx.vb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 9171efa98..f75750000 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3007,6 +3007,7 @@ Partial Class OS_OrdenesServicios Dim ObjInventario As New ClsInventarios(ObjV.IniciaTransacSQL()) Dim ObjConta As New ClsContabilidad(ObjV.IniciaTransacSQL()) + Dim GenrarRemisionMovimientos As Boolean = False If ProcesoOK Then Dim AplicaDevolucion As Boolean = False For Each GvRow As GridViewRow In GvMU.Rows @@ -3014,8 +3015,11 @@ Partial Class OS_OrdenesServicios Dim CantidadDev As Decimal = GvRow.DataKey("Cantidad").ToDecimal - GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal If CantidadDev > 0 Then AplicaDevolucion = True - If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then + If ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then + GenrarRemisionMovimientos = True + Else ProcesoOK = False + GenrarRemisionMovimientos = False Exit For End If End If @@ -3032,7 +3036,7 @@ Partial Class OS_OrdenesServicios Dim ImporteAlmacen As Decimal Dim Fecha As DateTime = ClsPaginas.NowADS() - If ProcesoOK Then + If GenrarRemisionMovimientos AndAlso ProcesoOK Then Respuesta = GeneraRemision(CveVentaPedido, ObjV.IniciaTransacSQL()) If Respuesta.CveVenta > 0 Then @@ -3046,7 +3050,7 @@ Partial Class OS_OrdenesServicios End If End If - If ProcesoOK Then + If GenrarRemisionMovimientos AndAlso ProcesoOK Then CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacenActual, 8, CveMoneda, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, Respuesta.CveVenta, CveSubProyectoPedido, -1, CveOS:=CveOS, CveAlmacenDestino:=CveAlmacenDestino, Modulo:="OS/MatUtil") Dim Folio As Integer = ObjInventario.Folio From 75feb39ff363d21b338d92174c38f76fea5a4231 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 8 Jan 2024 15:25:31 -0700 Subject: [PATCH 11/19] SMS OS Devolver todo el material --- OS/OrdenesServicios.aspx.vb | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index f75750000..f9da6c937 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3150,7 +3150,13 @@ Partial Class OS_OrdenesServicios If ProcesoOK Then ObjV.Commit() - Alert("El material utilizado se guardó correctamente") + + If GenrarRemisionMovimientos = False Then + Alert("El material sera recivido en almacén.") + Else + Alert("El material utilizado se guardó correctamente") + End If + RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');") Else ObjV.RollBack() From d42bcd34c44a2cbb172d83cef57f3182ae1e9b17 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Mon, 8 Jan 2024 18:42:29 -0700 Subject: [PATCH 12/19] SMS - 2024.01.08 Devolver todo el material --- App_Code/ClsPaginas.vb | 2 +- .../RepEstadoResultadosHorizontal.aspx.vb | 2 + OS/OrdenesServicios.aspx | 2 +- OS/OrdenesServicios.aspx.vb | 13 ++-- Ventas/CatMedicos.aspx | 22 ++++++- Ventas/CatMedicos.aspx.vb | 8 +++ Ventas/Ventas.aspx | 5 +- Ventas/Ventas.aspx.vb | 61 ++++++++++++++----- 8 files changed, 90 insertions(+), 25 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 9b038ba79..7c4bae4d3 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5993,7 +5993,7 @@ Public Class ClsPaginas params.Add(New ReportParameter("Documentacion", Vta.Cliente.Documentacion)) params.Add(New ReportParameter("Medico", Vta.Medico)) params.Add(New ReportParameter("Procedimiento", Vta.Procedimiento)) - params.Add(New ReportParameter("FechaCirugia", Vta.Alfa1.ToDateTime.ToString("dd/MM/yyyy hh:mm"))) + params.Add(New ReportParameter("FechaCirugia", Vta.FechaEjecucion.ToString("dd/MM/yyyy hh:mm"))) End If RutaFormato = String.Format("{0}Formatos\{1}.rdlc", UsuarioActual.Empresa.Ruta, NombreArchivo) diff --git a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb index 70b743efd..d840f90b0 100644 --- a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb +++ b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb @@ -2145,6 +2145,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal If dColumn.ColumnName = "SinSubProyecto" Then TxtSub = "Sin SubProyecto" + Continue For End If @@ -2190,6 +2191,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal IndexData = IndexData + 1 If dColumn.ColumnName = "SinSubProyecto" Then + 'Continue For Exit For End If Next diff --git a/OS/OrdenesServicios.aspx b/OS/OrdenesServicios.aspx index cf474873f..f93d73c20 100644 --- a/OS/OrdenesServicios.aspx +++ b/OS/OrdenesServicios.aspx @@ -1291,7 +1291,7 @@ Utilizado - + diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index f9da6c937..07c8b886f 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3013,16 +3013,21 @@ Partial Class OS_OrdenesServicios For Each GvRow As GridViewRow In GvMU.Rows Dim CveVentaDetalle As Integer = GvRow.DataKey("CveVentaDetalle").ToEntero Dim CantidadDev As Decimal = GvRow.DataKey("Cantidad").ToDecimal - GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal + If CantidadDev > 0 Then AplicaDevolucion = True - If ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then - GenrarRemisionMovimientos = True - Else + If Not ObjV.UpdateVentasDetalleCantidadDevolucion(CveVentaDetalle, CantidadDev) Then ProcesoOK = False GenrarRemisionMovimientos = False + AplicaDevolucion = False Exit For End If End If + + If GvRow.FCTextBox("TxtUtilizado").Text.ToDecimal > 0 Then + GenrarRemisionMovimientos = True + End If + Next If AplicaDevolucion Then If Not ObjV.UpdateVentasDevolucionAlmacen(1, CveVenta) Then @@ -3152,7 +3157,7 @@ Partial Class OS_OrdenesServicios ObjV.Commit() If GenrarRemisionMovimientos = False Then - Alert("El material sera recivido en almacén.") + Alert("El material sera recibido en almacén.") Else Alert("El material utilizado se guardó correctamente") End If diff --git a/Ventas/CatMedicos.aspx b/Ventas/CatMedicos.aspx index fcb3e9ace..7d6d9c0c2 100644 --- a/Ventas/CatMedicos.aspx +++ b/Ventas/CatMedicos.aspx @@ -225,7 +225,7 @@
@@ -278,13 +278,13 @@ - + - + @@ -548,6 +548,22 @@
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
diff --git a/Ventas/CatMedicos.aspx.vb b/Ventas/CatMedicos.aspx.vb index d1e1ac343..3615ef3c0 100644 --- a/Ventas/CatMedicos.aspx.vb +++ b/Ventas/CatMedicos.aspx.vb @@ -161,6 +161,10 @@ Partial Class Ventas_CatMedicos DdlEspecialidad.SelectedValueExist(-1) DdlSubEspecialidad.SelectedValueExist(-1) TxtTorre.Text = "" + DVUsuarioFechaIng.Visible = False + TxtFechaIng.Text = "" + TxtUsuario.Text = "" + DVEstatus.Visible = False ChkEstatus.Checked = True @@ -196,6 +200,10 @@ Partial Class Ventas_CatMedicos DdlSubEspecialidad.SelectedValueExist(GvRow.DataKey("CveMedicoSubEspecialidad").ToEntero) TxtTorre.Text = GvRow.DataKey("Torre") + DVUsuarioFechaIng.Visible = True + TxtFechaIng.Text = GvRow.DataKey("FechaIng").ToDateTime.ToString("dd/MM/yyyy hh:mm:ss tt") + TxtUsuario.Text = GvRow.DataKey("Usuario") + DVEstatus.Visible = True LbAgregar.Text = "Actualizar" LtlTituloModal.Text = $"Actualizar Médico {TxtCedulaProfecional.Text}" diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index dc0a3826e..256ff61ab 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -1976,7 +1976,10 @@
- +
+ +
+ diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index a92e64d81..9c1935440 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3418,6 +3418,10 @@ Partial Class Ventas RegistraScript("$('#TxtCantidad').focus();", "A1") End If + If EsVentaMedica Then + TxtPrecio.Enabled = False + End If + End If End Sub @@ -5317,7 +5321,13 @@ Partial Class Ventas End If - TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy") + If DbRowVenta("CveMedico").ToString.ToEntero > 0 AndAlso DbRowVenta("CveProcedimiento").ToString.ToEntero > 0 Then + TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy hh:mm") + DVMEEFechaEje.Visible = False + Else + TxtFechaEjecucion.Text = DbRowVenta("FechaEjecucion").ToString().ToDateTime.ToString("dd/MM/yyyy") + End If + 'DdlSucursalEjecucion.SelectedValueExist(DbRowVenta("CveSucursalEjecucion").ToString()) 'DdlSucursalCobranza.SelectedValueExist(DbRowVenta("CveSucursalCobranza").ToString()) DdlSucursalCliente.SelectedValueExist(DbRowVenta("CveClienteSucursal").ToString()) @@ -8189,6 +8199,10 @@ Partial Class Ventas GvPS.Rows(e.NewEditIndex).FCTextBox("TxtDescuento").Enabled = False End If + If EsVentaMedica Then + GvPS.Rows(e.NewEditIndex).FCTextBox("TxtPrecio").Enabled = False + End If + If CveCicloComercial > 0 Then For Each gvr As GridViewRow In GvContratoDetalles.Rows If gvr.RowType = DataControlRowType.DataRow Then @@ -13519,7 +13533,7 @@ Partial Class Ventas If EsVentaMedica AndAlso ErrorList.Count = 0 AndAlso ChkRequiereTecnico.Checked Then - GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList) + GeneraOS(ObjVentas.IniciaTransacSQL, ErrorList, CveVentaOS:=factura.CveVenta, SerieFolioOS:=factura.SerieFolio) If ErrorList.Count = 0 Then If Not ObjOS.UpdateVentaOS(factura.CveVenta, CveOSVentaMedica) Then @@ -16793,16 +16807,22 @@ Partial Class Ventas DdlUnidadMedida.DataBind() DdlUnidadMedida.SelectedValueExist(drPS("CveUnidadMedida").ToString()) - If drPS("CveTipoPS").ToString() = "1" Then 'Si es servicio - If UsuarioActual.Empresa.Funcionalidad(558).ToString() = "1" Then 'Si es Empresa llantera - TxtPrecio.Enabled = True - Else - 'TxtPrecio.Enabled = False - End If + If EsVentaMedica Then + TxtPrecio.Enabled = False Else - TxtPrecio.Enabled = True + If drPS("CveTipoPS").ToString() = "1" Then 'Si es servicio + If UsuarioActual.Empresa.Funcionalidad(558).ToString() = "1" Then 'Si es Empresa llantera + TxtPrecio.Enabled = True + Else + 'TxtPrecio.Enabled = False + End If + Else + TxtPrecio.Enabled = True + End If End If + + Dim PSCodigoSAT As String = drPS("SATClavePS").ToString If UsuarioActual.TienePermisoProceso(68) AndAlso Not PSCodigoSAT.Contiene("84111506", "80141610") Then TxtPrecio.Enabled = False @@ -21711,7 +21731,14 @@ Partial Class Ventas TxtObsPS.Enabled = True DdlProyecto.Enabled = True DdlSubProyecto.Enabled = True - TxtPrecio.Enabled = True + + If EsVentaMedica Then + TxtPrecio.Enabled = False + Else + TxtPrecio.Enabled = True + End If + + LbAgregar.Enabled = True ImgDescTotal.Attributes.Add("onclick", "javascript:$('#ModalDescuento').modal(); $get('LblTitulo1').style.display = ''; $get('LblTitulo2').style.display = 'none'; $get('LblTituloTipo1').style.display = ''; $get('LblTituloTipo2').style.display = 'none'; $get('HdnTipoDescuento').value = '2'; $get('LblPrecio1').style.display = 'none'; $get('LblTotalPS1').style.display = 'none'; $get('LblSubTotal1').style.display = ''; $get('LblAmort').style.display = 'none'; $get('BtnAplicarDescP').style.display = 'none'; $get('BtnAplicarDescG').style.display = ''; $get('TrMotivoDescuento').style.display = '';") LblSubTotal1.Text = TxtSubTotal.Text @@ -36328,7 +36355,7 @@ Partial Class Ventas End Sub - Private Function GeneraOS(ByRef TransacSQL As SqlTransaction, ByRef errorList As List(Of String)) As Boolean + Private Function GeneraOS(ByRef TransacSQL As SqlTransaction, ByRef errorList As List(Of String), CveVentaOS As Integer, SerieFolioOS As String) As Boolean Dim Errores As Boolean = False @@ -36364,18 +36391,22 @@ Partial Class Ventas Dim CveOsDetalle = ObjOrdenServicio.AddOrdenesServiciosDetalle(ObjOrdenServicio.CveOS, CvePSDetalle, 1, -1, -1, $"Venta: {LblSerie.Text}-{TxtFolio.Text}", False, True, False, -1, "-1", "-1", "-1", "", UsuarioActual.CveUsuario, Archivo:="") If CveOsDetalle > 0 Then - 'MENSAJE PRINCIPAL - 'Dim MensajeAlertOS As New StringBuilder MensajeAlert.AppendFormat(String.Format("
La Orden de Servicio: {0} se generó correctamente.
", ObjOrdenServicio.Folio)) MensajeAlert.AppendFormat("
", Encripta(String.Format("OP=OS&CVEOS={0}", ObjOrdenServicio.CveOS))) - 'Dim Liga = $"document.location.href=""/OS/RepOrdenesServicios.aspx"";" - 'Alert(MensajeAlertOS.ToString, TipoMensaje.MsgInformacion, Liga) Else errorList.Add("Se presento un error al guardar la el detalle de la orden de servicio.") Errores = True End If + End If + If Not Errores Then + Dim ObjEventos As New ClsOIEventos(TransacSQL) + Dim LigaVenta As String = String.Format("Pedido en Folio: {1}", CveVentaOS, SerieFolioOS) + If Not ObjEventos.AddEventoBitacora(LigaVenta, "-1", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveOS:=CveOSVentaMedica) Then + errorList.Add("Se presento un error al guardar la bitacora de la orden de servicio.") + Errores = True + End If End If Return If(Errores, False, True) From 3d04a8281a5598fb45a19264b7c825f56752fd96 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:01:16 -0700 Subject: [PATCH 13/19] -- franccionarrancelaria --- App_Code/Timbrado.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index ead2bb3c7..fa80a97fc 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1025,7 +1025,7 @@ Public Class Timbrado End Using Catch ex As Exception Retorno = "" - OnError("Ocurrió un error al enviar la informacion", ex) + OnError("PAC no está respondiendo. No se puede emitir el timbre (Err.PAC5).", ex) End Try Return Retorno End Function From 754f00ee54b17dac4542b3e990e6c2e4c1fe9399 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:01:39 -0700 Subject: [PATCH 14/19] GlobalDT- para empresa llantera --- App_Code/ClsGenerales.vb | 6 +++--- App_Code/ClsPaginas.vb | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index b287f64dc..7f52bb552 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -986,11 +986,11 @@ Public Class ClsGenerales End Try Return Retorno - End Function + End Function #End Region - + #Region "R I M T A M A N I O S" - Public Function GetRimTamanios(CveEmpresa As Integer, Optional CveRinTamaño As Integer = -1) As Boolean + Public Function GetRinTamanios(CveEmpresa As Integer, Optional CveRinTamaño As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_TamañosGet") diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index b2b9a8172..a78f11f99 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -4401,6 +4401,45 @@ Public Class ClsPaginas Application(AppNombre) = value End Set End Property + + Public Shared Property GlobalDTPSRinTamaños(CveEmpresa As Integer, Optional CveRinTamaño As Integer = -1) As DataTable + Get + Dim AppNombre As String = $"GlobalDTPSRinTamaños-{CveEmpresa}" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Using ObjGral As New ClsGenerales() + If ObjGral.GetRinTamanios(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados Else HttpContext.Current.Application(AppNombre) = Nothing + End Using + End If + Dim Str As New StringBuilder + If CveRinTamaño > 0 Then Str.AppendFormat(" CveRinTamaño = {0} ", CveRinTamaño) + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows) + GlobalDTPSRinTamaños = Dv.ToTable + End Get + Set(value As DataTable) + Dim AppNombre As String = $"GlobalDTPSRinTamaños-{CveEmpresa}" + HttpContext.Current.Application(AppNombre) = value + End Set + End Property + + Public Shared Property GlobalDTPSMedidas(CveEmpresa As Integer, Optional CveMedida As Integer = -1) As DataTable + Get + Dim AppNombre As String = $"GlobalDTPSMedidas-{CveEmpresa}" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Using ObjGral As New ClsGenerales() + If ObjGral.GetMedidas(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados Else HttpContext.Current.Application(AppNombre) = Nothing + End Using + End If + Dim Str As New StringBuilder + If CveMedida <> -1 Then Str.AppendFormat(" CveMedida = {0} ", CveMedida) + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows) + GlobalDTPSMedidas = Dv.ToTable + End Get + Set(value As DataTable) + Dim AppNombre As String = $"GlobalDTPSMedidas-{CveEmpresa}" + HttpContext.Current.Application(AppNombre) = value + End Set + End Property + #Region "CITRUS GAME" Property GlobalDTGralEmpacados(CveEmpresa As Integer) As DataTable Get From f793650d68210040b30cbe66dcea6fcade43f683 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:01:46 -0700 Subject: [PATCH 15/19] - --- App_Code/Timbres.vb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/App_Code/Timbres.vb b/App_Code/Timbres.vb index 8e40b78aa..9770f9d03 100644 --- a/App_Code/Timbres.vb +++ b/App_Code/Timbres.vb @@ -303,7 +303,7 @@ Public Class Timbres .DescripEmbalaje = drr("Embalaje").ToString, .ValorMercancia = drr("PU").ToString.ToDecimal, .Moneda = If(drr("PU").ToString.ToDecimal > 0, "MXN", ""), 'temporal - .FraccionArrancelaria = "", + .FraccionArrancelaria = drr("ClaveSATFraccionArancelaria").ToString, .UUIDComercioExt = "", .SectorCOFEPRIS = drr("ClaveSectorCOFEPRIS").ToString, .NombreIngredienteActivo = drr("NombreIngredienteActivo").ToString, From 75465a58929e35f6721c46cc604e317ddb97686f Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:01:59 -0700 Subject: [PATCH 16/19] cambio en globaldt --- Inventarios/PopUpExistenciasAlmacen.aspx.vb | 25 ++++++++++++--------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/Inventarios/PopUpExistenciasAlmacen.aspx.vb b/Inventarios/PopUpExistenciasAlmacen.aspx.vb index 470eba0bb..6cf82a8a9 100644 --- a/Inventarios/PopUpExistenciasAlmacen.aspx.vb +++ b/Inventarios/PopUpExistenciasAlmacen.aspx.vb @@ -2,6 +2,7 @@ Option Strict On Imports Extensiones +Imports System.Data Partial Class Inventarios_Default Inherits ClsPaginas @@ -247,7 +248,7 @@ Partial Class Inventarios_Default Dim ObjInventarios As New ClsInventarios If ObjInventarios.GetExistencias119(DDlPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, Compuesto) Then GV.DataSource = ObjInventarios.DtResultados - TblBusqueda.Visible = False + TblBusqueda.Visible = True CargaPS(DDlPS.SelectedValue.ToEntero) GV.Columns(6).Visible = True End If @@ -280,16 +281,18 @@ Partial Class Inventarios_Default End Sub #End Region - Private Sub CargarMedRin() - Dim ObjGral As New ClsGenerales - If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then - DdlMedidas.DataSource = ObjGral.DtResultados.FiltraParametros("", Orderby:="Medida") - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DdlRin.DataSource = ObjGral.DtResultados.FiltraParametros("", Orderby:="RinTamaño") - End If - End If - ObjGral.Dispose() - DdlMedidas.DataBind() + Private Sub CargarMedRin() + 'Dim ObjGral As New ClsGenerales + 'If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then + ' DdlMedidas.DataSource = GlobalDTPS.FiltraParametros("", Orderby:="Medida") + ' If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then + ' DdlRin.DataSource = ObjGral.DtResultados.FiltraParametros("", Orderby:="RinTamaño") + ' End If + 'End If + 'ObjGral.Dispose() + DdlMedidas.DataSource = GlobalDTPSMedidas(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Medida") + DdlMedidas.DataBind() + DdlRin.DataSource = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="RinTamaño") DdlRin.DataBind() DdlMedidas.Items.Insert(0, New ListItem("-", "-1")) DdlRin.Items.Insert(0, New ListItem("-", "-1")) From bb755b44b30d5770ba423d2b1778902d9ca22e21 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:03:35 -0700 Subject: [PATCH 17/19] -- recarga globaldt --- Sistemas/CatModulos.aspx.vb | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Sistemas/CatModulos.aspx.vb b/Sistemas/CatModulos.aspx.vb index aa0a3fd81..85fc2cecf 100644 --- a/Sistemas/CatModulos.aspx.vb +++ b/Sistemas/CatModulos.aspx.vb @@ -50,6 +50,7 @@ Partial Class CatModulos UsuarioActual.CveUsuario, DdlPlataforma.SelectedValue.ToEntero) Then RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalModulos")) Alert("El nuevo Módulo se guardó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTModulos = Nothing CargaDatos() UpDatos.Update() End If @@ -58,6 +59,7 @@ Partial Class CatModulos TxtOrden.Text.Trim().ToEntero(), TxtEstilo.Text.Trim(), CboIncluye.SelectedValue, CboAgrupacion.SelectedValue, UsuarioActual.CveUsuario, HdnID.Value.ToEntero, DdlPlataforma.SelectedValue.ToEntero) Then RegistraScript(String.Format("$('#{0}').modal('hide');", "ModalModulos")) Alert("El Módulo se actualizó correctamente.", TipoMensaje.MsgInformacion) + GlobalDTModulos = Nothing CargaDatos() UpDatos.Update() End If @@ -129,12 +131,10 @@ Partial Class CatModulos Dim Modulo As New ClsModulos If Modulo.RemoveModulo(GvDatos.DataKeys(e.RowIndex).Value.ToString().ToEntero()) Then GvDatos.EditIndex = -1 + GlobalDTModulos = Nothing CargaDatos() End If - Modulo.Dispose() - - End Sub #End Region @@ -198,6 +198,7 @@ Partial Class CatModulos LbAgregar.Text = "Actualizar" UpModal.Update() RegistraScript("$('#ModalModulos').modal();") + GlobalDTModulos = Nothing End Sub From e12d657d3c79c110be88f07ef0043cb6e15796f7 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:03:53 -0700 Subject: [PATCH 18/19] cambio en globalDT --- Ventas/ProductosServicios.aspx.vb | 24 ++++++++---------------- Ventas/Ventas.aspx.vb | 9 ++------- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 1826ddc84..5ca5e467c 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -1,11 +1,9 @@ Option Explicit On Option Strict On -Imports System.Activities.Expressions Imports System.Data Imports System.Data.SqlClient Imports System.IO -Imports ADSNetLibrary.SIGAPI.Models.RH.Response Imports Extensiones Imports ZXing @@ -487,14 +485,10 @@ Partial Class ProductosyServicios If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then DdlModelo.DataSource = ObjGral.DtResultados.Copy() End If - If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then - DdlMedida.DataSource = ObjGral.DtResultados.Copy() - End If - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DdlRin.DataSource = ObjGral.DtResultados.Copy() - End If ObjGral.Dispose() + DdlMedida.DataSource = GlobalDTPSMedidas(UsuarioActual.CveEmpresa) + DdlRin.DataSource = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa) DdlModelo.DataBind() DdlMedida.DataBind() DdlRin.DataBind() @@ -3138,12 +3132,10 @@ Partial Class ProductosyServicios If ObjGral.GetModelos(CveEmpresaFranquicia) Then CveModelo = ObjGral.DtResultados.FiltroPrimeroValor("CveModelo", String.Format("Modelo = '{0}'", DdlModelo.SelectedItem.Text)).ToEntero End If - If ObjGral.GetMedidas(CveEmpresaFranquicia) Then - CveMedida = ObjGral.DtResultados.FiltroPrimeroValor("CveMedida", String.Format("Medida = '{0}'", DdlMedida.SelectedItem.Text)).ToEntero - End If - If ObjGral.GetRimTamanios(CveEmpresaFranquicia) Then - CveRin = ObjGral.DtResultados.FiltroPrimeroValor("CveRinTamaño", String.Format("RinTamaño = '{0}'", DdlRin.SelectedItem.Text)).ToEntero - End If + + CveMedida = GlobalDTPSMedidas(CveEmpresaFranquicia).FiltroPrimeroValor("CveMedida", String.Format("Medida = '{0}'", DdlMedida.SelectedItem.Text)).ToEntero + CveRin = GlobalDTPSRinTamaños(CveEmpresaFranquicia).FiltroPrimeroValor("CveRinTamaño", String.Format("RinTamaño = '{0}'", DdlRin.SelectedItem.Text)).ToEntero + ObjGral.Dispose() @@ -3177,7 +3169,7 @@ Partial Class ProductosyServicios End If If Agregar Then - If Not ObjPS.AddPS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtCodigo2.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, + If Not ObjPS.AddPS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtNumeroParte.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, DdlProveedor.txtValue.Value.ToEntero, True, ChkAplicaParaVenta.Checked, UsuarioActual.CveUsuario, CveEmpresaFranquicia, CveMetodoInv, EsPaquete, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, FuePorXML:=False, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarcaFranquicia, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, @@ -3197,7 +3189,7 @@ Partial Class ProductosyServicios If ObjPS.GetPS(-1, -1, CveEmpresaFranquicia, Codigo:=TxtCodigo.Text.Trim.ToUpper) Then Dim CvePS As Integer = ObjPS.DtResultados.FiltroPrimeroValor("CvePS", String.Format(" Codigo = '{0}'", TxtCodigo.Text.Trim.ToUpper)).ToEntero() - If Not ObjPS.UpdatePS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtCodigo2.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, + If Not ObjPS.UpdatePS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtNumeroParte.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, -1, True, ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv, EsPaquete, DdlSATPS.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarcaFranquicia, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index a92e64d81..5e5052750 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -17996,17 +17996,12 @@ Partial Class Ventas 'YOKOHAMA If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso CveRinTamañoPS > 0 AndAlso CveMarcaPromocion.Contiene(800, 912, 1238, 1381, 1456, 1528, 1600, 1672, 1807) Then - Dim DtRines As DataTable = Nothing - Dim ObjGral As New ClsGenerales - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DtRines = ObjGral.DtResultados.Copy() - End If - ObjGral.Dispose() + If CveMarcaPromocion > 0 Then ObjDescuento.NombrePromo = "YOKOHAMA VERANO" 'dr("NombrePromocion").ToString() ObjDescuento.CveMarca = CveMarcaPromocion - Dim Rin As String = DtRines.FiltroPrimeroValor("RinTamaño", $"CveRinTamaño = {CveRinTamañoPS}") + Dim Rin As String = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa, CveRinTamañoPS).FiltroPrimeroValor("RinTamaño", "") Dim PromoDescuento As Decimal = (Descuento * (1 + If(IncluyeImpuestos, PorcentajeIVA, 0))).RoundSQL(2) ObjDescuento.ObsDescuento = String.Format("RIN {0} BONO ${1:N2}", Rin, PromoDescuento) From fd82fb823cef599399a8c8f2b5e319b09ed9b92a Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:05:20 -0700 Subject: [PATCH 19/19] -- cambio en globalDT --- Inventarios/TraspasoAlmacen.aspx.vb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 97a972044..35b9b9014 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -2933,11 +2933,10 @@ Partial Class Inventarios_TraspasoAlmacen Dim RowsNoCargados As Integer = 0 Dim NoPSConSerie As Integer = 0 Try - Dim DtPS As DataTable = GlobalDTPS(UsuarioActual.CveEmpresa) + Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) For Each RowExcel As DataRow In dt.Rows If RowExcel("Codigo").ToString() <> "" Then - Dim RowPS As DataRow = DtPS.FiltroPrimero(String.Format("Codigo='{0}'", RowExcel("Codigo").ToString())) Dim CveProducto As Integer = RowPS("CvePS").ToString().ToEntero() @@ -2954,7 +2953,7 @@ Partial Class Inventarios_TraspasoAlmacen Dim Valido As Boolean = True Dim ValidarLote As Boolean = True - If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero = 6 Then + If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}") = "6" Then ValidarLote = False End If