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/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..a7c0d3c14 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 @@ -5829,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 @@ -5876,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)) @@ -5885,7 +5934,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) @@ -5993,7 +6042,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) @@ -6307,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" @@ -9583,9 +9632,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/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/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 diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 793ee709c..560f2b21c 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -574,7 +574,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") @@ -610,6 +610,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 @@ -623,7 +625,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", 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 @@ -638,6 +640,11 @@ 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 + .Add("@CveMedico", SqlDbType.Int).Value = CveMedico + .Add("@CveProcedimiento", SqlDbType.Int).Value = CveProcedimiento + + End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 100ca0f8b..4fd52665f 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 @@ -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..d93e09b99 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)) @@ -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 @@ -3171,8 +3171,6 @@ Public Class Timbrado Clave = "12345678a" TimbraProduccion = False - UsuarioServicio = "UserTest" - ClaveServicio = "1234567890" End If 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, diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index d79ec8554..120c31636 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 > Longitud, Longitud, Str.Length)) + End Function Public Function Texto2Letras(ByVal Importe As Decimal, Optional CveMoneda As Integer = 1) As String 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 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) diff --git a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb index 70b743efd..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,9 +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" - End If + CType(GvIngresosSubProyectoH.Columns(IndexGv), BoundField).HeaderText = TxtSub @@ -2190,6 +2194,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal IndexData = IndexData + 1 If dColumn.ColumnName = "SinSubProyecto" Then + 'Continue For Exit For End If Next 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/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() 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 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/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")) 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/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 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 9171efa98..36b7a9574 100644 --- a/OS/OrdenesServicios.aspx.vb +++ b/OS/OrdenesServicios.aspx.vb @@ -3007,18 +3007,27 @@ 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 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 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 @@ -3032,7 +3041,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 +3055,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 @@ -3063,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") @@ -3146,7 +3155,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 recibido en almacén.") + Else + Alert("El material utilizado se guardó correctamente") + End If + RegistraScript("$('#DivModalMaterialUtilizado').modal('hide');") Else ObjV.RollBack() 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 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/Sistemas/UsuarioDetalle.aspx b/Sistemas/UsuarioDetalle.aspx index 37ac85984..06a85cab7 100644 --- a/Sistemas/UsuarioDetalle.aspx +++ b/Sistemas/UsuarioDetalle.aspx @@ -109,7 +109,7 @@ Usuario: - +   diff --git a/Transportes/Boletos.aspx.vb b/Transportes/Boletos.aspx.vb index 68f508010..cb4840b0e 100644 --- a/Transportes/Boletos.aspx.vb +++ b/Transportes/Boletos.aspx.vb @@ -85,7 +85,8 @@ 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 +100,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 +109,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)) @@ -156,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() 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 diff --git a/Ventas/ActualizarPrecios.aspx b/Ventas/ActualizarPrecios.aspx index 16814001c..dea6d8d1e 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/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/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 1826ddc84..7c4ea366a 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() @@ -948,7 +942,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 @@ -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 b/Ventas/Ventas.aspx index dc0a3826e..be622b490 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -1976,7 +1976,10 @@ - +
+ +
+ @@ -4202,7 +4205,7 @@ - +
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 06355686c..6634739e2 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2737,7 +2737,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 @@ -3386,19 +3391,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 @@ -5193,7 +5206,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().SubStringADS(30) LblFechaRegistro.Text = DbRowVenta("FechaIng").ToString().ToDate.ToShortDateString LblSeTimbro.Text = DbRowVenta("SeTimbro").ToString() LblMail.Text = DbRowVenta("EnvioMail").ToString() @@ -5316,7 +5329,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()) @@ -8188,6 +8207,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 @@ -13524,7 +13547,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 @@ -16798,16 +16821,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 @@ -18001,17 +18030,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) @@ -21676,6 +21700,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 @@ -21716,7 +21743,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 @@ -21731,6 +21765,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 @@ -21825,7 +21860,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 @@ -26192,7 +26227,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 @@ -33619,6 +33673,9 @@ Partial Class Ventas UpPS.Update() End If + TxtDescripcionVenta.Enabled = True + + UpCliente.Update() UpParametros.Update() UPObservaciones.Update() UpFacturar.Update() @@ -33637,7 +33694,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 @@ -36314,7 +36371,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 @@ -36350,18 +36407,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)