From 6704d38b9903a295dd4fbbaa16f230977b1e19d4 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 08:28:56 -0700 Subject: [PATCH 01/29] - 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 02/29] =?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 03/29] - --- 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 04/29] - --- 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 05/29] =?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 + iVBORw0KGgoAAAANSUhEUgAAANwAAABmCAYAAACgC/+SAAAAAXNSR0IArs4c6QAAAARnQU1BAACx +jwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAABhaVRYdFNuaXBNZXRhZGF0YQAAAAAAeyJjbGlw +UG9pbnRzIjpbeyJ4IjowLCJ5IjowfSx7IngiOjIyMCwieSI6MH0seyJ4IjoyMjAsInkiOjEwMn0s +eyJ4IjowLCJ5IjoxMDJ9XX2SaLXFAABw3ElEQVR4Xu39d5BcSZ4mBn6hdaSWyERmIhNAQqtCASiN +6hItqqq1mNmRvc2xXS539pa3Rt7RjHY8nhn/4NnRuLdcPUuO2J6eVtOqqqtLdOmC1hpIrXVGisjQ +4r7PPQJIVJcAqkv0GfOX6fHe8+fi5+4/6c+fP0eRgDVYgzX4RMBZOq7BGqzBJwC/kxpOCDlKR/tD +cBT57+BlEYViwUQ7HQ6ms3+KN5lMUl6Xz+1hDdbgdwJ+x03KVagZJtK12OsWU+pE8Tb2Xa4J5bQ6 +Csp3bpaxBmvwCcHvvIYrY+cQs/E/k8tgaHEMqVwO9ZXVqPZG4XG4UWAOk48ZXas0nKBcVhnWmGwN +Pi34nWY4GY5l7ORsitluzPbjb668gMXkCrY3deJA8zZ0V3Ug6Akhz0xOBjfTmmy6LjOirgmrz9dg +DT5p+J1lOANEzZzzJ1fMYWBpHD+69ir+6urzSGeyaPLWkuG24OvbPoNdDRsR8PhNHpfUnMJNKJdo +48osaH/XYA0+OfidnKW8jQkkD2hOziZjeHXkNH488BaGsjOYxCLOLw7iZ71v4fmBoxhYHkeeTCkN +J3g3RiowiIXFaCVWXoM1+EThd5LhjNKVdjPM5kAyl8KV6Rt4/trruDRzHRl3FhlXBqlAGsPZcfxq +6BheHjqN/qUppAtiq1IZJbayEygKZTa7db0Ga/BJwu/mc7iSOai5RrHIaGwSR3rP4Pr4dbiKGXOP +6ox3c0DQiatLQ/jh1dfw4uAZTKWWzG0xnOHX0rn0m+ZdnDotMaOZ+TTna7AGnwz8bjJciVlkHq5Q +u50Zv4FzYz2oCVWgNlgJkOccaSeKWSZyeZBy5XGWmu+VvlMYmBsrFUJgIWIy86Nzo9FKgf+a+XSQ +uRWzBmvwScCnynBlQi+xwC3C54mepelvaGEK5+YG4ImGcHjbQYR81XDn/Ag4Q3C7w2S+PJy0IrOF +DMYXxzAWmzD5xEhSlHo8oAfhaqrKNzOf5oz3VI/9MddrsAYfN3yqDCc2KB/LwYBOyCQOojcUG8NU +Ioa26hZ0h9pRkYxga7AD99d1oyFYB7fDC3+yCHfeiWQhh6VMHKl85qbmknLLIY+YI4GxbAzD8Uks +0OzUapUyKO0arMEnAb9zGs6GojEnk0hhND5O9ZXClkgLdtdvxT/a+zT++wPfwj/Z+TTavWQ4mpU1 +DjeqHC6ki1nEiilkyWBlH05ljSZj+PmF1/HjM6/ip8dew/n+G1jJpFgT75t0qnUN1uDjh0+N4cok +XmYyO2Vf/iGQ4ZbTSeQyObSHarGtrh1dte14ZttDeLzrXhzu2IeHqrqx092CHTXtqKqIIOVII1Ug +I93UXraw/rEB/OjsS/j+RYYbr+DF0VMYiU+be4KyWVmueg3W4OOC34lJExG6ggw7WXdlA89VcGJz +1QYcatuHtppW+NxeVAXDCPuCiASieGrDAfzDLZ/H/tbtCIYCNB2zyGYzZNIsyysiR8ZL0bebWZlF +X2Icl1cGcCnTjxNLV3BjaRh53re+Hs1PHUv1rsEafFzwO8FwhtEYxHQFo2l4RR8u7Alge9Mm7GrZ +hgp/9DbTL8/Tbes24nM7H0ZTZTMdtQKyuSxWFMR0+TymlmbwxtA5XEtOYMWbR9KRRcKRwdDSBHrn +hhDPJkxZhtlNvbfKX4M1+DjgU2O41dpE50KkQHrP6ahIgs/pQX24CnWhCnhdbqazEyn6VbpgMIim +6gb4PCEUck7k89RoxTx9OTIX/b6TY5fwF2d/hpfGzmKZ2s/hdsENF+YXF3FjcggTyzOmnpustsZv +a/Axw6eu4W6ncV3d0ne6KtLsyxeySOcyWMlnkC7kGVvSSAxiPr83DI8nTGbywO8kQzodGI/P4oXB +Y3hx7DhOT17FUjaJoota0+mDl6bqSGwKV2eHkCnm7GODsmZdgzX4GOFTZ7hbJG4XHbt4dJL4ZVou +ZuMYpPl3aaoXJ6itjoxewuXZAZqCy2QtIk+O1LR/dagSoUAFAi4fqt0+qsgsTk9cw2uT57HkTSBL +M7KYyyOfyaPJX4Ud9RvgcDlxavIGplILt3w4FbYGa/AxwqfKcGVdJm1V1jLmnKexTJxMdgU/vPYy +/v35n+Bfnvg7/K8nvoe/uvQLnJ25iEwuacpQATW+MKIeP4JOFwKMmF6exq8HTmAgOQant4AKar9w +0Q9vCtgYbcHnNh5CR1ULrk2P4Aa1nLiW1Zr612ANPk74VBnO0jiJ3WiYkonI85VCEiemLuM/X/gV +/o+Lz+FHA2/i+akzeGn+NH40/Dr+88VncS3WA+osU07Y40HE54XX7cZ8ahHHRi/gyPgF5PzSmj5s +rWzHvrrN2BJpw56GbXi47V7srOui1sthdGbcIiIwK1LWYA0+Pvj0NZzUmZhOzMY/Md7xmUtktufw +wsgR9MSHMZ9bQsqZQ87rxBTPf9JzHH977RVMkrly5BYvm+F3e5FyFXBytgc/6X0Dg4kJwO1HfqmA +7ZFW/Onep/GP7/8Knth8EJtqO7CjoRNb69YjR6azjwYsQms6bg0+Tvjd0HDmQswGXJkbwndP/Aqv +DJ/BnHcZ7qAHNc4gGoshBDP08JxOLLgL+PH1Y/j5tSNYWF5CkL5bBU3KlUwCZ+cHcG5lGFkfC0sW +4ck40RZqxuGmHfhK9/3YUduOIP28lnANdtW0IegNmFlR+Y3CQ3y3BmvwccGnxnCWyfhbInStbZyl +7/V3F3+JV0fOYa6QQNHthMtZQKXfj/ZgNeqzfiCdA3gYXZ7C3559Hi9dexMLuQUEPG4gm8dyNokE +8zjIRVXZCL7c+TDub9uNan8I1e4ofE69Fe5AyOVHS7AWzYEqw2TlB98GrzVYg48JPlUNJxChC9L5 +NI4PnsEven6NCWjm0A0nNVqOTOT2ubGupgntFS0opsig+QwK3gIuLl7H93tfxK/HTmJ0ZRYZFlV0 +euDOOtHsrsQX2vfjv9rzVexs6IKfWtBRdNqt9ZjORy3XGKljmQ2mfstoa+y2Bh8vfOoMJ5BZuZiO +4xUyXP/yGPIuF1r8tWhy1yDsrEaNv5E+VzcOtu9FE8+LaS+KXjdWQgWcWurHz24cxfnpAWo2MozD +hUjBiz31G/DMtgPY0twGWqFUfmRSMtRNhvP4UBetRV2kRkudDQ7Gpl2DNfgY4VPbRMj6bqraYTYI +ukbf7c9//j/h7cULcAdq8LmGvaj0RZAoFLC5Yh0+Q7MQbg++e/VV/HrkBCbjU0gGi3Bn8ogUfcg7 +HUjQjsxnc6hzBnC4Ywee6r4PVf4aJFYyiDr8aI5WY12kHhGWq0duRZatqZqii6arwUQ/1rRcgzX4 +OOB3gOFkTmZxcvIa/slP/0fcyIzA6Yriv97+FdzfshN+bxA1ngjW0/zLeoo4OnMdP7j0Il6/cgyz +gSyyLjprWTIeNZv0tVamBDwBbKhqQifNxRxvJ5NpRJxebKiox0PrduGepm2opU/opOqzGIjJqP30 +S25bY7g1+LjgUzUpy4SdJ/Olc1m4XW4EaQ5G4MP6UAP2NXbjvvXb0VJVi+nUPC5N9GBmaYbMBbMq +xZ3SPiVkGrfbmoV5rbAsIknz8crcGH41dBYv9J3Ea6Nn8MuRI/jutRfx1xd/hdeHzmEmuWjXbLJu +J9WdXW3yqcieNfg/EXzKPpw0i9iuiALNO58viAZPFQ7UdmMLfTC/34/pTAxH567guz0v41+f+TH+ +4/Ef443hc5jzZZB1KycDj3lXETmalUWqKEdWbw6ksVJMIF1MI6f35FxJjBfm8OLEafxd7+vmeV3a +vBlu31AwsMZva/Axw0fGcKtp1TCBPf2N83cDMZ3b5TKTJdsbN+FP9n4OWxraMZGdxy8G38K/PfP3 ++Isrz+PF+Yvoz8xgNruEFW8WubADzMJG5AEPNZ3XbfwxR0HmIcslMzEaXpqbLvp/Dp8Xi9403pq7 +iF/2H0HfwqjRrnpLQSau0XLmr4z3rSuDO9OYK/68H4/ae0xr0um4KtgSTCL+3zy3UD6+N9gyVp3f +UTCpb17fFaxGbdX5rTJ1fqvs1cGkMEd7bmH1+XuDsq0u40OFEn6qU8d3TfMugT+lPPZow0cDHwnD +CZ2yeSjQefn6nefvCmyYg+agx+HFw1vvw6MbDiCWS+Jvr/waf3nqF3i7/yQmExMIR/w41LkN7YFG +ajHAnymgLpZCZDkLF7WaMCm4C8gECsi7iZXiqMXyxTwDmSnNJIyaTc/g5Z438PfnXsJUfA5u+XKl +zi6v6bTBFEmgSNClOFjxjLQLnZXeJLgN7D219jfvKZ65lMgIBOs0qlx774PArIp5lzrfH9S2Ul6G +m4T1AWDSCDWlV5sMmvZcbZQ1UUL8XcH0p6lPoZzSFGjO3hts+cr74UFiXO1VXe+Opyn/HVXcurR9 +ZWPekei3gI+E4YTO6ubovHz9zvPbwd7VuOUdTgQKbmyubEchncfPLh3Bjy69iQuzQ1gW83g9CKcc +2B1swgPNOxHORdE+nsWesSK2JYKoyVLbpclRxSw1XYF+WR4+Kr4syyVvwpGjFmXwsWxPPovh5Aie +HXoLrw+epjmbL3Uu6zEDxAMvy0FgacuwiklriYihnGAVlAlR6d4ZDLGVgqE71acTU4wi3h8s8ds6 +36389wqCAlV5mQkUDEO9D5h8Bkehac91VLjVRqWzad8ZBLa+UmB6/fHC3HsvuNm3JfzerewPCupX +83cTz99MY8rn/dviSkF5bP3l8NHARzJLaTqRIDStniEn64cRBTWIMdoUyDTe/pvG2FxFJLIZnBi/ +jv/06g/w3z7xLfQtTuF/OfljnF7uo5LKoc4fQJXXi4p0CE+0HsSB7fvw/Es/ROLMRexcvxW+jRvw +7EoPXl+8SuZMsgIHAhk3NgXXm1dx9IyuJzUOhyuPTWabvTyGEnM0P714uv0R/I8P/Rlao/UkyJTF +z+FD2rzQSuZ0FeBxUy5pcobYJgoOZFIFVPitOWt6T4Nl2mLbVYaVFOuZTCKZK8LlzCPkc6Ohyoto +UBk14MzHjrK5WYeWx3yADJSvq/r0PHF2JonppTTSZCSHVtfQtHbQoS3mtbo0TXxlNXhQEQmiutpL +H1ntUCkWR0t0prh3h1tNMQNrtJzQ0zkPypeijBufXsbw5AyWUitwOt2oCUewaUM9qsNepilRBAUf +f8QHFkyd716xcFI/qvxctojZ2SQmltNwul3MkbZ45+k6FFV2GXRu+1QORVdbFAGf0tve5ZBjbiGD +qViSvaTVS160NfnZJo7RVArxRJa5ihyfAKorfRwvXbEOIygE7z8udwofEcNZEGKl7r2Jntbzi/nM +ODGBOlwdaRiuNNp6ufT6zCjO3riEw9u24P997sf4ce/rmFHnktA3BitwX0MnOsIbsT7YhgN1TTj/ +/b9BPJXEnseeQf36jfjr3jfwFz3PYiA7zkF3wJ/24N6K7fhvDnwdl+YG8e9u/BKz+Tl8ufUehNJu +vDpxET00LXdWbcH/cO+38YVNh4hPnOg4Mc/7Zy6PIreygi0b6tDeUscBc2JqMY43zvShKhjCI/s6 +4KPPqNaaIRURmI5QuzTABfQMzuBvnruMGZq8jkIcHetq8fkHN2PXpjo42RmW4dhDejJfkDOqAuzw +vheYPmNwMM+bxwbx0ok+jMeWWUSGfUxdXgxSUATpEydYVBbeggdV0QA2dESxZ0sLNrTWIxjwlUqz +Y/Fuda4miwLb4uQ4ONwOjq/dwVoZJ+eWcerCGI6cGcT1oTEsJuMkYB8aK6PYvb0ejx3cgu72evjl +SIt4TT/ZNopp3gvKtKE0i0spvH58EL882mMmxpzFFbg4RsU822DSqD9UFvuR6XM5IEoB80/+6D60 +1kXMbLbKWVrJ4s3TI/jlW9exkktgd2st/tHvHUAil8Jf/+QCrvZPIMjx/PxDW/EAxzZAhhTDaQbb +wkfDcK7/gVA6/9Bgu64sCXQtJHXNIKIi0qZ/zblJYkAdUb50O11orW5APL+Cv7zyEvoTM8iZxmYR +8QSwv3kvvrL1cbT5KzF94hhmL1zGlgceQtfuQ6ipacIitdO12BBG41NSRhwLF7xF+oRd9+BA6w7M +LcewsLyIQ03bEfVX4PrSBMYzC3DDixZvLQ6t326eyzngwckbM/jeT17F+MgYmaQO65rqmTeNN07c +wH/6218gSk21d/sGWrliuFIbzMCq1QpFZDI5HD/Xg//w3Zdw4foIrl/uwfLiEjZ2NlH6NlCClhIT +V1OCMtuC9PP+YOpy4O2zPfj7F4/jyNnruDEwip7ecdzom8P1gWn0DA/hRv8Yzydx6cYQLl3rQ5wC +pLYmirqaCiPBS4WZqi0yv1n3TeIXvsJVGoQZRmaX8ezrF/GDnx3Fq29fwY2hGYxOLGJ8XNpuEddu +9GGB2qSuugo1lWF4XWQSFmHHXCfvXt8tsPcWV5J47eQ1fPenb5ApRthGhUm2bRY3Bqd4nGCbea1z +hp5r44jNT+Ozh3eglvWa2ljn8goZ90Qvvv/zY7h+5TothRV8/rG9iMWz+Ivvvo033ryAoZFpauYG +bN/cQmHqKXVJCd8SPr8tfDRsS8zK6EgGSs9ZdS+MGVceNMXYqNvQl8SqCkbQXF1Hc3ISYyvzyFED +eKhVPCzG7wyhPrgOncF6hGIx9B4/Ak9FJVq37EYwWg0nbbuNNc00H9tR6aaZQI1ZoN83kYvh7clr +aArX4CudD+Jw7W60+xrJWH6z7lL4LedWyKjDlHrUpmQ20iTefOM6zp0fQoZ+od8fRJYm4dDYAl58 +9QqGhudQEQ5YImVbDEGqKF2ualuONsz1/mkMDoxgajqG6ek4+kgQoxNzSKSMV1nqNQ0Bj0ZK3x1I +w8/GFjA1u4RJmpcTkyuYGJ/H1NQsxidmKDDIBFOLGJhK4NzVOTz760t4+dhVjM8vm/zC3TTCwLvX +L2KVxWBQVFIeY8spPP/GRXz/2ZN443gvBkfnMT8XR3x2BXEeZ4lPz+Aifv78efz98+cwMBbjeJbr +Eaw+fy+wuOVpQi8lVmi2zrKdCUzSvByfWMI4x2N8PMbzcuA1w9T4HGYnxlHIyp9nGcKbJeWo+uLx +JOZm44hxLNRvOd7P5LyYmUtjZjrNcUpiiQwoq/1Wf+hYPv/t4SNiuNWgFlokDUGp0SXeu0maOqxq +gwZVM4W5QgZnJnuo5dKodAbR5K1Gd6Qd9zfuounXgWxsHiMXT5uH5BsOPYiqhvVkNvosLGMdmWpn +fQeaIzU0N2ReFJB0pXBy+CIW4zHsbdyML3c/jO01XfRr/FqcYtKkiymMpmexkFwy5YxPreDE8WsI +B2mC7dqK5qZaJNNZSvBpnLo4jG07d+LAvq3mZVc1pNwMQ4yrrldSOWqXeWTyNBUpBCghaHJRM5Ao +5mNx0we2P5jDcO/dg7Z3KRQpidlXHk8I4VAIVZUhRCt8iER9qKgIIRQKwOUJ0psLo2942Zh/Nyg0 +DLqE8vGdYDRROZS1YSnxhetj+MULZ3D6/AiZIQ9fwI/qqiDq60Kooa/o9+bpH7sxNp/CL1+7gGPn ++jC/nDTNXC2g3g+U1qansZind+rwsp0hWhUhVERDqKwI0Df185xB5zryOloZRJQmtHzccg/rpyiG +Jyc5zYokjgfLU9kup4f9Q1/PSxPV5WNSZ+m5LMOHG5b3hY+I4YRZCTvDbNbhLEttQ4amA+yV/bv9 +2ryek5jH8YkbCLi82FG5HvvquvF058P4Vvdj2BSoxODV0xjovYTOPfvRtf8BeAM0GViu+DnoDqC1 +ogmNWv2vTxCTGnOuPIZjY5iITZr33u7t2Imuug6mDdKHIn4chDxN1oU8pV58wRDDCM2ikckZdHWu +ox+iDWZD1CQpDE5OYZYS8uChPejuWgcXTaQyVdimsRUaWP7k8kVMxxK4RtOu4A0yDdPSLE6knRii +NpicWWAXsQecBZOeCfhfOt4FOGg2Sys7i25URULYs6MNTz6+E48/ugOPPbIHTzy5Hw8c2Iz2dZXU +1B5IsQ6OLqJvaJZCi1aIqVO9X/59D+Atw3g8iWcKePXoNVygjxunbxoO+7CluwGfY73f/MZBfOlL ++7B3VzP8PhI3rYO+kVm8deo6+3VO3X0XoL5gUN30bzWRJXO2qbYCDxzcjCc+sxNP0Gx8/JEdPG7H +Ezo+vAOfYfxD9+9DJCTakItgweN2oZqCqL7WB49f+95QYJJwAp4i1jX7Ea7xEl8Jaq1WEpRz2t75 +qOAjYjiBkCp1koKlQjNRkmYjNDNkwMQzGEIj8KCzPBlkkIxxZXYY1WSe+1u24JGWXfhsx3040NCN +/NQELh97GUk6vDseOIyqGpqGLEt5rURyIuqJoNJTxQHywkGiFzutFJNmfxRt+hqipA8yhJ0BhPIk +1IzqLpqZ0ERWs5vA1NwC0sTVH6TQKGaRzWSQTKUxv7REBnHBQ9s+nkzwHttTasKqEwPpbN5osn4S +W17agf6l00UpTb9ukgw9TbOrnMP2Eq9KxP/Ost4P3CQofcjEkc+iuTaIzx/eiX/6x4/jn/3xE/hn +f/BZ/PkffRb/5T94BE8/vAUttV7jJy8spjEyPkufhiaXxkJVsyzbk78JN7FiH+s4ML6At8/0YH4h +CR/btGVDDb722d348z9+FP/iO0/in3/ncXz7Gw9j87oag182U8TlG6PoG51Giu0X45aH/k7AetUu +aG5JW95v7qjF73/5EP7pn3yG7XwM/+yPVh0V/uQJ/MFXP0PfMWqEYvntkGDQj23dzRRAXairow+r +z52x76IBJx451IlNWxsQCFNIuLLUerbuW11yFwh/AHxIhisjoGM5lM5EOAwaIBH5XGYZl+cHMJmY +MYRtJbrSmCxGCeo0my9gdJGmXZZOVJImY6QeB5o2YyO1liMRx1TPJcwPDaK+rRO1LR1mQk8llUlF +xfoLAVTlKlGRr6AWC5PQWR+1XIKjJXbXlLqLkq4pVIX13hqEyJi6wSQ0yewEyFJiEQUWfrV/DCfO +XqOJOYdctoBMsmA2lz1+tg/HL/XRVLS7OxtCLGnyMkZpEtYwCXNhIUVTJoeQv4hIsEBTNof5xSRm +Ymn6hxxwUQLB5DdZdV0u64PBTYLXLFqxkEY0SOJvr8IBEs6hrXW4b3szDmyuw5MHNpAh9mB7VyO1 +vA/JRJb+1iJ9lQTrFPHTumBZZYvDtmAVqGPNmNGSoIo6e+EGegfJPPRrmxrD+MJnduObnz+AvZub +sa4qjO6mGnzxkd346pP3I+qTQHAYX2twZJqmvd1419ZyZ+1UF2lonKSlIoVifZUPuzY34MD2Bhzc +0YRDO1t4XIeDO224b9c67NvehFDQzby2Nfr1+93Yva0dn3t0H9pbGmhqe8xETiToxVOP7cc9uzeh +rjaCAC0Bl8tlm0ywWN75mHwQfEiGKyMgYrfn5lgeHAbFLlMbvTZxFv+f1/8PvDjwMpazi+TFUktK +h5tNYufkchn42djlhRjisWU0BqtRHYhgbmIUE/29CNFP69p9P9w0z6TVRLDaGoFWuZFkQYcHnf5G +7K1i53lqQLVFnksg5WJlaimropBHZ3UDNWg3NkapJTPMBz+qfGRQgt6ao/uF42f68fKbl2mCzZIp +OQBZFxYXFvHKr0/h129dobQuPSw3TGPbIFBcIpkmUU4hyzy67thQj/VNIQ6mA7GlFTJjDDEynpAS +sRvCMOWoU252zB2BfVDLE5Zh5jbUL7QWVLKjmAPdE7Q1RdHYVAWf32um+LPUwDnNn5fyS3mUx1Fw +OwYlP47lq88vXe7j+EiQOGl2N+LePe1Y3xw1DFGgQJIQqgj58AWatVs319LXcpGwaeGkEsil0ySN +cul33k6TxZjwbCOFoYeqSeNupKXayXgbdE6hqvGWaUgLxdTDf9GHhKpcl5XUCmoaaWYHaAmx3JDX +izR9zLAspEiVSVceE7XnbnD9IPitNZxlIA4Wj1baK95h3uDunevDj6+/gOdnj+G5/pcxEh9BTp1Q +ym4GsnThJCfUV1bRB6tEx6YueML0s2iSpBZjGLtwHgn6VZ2770V79z5TT97YGKbmm++yNVbU4PDm +vTjctYfaSztX8g47NO8QIdhOF7RW1+ORLXuxu3MLvPTtGqJ1qA1UsTP0MJt5il7EF1yYnXNzcNj5 +9JWcBR9yKSA+k6F/VjBLxVSr+dXgmCNbo1m1xTh6ekcZ44HP66IvuBld7fUIVXip4ZYxODiO2ZmY +6TPbb5bkbSt0tOV9EOSpcYr0V4suP3IOL7Klh/OWUFQKj8QzSyLMSsuzH0SoHt73ijuVlNdWFr1H +nWyb/XMgvpLHKIVFNus0L/Bu3diK9Y3sN2kfEr7GUH6Tk/V1dlTj6186hG//6ZP4v/9fvklNuB81 +VVHTRwq2rR8M6qKCnlm6OJ707bMci6Ke+5ibvxlKXWrOTTUEc+T18OgEXjtymlbLLDZt22zcA904 +cfYKzh27igp/NZrrG42/p3j1SWmEGT4a+K0YzjAYB9FIGuJkGUiDDMxk5vDK/Ot4a+YosiEvrs+O +ond8ECtp+j8cRD1AlbQpm2OapWyK1qOepuD2tk3Y2bENlf4AJvsv4UbPBaSiNAP33E+pFGE+zVq5 +GZRXks+W4eOAJIsJXI/3YiJNgnZVc7Ai8Bu8LNZy3N1uL+qo3RpCLdRuEWyqaqZpockNZqE2c2bS +cFCD5UFN6iSjEdckgzFMab7RkrNjwIYaGWu7g6Bp5jxmY0kMjM6RVjPwUmce2tmGLd00c0JumqZp +jE2tYGSutKpF+kX9WMpvC1b4YFBqMbh8OBe1mlbAGZ+FfannbFoQrin96/QleydnEaeGcXuo0QMU +BJo4EDC9FILqNIRqzspAvDQ+6m/6PHPUylOLOgdNNida6sOoDKsc5bBsa7DnT5im2VOPbMN3vn4/ +Tdp92NLVQg3vv5nmTkE9Q31MhUVBzXrdRfreHHu10UlhqqBnhDbwmsEgIEGkVTeGvmh1rCRx/FQv +3jx2He1NFTi8b6MRNlqU8MNn38LC/CTu2dmEDW01Br9yvlvho4EPyXAW1K7yIOmYor+SEnmSofQA +uyc+gFRqCRv860jcTTS19HUbMagyKg9/jHbQFwOcqPJWIJz3oSofQpO/BsVkEiPXL9IMm0XVhg7U +tbcxJYkrv0xHaQ7ZlVmWOUMTcIEaJ4nh2AR+1XcGL41ewIIzwaILdNwd9CWCdnWC6rX/8Dl8qHFW +o9XbgO6aVhKozA0HfG4HaqPEpYamRoUD5E3t2gBfwIHKKj8qq12oClOSS5uUNJvAavcikmzj2OQS +5pborzgzTOvG1rZqbOuqRxV9HAel6kw8hcHpRWTELCSUInFTeaZT7gIK4nxqEz0fiC8s4/qNIbx9 +5jreON2P149fx9GT1/DsK+fwo2dPoefaNJk9Y6bPm9fVIBqlgCEYbVPqk9LpTbDMJpxkThYwTx9s +fiWLPIVKVWUAtTVhsyJDWk05rVmnc82eAs3VQXQ0hFAR9lLIWfNaIDP2joFJNfHmpGUk2T40NImf +vnIaf/XcMYaTDKfw16XwV2zn3z53BtdpzktAWPIWy9JdYV+DwrOzgz7t5+7F9vZq09sZmdZ0RR59 +eA8+c38XGmtv9YvF17b/o4K7Xmmiqi0a/OWFpmoVs5xL4yJNyInEDG3iIFYSSzg6eBzetA9f7Poc +7mnciI5AK7VYIwJ03ssNsn+2UPXRkeHzaGWanQ0bsTQ2hkvHXkE2HkP3li600BfJzvchO9OD4nQP +HNNDSM73AotjKC5M4+j4Jfxw+JRZReJ2plhkDOsDlfi97V9AU7COTGcJQcMgf2SR2lYTOQ+0bUdb +tMloKj0cDdAM7NzQgH27WrF7cxNqSKS5bBbV0QD2dK/D/l0b0N3ZTLPKlmf4Tn3B9szOx/Eapehr +J4knteT2LXX4/acOIezz4szlYQyOaYOkIjpaK7B/ZzsCHg9puiSlWYyFW2fvBarrzJURHD83iJlY +SsIfc/FFXO6fYdw0jpzqwemLI3jp7Ws4cW4UMzP0u+gjb9vUgM8/ustMoqgWoW5qvnVhTt8J+lBK +/8gcfvLyGcRm4mhprcUTD23FJprKZq2pIU5biCEJAptEjcMYM86lckv37KF08T6wnMjgzNVRvHWy +l4znw1JyGTcGRnDs9ADePtXPdvbyaMORE304Q9+7pSWK7o4m6x6wDqFmTF26D+tbm3D/3nbDWIp3 +cSx8Xj8O7tlCLdyEcJAS1oylDRZHc/KRgGjvrsBWXSIOIqYx0vV4YhYvDxzB84NvYXBpDDlNO6+4 +sa9+L77R9Qi+0PEoNtVugN/DBpkc9q8MIiAf721t2YR1lfXmHbaJkUHMT40iSDMxnBhF6uqLWD7/ +MySuPIvi5V+icP1ZOK7/Ap6Lz2Lp7E9x7fovMRG7Qg2ZQWUqTXMjhdZQPWrd1WyoOr+EPyki4Pah +u349Htt0D9oiTeaedODWjU34xtMH8V986yF88fBWmh8RVEV9eGhfJ/7smw/i2994iAO2CX4y5U1g +oRocCaGFlRR6R6eRTOdM527euB6RkB9NNRVoog8TMJNCyxgbn0VsQRMnwshqR3tuMLwzkITQ4w9K +7ljKibM9Mbx8bASvHBvCqyfIbMfHcfzyjFmZkWF/NNEE3Lu9FRvb6ozpacaOfWGq/g2QtuIN0y4G +/mRSKaRpbgtXmayadjcKjWCwZnoxmywF2xTzw34ojzUD7908v1NgfXn5cWSYWKKI6/3zuHJtFldu +TOFyzwQu32Dg8cqNSVztmaTvvWg08i1w0F9zo4uWxoP3rEdbcwXj1KoChaub49mFXVtaUBHRRvlC +mxiWcP+o4a4ZrgxmEEr4yGUenBvG6YnzODp5Fhdnr2EhuYAcfaqm6vXorGhGU6gONRU18HppgphR +sXlvNooFeul072vbgk0NbXClkpgb7kUuPoeoOwXv0gCyA8fgHD8Dz/w1uOZ6kI7fgDPZA9fCVaxM +nkdm5gYaVuaxKZNDNE//xV2JevppURdNStazuvvcNCGbI3W4p6kb9cEqg4Y6uZZm38aORpqAzdiw +rprM4jHMta6hAtvIjN2Ugs0NlfSPbNeZftAv82rB8kxsBYPj82Z7Pw/9mO3dG2h2+VBdGca6xlqW +F6CZncXkDJluasGUYfAiUZly7gK0osZMuLDuLC2j+FIWsbkEYouLWEpnMZ/I0qd10l9zYn1TEI8e +2ozH7t+G1ka214AIq3x2+1FwExtzogf6ei6ZNeNepClrPVgLSmLbsfqoWIkhe7Th7kB5tbRBGtwg +Sw53ka6cHr8JLmonl0/nPgbSFulL8wE3ibME0rZhvwvVdAfsEyDhrscqTlSS0YK8pzQfN9w1w9ku +K00WqDPYCdqqYCo2hZXkEiYT0zg9ewW96RHkQy5UhCrZWXmzqHgyF8Mifa2smZUrg0q0pYkpNlW3 +oD1Si/j4CBbG++DHCqoDOQQLMXhS0wgUl+B3pNnvBRTcdKc9GaSdcXiozTYVXbg35UWz/Gt3gHZ/ +NSq1iJn+pF3nrto4hOxY1Rp0+dFAkzNgtK7t7VsEyBRKZAaOV7rUNSM1NW3GXsFEmYRYSWUME03Q +P9Pq+kAkgkYymTSCHnzX1FUjXBVBjplmZpcxNHzrs8cfBswoSAsVM/DQx4n6WUeEhOXLEMcURzdD +ukqjoT6Ezx/ehm89fQD37tyAaMhOmNg2iOlMw8z1b4C9ZcCkZ1uUTDOkMjM1aWOglE73rLfMM8bZ +InVTY06fledWm68q+INAOMqgyKdQ4Qc6WyqxuaOO5mwjQ7MJG3m+keZtB4+VFVEzWXQLbF2KUVD1 +Zb17E0PFmb7Q8S5wu0u4K4Yro2G7XGCwQzyTMh9P3FTZihpfFFcWB3B08RLyTpox4UqMp6bw7ODb +eK7vTZyavozZ7IKZWLEFlkrVNYurdofgS6YxfOU84jNDqCKz1UUcCLpJVHoFhRin89Qmbq8WNZnP +UKWRQZT+1GZqsnra+XP0KeZcHvgyRTQvDMM9dwXFbLw00CVgXdIo6na1QXfU4beSqI2865A4XN1N +ZeZbVRZB11qRPjwxj5n5FSajpHX5MDY5jwvXhnDmYj/mFhKaIiUPO7FATaiF0HpPyw60hl913jmY +CTkyv5Oapy7iwaE9rXjmiW14cH87GioosYtkuiyJNOTFoX3d2L97A2qq7KSABdUr4fHu9d6MNV1E +M9wvTeDnOWgyZ8wibGl1O4aWkXTPlldEVgsGqOn1wPxmGnOfZ7d33/uAcNQ4sJ58Ep3Nlfjy4R34 +k6fvuT08sx9/8sV78AdP78OmDU1mhtagYeq1h1tV6gZpxwjTcuw7zz8euKtJk5v4l3Ar8QgWE8vw +0Plvr6GjSn19bXEEvbEh1FCDPNpyL47GLuB/P/8sLoxdp6mziKZoLRpCNWQgu/BYPWPMTGoFFzt2 +uvcCTr/+Elame7Ch1oH2Wh98bi0LojlTdCNT8JnFpp4cGZAmjoMmRqLgx4VcAS948zgecIOmPjbn +kvhGbgEdzjyclS1w+qtoNuihpm2G6W+C2ElEYglGA8wbpaA/tXJ1vA6KUwfcFD6MHJlcwotHruPY +uQEWSvOG0cmVBVy+Tof+TC8u3hjHyNQiLQEJDydaGmpw//7NCBLfMgGaOu4AlO7c1VEcvzCEWTL4 +1s4m/MnX7jdhS1crVuIp9I9Mk+gpnLJJtDbVGlO5piJQys/AY5nodK3z96pe+MXiObavB7MzS2ye +A/t2taObZQZ9msol46s/yp1K6BucocDRGlX5UHZpmQScmmrreY/KVsFyIo3Tl0fwxskeI1wP39uN +79CXfuw+CpCdLbhnB8P2Fuynb3rPjlbs4/k6mvxePUtj8WbcVJCOq4Jurr62Ws3Gf5xwVxpOIFwN +WqWjTlzs0JZQPQ4278NnWx7AplArYukkTScnFuNx/LT3TVyJ9+BSsg9vT5/D5bleLGW0ntBSmXnH +iqcasHxqGX0XT2J6rI9mYhbVESdCHtqI2TQKtMUc4MDlPXDJR8t54c9HeV2D82knfoQcXgu6MU97 +vKGQwZeKOezCLHKjJ1AYOAFHYp612VoNgbNe8zBcgaDnejKTLVYmwTuC2qyjBsjirZw6V3lzCysY +o/9WyGbpT+SRzGRw4mwfnn/7Gp57o5fn1HJzMeZxIZEBRqcXaILOM6/qZAElPO4UiloBU3ATZye8 +AS/qqiNoa6rCod3r8cffehTdG9aZ9YwzCyn84nX61+f6zayfiEvmqKlTU8PUQIbZhIeaVwKd2mtq +F1ceoXCI/qxmmIGlpRTm5hNIalmOesWMoRFdJl+amvvHL53C//zvn8Xf/OwkLvbM0OQuuRJMsJox +3w/UNxn5qsrKqrw+NyqrgwyB0lsCq0PQHP0+D3G0YyR8TDB16scUqh971Kn5uTN8flu4a4Yr4yj0 +zGYyjIj4Q4h4ORhOP7ZVtuOJ9fegta4N8zTpzg4P4nxyAtGIG94aN4ZSk7g220eHfoFlaJBNsRpS +U26Cvtt4zxVkE3FUhqJmksFNreWhvya7XPV6mNCdpC/oSSLv1z6UBZxEHMfoz8VIhBUreewuFvCM +L4B1IoTsHBIDryE70UNKsB9yNM/QTGO0EYFIT+blzeExv7a21UE46lhC2kYRHDSdcpieX8TUrJha +raGjT+27vMgQd9EEiyCddZvZNq0v0wLnyek5TIxNGsKwxFAq9w5Bzxm1CkYf7NIrLNl8juZbjtI9 +j3t3rMPTnz+EsF7CpKVxY2QOx8/ewOi4/a45OdW0gvxo2mEkvCFS4WFSmOZZopXl4UIVzdFIRYTo +E39q0Glq9Piy3WrQJOOvER7MP7WUxZGrY3jurWv4V3/9PH7wwnEMTcdM0TZNqZIPBNEI2+jQKzU+ +s4ZTfSdTVj6kgkzW1cGUz3YYIVImMIIZTzEu+8pgLKY3ty32nwTcNcMZIJJUHgZxHQIeHwJeP2Yz +c7i2NIhYbgUhqvTJ5TG8OHWCPlkOjwS34c9qP4v93k6Mz0yiPzaKnKZuOVpmq7oCe2L8GpbP/RSx +2R4zKVIVcCLoYscxWRH0pShB8ySogiNNzFP0EePIeXIYoV90nf7bHDuuixryT5ML+Da1Y3OAZXu1 +RMyD4kI/cv0vIE9m1w5hmqAxr8/zXwuh1eX2qc2dgRjHbrFn2TWRyGF8bAkTE7x21NCMo4+QjZHv +6M/liW+Bmq2wDFcuZd5kyOVc1BApXBmaYduJA/tBY69w50BsHTS1kaW5RiFkZhbUAgd81EhfenwT +tm+qhZ/tz60UceGqps9pZnLczANqMZ2L5xRklv7VklWgfmE71U2ag6jkeHRvqIKP2jTPTrs8MIDe +ySma+ExH/K2vpr4p4Ny1YdwYmkcq68LM3DwFDzV/Ti6BCrXp7whYuXGjtQKB7oSymW0TbsO0fG6P +pg6qRPl95rSkzc1dUXyZ6m1XfaJwdwxXapcEgySH7TMeORoL2WW8MXoKf331efxq+ASmklNYcszj +SnGQkj5N08+P+2t34alND6LaF0ZseZHSKmOK1PxhUYtbB45iof9NpKjd1KlhdwY+LS+g+Zin5jLz +mKqUEjxBzeYoeODJejHCJMMc9Eqme5K+0T+gWXk/BaKbfl9aq3cpIX0kysLsReTmLqGg73qzXqeR +gCImDaAdQh0F9vc3wXYBf9V+XZhQxEI8SfNw0Wwr4HV6sKG1Af/F7x/GP/uzx/FP/uFh/ONv34c/ +/85hfPPpg9jc3mieYcWzBfSOzmIlQSYUIoY6bA13BsKSPiyotYt6e0HjYid61Jquhgo8ef9W1FVF +eN+JvuE58xB5cjbOlJo0YL+TOUiatlpLnaYc+6MD/xivWx5Wt3drM802L60NF64OTJo3yK/wqIUE +WlalORT5qT/91TFMUqvm807U1dejq60JdZUh205C6fCeoOoV1A7NuDphV+64vHrjg8KSdakPzSs4 +PJf1s/rooPDRnKiC6afS4f+/GK6EnLH12WPGOmKkZhyvLA/ihdHT+PXQGVyY7cVUfgmpoAMJEv1i +MY3zC8M4mxhApDaKlsoGMpKbZoH0I8uTiE9MY5kMMbtIsyNLO5xmS8BHvUYNZ6u13W//CkipUwth +IOXCfHoB3sw87md5n/UEsSEcph1PiUitmdfHBYwEpjmXXkZq5gIyS30kNL0PViqX0rAk/24e3wss +LtKOKpO4KDBmOraA4bkZpBwrCAbSOLC1Hv/Xbz+JP//jJ/HP//Bx/Nd/9CT+6R8+iT/9+sM4sHM9 +Am6awok0hkenEFtcMqXeNTj1HI59yPHQGOidWkvIYiaa8C4PHjqw1Swk9utNheUEzt8YMxvmiIEM +5mI64yApQo1S/lWg9rGvVaaIede2NmzqrCH+LizMZPHq6zfwvZ+cwEtv9uH0xSm8dWIQ//nHR/HK +m1eRTrMwEkl7cyM2ta1DJX1AC2Lw9+/nMojhaJ9wrOnHU5jMxUhL18Zw+vIQTl0ZwcmrIzhlwhjD +KONIZ5eGKFSWzStft0a01DBdlKteff4JwV0xnMFNeGtgaFLYNfigrxbDkZmLOLXYZzbz8VC6OMgw +Hk8Ybc5arC9WYCmdwYsjp+i/9cPnpONLn69sADlzSRQWrmFpuRcz8Rz9IT+ZjeZkgNKNiWSpiDjE +aOZlU2omV8FNevMiTWJxF5M4QMf6GcbvJF4ehhzPzddxeLT0QgbMZ5CZvYzMzHlqOflaLMoMvLSV +ZezSsLwn2PuWyUw+EoGm+SfmYhidnuZ5DqGwE1tI5Bs76tC+rhYb1tVhQ3O92ZBoW1cjuttqaJ55 +kE5kMTrGfDOLhgFMMKXeGZg5Cs30sm15mo1iG4OTwctiuKm9Dru3NaEy6qMZC2q5eZy9rh22ZHLJ +/5PwoB5Y3XCpbsN8YjZd37xER1MVPnPfZjTVUdjRXBzoX8JPn7+Cf/WXR/G//c0xhrfwvb8/hYmp +NOtzmnHc070enS318Gpn7FLjyvh9ECiVXrLVplDy4Xr6FvG9X5zCv/ne6/jfGP7V376Bf/W9W+H/ ++7ev498xnCMDZtIytwnq15sVl4Jg9fknBHfFcAKDd4k6SMsG3775ARybOo/pzCzaK+qws7IDNc4q +NDrq8FR0L55ybMa24HqMx2dxbrLXOLxVgYiRwNJChZU5pMdPYmlpEgsrTnZUAeFgHkH5yaygbBaI +kMzzOxKKR+qV1zlXDuvJ3E+Sue/3eFBB8yNDPylPx8JseW4ohUzB3CIvV3yMpuVV5OOTzK/ybdmm +ojuG0uCV8Epk8hifXjIbBWk7gFA4iPbOJlOkBlpCwvxRG0XDHrQ2V6K+roJCwYO5pQKuDy2ZNAYF +HU3ZdwISbNqLQ+8HeulDqYdYRKkA1V3F+vbvakdzfQXNdDdmZhO4dGMKw1PUquwXo6HFuaX26/e2 ++stNJbA4RHwuPH7fFhzc04mqaBApEnX/+DxeP9OD5944h1dOXEHPSAy5NNtB4bulqw4P7u/CuqZK +joXB7q662vQf/Xbjq5Jhx+aW8NrpPjz31mU899pFPPfqpVK4gOde4fUrl/H8q1cwMr5kngOaKlUn +f++i2o8N7prhykirHZp4UGdcn+nH4MIIqunYHmrchB11HAyEsSXQiq+2PIQnPN14KNyJWn8Eo/EF +5GiOVIQraC7SrCRzZGODSI2fo4ZLYyXlo/JMozKUhU/OsqhHI12q07KdgIzqStNfyqOT9W7zBVHn +pd3OgcnROXeQqTUZohwyLLSFA40i+HI0JRdGkV2kWaX3TEyLxJBleP9hKacTSiW0aObEMTQ0i4Wp +BLW1C+FwAK0djeaeSSeiNlf6YIkTTY0VaKR/JR8qTo1+4fqkeUvcEP+dUiMLLuYYyOxI09zSC7Fm +hbxqIbAcEatWoO3c0oqN7Q1mI9qVhQR6aJJdvDRIwVd6iVbYlRtm4N1wsHH63UIf9Jkn7sH+Pa2o +rqOl4c1S6Cxjdm4ai4sLZvbJT+tkQ3sUzzy2A/fsbOV4S7tJk6qNKum2Cn8TSh2sv5zMSZZPswTJ +1Ar7exkzMyuYnYpjfnIZcxNxBh55HpuMY5rCJJmWua1aSvW8W5M+BbgrhjM468e0hBqDPZclcQ9T +Q2lKen9VJw40bqEp6IeL9svWSCu2t3RjPX22ze4oOj21lHxkFDKczx8wvkEuvYjs3HUUlyewFHcj +lfMh6M2hyp8nMxE9Sl/bV5ppEsuI4ViGJlOcOfgpwmopqb2eItL0i/RMSntglJY6mu5WzgJNzwLT +uTTTRabPL0ySWMt+HA9ltfABYFOJmHW0gzlPqTs/Sd8zlUVl0IfWpgqsq9eeiO8EmW8O1FSFqeUq +EPJTcucSGBkdJ8NpBs+WaEv9YNAWAUFHFiGkEGZf2JdKS7WyEDMTydavb6zEnm16WTQMH9KYn5jC +1Uv9ZPYMU6stpTzm8A6seWmYshTExPKPHz6wCd/80j585sEudLZXojrqRdjjRMTtQXNjCLt3N+Mb +X7yXDLcL6xoiNOvF3NbotfDBrRQmaoPL7TM+Y5BtjJCZg7SMAg4/jz6EWF+QAjfINEGeB3TtZauY +tqTeLJjT1XV+cP0fB9z16znl4TD9z2Mqm8XzY7TZV6bxVMtBbKnpxPGZyxiaH8LjzfdiT9MOJPNx +rCxOIsEcU4kltFU2YXtdFyqplXILgygOvI7sbB+uTHkwvexFDc3JTQ3084JaUGpIwlbGzrcmYoF+ +mwNudaj8NN5MurXvsAM++nZezdJRvdkuVR6mIO0V6O94mMZogkADXLWb4QxEmY7XSmzqujsQMc7N +xc3ek1TY2LixCQ8d3IgH9rTDZ3YclllbFhosn+dSrCvJNJK5FTTUB7CptQaPHNhC7SeVrlS23N8E +2ybjb/L+/GICS4ll8zaDVrvv39WGZjK7hKExotVoCiezpR/NcO1wHQo40UoG6Gitw/buNrPrVkl6 +rKrzXeo2deqOZbpQwI31LbVkrmpqryCqIkE01lSic30jDh7owOcP78Izj+5DV2uVPguhXCxEJiwN +e57aut6tjbdAabK5AmYXU1hOFtDeXMvyatDcWo9W+oTtrdVoY/ltjGtbX4v1petNHVW4/0AXNq6v +L+2Obcu61T7B+9f9cQHHrtTbdwgmcTkLG7CSTOL/dvI/oDd2Ff/l9q+gLtyEf3P5+xie78V/t+s7 +eLzzMJKJeVw79Sri3jB+NXcWoYoontr8KHZUtCI79Dayp/4SsyO9+NkNJ2gZYGe1Bw9sCpCQ9BIp +qVNaydZo6ydoI2r9pTXTScmeJbU76T8F6KjrGZ62yBPhmcEV8zldyDL4mN5D/y7XsAvFe/4Agbb7 +jCCUkDdsYSr64MFY3W3L1BTaa1Lb6blI3JXRAOqrA0bLajWImbUxDy5VPgUDiUgvqE7TNNImQ3pX +rr25zrykqXJvJ4zbQfsrWlxpGS+nSIzLSFOzhlhGdXWI/qMYiFqB941pCU0cOIlbnvXFzZvP2mZB +VkgT/UhtrmMnpRhMte9dt2Y0VbMsDJvJiRRN99iyNlBN02dSG4sIBL2oj4bNu2UOM5UjYlcBGo8y +4av/3ruucv9qA9lZ9tUkhZo2RFC71SL1gZnyYTJTEq9NFv6ou+urw6SfkJlZFdzepbp4//o/Lrhr +hhOUswjd5VQS/w8yTNaziH/Q9Vn6RV781dWfcYAX8N/c86fYWdNtOmfo4ln40l68sXgOU55lHOo8 +hH3R9Sj0vITc+b/C6EgcvxjIYTq9gnvrqnFfexih6CSJhnqrEGJdIhvzsj2PZC5k6INQe5EGnG4N +AOPpP2mbgTz9OC0mcLjov+nBNNNo1jTN4CKB+1I5ZKMtyOz5EqLbv0bm1cQzR0mzq4ZMNazvD9oB +TM97zMc1CKslqBEFGnheFkj8mt/RUyELSqNpIPWhlb53DszDcu0b4iRko8FsnbbW8uMNCSjFiwEI +MstN2tWgdAqyEJR+NX7lMm8HM+78NwKMyQ3zqNtM8nfm0YyyYq0Ascu+rJZ8r/LfCcLuzlK+F6iE +Mqh9upYoUqm6/uBx/qjhQ9VY7ngRecZFVe+qxb7QNjR46+EhlQUo5T3UOGYzFqbRhjvR6kak56fR +UAyjK0Rn2xtBvkCpmFumiZXDMjtBGwOZdwA0eemif0HTj1H0FbWsyz6E0ESI9uDQfo9FxjnFYQSH +NFuBxM2B1YNcIWgEsrhduBJns+mOvhdHPyaXW4RzaQLOFLWMGQSlVVl3NsSWiGzdOipotYy+uCMt +JLFgypI5axIJj1Icg7Ka9GRYMe3qst4PzASM0qg4U6fya4LAanTpNjNZpDRiCMNsFlfNkmqSS+nt +EiiVaMuzflw5vDuwGEMx9g11CrtV3abyLC72qAkSpuKftLYymspWwTuvb4HFVdrLplFZtmwFClOD +/+q43wzm+aRogHXbYt7Ztvdu58cJH4rhzACKkNgSHx3W3fVd2BntQpU7YvY+9Hk8mEssYGR2VE02 +ctcXCWEpPQs3O6w13IBqfyWZg4RP/y6tlyUZtEbOI6lPBsu7tUUCGY5MJGKS6VXUg0wyoVkGxk6k +S4a8tmDTKhLmKZABxahiRO0tWdArHdRaLrPrD9NTHJvJFFVRzMKdjMORWjHtMQNgRubOBkJ5FOyK +B62AEWGT2Hlt7glB/mo1i5GpJn2J+dTt0qYiWgooHS0ONt17A9OKgJRGz6VE0qZeBtaiozS1YUoT +SOyMs1mZx9Rp61XgD28ojU2v8t8XWLf5M3acJWaTT/+mOJVbOpq6S3RSKv/2Ot67rnJa004TYfG1 +K0lKffyOYO/dCqrf9o+t3/S5HQkGwXvX/3GCsLh7IK7sEg5uEX5S/ebmDqyvazbrKbXleKWvktLP +i6xmpTgwqsQXDEAP1vK5pF176Q9RLKbMMqtEMoWFuEw/dggTa72kfZNZdEVjhx0uUuX4mtUUMhN5 +xxAXhRnjC8h7csh502TADPOJ0WwKi6mAhhNPXOUBk6RPxZFNaUNUe98OsLn4QChropvSmFlv0geP +wtWWWS5x9a9BrxRsT94ZMF2ZaQ0h2VAqqAS3ylL7bdm2jtvr1FH3SuWVzt8XVNeqJOUqb5WpsuzR +xq8u++7hVvnlcizY+m4PFsr1rD7qro6rg6B8/GThQzGceS2lRGGaLawKRBElA8mMDDp9qHZHEfFH +EaiImDRms1ZN5VbXsvnaF9HJtDQds2K4RfqBGcTi7FTzgQUHUhmafTmaBcTOSEnGibnkk+lta7sy +goyoB73042TiKK20GtnU+A5lk10x5qOQMoPE/DynDKSpSoZLx5HLxEsjJkKxxzsBKzXtsXwusOcq +q3zUr+Ddry2Ujx8E78xjw61S7fmtFOV4wa00t+Dd7r8f8L5JomP5XFA+WX18Z/htYHX+9yuvHF9O +827Xq+M+efhQDGdffSCDiBGIt9681kp1DXDI7UeTvwoR+DG9rO3r5FHZoQ9V1Zgpaqem5ckQelNZ +21cvZvKIZ9z01VgGbyUSGSQytMUdmsSnQ0/GEqLyzpyOHP3EAv04nufEzLpPDPIql84fj0YNshxD +E4Y5dSQOmr0Q87Ek8zktvZOXXWFSYbcGa/Dxw4diuN8AEbS0CpnQ7/KhLdKMdd5q9Az1Iab33kTn +vB2qqKRVGUZB0/JaWcH02WyW/l4eSTKKTCCtf1xJFRhXJNN5kCMz5emvGNNRqot5bH05+oN5uWM2 +kMnceRePpRm6Mg9JIqh+ImgnB+jbMVqzfM58iky3YtOtwRp8AvChGM5oLHKRIWJD2SJqmX0skFqq +JdqI3Y3d5uP4E3NTJo0mwgOhMELBKAq5PLLptNmcM54uYJ7MlZaTS5PR7fMi5w4jlvZhbsWDpbQX +8awHKzmvWYWSLvqQYcjRRCw4s6wwa7SemZs02tTOjpUev5DT1EQymiSCniHwKIYzfEiGdeTo85kU +5QxrsAYfH/xWGs4ym9ispHXEdNQgUX8EO9d1Y1f7VmTojxmtQkLXFuMeX4WZZczl4khmc2QsN9L0 ++QKRMCoqoqhtbEK0qQNZXwMWcpWYTUcwm41ijiGWj2KBYT4XxmIhiAT9wJTTRWaF2T8/T+YruKg5 +9UqP8BFemgUkd5nFweahHXFhHu3JbwSB0CdYcVGGUptuwupzQfn6VrpbKaSnb/+9dfdWKnu+Ov7d +rsvwXvdWnwtuj7+FQ+nM3C7F8aIcTOzNc3vNCxtK6W10+Xo1vDOufP5u8aWwuuzSub0sn5fule7b +aF3b4y1cLdy65tHkK5/Zq1spy1COWZ1nddrb48uxt47vhNX33z8traxVmH9IuFkAi9JjVJFvln+x +DH24lRwaqfE0i61J2fEbA4gvTSJSHUQ2Po6Bky9iemKKNmEFInpZNBhC1hWGl+ZeKGe3KxezupBi +SFJJSSNl4HHkEfRqK3P6dKzLi7Q5d5PB9HqQS7hIoZVkQo4/YkSqNesbZqkJ/Y0o7PpDhHd/leUS +cyZePQFyO5RbWb5v22lh9blgddryvXemKcOttKtTCsqpbfx75SdoCM0t/pjh5FHXN7PwpGRaW7Ck +pLh3ba4p791u3CncrLgE77y+EzAYluBW3tXk+ptjtbqeO8NBPSHB++533w3K9b9XPavhN+99ZAxn +/CMyhimsVCI9NfOwWRv/aD2jHodNjoxivPcCfbcYctklxKdG4crSlPR74CtmkNIHORwRWooF+Gju +af1jTlqqkIArtwInmdClLRbId17W4/FokbOW/SzD78wgQKYKkKncZFTVnCeDmtlMPVpgvJ7dOc0M +KU3RQBOw648Q3Pll4iyklUPpbANWd6m50okiTVoRK9tbjiuBuV2K0DDePpy2pNvBppWoUsr3T2fj +VadJW65fIGHB++X6bkbzxJyvKlaPM82+IDTttSby9g/sKxET3yyYUM6ro4Hyyao0BlYnXH2PGJXK +E4+Uizb8wvPSHaW6PZe5b3tPqcRgoietQ9XzS793Ne4CW6C1tHS5urRyDTqWf2/11jsxNherIg1z +s1AjlG3UTVDbbJ02cfnc5HkHfCQMJzD4CSFdsB6Dq2YCCVr9oQ7Kp2Pou3YCk31XkNVbztRi2hXF +7ag0GqhQJDN5HUikPWyYFz52piYWUzQFtZmsL0OtRmbz5qnBaIpmyEDaDzPv1v6OMegRnL+Qht81 +B32sMAM/MintbqydrSoZnBykOGo8S4hKY1ZthHPftxHoeqLUWSI4YU7fzlCqBtO0hH/lRtlrA0wj +n9E+tpD+Zjzj9BiCmLMM3ZPpymj9qByTX5BjpPpHe3XoYYbeXNBndWnumvsWH1sm0+mxhoQG+1Rl +maebBmflVTpe82BpTPhquYEehmvrBRdx0goU5S2iZ3wFzx3px/L8PL7z5d1orq+hUBIuul8qy8xS +sX2qxlTI9tGqsEJG5ZaJSvUrqdp/EwFGqDydK16gcxvM+3c8SgBqDZ7+rOctIak/Ass3vMQLba2R +56/ehhDuf/OTt9DWHMZjB7uxvrHG4GHKFW6mHNGN2s944cq7KkqglBotG2NxNzhzDPRFJrkfmg9Q +JtNOk1ZBbbanutKpQOfmwpywPSxLM+s6v7kwYBWU8bgLMCWXjvbcNoy/Klz/9pKxKt6u7ihk0pju +78NM73Vkl5bgJidpltFJrVYk43lz1hwsZMkwbHDUU0SwsIhwZhTR/CzCxRSZLWM6XZvA5j0eFHwe +5FwuZD1h+nz1SHsasOSqx5yjmX5eM+byTVh0b0TctxHLnnbea8VUrgET6UrMZ8P0ASPI+7QxKnEv +6PUYLZFSR9HsNO1R4F3TZ4wvP+AznahrpS3dNx2taBFUjgeWpccfhvAELMsWdLMOk9+UIeIVM/Em +k5halFU4mAwaOHttCZ0XxnLQtQjMlqs4lWfrNAXcPJgf5tVrVD0DA3jtyCksLq8g4NOzT3vPEofK +Vwad8trECcrtWI2LbZNNrvPSiiCzcKFUr2mB2qijgi3TdEXpvjXldW4ubVozFhoTs1TZMILynjqr +j5P0I5UhA5rvu9lihIuYn2LdxjC/XebMOJanMm8PxElinjSlPpOQZHRpLPnDE3tqBZ3OTR66LUaQ +2iSMZyY7WEyha5Wj8le1aRX8FhqunE0120O5UnOpaA5uLqUV6guITU9h/volJOaG2QWU4u4gfao0 +EYjTf3LB56aX5kwjmViGm/6c1xuEN7tApsyK/ZAteGkmxnnuRJymRM48gyvAz8ZnPREzIA6anPps +lWYr/fksMk4Sk6fGmB2u9Ao7Jos0uV8rVYLpOVRWV6Du4NdQ3/UAkRVB3d5JZgDMmZWE2hdFjBhL +5qDPqwW0asXcUTp1tfKzs8sxdkQIGgSr8WyEctlUpQQE02s8MG05SmD61Aar4ZRGZcn01a5/Vit5 +9A4Yy9dXSIVV0W2JRGDawR+ly1HInbzYh9dP3cCB3dvw0J42mvs2pe7bU9VRqpftsfjqhs51y6ZT +ErX3g0FpbB2GGCUsVBeFp25Z8SDNol+b2sZY0BlbRlfCgVeOX8foTMJs/NrZUgWPWavH+ywzk8ny +2gU3GbHAsdYia/vQSH1RHpcyJgIJAu2VQivDpCDwp3xf8jLJ2/owiL5L4BKDGkaW1SJsLRhBpXap +PDKv00U6YaMUbe6tgg/BcEp+qxCTXZerStFi5HR8EYnFaSQWZrA4O4WluSkUl2bIKCmM0cqbXPGa +jWK1E4dTL4h5cggE0+iociCeDmFogUZRLkkmC6BIbRRy59BSlTTvyGXotyWUl4yTpXbsm62kH+hC +c0UKoSgbTgbzZRNIkpF756qQyRWxqSKBukABU/kA+udd8GcXsWWdFzVbDyFTtR0LyxnzMcY0HRxv +2Iu2xio0VYXMO23qSn2Te2w6jmvXpzAwOWe+H7drUwc6mmsQ8omJi5hfTmFgYgHzCwm2i/qdRBAM +edG5vt68siNpOz2zjPHJRSwmU9TUZnscCqYMQh4/tnc2mi+4aPOb/vE54pRAc22FeYHUMj1xYT+L +QSYXkrjWP4HhwTk4vU5s2FiP7rZ6VFHrk6cwvbiCK70T2NbVgJrKsNn6O0WfbWBsDifP9WF0ZBpt +bY1m9+TNrXUkDCs6JueW2M55hIIB1ltlPowxG1sxm/Ksb6o0HzspD7WGXcJ9Zm4Rw2MzWCJ1Fk2b +MvS1iwizTRs7GwwDTEzGzKOapoZKo1WXEyn0j02Z841tTWYPmoGJOUzNLiKbpm9Aje+hP19fHUHn +Om3NZ5nmwo0J80mwTWxrY51WMhUxPZfAxRvTGBqdQkWFD3u3daK9uZKC24HleA79QzOYWojDvilF +TmAHeWku6p1AtWlwTN8ZzKC5oZrjFDTtW1zJ4sbgLC7fmDTfw9vc1Yzd3XUIB2RaEhdJO9a9GCf9 +Tc5jJZ3Frg31iLA9Dk0UEAxrcKxW89xdv4BqocRhpkBTr71WPKVBcnEW4/1XMNp3GYuTw1iaGUWB +Wk47uM4R0WN9Sbx2LY5Tg3lcGXXh0kgOFyeTlCYF7GiuxdCsF8+eieP4IOPHnLgwmsbwYgL6Bn59 +pQ8RTe0XPWSGLIaXVvDimTSGRlKoDjtQV6MvmVIb0mRNZ734xekUTvUuo6HCi5ZKN4bmM3jlygpo +TaGrMUTTJItfnxrC3/3yIk6dHsZrZ3pw9NoI4pkcGmrCqCYDyAcdnFzGj547ix/++Ciu9k3iwqVe +M9D1dVWorvCbJWdXeyfxvZ+fwo9fOIvj54dw5PgVnL7SB3/Aj3X1VdTobppEw/jxL47hF6+exxtn +xvDWqUEcOXsJgwOz2LKhGVWVQcwvpVjGafzqtUtkMTfj7bZ6VrqCPm4Rv3ztMv7uuWN4/cR1nLxM +BppdYN4KtJFoZDaeuzGM//Xf/gIb2kWY9rvVV1jH3z1/Cr969QLGR+Zxo28EQ3PzhuCjoYDRICcv +9OPvfnaETLeIlnV1Zkv2k+cH8OzLp1BfX0F/T8xfGm2m1/tq56/04/s/fxM/e/kCjpwfx5unLuDE +6X4M9E2b74BrM8Sfv3Aevf1TaCGBV0QpUMdn8Nc/eoF9uIh9WzppwTjwE7b57549iteOXcWxM+qX +EYxMLKGpPsI22M8VH2F73zp+CdVVUcZXYWklhVeO3cBf/f1RvHr6Os72kN7iK9i0cR21kg/Dowv4 +8bMn8SPW/xpxOnr2Ko6euYYLHJ+qijA2dTbhJ788Zr43V1+rvWYiRhgcPz+IH/ziOF578yrHegxX +esbRVFeJxtqo+R6e6F5a9WrfBL7782Nscy+F2zrSTLTEaLZ/FFZD2SK6QzCcVQIZAgoCxuufzJZN +LpHJBjE9eA2xiQEy3zTyqUW46IOp7gxNwRVqoyWGyWUnbkw6MLjoRizjRzLnh6fgw9KSA71jBYzF +/FhOO7CYTuPqbBpHBrKgz0yt54InSTOKjDC27MWVYQcuDuQxNk8dkqNkJOO69a6cwwN9oOZc7wou +TxSRyHpIrDmMzKQxqU/nEv3U/DR6Ll/BWyf60HN9CNOjQzh79jqefeUCzlJDJFjW4koGJ64M47lX +T2Nmfgntrc0kziBee+sKXjl6DVNzK2w7NcFsEucvTuDy1SksJDKIkavfOtuLX7x2gXgsGKKS77EU +z5KgEzh3ZZrEOon5Re3lQm1NSSqLYZoS/CQJ4qU3rpuPKsYobEwv855Mmb7hWTz3wjn09M/CFw5R +sBRw9Nh1vPr6JWqjBC2MAvGM4/Uj16iZlsymTUuUxG+duIGXj1zHbCKHqvp6ZCjyX3jrAn7OtsYT +aTOaU7NxnDjVh9fevop+1qNPKI9NxXDifK8pW8RkcCkFEZS+Nqot1CcogNSekxeGMLeQxTI1njbL +VdkXaRlcuD6NhaW0yb+8ksaJiwMk2CmzAIKkgxs9kzjLvGO0AFZY3vDILH599ApePnkVKfNyK9DL +uGMXBjFJrSuTb3R8CW+f7EfPELVbTTU1VRE/+vnbOHNxCMlUBhl9dIT16yXZG4MzOHVhFKMTy0jS +LcjwvtpzjTicJd5ziyn2gYPCYB4vs19OnetBKBRCOBLBW0cvsM9PYXJmiYymntLnpXMYoPZ8neN0 +9O1+3OB4iMhN3+jnXeAuGa4MNLJYoLSqiMAUTjWXSy5jYXwAc8M3kFmeho/2sZemkHnDn/aEN5tG +ZS6D7fVBPLKtFns7gmiO5mjaFfG53WHsbPci4l2iibVMvNPY2urHF/eE8NSuEM3FIIbJnNOa3KR5 +VGBv53I0VWIBJHJRLBXCmFp2mU15PMU0/Tt9rilNH85vdv+9Mpkwb5MXyYROl1aquDhgtPOZVnNg +gYgPBzaF8dV9Eexb58fMyAyu3yDj0EycnFmgo34dK5klfOOrB/Dtbz6AP/zWYWqUEI5TMvYOxszL +sFr94vMHsX9HB/7sm/fjH/3Ro9i+YyOuDdP0m5mjppRpUocvfn4fnvncPdi4sRYbN9Tgj7/yEL72 +9L1obIiyr5yYml80e0jGU2mMz8TInPoAf6nfSRDHLvRggBrqvj3d+Idffxhf/9x9aK2uwcTgBGZY +D3ubbfMiU9TGq1qPCjLPNE6f7TffQf/S5w7ij7/1CL76zP3UNhWU8OcwMrVgGFMTXVkKrb7+GVy+ +PmasDgcHMMU46w+pdGvW6qg3MLTp7Rc/ex++9tR95hvZ6xrq8PtfJl5PH0RrY40xrc0u1Rw3mfu2 +ANZTDJLA9XERRUgAOtHAvJ97ZC/+8e8/gq89sdOY68cv6ZsIKUNrafrRSYcfefrPBeIgATE1JROz +GX/2jcP4vccPwUGh3HtlCikyVV11EE88vB3f+vI+7N3VRA1Vjccf2Ic//b3D2LGllaa2WaGLHK0P +h4fuCl2H6/3TxorpaG/CH33rQfzBNw6ha0M1mWsYswvLRkBIeUgoTE4vY55WUyrlwnUyrnGxjOhS +m+yIrYa7ZDhbiMoo27GW2dhZmRSWJgcw1XsBsfFBUNXRBtfAaKdcOpHmYXMRlc48djT48cjmIPa0 +5rEuuowtDSl8YYsTu5ucCHriZIoUXJ40NjcW8dhmNx7bSF+gir4ctV2Wmq3g4uAFqCkzZLipInw+ +F7whD2bZ0XOL2vbbOtw5Mp1LL8G6/eibTtOf05pN84omu4RlCDcKAn2YPRx14p52Dx7b6sShjREE +KVFnB8cxPzmFsdEJ9PaNYlNXI/7gawdwcHctnnlsKx68fytmWGnPIG147fPIqkJRF/Zta8JXD+/A +Vz57Lw7es514UNon9BpQHp0kyCcOb8XjD21GV3sYXa1hfPOJvfj8w1vRUEv/iIiPTM6SMPM0mzzU +DnEKGprjjFef51jGsQu9CFVF8AXW8dSDm/DVx3fhm184wHpbyFB63MBhJWPRGaUm1tS2wxDQxOQS +9m1ej997YhcO37MOTz7Qjc/s34We3jlK50nzXqIcf3i8ZPRlnLk0hKEpWifa8MlNxlADTc9Kzwof +G1qaqvHkg8TlkW3obAmilWbZFx/fic8d3mLaZGYQ3Xm4fMynPdmZX2Z6kVaC0yUXQGVaOmlqrsd9 ++zfhy2zTkw9uQXsTzcbFZGn7BlXIsSNzSDCI9PShjzzVozZv2tQcxRce3IpvPfMIWqjtNOtdWxvC +g4e68MzhzdjdVY3mujAe3NeFLz65B90bm1g/e0c7BrhZP5snbdg/NE/tRVog43/+kY148qF2/PE3 +H8aeezYYn1z4yqKZpx89NZuAl/0TromwD6fIhJrFVBKx2u3MJrhLhiPNiMlMB1lmMyYFzY7F6XFM +DlzG/HgfsolFFNlB2XwWOVXMDsro0bTTh5THAy87PqTvvTmS7CyaUWxwlM5sxEmmzLuRQ4jxEcSW +8uifStIpTdGsS9FxLiDoYseQgF1BN6YTBczPZdESzaKpOo9lSuPJZWo+LYR2RIwDD2pUl8uPxYQf +PTM5zNGcM9P16jT6NQVN29A1yhPfdDKFGE3iBfp1OZqe2dlhzAxcQH9vDxbmV8ggreZD8cV8GmH2 ++9bN7eazTZPzc4gntUVSHqn0CsZm5nH52hQu0WQcosnhpRMd9dJcJrFoxtTv9cBPQeCiienKO1iW +dpviPTJ+nFLzBpkjRJ9q55b19L1c6BudozmqLtdGQDn00NSroT/R3BCGPkm9nkcR0DepVda3ans+ +Ejg1gHkDnm3VsA9PxmlCFrGxtQIdFHiuYgYVzLyvu4Uur5cac9rsHMaBgydIv5XM2js8h7OXOJ7s +H7P/pRl3C7dIqWiEVsDrRIjBy/EWO0QCbrOTmn3eSEFBUtO3JIwG0D+DfTtfU/sSCZqHdGKJBNs/ +NoPz14dxjT5nnCZiA/01+6lqjpnZApEIMb+mUSJRP+WpE2euDBmfa2R6Gl/8+j585oktiEZozZCu +PKSvIMcgRKHvIy16iadH63bNLm/EkOOgPSzlk6VS+irQEst2oautkQqgAFaBZ568B3/4zcfQsb7e +zIQKxmkVTM4tY8OGBuzZ0Ux/cw5Dkyssx05uqVX6Ww13zXCGe1makDMX7MRlEtxw3zXMTAyxQ1LG +qZQDrolUfRNA3ygrkpnSXjIeCTTroG2v12IyeWqZMJJkruUch4kMWSzqQXYIWYRx/MYy/vUrM/g3 +r5OAp9JoXhdEQ6UTbs1iFciMSykkaAZ10STtYKDCwzRv6XF6mgOf5Vk+M4fKSjcd/jB9vBWaoGQk +NtvpIXsQ/YwG3+mn+ebBqaEEfnJxCS9cniPzZhDxLGFp+jL6+i4hSZNGg5ZamkZmif4DGbS2MgyP +P4d4Rh+tSJgJhuXlNH7+2lX8i//pZ/hv/58/xcu/voodGzqxcZ1e0GX7Sv0o/zGXF1OwvRp1c8dB +jRlH38A0ne9qPHBwB6qqK2iyTiAWlx/HviPDLcTiZocvMajWpbpIVJUkrrraCPyUtkaYkOGKYmiT +iz4TG+omE0cryWwcddkAMl9rqY1cYSctgwRNdCJSpH9XHUXLhg0cJy990hskrGmaWyQWLRW6DSzO +OmqWtkBzr+isQJoEJ01s304Uy3HcnWRi+Ek7dsLBPKpxe1GQiUnQw3mZ+z3UEv/xuy+z//4G//Kv +X8HkQh4Hd24m85Q+gk860vaJRr+R9tpbarB7TxcSxPU//eQ4/vt/+X089/YZfY5C5pXBUMRvHtwX +/cTBR2GuOJtfXZ+nllW8tFaKDL2SIMMVV1DJfrHM40Qdua6jPkrhSPuIiGjFywh9vRmamNu3t+Dh +QxupFOgnEn/5tKb4UlgNH0LDqTAOFxtf4OBnFsYxd+MolocuokDzR3Z6gcTs0LorNkMr8t2USL5C +lt2dM2scNQSq2OEIkOhprmi1v2ORQ0eHuhhmHJ1zPcSkXTwz48TArIPS2I/PdwWxPprCSsELZ9aH +oYkMtWYGweocquv0uKCA8ZUMFsgseQ8ZOhskcwVQVxHA3qYsEisJXJ4OYy7hgi+3BF9mhf4etSUJ +JZEq4sjgCn5+PIOegUW01uexsdEBT0bPEZfN7mCxwWsYefMHGD/zBhZGryI3N0mGztOsoVYmcReo +gQoiLvZD3/Agjpw4j5aGCnzzqUNoXVdlLL2yxJOVYPhMbzzQtDXPEfk3NLyE2FQKtdGA2XJPPmEf +B3F8ds70u+FO4u1wKx/HQXPdDCKiNPtZkxwaZT07Uk8bk4lVaqVGwaNpezGCEDGONbU8rQoKwTwF +nZhQEylhXxF7O8NoqvXizI1xnL4ySlOQwkuvM1kSNq2wbWEQHlrZQQLXx1Nyev5p7tIvYj0yrzQb +r02eHOQElcDuMtZPhoLK0JQh0mUKsmUsTsRx/TwtJvrOe+7txhce3UUms5MmRbePNEShUapdW/59 ++YnN+M4f7qd/3IjzV2P4X/71UTx/dBTL1I6GwZlO2zCoz3PqdeGrWEpc3XWbvXGSZiw0Eywh5mCc +NKBJUZTVRS+pQLrS3ADLWIinMDS2iORyHm1NNfRdG5CO53H6anmDXfWM8qu1t+CuGE7jbfiFhRVo +qk0O96D33FHMDZwnYS4Y30kbBsk00NpFVssaKGU9WtpFGcZe9tCZVyMN7dCcyJlnFmwcB8xJYjJ7 +fLjmmS+OnfSlHru3HhvbouZ5WMjHHCGajLS3+Y/FhQAZMoAT5/KUxGlMjGQwN5NEnJJGn2vykuFI +dwiQ0HY1usl6PgzPODBLU1TgynuIM4eOZirdQKynFry3oxlP72vB43uq0VZF4qPPFyhSKpKx5mdm +sTg1hLn+4xi8/Dod8+NIzMZQWMrRv1SZ1DRR+pz0z/7FP38am/Y2IxROoq6K5qTxXWwaOwSyAlS3 +iIGXJAL9DY4vYJ5+6NtHruIHP/w1Tp25jtlYBiNTlLocRS9NokhlBCv5jDHRREhLmkU9P4IX37xK +J37RlC6yFrNpQk197Wf/FVI0m2myGaAmy+eKSCyyjARNWp++iOMw297pgfH2rlrs2b4eiYwT5y+N +I0mT3mXa8E5Qa2yLVJEY3XweTK6HmWTRgw2adYU09A0ILbiTcSRSDPAYoa8pt0S+nYPaq6OtGX/y +rcfwh1/7DJoaorQaEvRl/ZbuBAXirQUVhnUKpAEKTeL8pQe78f/6r76A/+4ffRGOjBevvHUBi0u0 +Cgzlsx+IlyY7jGUmojC0KSHD6yxxE32y/TJdw+EI74WwuGwqZJ4CTp4fxt//6jSZbMEItbnFOGZi +SxgZm8VzL53CX3zvVxgfpwsxQmtHlgLrFIOX0S7DXTGccX6Jp1qfWl7EVP8ljA/1YGWFmo1Fa1W/ +pJxefcmSUNWBLnaoOt6ocQpftssgIXNOjTXvsFHdF6nWNVuUxTLT0E53ZNBErXRwK32lRicWElmc +jSWxRLPTS99wVrOHC+yrRAjDow7DbCmaH8tLRczyaFavqGP1xkFhiX6On/5XlEKMJiWZJ+8OI+uK +IMu60/yrCDlxsDOKr+/x42u7fNjb7KHfRUIlQdf7PPQqC5heKmDK0ch8DsQW53ClfwDx2DQ89Ptc +WUq+YpqCIUcBUYuvf2YXvvLkXkxNjOLU5T4sUwhYUAcKyBCm7ebUwAoH6vLQCKbpD5op7JMDGB/R +J4ppPvdrlrNI/0MP0jswN5nE5GJKNgGGyIw/efkyfv7iBTryK4zhGMjP0aiYAQMaoj44k05Mj7OP +4hwHCjpNRAwNziIbS5uH6176tIrXs7XKihB2belAW30j5kaXON7SKbdmFC3SJcQNGVlS0vi6qc4M +rQgP4ix/iV1IbLK0BmhRkEa0Y6UzlSbTqVyWRIGbL7hRFanCPbs78MRj281D6Qvnr+Ha4Ahpyc6Q +ajZAn60qsg4twD5+agh//9NzmByN494d6/H7T++imRnC2PAAMhlpIyPNiKlokzixbm1EpEqN1uMJ +sYUjR5OV5n2Q/mtVVRX9WSf6ByT4nRRuefzwl2fx459dwPSUlq65MEmLY3higv77LC71DeHtk1dI +0xkMjkgz0+UQwRuw/V+Gu2I4279kLEqUZJymz/QYMqkkGYXmHNVunp3i8FIaeYLUXH7z3En1GqKi +lNDeJvK9ZF9opyt9z9uRF0NQWlHUiwlT2h6v4Kf54YOffdxemcb2Bg2YH5fGgMm4ExGfH/0xMhn9 +mo4WYN82N+7d4kF3K+slE/XHgvQLSWB+MS4JiOfRqBOdzT7QhSEKMi1k+uSNr5EhocuvWVftwcbK +JNqDMVR66AkyskgztbqiSBvejcGpJN7opbOcrsWNSTfO9S/BE/BhfWsFImHKcZZbLAZJuH40VUfw +1OFd8HmDeOv0DUzHbt/Kwb4sy3azPyR0NTDTixn0jc6ivqkCjz26G19/5gE88fAORENuXLk2Zt6E +14qRg1u7sDAWw69evYRXyZQvvn0NR872UBtlEYmIKViTVBtNQC0Q1szn5rY6VATcOH1uCC8fGUbv +ZAZneqbx4lvn2DcOY44F/PKPKCCZVUzTua4OOzZ1EDO2jdpQfXkL1JbVxMRzCXZqH0pBmn28UCwZ +PizfMeQxq1jO9syij6bY9b5xzM7NIhQiw0lQ6/G4hARpRLPO3V1N2LOtHTEKkGPnBxmtuogDCcrs +hCbtRHNxbHwZr77Zg+dfv4ze6WVMLS0jqWV7AW37cQs/Y2KTzpyypErREgYSECpPTp+e4YYCATJs +HRkjj1+/eQq/PtGDF46zj984R1ORbQn6yKhFDLD/pynwure04JtP78e3vnAfHj68E33TC+inFpQw +ILqqxdRVhrtiuJv52RAnbf8gJUFVwzpUr9uAypZNqG7tRm3rZtQxVDdvoJMepQNtG2vMBjOdy4ar +8SpGz8sK9N1oamh8NKBFrYPLUDOmOLiUyPqiWCf9s+ZKHyYpnQdHVswrO70zBRJYCvs2ZPH5exx4 +6l4P9m8O0uwJYmDGhQXNq5BpaPRzAFgmpWJnYxZNUS3h4uBmtWxshSFLgUlGydFk8tK0le/pSJP5 +80hTEqZpmkYqs+hs8bHDi3jh1DxeuJSlr7eAwZgHu/btwD76GZU1UWRzHkpVChoOHAWj+eD89i07 +cO7CAK5cHaUlQKQIGmhj4mgTJTKJ3DL1R0/POGam5rCXTvjvf/Fe/MnXDuKrX9hJ/yCKvr4Rs/pD +/Xjf7nZsbK7G0Tev4F//+5cpeY8jl0ti765WNNRGVQElNpktFWO8Hu4WsbmzEdu212NkdhJ/+aO3 +8B+/fxx/8YM36XP04qHDndhgtiQn0RGfYlYzuXnUV4eIyzqso8ZIJKeIo31obcHojNK5dBmJlkKk +mKKGTcVJxGI43S8iqq8JtdRgYTGJH/3qLP7i+29CH2zMso5N3U1kHjIdmadYoJ+YXaDgSqG+JoLd +W9tQVRHB60cuY2zC+rAFWSg0i/VRWW1a1dhURcHqxQtHruDf/fAo/u0P3sDcfAz7tneRma0pKjyN +0M+laVYvUXiwbwxmZDgeqerZ7jjHLWsmkrZ0NmDbpgZc6xvAv/wPz+I//OXLiNOK2b9/PWrrAsZl +ud47Q0r2033Yhe989QH86Zfux5c/u9dM4l24NoyUJvZUBxFQKMPdaTiBGIfUFKyoRsfWvejYcQDr +dx5E6877sH7bIazffC/Wd9+Dtu7dqF/XRt/ca7SInGQ9qBSrlTfy9HmKqK2g36OJNappSSyZQJoy +b4w4EaZvJYlWEwY2NuRRQ3NtZT6DGCX9CjttfaUT2+sd6KoBumrZUWTMdZTWmp7P0C4vFjOojrgQ +CVKfcRDXVaSxuZnMU0diCuQRpMTzsy/qqUpbo/JtMlhh7hSdqizxE8noQ/sRJtrdFsDBHVSnvkqc +m8xhcMFJ6UaH/olD2EbTy0/JGKK2a66LoMo0qGi2+v7Mg/uNVJyjCZJMULCwTAW/14nG2pDZblwS +l9VgeW4OzRUeHNjSjN2bGmk6VmMHCXI/GamWfszCkvyzAro6a/DVp/ajraESc1MxaiPggf0b8fCB +jQgTB5UXCTqxcUM1TSRNWrCNJOCH7tuMnTuaMTM7g7eOnENP74jRbF/7wj2ojgZsPmrT5oYImcRv +Fuxu3ViF++5vwXoKHD8FkrSRwBDRTUKSyUYzkYg014bRRs1o31Mjg1B9h8gQe7d1sK4m813zN4+d +x+TUDA7s3Yx7dnUYIndS2DbWedHa5CUO+q6cG5s66sz3EpIrK5ianDfV1VUG0doYpT9P/5umavfm +Bhw62GmE+fFjA7h4cRzbutrw0MEd1Kx6E0RA3CjIG9gHeoQS9Fmyl/ASPTZQsLQ2+thXZAgK2g5a +LE88so191Y7ZmXkszy7g0fu34vADG1FB0zyZpJAmQXe31+MQ8d+8vg4bGfSIZX93M/1kMrU0Pfuz +9HMT7motpRC0J1TX1HChaCVCFTUIVtYhEK1BIFzFUIkANZs/GCLNFTA3PUGzc8WYbDSimZVNlI1P +zUPjAV4SSCsJr57mjhk+LyVNMQAfibWrMYfaEE1RZna5i6jwAc3RIKKV1FrUWO0Vfvp3QZptWsjs +NH4BXRzUVAAbqvMIEN10MYzGxiK2V9HccpNgiHdV1I9N9TQFo5oqJqNTKNRWONBa44FPszHMxztW +GtHc8BTox0Ui2Ni9BY0bNsNVGcL2zS14+tG9eHBvJ2rNp3RlGgGVdPw2tldjfTMlLyOilNBBEv+W +DfVoaayBX68ZqBtJPWLQzvUN1GC1ZpfqVCKFuuowpfN6NNdHSIg0nUhI+vxVY30F09URT5qsXhJn +YzWZMIT16+jz7OnAI/d1Y+uGRkP0ZpSIfKQyjHt2dpLZNOnkNmsYa+nHRkI0rSMebNvchKdouqoN +Ad7X+Erq11DCdbXVo4naMkCmq6jxoWNdLXZ3b0BNVA+yTQ2loz0XiOn0uKKjrRHdnevMM0SBfDa1 +IcqxC5Oh6zmQu7asx+cO78NummRePXgmwg5aE9KE3W3NHKMwPGxnlIKgqiKALR1NqGbf6IFAPftm +y8YmtiVgBEQF/YRwIIJKXwTb2hvx2cM7cGgfNRwFqXAUmvLX3Oo39uPmjnWoqYySBtlatZnH9S1V +xLkJFREKFrZBj0YaG6ooQKLY2d2Gxx/dhV2bmhHULCzNa7lEmykQdmzUgnM/W24FTjW1ahfL0vM6 +H5m81FW3+oyVlcXUHYJUpG3Eb4AaUDqVr7Y8N44Lx1/G/GgvQh7atHmyhKalnWmzZjKVD2ORHRii +LxWi6aMNX7P+GWqVGiznyRjFBfioabJFakkWqWd6xXwEDmqnrHMBgaQXPhfNHeLio43hp4bSWwT0 +IBDluXZUiBUiyAVW0JimxiOjL9O3TOUDCJCvwo6cPquGFIldPpVbPqU8UuNTs0a2p5D30dwkwZBx +Wnc9AkfLHvqIy6jjQDdR2gY0A2s6Qwt5aSbSH9SlTx/EpvzUdPsKzQu9xyei10ygelxbnGdl5zOf +nxJXefTFTj179vKaSTVKpq+z1PLyMzWg+sCOLAGBHlTrTQgRk8oWg5rt/whZxsfT2obCRVNRTGjr +TWm2labdErWtNG8DmVb3RQayXDQDp7cVpKEox9iCAt0CtoPlBUhAeuircgwQZ3PKH5WvSZ1UhuYe +j2EiKiVX9r2UTutY5xZXsBJPIUJhU18bYZusX6hk+hKT8NBMrIdmprSPHnUk01mEvOw/tiVD81+r +S4Qzu4MV08TkUMUWHViYYzq/E1UUpkausUwxqE6Em/pQy9d8bIOEgWE44p0qrbBxqQ+ZXMVqpl1p +s+xj+dhealR9Hsyh2WF2cYb+nMZdD9XNxsIMejVKz0nVG3YCyvZ5mdkEd81wSq4C3i+bqUSdRdU6 +cOkYBhm8RT1voc52kaKQhCfHjnYEkKVG8lL9Okl8RWcQcTKZx+eXgQ6fXmHJ0I+ig+x3Z0k8OdrI +ASTp4GrNpSvFOqjBMtRQjnyW5mGC2pBES23jZBq9UaBdxHLeRXhXvMiwriIHypV3kxmJIc0jMZy0 +rpg+l1X3U9OyYzWhIsJxO8jgDh/c1FwbaD43bjpopuMpOxlPkjAELlNYRG3bLbBDyXM9cDX9Xe50 +3S/3neJ0rj4x1MNgtYIFlVIuz8bLNzIl68VM4m+39BYTlMo1QqNcvriT/aoBF5MKVZmEokFTn81T +zlt+RcfiIVD7ZEYqXoxhy1X9ZbDsfQv7W1DGgWcqw5yp4nIdvM96yythNEFl6VLxOoqFdSiXI0LW +uVac6GgnmzQRonROClLDtbpg0DpZw0Rmoqdcp70tsG0ot8T+qmdVMkfTVkGwEzrqo9K4sN91Tyt5 +lM8uZOYIEH+di8lsfcojGjG3b8JvoeF0tDEG9XLBilPgdZFMsDQ9iN5zbyC1OA+nO8pxz9BBjaG4 +TAeW0rTgzoBKz9jgTncVcj6aTG4POywF13KGUpwSlo3xOLLwkRnJf8g7I/BTkmjqlYLXvEunZypi +MujhpLbOo+TJFvzmFjwp1hGmJssaXL3UWMyJLK/1CEP59KhB9zT7lSQ+hQAlf6QC4UgV/OEKeKvC +qGvuoImz3swAGsmt3cFEciRmux27dcJVju5oHxelU7ziypLOMqlCmRAyvGefXdnc6t9SWv2xjaUu +tTl4z0w8MRiyvEnESsOU9EPM29I02aWx9bBPkxIiKC2gVtEUO6ZcZbca2l7YV4DKNRHvm22wDKCk +NylGEfaHwMhVbbV5pTml8YWPyivhyQJMbUZg2fUoEoy2Rt1QStMS3tddW4vFhQKReXRuY00OgsVR +ZZu+U1qWbN9bs8xhZuZMv/NKE3TmWiXYttmybF6TzoxHzpSjVSr2hdlyfQKLo1JZJaT22HNz18SV +8CnBh2C4OwAWaYoVfjQVl2JT9E9W6PdRzxOpxekhTA7ewEpsksOeMQPu8FcjWteBmtZuRCNRxMb7 +MNt/HcmlObZbHUPECzQLtQ2ek4SU02pxRZOjaFaQw9gw2sws33zsQwucOchybuGSgeAhc0oryMgg +IZBp9NzQSNaCBy69so808vQVky76BOs2or59M215fQzeB5fPR59CBEzGIKNriIwvatrLc3Wq+bf3 +hPEtNhCUh0bHctC1giG5UlBOxQnKx3dCOe/tZzrXlWqXdLcLuxSvFMKsXC+vDM66wzoNCTCf+tmc +luq1Se21TXIXUM4sWlARJSxL5GZqNkxRFj3C2+Jo6L0MuihfmyLKbHk7MiZJqWzLjGoXSzbJ7Kgo +VakGE2dHqVyOvV+GcioTZ8qRtcAYU3Y5z93Dx8Nw7wAjSUqDWr42qljxN4EdULKFTcfznt3vY3Wa +jwtsZ9tfCze/MmMIhRgZ1C3+a7AGHxY+EYZbgzVYAwvSz2uwBmvwCcEaw63BGnyCsMZwa7AGnyCs +MdwarMEnCGsMtwZr8IkB8P8Dxed6+p2t88EAAAAASUVORK5CYII= + 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 06/29] 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 07/29] 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 08/29] 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 09/29] -- 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 10/29] 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 11/29] - --- 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 12/29] 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 13/29] -- 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 14/29] 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 15/29] -- 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 From e0e946c761f6c54b40e5e8184e880685e4112ac6 Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Jan 2024 19:33:06 -0700 Subject: [PATCH 16/29] - cambio globaldt --- General/SaldosIniciales.aspx.vb | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 2931f0efd..95f405963 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -682,13 +682,9 @@ Partial Class General_SaldosIniciales DtMarcas = ObjPS.DtResultados.Copy End If - If ObjGral.GetMedidas(UsuarioActual.CveEmpresa) Then - DtMedidas = ObjGral.DtResultados.Copy - End If + DtMedidas = GlobalDTPSMedidas(UsuarioActual.CveEmpresa) + DtRinTamaño = GlobalDTPSRinTamaños(UsuarioActual.CveEmpresa) - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then - DtRinTamaño = ObjGral.DtResultados.Copy - End If If ObjGral.GetModelos(UsuarioActual.CveEmpresa) Then DtModelos = ObjGral.DtResultados.Copy @@ -782,7 +778,7 @@ Partial Class General_SaldosIniciales CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString().ToEntero() If Not CveRinTamaño > 0 Then If ObjGral.AddRimTamanios(CveClasificacion, "", RinTamaño, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then + If ObjGral.GetRinTamanios(UsuarioActual.CveEmpresa) Then DtRinTamaño = ObjGral.DtResultados.Copy CveRinTamaño = DtRinTamaño.FiltroPrimeroValor("CveRinTamaño", $"RinTamaño = '{RinTamaño}'").ToString().ToEntero() End If From 10c3431ad26174a878ec78b36424b273c8944197 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 8 Jan 2024 21:44:00 -0700 Subject: [PATCH 17/29] --Cambio de Codigo2 a NumeroParte, codigo y clases --- Acumuladores/RepPolizasVirtuales.aspx | 4 ++-- App_Code/ClsProductosServicios.vb | 18 +++++++++--------- App_Code/Modelos.vb | 4 ++-- App_Code/Timbrado.vb | 6 ++---- Inventarios/RecepcionAlmacen.aspx.vb | 2 +- Inventarios/RepEntradasSalidas.aspx | 4 ++-- Sistemas/CatSesiones.aspx | 1 + Sistemas/CatSesiones.aspx.vb | 11 ++++++++++- Ventas/ActualizarPrecios.aspx | 7 +++---- Ventas/ActualizarPrecios.aspx.vb | 6 +++--- Ventas/ProductosServicios.aspx.vb | 6 +++--- 11 files changed, 38 insertions(+), 31 deletions(-) diff --git a/Acumuladores/RepPolizasVirtuales.aspx b/Acumuladores/RepPolizasVirtuales.aspx index 845677f19..f86517e65 100644 --- a/Acumuladores/RepPolizasVirtuales.aspx +++ b/Acumuladores/RepPolizasVirtuales.aspx @@ -117,7 +117,7 @@
- + @@ -129,7 +129,7 @@ - + diff --git a/App_Code/ClsProductosServicios.vb b/App_Code/ClsProductosServicios.vb index 5344c61fa..f5a3d51af 100644 --- a/App_Code/ClsProductosServicios.vb +++ b/App_Code/ClsProductosServicios.vb @@ -31,7 +31,7 @@ Public Class ClsProductosServicios Public Property SATClavePS As String Public Property SATDescripcion As String Public Property Codigo As String - Public Property Codigo2 As String + Public Property NumeroParte As String Public Property CodigoBarras As String Public Property PS As String Public Property Precio As Double @@ -202,7 +202,7 @@ Public Class ClsProductosServicios End Sub #End Region - Public Function GetPS(CvePS As Integer, CveClasificacion As Integer, CveEmpresa As Integer, Optional Codigo As String = "-1", Optional Codigo2 As String = "-1", + Public Function GetPS(CvePS As Integer, CveClasificacion As Integer, CveEmpresa As Integer, Optional Codigo As String = "-1", Optional NumeroParte As String = "-1", Optional CodigoBarras As String = "-1", Optional PS As String = "-1", Optional EsPaquete As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional pAplicaParaVenta As Integer = -1, Optional pEstado As Integer = -1, Optional CveClasificacionCosto As Integer = -1, Optional CveTipoPS As Integer = -1, Optional CveCompuesto As Integer = -1, Optional SATClavePS As String = "-1", Optional TopSelect As Integer = 10000, Optional CveMarca As Integer = -1) As Boolean @@ -213,7 +213,7 @@ Public Class ClsProductosServicios With SqlAdapter.SelectCommand.Parameters .Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@Codigo", SqlDbType.VarChar).Value = Codigo - .Add("@Codigo2", SqlDbType.VarChar).Value = Codigo2 + .Add("@NumeroParte", SqlDbType.VarChar).Value = NumeroParte .Add("@CodigoBarras", SqlDbType.VarChar).Value = CodigoBarras .Add("@PS", SqlDbType.VarChar).Value = PS .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion @@ -242,7 +242,7 @@ Public Class ClsProductosServicios SATDescripcion = Data.Rows(0)("SATDescripcion").ToString Me.CveTipoPS = Data.Rows(0)("CveTipoPS").ToString.ToEntero Me.Codigo = Data.Rows(0)("Codigo").ToString - Me.Codigo2 = Data.Rows(0)("Codigo2").ToString + Me.NumeroParte = Data.Rows(0)("NumeroParte").ToString Me.CodigoBarras = Data.Rows(0)("CodigoBarras").ToString Me.PS = Data.Rows(0)("PS").ToString Precio = Data.Rows(0)("Precio").ToString.ToDouble @@ -400,7 +400,7 @@ Public Class ClsProductosServicios End Try Return Retorno End Function - Public Function AddPS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, Codigo2 As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer, + Public Function AddPS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, NumeroParte As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer, AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, CveUsuario As Integer, CveEmpresa As Integer, CveMetodoInventario As Integer, EsPaquete As Integer, Optional CveTipoPS As Integer = -1, Optional FuePorXML As Boolean = True, Optional TipoServicio As Integer = -1, Optional CveClasificacion2 As Integer = -1, Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1, @@ -425,7 +425,7 @@ Public Class ClsProductosServicios .Add("@CveClasificacionCosto", SqlDbType.Int).Value = CveClasificacionCosto .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida .Add("@Codigo", SqlDbType.VarChar).Value = Codigo - .Add("@Codigo2", SqlDbType.VarChar).Value = If(Codigo2 = "", "-1", Codigo2) + .Add("@NumeroParte", SqlDbType.VarChar).Value = If(NumeroParte = "", "-1", NumeroParte) .Add("@CodigoBarras", SqlDbType.VarChar).Value = If(CodigoBarras = "", "-1", CodigoBarras) .Add("@PS", SqlDbType.VarChar).Value = If(PS.Length > 845, PS.Substring(0, 845), PS) .Add("@Precio", SqlDbType.Float).Value = Precio @@ -553,7 +553,7 @@ Public Class ClsProductosServicios .Add("@CveClasificacionCosto", SqlDbType.Int).Value = PS.CveClasificacionCosto .Add("@CveUnidadMedida", SqlDbType.Int).Value = PS.CveUnidadMedida .Add("@Codigo", SqlDbType.VarChar).Value = PS.Codigo - .Add("@Codigo2", SqlDbType.VarChar).Value = If(PS.Codigo2 = "", "-1", PS.Codigo2) + .Add("@NumeroParte", SqlDbType.VarChar).Value = If(PS.NumeroParte = "", "-1", PS.NumeroParte) .Add("@CodigoBarras", SqlDbType.VarChar).Value = If(PS.CodigoBarras = "", "-1", PS.CodigoBarras) .Add("@PS", SqlDbType.VarChar).Value = If(PS.PS.Length > 845, PS.PS.Substring(0, 845), PS.PS) .Add("@Precio", SqlDbType.Float).Value = PS.Precio @@ -646,7 +646,7 @@ Public Class ClsProductosServicios Return Retorno End Function - Public Function UpdatePS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, Codigo2 As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer, + Public Function UpdatePS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, NumeroParte As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer, AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, Estado As Boolean, CveUsuario As Integer, CvePS As Integer, CveMetodoInventario As Integer, EsPaquete As Integer, CveSATPS As Integer, CveEmpresa As Integer, Optional CveTipoPS As Integer = -1, Optional TipoServicio As Integer = -1, Optional CveClasificacion2 As Integer = -1, Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1, Optional CveCompuesto As Integer = -1, Optional IEPSGrabaIVA As Boolean = False, Optional VentaMinima As Decimal = 0, @@ -669,7 +669,7 @@ Public Class ClsProductosServicios .Add("@CveClasificacionCosto", SqlDbType.Int).Value = CveClasificacionCosto .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida .Add("@Codigo", SqlDbType.VarChar).Value = Codigo - .Add("@Codigo2", SqlDbType.VarChar).Value = If(Codigo2 = "", "-1", Codigo2) + .Add("@NumeroParte", SqlDbType.VarChar).Value = If(NumeroParte = "", "-1", NumeroParte) .Add("@CodigoBarras", SqlDbType.VarChar).Value = If(CodigoBarras = "", "-1", CodigoBarras) .Add("@PS", SqlDbType.VarChar).Value = PS .Add("@Precio", SqlDbType.Float).Value = Precio diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 100ca0f8b..e6c36d92b 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -8769,7 +8769,7 @@ Namespace Modelos CveClasificacionCosto = -1 CveClasificacion = -1 Codigo = "" - Codigo2 = "" + NumeroParte = "" CodigoBarras = "" CveMetodoInventario = -1 CveTipoPS = -1 @@ -8796,7 +8796,7 @@ Namespace Modelos Public Property UnidadMedida As String Public Property SATClaveUnidadMedida As String Public Property Codigo As String - Public Property Codigo2 As String + Public Property NumeroParte As String Public Property CodigoBarras As String Public Property PS As String Public Property SATClavePS As String diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index ead2bb3c7..4ce782d48 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -459,8 +459,6 @@ Public Class Timbrado Clave = "12345678a" TimbraProduccion = False - UsuarioServicio = "UserTest" - ClaveServicio = "1234567890" End If Dim llaveByte As Byte(), certByte As Byte() @@ -1011,6 +1009,8 @@ Public Class Timbrado Private Function EnviarInformacionPADE(url As String, payload As String, tokenAuth As String) As String Dim Retorno As String = "" Try + ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 + Using httpClient As New HttpClient() httpClient.Timeout = New TimeSpan(0, 1, 0) Using request As New HttpRequestMessage(HttpMethod.Post, New Uri(url)) @@ -3171,8 +3171,6 @@ Public Class Timbrado Clave = "12345678a" TimbraProduccion = False - UsuarioServicio = "UserTest" - ClaveServicio = "1234567890" End If diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb index e7a16ee3b..40d70f44a 100644 --- a/Inventarios/RecepcionAlmacen.aspx.vb +++ b/Inventarios/RecepcionAlmacen.aspx.vb @@ -4991,7 +4991,7 @@ Partial Class Inventarios_RecepcionAlmacen dt.Rows(dt.Rows.Count - 1)("Producto") = rr(6).Trim dt.Rows(dt.Rows.Count - 1)("Serie") = rr(7).Trim dt.Rows(dt.Rows.Count - 1)("Cantidad") = 1 - dt.Rows(dt.Rows.Count - 1)("Código") = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Codigo", String.Format("Codigo2 = '{0}'", rr(5).Trim)) + dt.Rows(dt.Rows.Count - 1)("Código") = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Codigo", String.Format("NumeroParte = '{0}'", rr(5).Trim)) End If End If diff --git a/Inventarios/RepEntradasSalidas.aspx b/Inventarios/RepEntradasSalidas.aspx index fbadd4f2a..8a60e98ab 100644 --- a/Inventarios/RepEntradasSalidas.aspx +++ b/Inventarios/RepEntradasSalidas.aspx @@ -222,14 +222,14 @@ <%--0--%> <%--1--%> - + <%--2--%> <%--3--%> diff --git a/Sistemas/CatSesiones.aspx b/Sistemas/CatSesiones.aspx index 8229665b1..4481f93b4 100644 --- a/Sistemas/CatSesiones.aspx +++ b/Sistemas/CatSesiones.aspx @@ -29,6 +29,7 @@ + diff --git a/Sistemas/CatSesiones.aspx.vb b/Sistemas/CatSesiones.aspx.vb index 88019f100..e6c1af670 100644 --- a/Sistemas/CatSesiones.aspx.vb +++ b/Sistemas/CatSesiones.aspx.vb @@ -39,7 +39,9 @@ Partial Class Sistemas_CatSesiones ElseIf DdlVariable.SelectedItem.Value = "GlobalDTGralColonias" Then CargaColonias() ElseIf DdlVariable.SelectedItem.Value = "GlobalDTGralMunicipios" Then - CargaMunicipios() + CargaMunicipios() + ElseIf DdlVariable.SelectedItem.Value = "GlobalDTLocalidad" Then + CargaLocalidades() ElseIf DdlVariable.SelectedItem.Value = "GlobalDTGralPoblaciones" Then CargaPoblaciones() ElseIf DdlVariable.SelectedItem.Value = "GlobalDTGralEscolaridades" Then @@ -494,6 +496,13 @@ Partial Class Sistemas_CatSesiones 'Dim Gral As New ClsGenerales 'If Gral.GetGralMunicipios Then Application("GlobalDTGralMunicipios") = Gral.DtResultados Else Application("GlobalDTGralMunicipios") = Nothing 'Gral.Dispose() + End Sub + + Private Sub CargaLocalidades() + GlobalDTLocalidad() = Nothing + 'Dim Gral As New ClsGenerales + 'If Gral.GetGralMunicipios Then Application("GlobalDTGralMunicipios") = Gral.DtResultados Else Application("GlobalDTGralMunicipios") = Nothing + 'Gral.Dispose() End Sub Private Sub CargaPoblaciones() diff --git a/Ventas/ActualizarPrecios.aspx b/Ventas/ActualizarPrecios.aspx index 7710e97eb..dc529d53a 100644 --- a/Ventas/ActualizarPrecios.aspx +++ b/Ventas/ActualizarPrecios.aspx @@ -207,7 +207,7 @@ " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
- @@ -216,13 +216,12 @@ - <%----%> - + - + diff --git a/Ventas/ActualizarPrecios.aspx.vb b/Ventas/ActualizarPrecios.aspx.vb index 0cd9fdd33..f692f952a 100644 --- a/Ventas/ActualizarPrecios.aspx.vb +++ b/Ventas/ActualizarPrecios.aspx.vb @@ -405,7 +405,7 @@ Partial Class Ventas_ActualizarPrecios Select New With { .Codigo = row.DataKey("Codigo"), - .Codigo2 = row.DataKey("Codigo2"), + .NumeroParte = row.DataKey("NumeroParte"), .PS = row.DataKey("PS"), .Precio = row.FCTextBox("TxtPrecio").Text.ToDecimal() }).QueryToDataTable(True) @@ -436,7 +436,7 @@ Partial Class Ventas_ActualizarPrecios DtExcel.Columns("Codigo").ColumnName = "Código" DtExcel.Columns("PS").ColumnName = "Producto / Servicio" - DtExcel.Columns("Codigo2").ColumnName = "Número de parte" + DtExcel.Columns("NumeroParte").ColumnName = "Número de parte" If UsuarioActual.Empresa.Funcionalidad(531) = "1" OrElse UsuarioActual.Empresa.Funcionalidad(578) = "1" Then 'Empresa Acumuladores If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then @@ -687,7 +687,7 @@ Partial Class Ventas_ActualizarPrecios NewRow("Código") = Row("Codigo") If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'Empresa Acumuladores - NewRow("Código CPK") = Row("Codigo2") + NewRow("Código CPK") = Row("NumeroParte") End If NewRow("Producto/Servicio") = Row("PS") diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 1826ddc84..8870bcd0d 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -948,7 +948,7 @@ Partial Class ProductosyServicios DdlMarca.SelectedValue = ObjProductosServicios.CveMarca.ToString DdlMarcaPSDes.SelectedValue = ObjProductosServicios.CveMarca.ToString TxtCodigo.Text = ObjProductosServicios.Codigo - TxtNumeroParte.Text = ObjProductosServicios.Codigo2 + TxtNumeroParte.Text = ObjProductosServicios.NumeroParte TxtCodigoBarras.Text = ObjProductosServicios.CodigoBarras CodigoBarrasCargado = ObjProductosServicios.CodigoBarras TxtLitraje.Text = ObjProductosServicios.DtResultados.Rows(0)("Litraje").ToString @@ -3177,7 +3177,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 +3197,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, From b03abcb4a53611a9b58a7c5edd98ac0b47857ba4 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 8 Jan 2024 22:23:39 -0700 Subject: [PATCH 18/29] =?UTF-8?q?--fix=20rin=20tama=C3=B1os?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- General/CatMedidaEquivalencia.aspx.cs | 2 +- General/CatRinTamanios.aspx.vb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/General/CatMedidaEquivalencia.aspx.cs b/General/CatMedidaEquivalencia.aspx.cs index 765a94476..c84af1dda 100644 --- a/General/CatMedidaEquivalencia.aspx.cs +++ b/General/CatMedidaEquivalencia.aspx.cs @@ -50,7 +50,7 @@ public partial class General_CatMedidaEquivalencia : ClsPaginas DdlMedidas.DataSource = ObjGeneral.DtResultados; DdlMedidasEquivalente.DataSource = ObjGeneral.DtResultados; } - if (ObjGeneral.GetRimTamanios(UsuarioActual.CveEmpresa)) + if (ObjGeneral.GetRinTamanios(UsuarioActual.CveEmpresa)) { DdlRin.DataSource = ObjGeneral.DtResultados; DdlRinEquivalente.DataSource = ObjGeneral.DtResultados; diff --git a/General/CatRinTamanios.aspx.vb b/General/CatRinTamanios.aspx.vb index 9dbe7503b..dd7fe0bd2 100644 --- a/General/CatRinTamanios.aspx.vb +++ b/General/CatRinTamanios.aspx.vb @@ -30,7 +30,7 @@ Partial Class General_CatRinTamanios End Sub Private Sub CargaDatos() Dim ObjGral As New ClsGenerales - If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then + If ObjGral.GetRinTamanios(UsuarioActual.CveEmpresa) Then GvDatos.DataSource = ObjGral.DtResultados End If ObjGral.Dispose() From e2e2a3df04c2fa150bbda55f145fb93965b26e0b Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 10:44:11 -0700 Subject: [PATCH 19/29] -- faltabn dispose --- Transportes/Boletos.aspx.vb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Transportes/Boletos.aspx.vb b/Transportes/Boletos.aspx.vb index 68f508010..9f3d7435d 100644 --- a/Transportes/Boletos.aspx.vb +++ b/Transportes/Boletos.aspx.vb @@ -85,7 +85,7 @@ Partial Class Boletos Protected Sub InicializaCombos() 'Lista Destinos''carga específicos - Dim ObjDestinos As New ClsDestinos() + Dim ObjDestinos As New ClsTransportes() If ObjDestinos.GetDestinos(CveRuta:=CveRuta) Then If ObjDestinos.DtResultados.Rows.Count > 0 Then @@ -99,6 +99,7 @@ Partial Class Boletos DdlDestino.Items.Insert(0, New ListItem("Seleccione Destino", "")) End If End If + ObjDestinos.Dispose() End Sub Protected Sub CotizarTarifa(sender As Object, e As EventArgs) @@ -107,6 +108,8 @@ Partial Class Boletos Dim ObjDestinos As New ClsTransportes() Dim retorno As Boolean = ObjDestinos.GetDestinosTarifas(DdlPartida.SelectedValue.ToEntero, DdlDestino.SelectedValue.ToEntero) Dim ImporteR As Decimal = ObjDestinos.DtResultados.FiltroPrimeroValor("Importe").ToDecimal + ObjDestinos.Dispose() + If retorno Then If ImporteR > 0 Then Dim redondeado As String = CStr(Math.Round(ImporteR, 2)) From 6eddb646c44820b398b273b3cc6e95085da858e6 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 10:44:31 -0700 Subject: [PATCH 20/29] - --- App_Code/ClsTransportes.vb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/App_Code/ClsTransportes.vb b/App_Code/ClsTransportes.vb index b6cabeeb0..6705d9007 100644 --- a/App_Code/ClsTransportes.vb +++ b/App_Code/ClsTransportes.vb @@ -316,6 +316,24 @@ Public Class ClsTransportes End Function #End Region + Public Function GetDestinos(Optional CveRuta As Integer = 0) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Trans_DestinosGet") + If CveRuta <> 0 Then + With SqlAdapter.SelectCommand.Parameters + .Add("@CveRuta", SqlDbType.Int).Value = CveRuta + End With + End If + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los destino.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function #Region "Tarifas" Public Function GetDestinosTarifas(CveDestinoOrigen As Integer, CveDestinoFinal As Integer) As Boolean From a30a3776010373258f7d34f2c35885a3fb79ec99 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 10:46:40 -0700 Subject: [PATCH 21/29] -- mejoras --- Transportes/Boletos.aspx.vb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Transportes/Boletos.aspx.vb b/Transportes/Boletos.aspx.vb index 9f3d7435d..cb4840b0e 100644 --- a/Transportes/Boletos.aspx.vb +++ b/Transportes/Boletos.aspx.vb @@ -86,6 +86,7 @@ Partial Class Boletos Protected Sub InicializaCombos() 'Lista Destinos''carga específicos Dim ObjDestinos As New ClsTransportes() + If ObjDestinos.GetDestinos(CveRuta:=CveRuta) Then If ObjDestinos.DtResultados.Rows.Count > 0 Then @@ -159,6 +160,7 @@ Partial Class Boletos ObjTransporte.Commit() End If Catch ex As Exception + ObjTransporte.RollBack() Alert($"No se pudo generar el boleto {ex}", TipoMensaje.MsgError) Finally ObjTransporte.Dispose() From da13fdd1817dc79ca3e0312be3127f90ba388c0e Mon Sep 17 00:00:00 2001 From: rakcsle Date: Tue, 9 Jan 2024 11:25:04 -0700 Subject: [PATCH 22/29] SMS Correcion Ventas FechaCirugia dd/MM/yyyy HH:mm --- App_Code/ClsPaginas.vb | 4 ++-- Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb | 11 +++++++---- Ventas/Ventas.aspx.vb | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 4574ac667..eacc08132 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5924,7 +5924,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.FechaEjecucion.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) @@ -6032,7 +6032,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.FechaEjecucion.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 d840f90b0..3b5505acb 100644 --- a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb +++ b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb @@ -2130,6 +2130,12 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal If GvIngresosSubProyectoH.Columns(IndexGv).GetType.Name = "BoundField" Then + If dColumn.ColumnName = "SinSubProyecto" Then + 'TxtSub = "Sin SubProyecto" + 'Continue For + Exit For + End If + CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).DataField = dColumn.ColumnName GvIngresosSubProyectoH.Columns(IndexGv).Visible = True @@ -2143,10 +2149,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Dim TxtSub As String = GlobalDTSubProyectos(-1, CveSubProyecto:=dColumn.ColumnName.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("SubProyecto") - If dColumn.ColumnName = "SinSubProyecto" Then - TxtSub = "Sin SubProyecto" - Continue For - End If + CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 985f84d0e..fa5c496ef 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5322,7 +5322,7 @@ Partial Class Ventas End If 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") + 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") From 0aeb1d0035db4dae66304236e3f32c458243027e Mon Sep 17 00:00:00 2001 From: rakcsle Date: Tue, 9 Jan 2024 12:03:44 -0700 Subject: [PATCH 23/29] Ventas Editar DescripcionVenta --- App_Code/ClsVentas.vb | 5 ++++- Ventas/Ventas.aspx | 2 +- Ventas/Ventas.aspx.vb | 5 ++++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 08e1b50ed..eca64b3d1 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -604,7 +604,7 @@ Public Class ClsVentas End Function Public Function UpdateObservacionesVenta(CveVenta As Integer, CveEmpresa As Integer, CveVendedor As Integer, Observaciones As String, FormaPaqueteria As Integer, CorreoNotificaciones As String, ObservacionesAlm As String, - Pedido As String, OrdenCompra As String, FechaPago As String, CveUsoCFDI As Integer) As Boolean + Pedido As String, OrdenCompra As String, FechaPago As String, CveUsoCFDI As Integer, Optional DescripcionVenta As String = "-1") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasObservacionesUpdate") With SqlAdapter.SelectCommand.Parameters @@ -619,6 +619,9 @@ Public Class ClsVentas .Add("@Pedido", SqlDbType.NVarChar).Value = Pedido .Add("@OrdenCompra", SqlDbType.NVarChar).Value = OrdenCompra .Add("@FechaPago", SqlDbType.Date).Value = FechaPago + .Add("@DescripcionVenta", SqlDbType.VarChar).Value = DescripcionVenta + + End With Try SqlAdapter.Fill(Data) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 256ff61ab..be622b490 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -4205,7 +4205,7 @@ - +
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index fa5c496ef..6ad972f7e 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -33655,6 +33655,9 @@ Partial Class Ventas UpPS.Update() End If + TxtDescripcionVenta.Enabled = True + + UpCliente.Update() UpParametros.Update() UPObservaciones.Update() UpFacturar.Update() @@ -33673,7 +33676,7 @@ Partial Class Ventas ObjVentas.IniciaTransacSQL() If Not ObjVentas.UpdateObservacionesVenta(Me.CveVenta, UsuarioActual.CveEmpresa, DdlVendedor.SelectedValue.ToEntero(), TxtObsFact.Text, RblPaqueteria.SelectedValue.ToEntero(), TxtCorreoNotificaciones.Text, - TxtObsAlmacen.Text, TxtPedidoContrato.Text, TxtOrdenCompra.Text, TxtFechaPago.Text, DdlUsoCFDI.SelectedValue.ToEntero) Then + TxtObsAlmacen.Text, TxtPedidoContrato.Text, TxtOrdenCompra.Text, TxtFechaPago.Text, DdlUsoCFDI.SelectedValue.ToEntero, DescripcionVenta:=TxtDescripcionVenta.Text.Trim) Then TieneError = True End If From 1ec186d12ab2273da05043014efb9ac8a10a1777 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 18:57:32 -0700 Subject: [PATCH 24/29] =?UTF-8?q?-=20activar=20emisi=C3=B3n=20de=20un=20su?= =?UTF-8?q?bproyecto=20USA=20para=20VyA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/ClsPaginas.vb | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 4574ac667..b99bd4334 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -5868,6 +5868,12 @@ Public Class ClsPaginas NombreArchivo = "Factura" NombreArchivoDescarga = "Factura" TipoDocumento = "INGRESO" + + If Vta.CveSubProyecto.Contiene(12696, 12698) Then + NombreArchivo = "FacturaUSA" + NombreArchivoDescarga = "FacturaUSA" + End If + If UsuarioActual.CveEmpresa.Contiene(137) Then params.Add(New ReportParameter("CveVenta", Vta.CveVenta.ToString)) End If @@ -5915,6 +5921,10 @@ Public Class ClsPaginas NombreArchivo = "Remision" NombreArchivoDescarga = "Remisión" TipoDocumento = "REMISION" + If Vta.CveSubProyecto.Contiene(12696, 12698) Then + NombreArchivo = "FacturaUSA" + NombreArchivoDescarga = "FacturaUSA" + End If params.Add(New ReportParameter("TipoDocumento", NombreArchivoDescarga)) params.Add(New ReportParameter("Tipo", TipoDocumento)) params.Add(New ReportParameter("Ref", TipoDocumentoRef)) @@ -6346,7 +6356,7 @@ Public Class ClsPaginas Dim paramsArray As New JArray() For Each rds As ReportDataSource In DataSource Dim Nombre As String = rds.Name - If RutaReporte.Contains("Factura.mrt") OrElse RutaReporte.Contains("Remision.mrt") OrElse RutaReporte.Contains("Cotizacion.mrt") OrElse RutaReporte.Contains("NotaDevolucion.mrt") OrElse RutaReporte.Contains("Pedido.mrt") Then + If RutaReporte.Contains("Factura") OrElse RutaReporte.Contains("Remision") OrElse RutaReporte.Contains("Cotizacion") OrElse RutaReporte.Contains("NotaDevolucion") OrElse RutaReporte.Contains("Pedido") Then Select Case rds.Name Case "DsOC" Nombre = "DtDetalle" From 68daf702d443718c4e37aaf213c92b568a2ea96d Mon Sep 17 00:00:00 2001 From: rakcsle Date: Tue, 9 Jan 2024 19:16:16 -0700 Subject: [PATCH 25/29] SMS - 2024.01.08 Ventas actualizar CveMedico CveProcedimientio remision pedido, correiones EntregaAlamcen y OS --- App_Code/ClsVentas.vb | 8 ++- Inventarios/EntregaAlmacen.aspx.vb | 83 ++++++++++++++++++++++++------ OS/OrdenesServicios.aspx.vb | 2 +- Ventas/Ventas.aspx.vb | 13 ++++- 4 files changed, 86 insertions(+), 20 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index eca64b3d1..1a8ab4888 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -555,7 +555,7 @@ Public Class ClsVentas Optional AtencionA As String = "-1", Optional PedidoContrato As String = "-1", Optional CveFormaPago33 As Integer = -1, Optional CveMetodoPago33 As Integer = -1, Optional CveCliente As Integer = -1, Optional CveClienteSucursal As Integer = -1, Optional OrdenCompra As String = "-1", Optional RetIVA As Double = -1, Optional RetISR As Double = -1, Optional Kilometraje As Double = 0, Optional CveUsoCFDi As Integer = -1, Optional ServicioDomicilio As Boolean = False, Optional CveVendedor As Integer = -1, - Optional RequiereOS As Boolean = False) As Boolean + Optional RequiereOS As Boolean = False, Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasUpdate") @@ -591,6 +591,8 @@ Public Class ClsVentas .Add("@ServicioDomicilio", SqlDbType.Bit).Value = ServicioDomicilio .Add("@CveVendedor", SqlDbType.Int).Value = CveVendedor .Add("@RequiereOS", SqlDbType.Int).Value = RequiereOS + .Add("@CveMedico", SqlDbType.Int).Value = CveMedico + .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento End With Try @@ -604,7 +606,7 @@ Public Class ClsVentas End Function Public Function UpdateObservacionesVenta(CveVenta As Integer, CveEmpresa As Integer, CveVendedor As Integer, Observaciones As String, FormaPaqueteria As Integer, CorreoNotificaciones As String, ObservacionesAlm As String, - Pedido As String, OrdenCompra As String, FechaPago As String, CveUsoCFDI As Integer, Optional DescripcionVenta As String = "-1") As Boolean + Pedido As String, OrdenCompra As String, FechaPago As String, CveUsoCFDI As Integer, Optional DescripcionVenta As String = "-1", Optional CveMedico As Integer = -1, Optional CveProcedimiento As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasObservacionesUpdate") With SqlAdapter.SelectCommand.Parameters @@ -620,6 +622,8 @@ Public Class ClsVentas .Add("@OrdenCompra", SqlDbType.NVarChar).Value = OrdenCompra .Add("@FechaPago", SqlDbType.Date).Value = FechaPago .Add("@DescripcionVenta", SqlDbType.VarChar).Value = DescripcionVenta + .Add("@CveMedico", SqlDbType.Int).Value = CveMedico + .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento End With diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb index dc0b50a52..d6d20549f 100644 --- a/Inventarios/EntregaAlmacen.aspx.vb +++ b/Inventarios/EntregaAlmacen.aspx.vb @@ -5,7 +5,7 @@ Imports System.Data Imports System.Data.SqlClient Imports System.IO Imports Extensiones - +Imports Microsoft.Owin.Security.Provider Imports Microsoft.Reporting.WebForms Partial Class Inventarios_EntregaAlmacen @@ -4269,27 +4269,36 @@ Partial Class Inventarios_EntregaAlmacen Respuesta = ObjOS.UpdateOrdenesServiciosEstatus(CveOSEstatusFinalizada, UsuarioActual.CveUsuario, CveOSCerrar) + Dim cancelarPeido As Boolean = CancelarPedido(TransaccionSql, CveMovimientoGenerado, Respuesta) + If Respuesta Then - - Dim ObjInventario As New ClsInventarios(ObjOS.IniciaTransacSQL) - + Dim ObjInventario As New ClsInventarios(TransaccionSql) If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then + If Not cancelarPeido Then + For Each Dr As DataRow In ObjInventario.DtResultados.Rows - For Each Dr As DataRow In ObjInventario.DtResultados.Rows + Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero() + Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal - Dim CveVentaDetalle As Integer = Dr("CveVentaDetalle").ToString().ToEntero() - Dim Cantidad As Decimal = Dr("Cantidad").ToString().ToDecimal - - If CveVentaDetalle > 0 Then - If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then + If CveVentaDetalle > 0 Then + If Not ObjInventario.UpdatePedidoDetalleCantidad(CveVentaDetalle, Cantidad) Then + Respuesta = False + Exit For + End If + Else Respuesta = False - Exit For End If - Else - Respuesta = False - End If - Next + Next + End If + + End If + End If + + If Respuesta AndAlso cancelarPeido Then + Dim objVentas As New ClsVentas(TransaccionSql) + If Not objVentas.UpdateEstatusVenta(CveVentaSurtir, 4, UsuarioActual.CveEmpresa) Then + Respuesta = False End If End If @@ -4302,4 +4311,48 @@ Partial Class Inventarios_EntregaAlmacen End Function + Private Function CancelarPedido(ByRef TransaccionSql As SqlTransaction, CveMovimientoGenerado As Integer, ByRef RespuestaPadre As Boolean) As Boolean + + Dim Cancelar As Boolean = True + + Dim objVentas As New ClsVentas(TransaccionSql) + Dim ObjInventario As New ClsInventarios(TransaccionSql) + + Dim DTMovimiento As New DataTable + Dim DTPedidoDetalle As New DataTable + + If ObjInventario.GetMovimientosDetalle(CveMovimientoGenerado, UsuarioActual.CveEmpresa) Then + DTMovimiento = ObjInventario.DtResultados + Else + RespuestaPadre = False + End If + + If objVentas.GetVentaDetalle(CveVentaSurtir) Then + DTPedidoDetalle = objVentas.DtResultados + Else + RespuestaPadre = False + End If + + + If RespuestaPadre Then + + For Each rowPedido As DataRow In DTPedidoDetalle.Rows + Dim CantidadPedido As Decimal = rowPedido("Cantidad").ToString.ToDecimal + Dim CveVentaDetalle As Integer = rowPedido("CveVentaDetalle").ToString.ToEntero + + Dim CantidadDevuelto As Decimal = DTMovimiento.FiltroPrimeroValor("Cantidad", $"CveVentaDetalle = {CveVentaDetalle}").ToDecimal + + If CantidadPedido <> CantidadDevuelto Then + Cancelar = False + Exit For + End If + + Next + + End If + + Return Cancelar + + End Function + End Class diff --git a/OS/OrdenesServicios.aspx.vb b/OS/OrdenesServicios.aspx.vb index 07c8b886f..36b7a9574 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3072,7 +3072,7 @@ Partial Class OS_OrdenesServicios Dim PU As Decimal = GvRow.DataKey("PU").ToDecimal If CantidadRegistro > 0 Then - Dim CveVentaDetalle As Integer = DtVentaDetalle.Rows(IndexMov1)("CveVentaDetalle").ToString.ToEntero + Dim CveVentaDetalle As Integer = GvRow.DataKey("CveVentaDetalle").ToEntero ' DtVentaDetalle.Rows(IndexMov1)("CveVentaDetalle").ToString.ToEntero Dim CveMovimientoDetalle As Integer = GvRow.DataKey("CveMovimientoDetalle").ToEntero Dim Serie As String = GvRow.DataKey("Serie") diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 6ad972f7e..97adc1105 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2738,7 +2738,12 @@ Partial Class Ventas If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then BtnCrearApartirDe.Visible = False If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Egs") Then BtnEditar.Visible = True - If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem") Then BtnPermisoEditarRemision.Visible = True + If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ped") Then BtnPermisoEditarRemision.Visible = True + + If DdlTipoComprobante.SelectedValue = "Ped" Then + BtnPermisoEditarRemision.Text = "Editar Pedido" + BtnEditarRemision.Text = "Actualizar Pedido" + End If DivFechaAnticipoCliente.Visible = True TxtFechaAnticipoCliente.Text = NowADS().ToShortDateString @@ -21686,6 +21691,9 @@ Partial Class Ventas ViewState("CveClienteAnterior") = CveCliente + DdlMedicoObservaciones.Enabled = True + DdlProcedimientoObservaciones.Enabled = True + Dim CantidadFacturadaRemision As Decimal = 0 'EN BDH NO DEBE PERMITIR EDITAR EL PU @@ -21748,6 +21756,7 @@ Partial Class Ventas UpPS.Update() UpCliente.Update() UPObservaciones.Update() + End Sub Private Sub BtnEditarRemision_Click(sender As Object, e As EventArgs) Handles BtnEditarRemision.Click Dim OcurrioError As Boolean = False @@ -21842,7 +21851,7 @@ Partial Class Ventas PedidoContrato:=TxtPedidoContrato.Text, AtencionA:=TxtAtencionA.Text.Trim, CveMetodoPago33:=DdlMetodoPago33.SelectedValue.ToEntero(), CveFormaPago33:=DdlFormaPago33.SelectedValue.ToEntero(), TipoDocto:="Rem", CveCliente:=CveCliente, CveClienteSucursal:=CveClienteSucursal, OrdenCompra:=TxtOrdenCompra.Text, RetIVA:=TxtRetIVA.Text.ToDecimal, RetISR:=TxtRetISR.Text.ToDecimal, Kilometraje:=TxtKilometraje.Text.ToDouble, CveUsoCFDi:=DdlUsoCFDI.SelectedValue.ToEntero(), - CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible) Then + CveVendedor:=DdlVendedor.SelectedValue.ToEntero(), ServicioDomicilio:=TrServicioDomicilio.Visible, CveMedico:=DdlMedicoObservaciones.SelectedValue.ToEntero, CveProcedimiento:=DdlProcedimientoObservaciones.SelectedValue.ToEntero) Then OcurrioError = True End If From 67b22d2f2b3d3a0d029554a8e8db3723a9e050fb Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 20:33:52 -0700 Subject: [PATCH 26/29] option explicit --- Ashx/E141.ashx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx index 72879ad20..cea15c20e 100644 --- a/Ashx/E141.ashx +++ b/Ashx/E141.ashx @@ -98,8 +98,8 @@ Public Class E141 : Implements IHttpHandler Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim retorno As String = "" Try - Dim Params = If(context.Request("P") = Nothing, "", context.Request("P").ToString()) - Dim ParamsV = If(context.Request("PV") = Nothing, "", context.Request("PV").ToString()) + Dim Params As String = If(context.Request("P") = Nothing, "", context.Request("P").ToString()) + Dim ParamsV As String = If(context.Request("PV") = Nothing, "", context.Request("PV").ToString()) Dim ParametrosNuevos As Boolean = False If Not String.IsNullOrEmpty(ParamsV) Then @@ -135,16 +135,16 @@ Public Class E141 : Implements IHttpHandler Else - Dim Metodo = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString()) + Dim Metodo As String = If(context.Request("Metodo") = Nothing, "", context.Request("Metodo").ToString()) 'OBTENER EXISTENCIAS If Metodo = "GetExistencia" Then context.Response.ContentType = "application/json" - Dim Codigo = If(context.Request("Sku") = Nothing, "", context.Request("Sku").ToString()) + Dim Codigo As String = If(context.Request("Sku") = Nothing, "", context.Request("Sku").ToString()) retorno = GetExistencia(context, Codigo) ElseIf Metodo = "ConsultarRFC" Then context.Response.ContentType = "application/json" - Dim Auth = ValidarSolicitud(context) + Dim Auth As AuthMessage = ValidarSolicitud(context) If Auth.IsSucces Then retorno = ConsultaRFC(context) @@ -155,7 +155,7 @@ Public Class E141 : Implements IHttpHandler ElseIf Metodo = "ValidarCarrito" Then context.Response.ContentType = "application/json" - Dim Auth = ValidarSolicitud(context) + Dim Auth As AuthMessage = ValidarSolicitud(context) If Auth.IsSucces Then retorno = ValidarCarrito(context) @@ -166,7 +166,7 @@ Public Class E141 : Implements IHttpHandler ElseIf Metodo = "RegistrarPedido" Then context.Response.ContentType = "application/json" - Dim Auth = ValidarSolicitud(context) + Dim Auth As AuthMessage = ValidarSolicitud(context) If Auth.IsSucces Then retorno = RegistrarPedido(context) From 3ae43d4c804d8907e24420f69bd0ee4f8e5aedfd Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 20:34:05 -0700 Subject: [PATCH 27/29] - mejora en registro de venta ecommerce --- Ashx/E119.ashx | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Ashx/E119.ashx b/Ashx/E119.ashx index 0be1294cf..36d4258df 100644 --- a/Ashx/E119.ashx +++ b/Ashx/E119.ashx @@ -384,8 +384,13 @@ Public Class E119 : Implements IHttpHandler CveMoneda = 1 Descuento = 0 MsgLog.AppendLine("1.3 billing") - Dim RFC As String = If(JsonRequest("billing") Is Nothing, "", JsonRequest("billing")("first_name").ToString()) - Dim NombreCliente As String = If(JsonRequest("billing") Is Nothing, "", JsonRequest("billing")("first_name").ToString() & " " & JsonRequest("billing")("last_name").ToString()) + Dim RFC As String = "" + Dim NombreCliente As String = "" + If JsonRequest("billing") IsNot Nothing Then + RFC = JsonRequest("billing").First("first_name").ToString() + NombreCliente = JsonRequest("billing").First("first_name").ToString() & " " & JsonRequest("billing").First("last_name").ToString() + End If + 'BUSCAR SI ESTÁ REGISTRADO EL CLIENTE If ObjClientes.GetClientes(-1, "-1", "-1", "-1", RFC, "-1", "-1", -1, CveEmpresa, 1, TipoCliente:=-1, TopSelect:=1) Then If ObjClientes.DtResultados.Rows.Count > 0 Then @@ -401,16 +406,16 @@ Public Class E119 : Implements IHttpHandler MsgLog.AppendLine("1.5 crear cliente") If JsonRequest("billing") IsNot Nothing Then Dim CveEstado As Integer = -1 - Dim Direccion As String = If(JsonRequest("billing")("address_1") Is Nothing, "", JsonRequest("billing")("address_1").ToString()) + Dim Direccion As String = If(JsonRequest("billing").First("address_1") Is Nothing, "", JsonRequest("billing").First("address_1").ToString()) Dim NumExt As String = "" Dim NumInt As String = "" Dim Colonia As String = "" - Dim Ciudad As String = If(JsonRequest("billing")("city") Is Nothing, "", JsonRequest("billing")("city").ToString()) - Dim Localidad As String = If(JsonRequest("billing")("city") Is Nothing, "", JsonRequest("billing")("city").ToString()) - Dim CP As String = If(JsonRequest("billing")("postcode") Is Nothing, "", JsonRequest("billing")("postcode").ToString()) - Dim Telefono As String = If(JsonRequest("billing")("phone") Is Nothing, "", JsonRequest("billing")("phone").ToString()) - Dim Correo As String = If(JsonRequest("billing")("email") Is Nothing, "", JsonRequest("billing")("email").ToString()) - Dim Estado As String = If(JsonRequest("billing")("state") Is Nothing, "", JsonRequest("billing")("state").ToString()) + Dim Ciudad As String = If(JsonRequest("billing").First("city") Is Nothing, "", JsonRequest("billing").First("city").ToString()) + Dim Localidad As String = If(JsonRequest("billing").First("city") Is Nothing, "", JsonRequest("billing").First("city").ToString()) + Dim CP As String = If(JsonRequest("billing").First("postcode") Is Nothing, "", JsonRequest("billing").First("postcode").ToString()) + Dim Telefono As String = If(JsonRequest("billing").First("phone") Is Nothing, "", JsonRequest("billing").First("phone").ToString()) + Dim Correo As String = If(JsonRequest("billing").First("email") Is Nothing, "", JsonRequest("billing").First("email").ToString()) + Dim Estado As String = If(JsonRequest("billing").First("state") Is Nothing, "", JsonRequest("billing").First("state").ToString()) If Not String.IsNullOrEmpty(Estado) Then CveEstado = ClsPaginas.GlobalDTGralEstados("MEX").FiltroPrimeroValor("CveEstado", $"NombreEstado = '{Estado.Trim}'").ToEntero() If CveEstado <= 0 Then 'SI NO ENCUENTRA EL ESTADO INGRESA EL DE SONORA From d5db746f6093a2ea8196f071720ab7efa6c1d7dd Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 20:34:12 -0700 Subject: [PATCH 28/29] -visual --- Sistemas/UsuarioDetalle.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sistemas/UsuarioDetalle.aspx b/Sistemas/UsuarioDetalle.aspx index 37ac85984..06a85cab7 100644 --- a/Sistemas/UsuarioDetalle.aspx +++ b/Sistemas/UsuarioDetalle.aspx @@ -109,7 +109,7 @@ Usuario: - +   From ebcd6c0e78cff71befb7259c926c5441ab0ca80e Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 9 Jan 2024 20:36:01 -0700 Subject: [PATCH 29/29] -- Empresa SMS, no visualizar columna subproyecto en dtalle --- Ventas/Ventas.aspx.vb | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 6ad972f7e..10a8649fd 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -3387,19 +3387,27 @@ Partial Class Ventas End If End If - - If CveVenta <= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then - EsVentaMedica = True - CargaTiposVenta() - - If CveCliente > 0 Then - SeleccionarClienteSucursal(CveCliente:=CveCliente) + If UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then + If CveVenta <= 0 Then + EsVentaMedica = True + CargaTiposVenta() + If CveCliente > 0 Then + SeleccionarClienteSucursal(CveCliente:=CveCliente) + End If + End If + If CveVenta >= 0 Then + HLFAgregarOS.Visible = True + HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}" End If - End If - If CveVenta >= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then - HLFAgregarOS.Visible = True - HLFAgregarOS.NavigateUrl = $"/OS/OrdenesServicios.aspx?CveVenta={CveVenta}" + TxtPrecio.Enabled = False + 'ocultar la columna de subproyecto + GvPS.Columns(ColumnaSubProyecto).Visible = False + ThProyecto.Visible = False + ThProyecto2.Visible = False + + TxtCantidad.Text = "1" + TxtCantidad.Focus() End If If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then @@ -3418,10 +3426,6 @@ Partial Class Ventas RegistraScript("$('#TxtCantidad').focus();", "A1") End If - If EsVentaMedica Then - TxtPrecio.Enabled = False - End If - End If End Sub