-- cambios de seccionesAlmace,Serie,Lote,Caducidad

This commit is contained in:
rrene
2020-05-13 12:52:33 -07:00
192 changed files with 26788 additions and 34102 deletions

1
.gitignore vendored
View File

@@ -272,3 +272,4 @@ __pycache__/
/Default.aspx
/Default.aspx.cs
/App_WebReferences/WSRDLC
/wwwSIGGIT.rar

View File

@@ -818,7 +818,7 @@ Partial Class AF_AF
Filename = fileItem.filename
Next
Dim Archivo As New System.IO.FileInfo(String.Format("{0}AF\Licencias\{1}", AppDomain.CurrentDomain.BaseDirectory, Filename))
Dim Archivo As New System.IO.FileInfo(String.Format("{0}AF\Licencias\{1}", ModExtensiones.DirectorioBaseEmpresas, Filename))
If Archivo.Exists() Then
Archivo.Delete()
End If
@@ -1777,7 +1777,7 @@ Partial Class AF_AF
' ' Dim TmpRuta As String = String.Format("{0}ActivosFijos\Resguardos\", UsuarioActual.Empresa.Ruta)
' ' Dim Extension As String = Path.GetExtension(TmpArchivo)
' ' TmpRuta.DirectoryExistsCreate()
' ' 'If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Resguardos\") Then Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Resguardos\")
' ' 'If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Resguardos\") Then Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Resguardos\")
' ' TmpRuta = String.Format("{0}{1}{2}", TmpRuta, CveActivoFijoResguardo, Extension)
' ' File.Move(TmpArchivo, TmpRuta)
' ' Session("FileUpload") = ""
@@ -1793,13 +1793,13 @@ Partial Class AF_AF
' 'RutaGuardar = String.Format("{0}OI\", UsuarioActual.Empresa.Ruta)
' 'If A2.HRef <> "" Then RutaArchivo = String.Format("{0}{1}", Request.PhysicalApplicationPath, A2.HRef.Substring(1))
' 'If A2.HRef <> "" Then RutaArchivo = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, A2.HRef.Substring(1))
' 'End If
' 'If UsuarioActual.CveRol = 1037 Then
' ' RutaGuardar = String.Format("{0}Empresas\70\OI\", Request.PhysicalApplicationPath)
' ' RutaGuardar = String.Format("{0}Empresas\70\OI\", ModExtensiones.DirectorioBaseEmpresas)
' ' RutaGuardar.DirectoryExistsCreate()
' 'End If
' 'Else
@@ -1929,18 +1929,18 @@ Partial Class AF_AF
#Region "GALERIA DE IMAGENES"
'Protected Sub BtnCargarArchivo_Click(sender As Object, e As System.EventArgs) Handles BtnCargarArchivo.Click
' If Session("FileUpload").ToString <> String.Empty AndAlso File.Exists(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString) Then
' Dim Extension As String = Path.GetExtension(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString)
' If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes") Then Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes")
' File.Move(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString, Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\" & CveActivoFijo & "_" & ImgConsecutivo & Extension)
' If Session("FileUpload").ToString <> String.Empty AndAlso File.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString) Then
' Dim Extension As String = Path.GetExtension(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString)
' If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes") Then Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes")
' File.Move(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\Temp\" & Session("FileUpload").ToString, ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\" & CveActivoFijo & "_" & ImgConsecutivo & Extension)
' Session("FileUpload") = ""
' If File.Exists(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes" & CveActivoFijo & "_" & ImgConsecutivo & Extension) Then
' If File.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes" & CveActivoFijo & "_" & ImgConsecutivo & Extension) Then
' Dim ObjActivosFijos As New ClsAF
' If ObjActivosFijos.AddActivosFijosImagenes(CveActivoFijo, CveActivoFijo & "_" & ImgConsecutivo & Extension, UsuarioActual.CveUsuario) Then
' CargarArchivo()
' Else
' File.Delete(Request.PhysicalApplicationPath + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes" & CveActivoFijo & "_" & ImgConsecutivo & Extension)
' File.Delete(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & CveEmpresaActual & "\ActivosFijos\Imagenes" & CveActivoFijo & "_" & ImgConsecutivo & Extension)
' End If
' ObjActivosFijos.Dispose()
@@ -1963,7 +1963,7 @@ Partial Class AF_AF
Dim DirectorioOld As New StringBuilder
Dim DirectorioNew As New StringBuilder
DirectorioOld.AppendFormat("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, FileMove)
DirectorioNew.AppendFormat("{0}Empresas\{1}\AF\", AppDomain.CurrentDomain.BaseDirectory, CveEmpresaActual)
DirectorioNew.AppendFormat("{0}Empresas\{1}\AF\", ModExtensiones.DirectorioBaseEmpresas, CveEmpresaActual)
If Not Directory.Exists(DirectorioNew.ToString) Then
Directory.CreateDirectory(DirectorioNew.ToString)
End If
@@ -1995,7 +1995,7 @@ Partial Class AF_AF
If (CveImagenActivoFijo > 0) Then
Dim ObjActivoFijo As New ClsAF
If ObjActivoFijo.RemoveActivosFijosImagenes(CveImagenActivoFijo) Then
File.Delete(String.Format("{0}Empresas\{1}\{2}", AppDomain.CurrentDomain.BaseDirectory, CveEmpresaActual, ObjActivoFijo.DtResultados.Rows(0)("URL")))
File.Delete(String.Format("{0}Empresas\{1}\{2}", ModExtensiones.DirectorioBaseEmpresas, CveEmpresaActual, ObjActivoFijo.DtResultados.Rows(0)("URL")))
CargarArchivo()
RegistraScript("initcarusel();")
End If
@@ -2407,7 +2407,7 @@ Partial Class AF_AF
Dim filemove As String = ""
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", ModExtensiones.DirectorioBaseEmpresas, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
Next

View File

@@ -542,8 +542,8 @@ Partial Class AF_ResguardoAF
If EsLiberacion Then
If objAF.UpdateActivosFijosResguardosURL($"AFR{CveResguardoPadre}.{FileExtension}", "-1", CveResguardoPadre) Then
If filemove <> "" Then
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension))
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension))
End If
If filemove.FilesMove(String.Format("AFR{0}", CveResguardoPadre), String.Format("Empresas\{0}\AF\Resguardos", UsuarioActual.CveEmpresa)) Then
HuboError = False
@@ -558,8 +558,8 @@ Partial Class AF_ResguardoAF
If EsURL2 Then
If objAF.UpdateActivosFijosResguardosURLGpo("-1", $"AFT{CveResguardoPadre}.{FileExtension}", CveResguardoPadre) Then
If filemove <> "" Then
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension))
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension))
End If
If filemove.FilesMove(String.Format("AFT{0}", CveResguardoPadre), String.Format("Empresas\{0}\AF\Resguardos", UsuarioActual.CveEmpresa)) Then
HuboError = False
@@ -575,8 +575,8 @@ Partial Class AF_ResguardoAF
If objAF.UpdateActivosFijosResguardosURLGpo($"AFR{CveResguardoPadre}.{FileExtension}", "-1", CveResguardoPadre) Then
If filemove <> "" Then
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, AppDomain.CurrentDomain.BaseDirectory, FileExtension))
If File.Exists(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension)) Then
File.Delete(String.Format("{2}Empresas\{0}\AF\Resguardos\AFR{1}.{3}", UsuarioActual.CveEmpresa, CveResguardoPadre, ModExtensiones.DirectorioBaseEmpresas, FileExtension))
End If
If filemove.FilesMove(String.Format("AFR{0}", CveResguardoPadre), String.Format("Empresas\{0}\AF\Resguardos", UsuarioActual.CveEmpresa)) Then
HuboError = False

View File

@@ -323,7 +323,7 @@ Partial Class AIMMGM_ConsultaCliente
'Excel.DisplayAlerts = True
'Dim pdfFileOut As String
'Dim xlsxFileOut As String
'Dim Ruta As String = String.Format("{0}\AIMMGM\Gafetes\", AppDomain.CurrentDomain.BaseDirectory)
'Dim Ruta As String = String.Format("{0}\AIMMGM\Gafetes\", ModExtensiones.DirectorioBaseEmpresas)
'If IO.File.Exists(Ruta & "FormatoAIMMGM.xlsx") Then
@@ -648,14 +648,14 @@ Partial Class AIMMGM_ConsultaCliente
End If
Dim AIM As New ClsAIMMGM
If Not IO.Directory.Exists(String.Format("{0}\Empresas\{1}\Documentos", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}\Empresas\{1}\Documentos", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
If Not IO.Directory.Exists(String.Format("{0}\Empresas\{1}\Documentos", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}\Empresas\{1}\Documentos", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa))
End If
Dim Cve As Integer = AIM.AddPago(CveCliente, CveVentaDetalle, TxtImporte.Text.ToDouble, 1, TxtFecha.Text.ToDate, IO.Path.GetExtension(FUComprobante.FileName), TxtObservaciones.Text.Trim, 9999, TxtAprobacion.Text.ToEntero)
If Cve > 0 Then
FUComprobante.SaveAs(String.Format("{0}/Empresas/{1}/Documentos/{2}{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Cve, IO.Path.GetExtension(FUComprobante.FileName)))
FUComprobante.SaveAs(String.Format("{0}/Empresas/{1}/Documentos/{2}{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Cve, IO.Path.GetExtension(FUComprobante.FileName)))
Alert("Pago ingresado correctamente", TipoMensaje.MsgInformacion)
End If
AIM.Dispose()
@@ -669,8 +669,8 @@ Partial Class AIMMGM_ConsultaCliente
Exit Sub
End If
'obtengo la clave de la publicidad
If Not IO.Directory.Exists(String.Format("{0}\Empresas\{1}\Documentos", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}\Empresas\{1}\Documentos", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
If Not IO.Directory.Exists(String.Format("{0}\Empresas\{1}\Documentos", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}\Empresas\{1}\Documentos", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa))
End If
Dim Logo As String
@@ -680,7 +680,7 @@ Partial Class AIMMGM_ConsultaCliente
If AIM.DtResultados.Rows.Count > 0 Then
CvePublicidad = AIM.DtResultados.Rows(0)("CvePublicidad").ToString.ToEntero
Logo = String.Format("Logo{0}{1}", CvePublicidad, IO.Path.GetExtension(FULogo.FileName))
FULogo.SaveAs(String.Format("{0}/Empresas/{1}/Documentos/{2}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Logo))
FULogo.SaveAs(String.Format("{0}/Empresas/{1}/Documentos/{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Logo))
AIM.UpdateLogo(CvePublicidad, Logo)
ImgLogo.ImageUrl = String.Format("/Empresas/{0}/Documentos/{1}", UsuarioActual.CveEmpresa, Logo)

View File

@@ -161,7 +161,7 @@ Partial Class AIMMGM_Pagos
Next
Next
Dim Archivoxlsx As String = String.Format("{0}/Empresas/{1}/Documentos/{2}.xlsx", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, NombreArchivoXLSX)
Dim Archivoxlsx As String = String.Format("{0}/Empresas/{1}/Documentos/{2}.xlsx", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, NombreArchivoXLSX)
Using wb As New XLWorkbook()
wb.Worksheets.Add(dtt)
wb.SaveAs(Archivoxlsx)

View File

@@ -125,7 +125,7 @@ Partial Class AIMMGM_Registro
Private Sub CargaReCompra(ClavePago As String, CveCliente As Integer)
Dim tmp As New DataTable
Dim Carpeta As String = String.Format("{0}AIMMGM/ePagos", AppDomain.CurrentDomain.BaseDirectory)
Dim Carpeta As String = String.Format("{0}AIMMGM/ePagos", ModExtensiones.DirectorioBaseEmpresas)
Dim Archivo As String = String.Format("{0}/{1}.xml", Carpeta, ClavePago)
Dim Archivo2 As String = String.Format("{0}/C{1}.xml", Carpeta, ClavePago)

View File

@@ -90,7 +90,7 @@ Partial Class AIMMGM_ePagos
Private Sub CargaCompra()
Dim tmp As New DataTable
Dim Carpeta As String = String.Format("{0}AIMMGM/ePagos", AppDomain.CurrentDomain.BaseDirectory)
Dim Carpeta As String = String.Format("{0}AIMMGM/ePagos", ModExtensiones.DirectorioBaseEmpresas)
Dim Archivo As String = String.Format("{0}/{1}.xml", Carpeta, ClavePago)
Dim Archivo2 As String = String.Format("{0}/C{1}.xml", Carpeta, ClavePago)

View File

@@ -33,6 +33,28 @@ Public Class BundleConfig
"~/Scripts/exporting.js"
))
bundles.Add(New ScriptBundle("~/Metronic/assets/global/scripts/JSNoCustom").Include(
"~/Metronic/assets/global/plugins/bootstrap/js/bootstrap.min.js",
"~/Metronic/assets/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",
"~/Metronic/assets/global/plugins/jquery-slimscroll/jquery.slimscroll.min.js",
"~/Metronic/assets/global/plugins/jquery.blockui.min.js",
"~/Metronic/assets/global/plugins/jquery.cokie.min.js",
"~/Metronic/assets/global/plugins/bootstrap-switch/js/bootstrap-switch.min.js",
"~/Metronic/assets/global/plugins/select2/select2.full.min.js",
"~/Metronic/assets/global/plugins/select2/i18n/es.js",
"~/Metronic/assets/global/plugins/bootstrap-confirmation/bootstrap-confirmation.min.js",
"~/Metronic/assets/global/plugins/bootbox/bootbox.min.js",
"~/Metronic/assets/global/plugins/bootstrap-toastr/toastr.min.js",
"~/Metronic/assets/global/scripts/metronic.js",
"~/Metronic/assets/admin/layout/scripts/layout.js",
"~/Metronic/assets/admin/layout/scripts/quick-sidebar.js",
"~/Metronic/assets/admin/layout/scripts/demo.js",
"~/Metronic/assets/admin/pages/scripts/table-advanced.js",
"~/Metronic/assets/admin/pages/scripts/ui-alert-dialog-api.js",
"~/Metronic/assets/global/plugins/icheck/icheck.min.js",
"~/Metronic/assets/global/plugins/dropzone/dropzone.js",
"~/Metronic/assets/layouts/layout3/scripts/jquery.datetimepicker.full.js"
))
bundles.Add(New ScriptBundle("~/Metronic/assets/global/scripts/JS").Include(
"~/Metronic/assets/global/plugins/bootstrap/js/bootstrap.min.js",
"~/Metronic/assets/global/plugins/bootstrap-hover-dropdown/bootstrap-hover-dropdown.min.js",

View File

@@ -391,7 +391,7 @@ Public Class ClsAcarreos
Dim CveAcarreo As Integer = Data(0)(0).ToString.ToEntero
Dim AcarreoFolio As Integer = Data(0)(1).ToString.ToEntero
Dim Raiz As String = String.Format("{0}Empresas\{1}\Acarreos\", HttpContext.Current.Server.MapPath("~/"), CveEmpresa)
Dim Raiz As String = String.Format("{0}Empresas\{1}\Acarreos\", ModExtensiones.DirectorioBaseEmpresas, CveEmpresa)
If Not Directory.Exists(Raiz) Then
Directory.CreateDirectory(Raiz)

View File

@@ -797,6 +797,21 @@ Public Class ClsAcumuladores
Return Retorno
End Function
Public Function EliminarGarantiasDetalle(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetallePolizaRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
OnError("Ocurrió un error a eliminar de garantia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region
@@ -863,6 +878,21 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function EliminarPolizaVirtual(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualRemove")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
OnError("Ocurrió un al eliminar poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region
Public Function DistribuidorMovtosAdd(CveCliente As Integer, Cantidad As Integer, CveTamaño As Integer, CveConcepto As Integer, CveVenta As Integer, CveUsuario As Integer,

View File

@@ -614,7 +614,7 @@ Public Class ClsDG
strLineaTMP = String.Format("{0} {1}:{2} {3} {0}", Chr(13), DateTime.Now.ToShortDateString, DateTime.Now.ToShortTimeString, pTexto)
Try
ArchivoW = New StreamWriter(String.Format("{0}\LogDG.txt", AppDomain.CurrentDomain.BaseDirectory), True, System.Text.Encoding.UTF8)
ArchivoW = New StreamWriter(String.Format("{0}\LogDG.txt", AppDomain.CurrentDomain), True, System.Text.Encoding.UTF8)
Catch ex As Exception
Exit Sub
End Try

View File

@@ -1232,7 +1232,14 @@ Public Class ClsInventarios
Return Retorno
End Function
''' <summary>
''' Obtiene los valores para asignar a los movimientos virtuales
''' </summary>
''' <param name="CveMovimiento">Debe ser un movimiento de Salida o Entrada de almacen (2,3,18)</param>
''' <param name="CveEmpresa"></param>
''' <param name="CveCompra"></param>
''' <param name="CveMovimientoRelacionado">Cuando sea cancelacion/devolucion hay que mandar este dato que seria la salida de almacen</param>
''' <returns></returns>
Public Function GetMovimientosDetalleVirtual(CveMovimiento As Integer, CveEmpresa As Integer, Optional CveCompra As Integer = -1, Optional CveMovimientoRelacionado As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_MovimientosDetalleVirtualGet")

View File

@@ -15,6 +15,7 @@ Public Enum OITipoEventos
ISO = 8
Soporte = 9
Gastos_Mes = 10
Convocatorias = 11
End Enum
Public Class ObjEventosCorreo
@@ -218,9 +219,220 @@ Public Class ClsOIEventos
Public Property objCorreo As ObjEventosCorreo
#End Region
#Region "Trello"
Public Function GetTablero(cveTablero As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_GetTablero", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTablero", SqlDbType.Int).Value = (cveTablero)
.Add("@CveUsuario", SqlDbType.Int).Value = (cveUsuario)
.Add("@CveEmpresa", SqlDbType.Int).Value = (cveEmpresa)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el Tablero.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function AddTablero(tablero As String, cveUsuario As Int32, cveUsuarioIng As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_AddTablero", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@Tablero", SqlDbType.VarChar).Value = (tablero)
.Add("@CveUsuario", SqlDbType.Int).Value = (cveUsuario)
.Add("@CveUsuarioIng", SqlDbType.Int).Value = (cveUsuarioIng)
.Add("@CveEmpresa", SqlDbType.Int).Value = (cveEmpresa)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el Tablero.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function UpTablero(cveTablero As Int32, tablero As String, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_UpTablero", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTablero", SqlDbType.Int).Value = (cveTablero)
.Add("@Tablero", SqlDbType.VarChar).Value = (tablero)
.Add("@CveUsuario", SqlDbType.Int).Value = (cveUsuario)
.Add("@CveEmpresa", SqlDbType.Int).Value = (cveEmpresa)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el Tablero.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function RemoveTablero(cveTablero As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_RemoveTablero", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTablero", SqlDbType.Int).Value = (cveTablero)
.Add("@CveUsuario", SqlDbType.Int).Value = (cveUsuario)
.Add("@CveEmpresa", SqlDbType.Int).Value = (cveEmpresa)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el Tablero.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function UpEventoLista(cveTableroLista As Int32, CveEvento As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_EventoLista", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTableroLista", SqlDbType.Int).Value = (cveTableroLista)
.Add("@CveEvento", SqlDbType.Int).Value = (CveEvento)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener la Lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetTableroListaTrello(cveTablero As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_GetTableroListaTrello", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTablero", SqlDbType.Int).Value = (cveTablero)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener la Lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetTableroLista(cveTableroLista As Int32, cveTablero As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_GetTableroLista", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTableroLista", SqlDbType.Int).Value = (cveTableroLista)
.Add("@CveTablero", SqlDbType.Int).Value = (cveTablero)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener la Lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function AddTableroLista(cveTablero As Int32, lista As String, cveUsuarioIng As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_AddTableroLista", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTablero", SqlDbType.Int).Value = cveTablero
.Add("@Lista", SqlDbType.VarChar).Value = (lista)
.Add("@CveUsuarioIng", SqlDbType.Int).Value = (cveUsuarioIng)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar la Lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function UpTableroLista(cveTableroLista As Int32, lista As String) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_UpTableroLista", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTableroLista", SqlDbType.Int).Value = (cveTableroLista)
.Add("@Lista", SqlDbType.VarChar).Value = (lista)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el Tablero.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function RemoveTableroLista(cveTableroLista As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_RemoveTableroLista", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveTableroLista", SqlDbType.Int).Value = (cveTableroLista)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar la Lista.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
#End Region
#Region "oieventos2.0"
Public Function UpEventosVinculos(cveEvento As Int32, cveActivoFijo As Int32, cveIE As Int32, cveProspecto As Int32, cveCliente As Int32, cveOS As Int32, cveOC As Int32, cvePersonal As Int32,
cveProveedor As Int32, cveCompra As Int32, cveVenta As Int32, cveContrato As Int32, cveSubProyecto As Int32, cveMovimientoAlmacen As Int32,
cveEmpresaCRM As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_EventosVinculosUp", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = (cveEvento)
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveActivoFijo", SqlDbType.Int).Value = (cveActivoFijo)
.Add("@CveIE", SqlDbType.Int).Value = (cveIE)
.Add("@CveProspecto", SqlDbType.Int).Value = (cveProspecto)
.Add("@CveCliente", SqlDbType.Int).Value = (cveCliente)
.Add("@CveOS", SqlDbType.Int).Value = (cveOS)
.Add("@CveOC", SqlDbType.Int).Value = (cveOC)
.Add("@CvePersonal", SqlDbType.Int).Value = (cvePersonal)
.Add("@CveProveedor", SqlDbType.Int).Value = (cveProveedor)
.Add("@CveCompra", SqlDbType.Int).Value = (cveCompra)
.Add("@CveVenta", SqlDbType.Int).Value = (cveVenta)
.Add("@CveContrato", SqlDbType.Int).Value = (cveContrato)
.Add("@CveSubProyecto", SqlDbType.Int).Value = (cveSubProyecto)
.Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = (cveMovimientoAlmacen)
.Add("@CveEmpresaCRM", SqlDbType.Int).Value = (cveEmpresaCRM)
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el Evento .", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function RemoveEvento2(cveEvento As Integer, CveEmpresa As Integer, cveUsuario As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_EventosRemove2", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = cveEvento
.Add("@cveUsuario", SqlDbType.Int).Value = cveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el Evento .", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetEventosUsuario2(CveEvento As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_EventosUsuarios2Get")
@@ -238,13 +450,32 @@ Public Class ClsOIEventos
Return Retorno
End Function
Public Function UpUsuarioseventosVisto(CveEvento As Integer, CveUsuario As Integer) As Boolean
Public Function GetEventosVinculos(CveEvento As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("UPDATE OI_EventosUsuarios SET Visto=1 WHERE CveEvento =@CveEvento AND CveUsuario=@CveUsuario", CommandType.Text)
DataAdapter("PA_OI_EventosVinculosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = CveEvento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el Catálogo de Evento Usuario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function UpUsuarioseventosVisto(CveEvento As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'DataAdapter("UPDATE OI_EventosUsuarios SET Visto=1 WHERE CveEvento =@CveEvento AND CveUsuario=@CveUsuario;IF @@ROWCOUNT >0 BEGIN INSERT INTO OI_EventosComentarios (CveEvento, EventoComentario, CveUsuario) VALUES ( @CveEvento, CONCAT('El Usuario ""',(SELECT Nombre FROM Usuarios WHERE CveUsuario=@CveUsuario),'"" a visto la tarea'), @CveUsuario); END", CommandType.Text)
DataAdapter("PA_OI_EventosUpVisto")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = CveEvento
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
@@ -286,17 +517,21 @@ Public Class ClsOIEventos
Return retorno
End Function
Public Function AddEventoMinuta2(Asunto As String, Descripcion As String, Acuerdos As String, CveUsuarioDe As Integer, CveUsuarioPara As Integer, FechaInicio As DateTime, Archivo As String, Lmiembros As List(Of Integer), chkList As List(Of String), CveUsuarioIng As Integer, CveEmpresa As Integer) As Boolean
Public Function AddEventoMinuta2(Asunto As String, Descripcion As String, Acuerdos As String, CveUsuarioDe As Integer, CveUsuarioPara As Integer, FechaInicio As DateTime, Archivo As String, Lmiembros As List(Of Integer), chkList As List(Of String), CveUsuarioIng As Integer, CveEmpresa As Integer, CorreoExterno As String) As Boolean
Dim Retorno As Boolean = False
Retorno = AddOI_Eventos2(OITipoEventos.Minuta, Asunto, Descripcion, 3, -1, -1, String.Format("{0:yyyy/MM/dd HH:mm}", FechaInicio), "1900/01/01 00:00", -1, Archivo, Lmiembros, chkList, CveUsuarioIng, CveEmpresa, -1, Acuerdos)
Retorno = AddOI_Eventos2(OITipoEventos.Minuta, Asunto, Descripcion, 3, -1, -1, String.Format("{0:yyyy/MM/dd HH:mm}", FechaInicio), "1900/01/01 00:00", -1, Archivo, Lmiembros, chkList, CveUsuarioIng, CveEmpresa, -1, Acuerdos, CorreoExterno:=CorreoExterno)
'Retorno = AddEvento(5, -1, Asunto, Descripcion, 1, -1, -1, FechaInicio, ("01/01/1799").ToDate, -1, -1, "-1", CveUsuarioIng, CveEmpresa, -1, -1, -1, -1, -1, -1, -1, -1)
Return Retorno
End Function
Public Function AddOI_Eventos2(cveTipoEvento As OITipoEventos, asunto As String, descripcion As String, prioridad As Int32, cveUsuarioDe As Int32, cveUsuarioPara As Int32,
fechaInicio As String, fechaFin As String, cveRevision As Int32, archivo As String, Lmiembros As List(Of Integer), chkList As List(Of String),
cveUsuarioIng As Int32, cveEmpresa As Int32, Optional CveEventoPadre As Integer = -1, Optional Acuerdos As String = Nothing, Optional CveAgendaTipo As Integer = -1) As Boolean
cveUsuarioIng As Int32, cveEmpresa As Int32, Optional CveEventoPadre As Integer = -1, Optional Acuerdos As String = Nothing, Optional CveAgendaTipo As Integer = -1,
Optional CveActivoFijo As Integer = -1, Optional CveIE As Integer = -1, Optional CveProspecto As Integer = -1, Optional CveCliente As Integer = -1,
Optional CveOS As Integer = -1, Optional CveOC As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveProveedor As Integer = -1,
Optional CveCompra As Integer = -1, Optional CveVenta As Integer = -1, Optional CveContrato As Integer = -1, Optional CveSubProyecto As Integer = -1,
Optional CveMovimientoAlmacen As Integer = -1, Optional CorreoExterno As String = "", Optional CveTableroLista As Integer = -1, Optional Lugar As String = "") As Boolean
Dim retorno As Boolean = False
Dim xmlMiembros As System.Xml.Linq.XDocument = Nothing
@@ -339,6 +574,24 @@ Public Class ClsOIEventos
.Add("@CveEventoPadre", SqlDbType.Int).Value = CveEventoPadre
.Add("@Acuerdos", SqlDbType.VarChar).Value = If(Acuerdos Is Nothing, DBNull.Value, DirectCast(Acuerdos, Object))
.Add("@CveAgendaTipo", SqlDbType.Int).Value = CveAgendaTipo
.Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo
.Add("@CveIE", SqlDbType.Int).Value = CveIE
.Add("@CveProspecto", SqlDbType.Int).Value = CveProspecto
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveOS", SqlDbType.Int).Value = CveOS
.Add("@CveOC", SqlDbType.Int).Value = CveOC
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CveCompra", SqlDbType.Int).Value = CveCompra
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = CveMovimientoAlmacen
.Add("@CorreoExterno", SqlDbType.VarChar).Value = CorreoExterno
.Add("@Lugar", SqlDbType.VarChar).Value = Lugar
.Add("@CveTableroLista", SqlDbType.VarChar).Value = CveTableroLista
'.Add("@mailPara", SqlDbType.VarChar).Direction = ParameterDirection.Output
'.Add("@mailBody", SqlDbType.Xml).Direction = ParameterDirection.Output
End With
@@ -1561,8 +1814,10 @@ Public Class ClsOIEventos
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
OnError("Ocurrió un error al guardar Tema.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
OnError("Ocurrió un error al guardar la Revision de Eventos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
OnError("Ocurrió un error al guardar Tema.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno

View File

@@ -70,7 +70,11 @@ Public Class ClsPaginas
Get
Try
'UsuarioActual = DirectCast(Session("UsuarioSIG"), Usuario)
UsuarioActual = CType(Context.Session("UsuarioSIG"), Usuario)
If Context.Session("UsuarioSIG") Is Nothing Then
Usuario.CerrarSession()
Else
UsuarioActual = CType(Context.Session("UsuarioSIG"), Usuario)
End If
Catch ex As Exception
Usuario.CerrarSession()
Return Nothing
@@ -3579,6 +3583,10 @@ Public Class ClsPaginas
PaginaDict.Add("/OI/Tareas.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepProyectos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/Proyecto.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/Tablero.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/TableroDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/ConvocatoriaDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepReuniones.aspx".ToUpper(), -1)
PaginaDict.Add("/AdSistemasTeam/ProcedimientosAlmacenados.aspx".ToUpper(), -1)
PaginaDict.Add("/OS/CatOrdenesServiciosCaracteristicas.aspx".ToUpper(), -1)
PaginaDict.Add("/OS/CatOSCaracteristicasOpciones.aspx".ToUpper(), -1)
@@ -5182,13 +5190,15 @@ Public Class ClsPaginas
Dim sw As New System.Diagnostics.Stopwatch()
sw.Start()
Dim Bytes As Byte() = Nothing
Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
RutaReporte.Replace("/", "\")
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
If EsProduccion Then
Dim bdir As String = AppDomain.CurrentDomain.BaseDirectory
RutaReporte.Replace("/", "\")
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
Dim CveUsuario As Integer = 0
Dim CveEmpresa As Integer = 0
If Context.Session("UsuarioSIG") IsNot Nothing Then
@@ -5580,7 +5590,7 @@ Public Class ClsPaginas
Dim retorno As Byte() = Nothing
'DATOS GENERALES
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
Dim PathXML As String = $"{Ruta}XML\{Vta.TipoDocto}\{Vta.SerieFolio}.xml"
Dim NombreArchivo As String = ""
Dim NombreArchivoDescarga As String = ""
@@ -6093,7 +6103,7 @@ Public Class ClsPaginas
' Dim ObjVentas As New ClsVentas
'DATOS GENERALES
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
Dim PathXML As String = $"{Ruta}XML\{Vta.TipoDocto}\{Vta.SerieFolio}.xml"
Dim NombreArchivo As String = ""
Dim NombreArchivoDescarga As String = ""
@@ -6797,7 +6807,7 @@ Public Class ClsPaginas
Dim rds5 As New ReportDataSource With {.Name = "DataSet5", .Value = If(Vta.DtNCVinculadas IsNot Nothing, Vta.DtNCVinculadas, New DataTable)} ' sino esta creado el objeto, lo creamos, para que no truene el reporte
lrds.Add(rds5)
If UsuarioActual.CveEmpresa = 141 AndAlso RutaFormato.Contains("Factura") Then
If UsuarioActual.CveEmpresa = 141 AndAlso (RutaFormato.Contains("Factura") Or RutaFormato.Contains("Cotizacion")) Then
params.Add(New ReportParameter("Kilometraje", Vta.Kilometraje.ToString))
End If
'Imprime los parametros
@@ -7195,10 +7205,15 @@ Public Class ClsPaginas
End If
'params.Add(New ReportParameter("FechaOC", ObjOC.Fecha.ToShortDateString))
Dim RutaFisicaSol As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioSol)
Dim RutaVirtuaSol As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={0}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaSol))
Dim FirmaSol As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioSol))
params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Firmas/{1}.png", EmpresaActual.CveEmpresa, CveUsuarioSol))).AbsoluteUri, "")))
params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, RutaVirtuaSol, "")))
Dim RutaFisicaAut As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioAut)
Dim RutaVirtuaAut As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaAut))
Dim FirmaAut As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioAut))
params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, New Uri(Server.MapPath(String.Format("~/Empresas/{0}/Firmas/{1}.png", EmpresaActual.CveEmpresa, CveUsuarioAut))).AbsoluteUri, "")))
params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, RutaVirtuaAut, "")))
If Archivo.Exists Then
bytes = StreamPDF(String.Format("{0}Formatos\OC.rdlc", EmpresaActual.Ruta), DtDetalle, params, $"OC_{ObjOC.Folio.ToString}", RDSName:="DsOC", MR:=MR)
@@ -7445,7 +7460,7 @@ Public Class ClsPaginas
Dim DTPercepciones As Data.DataTable
Dim DTDeducciones As Data.DataTable
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{CveEmpresa}\"
Dim PathXML As String = $"{Ruta}XML\Nomina\{ObjNomina.SerieFolio}.xml"
Dim FechaEmision, FechaCertificacion As DateTime
Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String
@@ -7750,7 +7765,7 @@ Public Class ClsPaginas
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToString))
'DATOS GENERALES
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
Dim PathXML As String = $"{Ruta}XML\Pag\{Serie}-{Folio}.xml"
Dim PathPDF As String = $"{Ruta}PDF\Pag\{Serie}-{Folio}.pdf"
SerieFolio = $"{Serie}-{Folio}"

View File

@@ -676,7 +676,7 @@ End Class
' dtMenu.TableName = "ModulosUsuarios"
' Try
' dtMenu.WriteXml(AppDomain.CurrentDomain.BaseDirectory & "\Menu\" & _Usuario & ".xml", XmlWriteMode.WriteSchema)
' dtMenu.WriteXml(ModExtensiones.DirectorioBaseEmpresas & "\Menu\" & _Usuario & ".xml", XmlWriteMode.WriteSchema)
' Retorno = True
' Catch ex As Exception
' OnError("Ocurrió un error al generar el menú del usuario.", ex)

View File

@@ -445,7 +445,7 @@ Public Class ClsSisEmpresas
_Empresa.Buzon_Tipo = Data.Rows(0)("Buzon_Tipo").ToString
_Empresa.ContaContabilizacionNC = Data.Rows(0)("Conta_ContabilizacionNC").ToString.ToEntero
_Empresa.Ruta = String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, _Empresa.CveEmpresa)
'_Empresa.Ruta = String.Format("{0}Empresas\{1}\", ModExtensiones.DirectorioBaseEmpresas, _Empresa.CveEmpresa)
_Empresa.PV_TerminalTipo = Data.Rows(0)("PV_TerminalTipo").ToString.ToEntero
_Empresa.EjercicioActual = Data.Rows(0)("EjercicioActual").ToString.ToEntero
_Empresa.PeriodoActual = Data.Rows(0)("PeriodoActual").ToString.ToEntero

View File

@@ -320,7 +320,7 @@ Public Class ClsSisNotificaciones
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPTUltimaPosicion.rdlc"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPTUltimaPosicion.rdlc"
Dim Direcciones As JArray = Nothing
If Formato = "Excel" Then
Dim Dispositivos As New StringBuilder
@@ -369,7 +369,7 @@ Public Class ClsSisNotificaciones
Dim ObjGPS As New ClsGPS
Try
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPTHistorico.rpt"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPTHistorico.rpt"
Dim ObjMail As New ClsSisMail()
Dim ResultadoMail As Integer = 0
Dim Archivos As New List(Of ClsSisMail.ArchivoMail)
@@ -429,7 +429,7 @@ Public Class ClsSisNotificaciones
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPTiempoMuerto.rpt"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPTiempoMuerto.rpt"
Dim DataSource As DataSet = Nothing
Dim Direcciones As JArray = Nothing
If Formato = "Excel" Then
@@ -478,7 +478,7 @@ Public Class ClsSisNotificaciones
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPTEventos.rpt"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPTEventos.rpt"
Dim Direcciones As JArray = Nothing
Dim Dispositivos As New StringBuilder
For Each Row As DataRow In DtDispositivos.Rows
@@ -520,7 +520,7 @@ Public Class ClsSisNotificaciones
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPTRalenti.rdlc"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPTRalenti.rdlc"
Dim Direcciones As JArray = Nothing
If Formato = "Excel" Then
Dim Dispositivos As New StringBuilder
@@ -565,7 +565,7 @@ Public Class ClsSisNotificaciones
End Try
ObjGPS.Dispose()
Case 6 'Geocercas
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPGeocercas.rdlc"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPGeocercas.rdlc"
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try
@@ -604,7 +604,7 @@ Public Class ClsSisNotificaciones
End Try
ObjGPS.Dispose()
Case 7 'Puntos de Interes
RutaReporte = $"{AppDomain.CurrentDomain.BaseDirectory}/Empresas/Grales/ReportesProgramados/RPPuntosDeInteres.rdlc"
RutaReporte = $"{ModExtensiones.DirectorioBaseEmpresas}/Empresas/Grales/ReportesProgramados/RPPuntosDeInteres.rdlc"
Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
Dim ObjGPS As New ClsGPS
Try

View File

@@ -4496,6 +4496,25 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function EliminarUsados(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUsadosRemove", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar los usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetVentasUsados(CveVenta As Integer, CveSubProyecto As Integer, Fecha As DateTime, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False

View File

@@ -101,7 +101,11 @@ Public Class Empresa
Public Property Soporte_PWD As String
Public Property Soporte_Tipo As String
Public Property Timbres As Integer
Public Property Ruta As String
Public ReadOnly Property Ruta As String
Get
Return String.Format("{0}\{1}\", Extensiones.ModExtensiones.DirectorioEmpresas, Me.CveEmpresa)
End Get
End Property
Public Property IdCuentaIVAxTrasladar As Integer
Public Property IdCuentaIVATrasladado As Integer
Public Property IdCuentaPerdidaCambiaria As Integer

View File

@@ -328,7 +328,7 @@ Namespace Modelos
End If
SetMetodoPago(ObjsClsPaginas)
Timbre = New CFDITimbre
DirectorioServidor = ObjsClsPaginas.Server.MapPath("/")
DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
End Sub
Public Sub New(ObjsClsPaginas As ClsPaginas, CveVenta As Integer, CveEmpresa As Integer)
@@ -342,7 +342,7 @@ Namespace Modelos
End If
End If
ObjVentas.Dispose()
DirectorioServidor = ObjsClsPaginas.Server.MapPath("/")
DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
End Sub
Public Sub New(ObjsClsPaginas As ClsPaginas, UsuarioActual As Usuario, Optional Row As Data.DataRow = Nothing)
Me.UsuarioActual = UsuarioActual
@@ -359,7 +359,7 @@ Namespace Modelos
SetSubProyecto(ObjsClsPaginas)
SetSubProyectoMatriz(ObjsClsPaginas)
Timbre = New CFDITimbre
DirectorioServidor = ObjsClsPaginas.Server.MapPath("/")
DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
End Sub
Public Sub New(UsuarioActual As Usuario, Optional Row As Data.DataRow = Nothing)
Me.UsuarioActual = UsuarioActual
@@ -400,7 +400,7 @@ Namespace Modelos
ObjVentas.Dispose()
IniciaValoresVentas(EsCancelacion)
If String.IsNullOrEmpty(DirectorioServidor) Then
DirectorioServidor = HttpContext.Current.Server.MapPath("/")
DirectorioServidor = ModExtensiones.DirectorioBaseEmpresas
End If
Me.DirectorioServidor = DirectorioServidor
Timbre = New CFDITimbre
@@ -878,9 +878,9 @@ Namespace Modelos
Try
If Not String.IsNullOrEmpty(DirectorioServidor) Then
Dim DirectoriArchivoXML As String = System.IO.Path.Combine(DirectorioServidor, "Empresas", UsuarioActual.CveEmpresa.ToString, Me.TipoDocto)
If Not Directory.Exists(DirectoriArchivoXML) Then
Directory.CreateDirectory(DirectoriArchivoXML)
Dim DirectorioArchivoXML As String = System.IO.Path.Combine(UsuarioActual.Empresa.Ruta, "XML", Me.TipoDocto)
If Not Directory.Exists(DirectorioArchivoXML) Then
Directory.CreateDirectory(DirectorioArchivoXML)
End If
End If
@@ -4537,6 +4537,13 @@ Namespace Modelos
End If
End If
'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL
If Not GeneraMovimientosVirtuales(CveVenta, CveMovimientoDevolucion, RowMovimiento("CveMovimiento").ToString().ToEntero(), ObjInventario) Then
ErrorCancelar = True
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
End If
'AGREGA BITACORA A VENTA
If Not ErrorCancelar AndAlso RealizarDevolucionAlmacen AndAlso CveMovimientoDevolucion > 0 Then
Dim MensajeBitacora = "Devuelta"
@@ -4580,12 +4587,6 @@ Namespace Modelos
Next
End If
'REALIZA LA DEVOLUCION AL ALMACEN VIRTUAL
If Not GeneraMovimientosVirtuales(CveVenta, ObjInventario) Then
ErrorCancelar = True
MensajeError = "Ocurrió un error al cargar los datos de devolución. Por favor vuelva a intentar."
End If
'VERIFICAR MOVIMIENTOS DE APARTADOS
If Not ErrorCancelar Then
If Not GeneraMovimientosApartados(ObjInventario) Then
@@ -4809,41 +4810,36 @@ Namespace Modelos
Return Retorno
End Function
Private Function GeneraMovimientosVirtuales(CveVenta As Integer, ByRef ObjInventario As ClsInventarios) As Boolean
Private Function GeneraMovimientosVirtuales(CveVenta As Integer, CveMovimiento As Integer, CveMovimientoRelacionado As Integer, ByRef ObjInventario As ClsInventarios) As Boolean
Dim ErrorCancelar As Boolean = False
Try
If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
Dim CveMovimientoSalida As Integer = -1
Dim CveAlmacenVirutal As Integer = -1
Dim CveMovimientoVirtual As Integer = -1
Dim ValidaVirtual = True
Dim DtPSVirtual As New DataTable("DtTamanios")
Dim DtMovtosDev As DataTable = Nothing
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND CveTipoAlmacen = 24 AND CveConcepto = 3 AND CveVenta > 0")
CveMovimientoSalida = RowMovimiento("CveMovimiento").ToString().ToEntero()
CveAlmacenVirutal = RowMovimiento("CveAlmacen").ToString().ToEntero()
Else
ErrorCancelar = True
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimiento, UsuarioActual.CveEmpresa, CveMovimientoRelacionado:=CveMovimientoRelacionado) Then
DtPSVirtual = ObjInventario.DtResultados
End If
If CveMovimientoSalida > 0 Then
'CARGA CONCEPTOS DEVUELTOS EN LA VENTA
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
DtMovtosDev = ObjInventario.DtResultados.Copy()
Else
ErrorCancelar = True
End If
Dim CveConceptoMovimientoVirtual As Integer = 36
Dim CveAlmacenVirtual As Integer = -1
Dim CveMovimientoRelacionadoVirtual As Integer = CveMovimiento
If DtMovtosDev IsNot Nothing AndAlso DtMovtosDev.Rows.Count > 0 Then
Dim CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenVirutal, 18, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1, CveMovimientoRelacionado:=CveMovimientoSalida)
CveAlmacenVirtual = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
For Each RowUsado As DataRow In DtMovtosDev.Rows
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 AndAlso CveAlmacenVirtual > 0 AndAlso CveConceptoMovimientoVirtual > 0 Then
CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, Now, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, CveVenta, -1, -1,
Observaciones:="", Guia:="", CveMovimientoRelacionado:=CveMovimientoRelacionadoVirtual, Modulo:="Modelos/CancelarVirtual")
If CveMovimientoVirtual > 0 Then
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
Dim PU As Decimal = RowUsado("PUOriginal").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
ErrorCancelar = True
Exit For
End If
@@ -4851,7 +4847,14 @@ Namespace Modelos
Else
ErrorCancelar = True
End If
Else
If ValidaVirtual Then
ErrorCancelar = True
End If
End If
If DtPSVirtual.Rows.Count = 0 AndAlso ValidaVirtual = True Then
ErrorCancelar = True
End If
End If
Catch ex As Exception
@@ -4861,6 +4864,7 @@ Namespace Modelos
Return Not ErrorCancelar
End Function
Private Function GeneraMovimientosEntregaPorAdelantadoRemision(CveMovimiento As Integer, ByRef ObjVentas As ClsVentas, ByRef ObjInventario As ClsInventarios, ByRef DtDevRem As DataTable, ByRef ListaRemisionesCancelar As List(Of Integer)) As Boolean
Dim ErrorCancelar As Boolean = False

View File

@@ -18,7 +18,7 @@ Public Class WSApiController
Public ReadOnly Property RutaEmpresa As String
Get
Return String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, Decripta(Request.Headers.Authorization.Parameter).Split("|"c)(4))
Return String.Format("{0}Empresas\{1}\", ModExtensiones.DirectorioBaseEmpresas, Decripta(Request.Headers.Authorization.Parameter).Split("|"c)(4))
End Get
End Property
'

View File

@@ -108,7 +108,7 @@ Namespace SIG
If ObjEmpresas.GetEmpresas(-1, "-1", "-1", "-1", "-1") Then
'verifico si existe la carpeta de la empresa, sino la crea
For Each dr As Data.DataRow In ObjEmpresas.DtResultados.Rows
Dim Ruta As String = String.Format("{0}Empresas\{1}", AppDomain.CurrentDomain.BaseDirectory, dr("CveEmpresa"))
Dim Ruta As String = String.Format("{0}Empresas\{1}", ModExtensiones.DirectorioBaseEmpresas, dr("CveEmpresa"))
If Not IO.Directory.Exists(Ruta) Then IO.Directory.CreateDirectory(Ruta)
If Not System.IO.Directory.Exists(String.Format("{0}\XML\", Ruta)) Then System.IO.Directory.CreateDirectory(String.Format("{0}\XML\", Ruta))
If Not System.IO.Directory.Exists(String.Format("{0}\PDF\", Ruta)) Then System.IO.Directory.CreateDirectory(String.Format("{0}\PDF\", Ruta))

View File

@@ -1467,7 +1467,7 @@ Public Class WS_PuntoVenta
Dim ObjEmpresa As New ClsSisEmpresas()
If ObjEmpresa.GetEmpresas(CveEmpresa, "-1", "-1", "-1", "-1") Then
Empresa = ObjEmpresa.Empresa
Empresa.Ruta = String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, CveEmpresa)
'Empresa.Ruta = String.Format("{0}Empresas\{1}\", ModExtensiones.DirectorioBaseEmpresas, CveEmpresa)
End If
ObjEmpresa.Dispose()

View File

@@ -33,6 +33,26 @@ Namespace Extensiones
#Region "E X T E N S I O N E S"
Public Module ModExtensiones
Public ReadOnly Property DirectorioBaseEmpresas As String
Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("DirectorioBaseEmpresas")) Then
Return AppDomain.CurrentDomain.BaseDirectory
Else
Return System.Configuration.ConfigurationManager.AppSettings("DirectorioBaseEmpresas").ToString()
End If
End Get
End Property
Public ReadOnly DirectorioEmpresas As String = String.Format("{0}Empresas\", DirectorioBaseEmpresas)
Public ReadOnly Property GOOGLE_MAPS_API_KEY As String
Get
If IsNothing(System.Configuration.ConfigurationManager.AppSettings("GOOGLE_MAPS_API_KEY")) Then
Return ""
Else
Return System.Configuration.ConfigurationManager.AppSettings("GOOGLE_MAPS_API_KEY").ToString()
End If
End Get
End Property
Public Const IMEI As String = "IMEISISTEMAGERENCIAL"
Public Const MinFecha As Date = #1/1/1900#
@@ -317,7 +337,7 @@ Namespace Extensiones
script = String.Format("alertatoast({3},'{0}',function(){{{1}}},{2});", Mensaje, JSBtnAceptar, TimeoutToast, DirectCast(pOpcion, Integer))
End If
ScriptManager.RegisterStartupScript(Pag, Pag.GetType(), String.Format("Alert{0}", (DateTime.Now.Ticks + 1).ToString()), Script, True)
ScriptManager.RegisterStartupScript(Pag, Pag.GetType(), String.Format("Alert{0}", (DateTime.Now.Ticks + 1).ToString()), script, True)
Pag = Nothing
Catch ex As Exception
Mensaje.GuardaLog(String.Format("Error Alert : {0}", Mensaje))
@@ -458,7 +478,14 @@ Namespace Extensiones
Else
newName = String.Format("{0}{1}", newName, IO.Path.GetExtension(directorioOld.ToString()))
End If
directorioNew.AppendFormat("{0}{1}\", AppDomain.CurrentDomain.BaseDirectory, newDirectorio)
'SI VA A LA CARPETA DE EMPRESAS TIENE QUE TOMAR LA RUTA DE EMPRESAS
If newDirectorio.Contains("Empresas") Then
directorioNew.AppendFormat("{0}{1}\", ModExtensiones.DirectorioBaseEmpresas, newDirectorio)
Else
directorioNew.AppendFormat("{0}{1}\", AppDomain.CurrentDomain.BaseDirectory, newDirectorio)
End If
If Not Directory.Exists(directorioNew.ToString) Then
Directory.CreateDirectory(directorioNew.ToString)
End If
@@ -1540,7 +1567,7 @@ Namespace Extensiones
' If Not IO.File.Exists(String.Format("{0}Cheques\", Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}Cheques\", Ruta))
' If Not IO.File.Exists(Ruta & FormatoCheque) Then
' IO.File.Copy(String.Format("{0}Empresas\Grales\Cheque.xlsm", AppDomain.CurrentDomain.BaseDirectory), Ruta & FormatoCheque, False)
' IO.File.Copy(String.Format("{0}Empresas\Grales\Cheque.xlsm", ModExtensiones.DirectorioBaseEmpresas), Ruta & FormatoCheque, False)
' End If
' Dim ArchivoBase As New System.IO.FileInfo(Ruta & FormatoCheque)
@@ -1770,7 +1797,7 @@ Namespace Extensiones
' If Not IO.File.Exists(String.Format("{0}Cheques\", Ruta)) Then IO.Directory.CreateDirectory(String.Format("{0}Cheques\", Ruta))
' If Not IO.File.Exists(String.Format("{0}{1}", Ruta, FormatoCheque)) Then
' IO.File.Copy(String.Format("{0}Empresas\Grales\Transferencia.xlsm", AppDomain.CurrentDomain.BaseDirectory), String.Format("{0}{1}", Ruta, FormatoCheque), False)
' IO.File.Copy(String.Format("{0}Empresas\Grales\Transferencia.xlsm", ModExtensiones.DirectorioBaseEmpresas), String.Format("{0}{1}", Ruta, FormatoCheque), False)
' End If
' Dim ArchivoBase As New System.IO.FileInfo(String.Format("{0}{1}", Ruta, FormatoCheque))
@@ -2167,12 +2194,11 @@ Namespace Extensiones
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", Usuario.Empresa.Ruta))
If Imagen.Exists Then
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, Usuario.CveEmpresa)
Using webClient As New Net.WebClient()
Dim imageBytes = webClient.DownloadData(logouri)
Dim stream As New MemoryStream(imageBytes)
worksheet.Pictures.Add(stream, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
'worksheet.Pictures.Add(stream, GemBox.Spreadsheet.ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, GemBox.Document.LengthUnit.Pixel)
Dim Ruta As String = String.Format("{0}/Logo.png", Usuario.Empresa.Ruta)
Using sr As New StreamReader(Ruta)
Dim ms As New MemoryStream()
sr.BaseStream.CopyTo(ms)
worksheet.Pictures.Add(ms, ExcelPictureFormat.Png, "A1", AnchoImagen, AlturaImagen, LengthUnit.Pixel)
End Using
End If
End If
@@ -3163,7 +3189,7 @@ Namespace Extensiones
Public Property descripcion As String
Public ReadOnly Property Extencion As String
Get
Return IO.Path.GetExtension(String.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, patch, filename)).Replace(".", "")
Return IO.Path.GetExtension(String.Format("{0}{1}{2}", If(patch.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory), patch, filename)).Replace(".", "")
End Get
End Property
Public ReadOnly Property filenameO As String
@@ -3173,7 +3199,7 @@ Namespace Extensiones
End Property
Public ReadOnly Property FileUrl As String
Get
Return String.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, patch, filename)
Return String.Format("{0}{1}{2}", If(patch.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory), patch, filename)
End Get
End Property
End Class

View File

@@ -291,7 +291,7 @@ Public Class wsSIG
Fecha = ArrCadena(6).ToString.ToDate
Fecha.ToShortDateString().GuardaLog()
If Fecha > Now.AddSeconds(TiempoValido) Then
Dim Dir As String = String.Format("{0}Empresas\{1}\", AppDomain.CurrentDomain.BaseDirectory, pCveEmpresa)
Dim Dir As String = String.Format("{0}Empresas\{1}\", ModExtensiones.DirectorioBaseEmpresas, pCveEmpresa)
Dim Ruta As String = ""
Dim RutaDB3 As String = ""
Dim RutaThumb As String = ""

View File

@@ -34,7 +34,7 @@ Public Class GenerarPDFFactura : Implements IHttpHandler
Dim ListaDS = New List(Of ReportDataSource)
Dim Parametros As New List(Of ReportParameter)
Dim Formato = context.Server.MapPath("/") + "Empresas/1/Report.rdlc"
Dim Formato = context.ModExtensiones.DirectorioBaseEmpresas + "Empresas/1/Report.rdlc"
Parametros.Add(New ReportParameter("Empresa", datos.Empresa.Empresa))
Parametros.Add(New ReportParameter("RFC", datos.Empresa.RFC))

View File

@@ -56,7 +56,7 @@ Public Class SIGCRM : Implements IHttpHandler, IRequiresSessionState
Dim Usuario As Usuario = UsuarioActual(context)
If Not IsNothing(Usuario) Then
Dim Url = String.Format("{0}\Empresas\{1}\Acercamientos\{2}\Imagenes\{3}", AppDomain.CurrentDomain.BaseDirectory, Usuario.CveEmpresa, CveAcercamiento, Archivo)
Dim Url = String.Format("{0}\Empresas\{1}\Acercamientos\{2}\Imagenes\{3}", ModExtensiones.DirectorioBaseEmpresas, Usuario.CveEmpresa, CveAcercamiento, Archivo)
If File.Exists(Url) Then
context.Response.ContentType = String.Format("image/{0}", Extension)

View File

@@ -60,7 +60,7 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
Dim Usuario = ValidaUsuarioSistema(CveEmpresa)
Dim FechaI, FechaF As DateTime
'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.Server.MapPath("/")), Usuario)
'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.ModExtensiones.DirectorioBaseEmpresas), Usuario)
If String.IsNullOrEmpty(pFechaI) AndAlso String.IsNullOrEmpty(pFechaF) Then
Dim FechaReferencia = Now
@@ -904,7 +904,7 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
' strLineaTMP = Chr(13) & Chr(10) & Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & Hour(Now) & ":" & Minuto & ". " & Str & Chr(13) & Chr(10)
strLineaTMP = String.Format("{0}{1}Log: {2}{3}:{4}", Chr(13), Chr(10), Str, DateTime.Now.ToShortDateString, DateTime.Now.ToShortTimeString)
Try
ArchivoW = New StreamWriter(String.Format("{0}\LogFacturacion.txt", AppDomain.CurrentDomain.BaseDirectory), True, System.Text.Encoding.UTF8)
ArchivoW = New StreamWriter(String.Format("{0}\LogFacturacion.txt", ModExtensiones.DirectorioBaseEmpresas), True, System.Text.Encoding.UTF8)
Catch ex As UnauthorizedAccessException
'Alert("No hay permisos para guardar en el Log.", Extensiones.TipoMensaje.MsgError)
Exit Sub

View File

@@ -91,7 +91,7 @@ Public Class SIGGPS : Implements IHttpHandler, IRequiresSessionState
Dim Usuario As Usuario = UsuarioActual(context)
If Not IsNothing(Usuario) Then
Dim Url = String.Format("{0}\Empresas\{1}\Dispositivos\{2}\Imagenes\{3}", AppDomain.CurrentDomain.BaseDirectory, Usuario.CveEmpresa, CveDispositivo, Archivo)
Dim Url = String.Format("{0}\Empresas\{1}\Dispositivos\{2}\Imagenes\{3}", ModExtensiones.DirectorioBaseEmpresas, Usuario.CveEmpresa, CveDispositivo, Archivo)
If File.Exists(Url) Then
context.Response.ContentType = String.Format("image/{0}", Extension)

View File

@@ -106,7 +106,7 @@ Public Class SIGWeb : Implements IHttpHandler, IRequiresSessionState
Dim usuario As Usuario = UsuarioActual(context)
If Not IsNothing(usuario) Then
Url = String.Format("{0}Empresas\{1}\{2}", AppDomain.CurrentDomain.BaseDirectory, usuario.CveEmpresa, Url)
Url = String.Format("{0}Empresas\{1}\{2}", ModExtensiones.DirectorioBaseEmpresas, usuario.CveEmpresa, Url)
Dim FileInfo As FileInfo = New FileInfo(Url)
If FileInfo.Exists Then
context.Response.ContentType = "image/png"

64
Ashx/SigFiles.ashx Normal file
View File

@@ -0,0 +1,64 @@
<%@ WebHandler Language="C#" Class="SigFiles" %>
using System;
using System.Web;
using Extensiones;
public class SigFiles : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/plain";
//context.Response.Write("Hello World");
string path = "";
if (context.Request["FileUrl"] != null)
{
path = string.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, context.Request["FileUrl"]);
}
if (context.Request["P"] != null)
{
path = string.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas,ModExtensiones.Decripta( context.Request["P"]));
}
if (path != null && path.Length>0)
{
try
{
if (System.IO.File.Exists(path))
{
System.IO.FileInfo file = new System.IO.FileInfo(path);
string mimeType = "text/plain";
try
{
mimeType = MimeMapping.GetMimeMapping(path);
}
catch (Exception) { }//si truena no existe el arhivo
context.Response.Clear();
context.Response.ClearHeaders();
context.Response.ClearContent();
context.Response.AddHeader("Content-Disposition", $"attachment; filename= {Uri.EscapeDataString(file.Name)}");
context.Response.AddHeader("Content-Length", file.Length.ToString());
context.Response.ContentType = mimeType;
context.Response.Flush();
context.Response.TransmitFile(file.FullName);
}
}
catch (Exception ex)
{
this.GuardaLog(ex.ToString());
}
}
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}

View File

@@ -77,7 +77,7 @@ Partial Class Bancos_CargarConciliacionesBancarias
Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs)
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
CargaExcel(Directorio, file.filename, Tipo)
Else

View File

@@ -216,7 +216,7 @@ Partial Class Bancos_CreditosPagoMultiple
Dim filemove As String = ""
Dim Comprobante As String = ""
For Each fileItem As Archivo In filesgral
Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", ModExtensiones.DirectorioBaseEmpresas, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
Next

View File

@@ -510,7 +510,7 @@ public partial class Bancos_Devoluciones : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransanccion.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)

View File

@@ -930,7 +930,7 @@ Partial Class Bancos_IE
If ObjIE.Comprobante <> "" Then
HplComprobante.Visible = True
HplComprobante.NavigateUrl = String.Format("/Empresas/{0}/IE/{1}", UsuarioActual.CveEmpresa, ObjIE.Comprobante)
HplComprobante.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta($"OP=IEComprobante&Comprobante={ObjIE.Comprobante}"))
End If
If CveIEDeposito > 0 Then
@@ -2471,7 +2471,7 @@ Partial Class Bancos_IE
If CveIE > 0 Then
If DdlTipoTransaccion.SelectedValue = "1" AndAlso usuarioactual.cveempresa <> 119 Then FolioFijo = ObjIE.Folio.ToEntero 'cheque
If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = ObjIE.Folio.ToEntero 'cheque
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE " + If(Request("Opcion") IsNot Nothing, Request("Opcion").ToString, "") + " " + RBL.SelectedValue, CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))
'valida prepoliza
@@ -2728,6 +2728,7 @@ Partial Class Bancos_IE
Dim TipoMovtoAplicar = False
For Each Dr As DataRow In ObjMov.DtResultados.FiltraParametros("CveConceptoContable IN (13,8,9,38)").Rows
Dim PorcentajeImpuesto As Decimal = Dr("PorcentajeImpuesto").ToString.ToDecimal()
CveConceptoContableAplciar = Dr("CveConceptoContable").ToString.ToEntero
TipoMovtoAplicar = Not CBool(Dr("TipoMovto").ToString)
ImporteAplicar = (Dr("Importe").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
@@ -2735,7 +2736,7 @@ Partial Class Bancos_IE
ImporteAplicarME = (Dr("ImporteME").ToString.ToDecimal * PorcentajePagoDevDin).RoundSQL()
IdCtaContableAplicar = Dr("IdCtaContable").ToString.ToEntero
If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
If ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, PorcentajeImpuesto:=PorcentajeImpuesto) Then
Select Case CveConceptoContableAplciar
Case 13
CveConceptoContableAplciar = 61
@@ -2747,7 +2748,7 @@ Partial Class Bancos_IE
CveConceptoContableAplciar = 39
End Select
TipoMovtoAplicar = Not TipoMovtoAplicar
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME) Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAplicar, ImporteAplicar, ReferenciaAplicar, CveConceptoContableAplciar, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, PorcentajeImpuesto:=PorcentajeImpuesto) Then
MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución"
Exit Select
End If
@@ -3276,7 +3277,7 @@ Partial Class Bancos_IE
ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1) Then
Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/CHQ-{1}.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
If Not Archivo.Exists Then
Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory))
Archivo = New System.IO.FileInfo(String.Format("{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas))
End If
ElseIf DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(6) And UsuarioActual.CveEmpresa = 72 Then
Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/ComprobanteEgreso.rdlc", UsuarioActual.Empresa.Ruta, DdlCuenta.SelectedValue.ToEntero))
@@ -4442,8 +4443,8 @@ Partial Class Bancos_IE
#Region " CARGAR - COMPROBANTE "
Protected Sub BtnConfirmaComprobante_Click(sender As Object, e As EventArgs)
Dim DirectorioGuardar = String.Format("{0}Empresas\{1}\IE", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa)
Dim ArchivoTemporal = String.Format("{0}Empresas\{1}\Temp\{2}", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa, Session("FileUpload").ToString)
Dim DirectorioGuardar = String.Format("{0}Empresas\{1}\IE", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)
Dim ArchivoTemporal = String.Format("{0}Empresas\{1}\Temp\{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Session("FileUpload").ToString)
If Session("FileUpload").ToString <> String.Empty AndAlso File.Exists(ArchivoTemporal) Then
Dim Extension As String = Path.GetExtension(ArchivoTemporal)

View File

@@ -1598,8 +1598,8 @@ Partial Class Bancos_IE
#Region " CARGAR - COMPROBANTE "
Protected Sub BtnConfirmaComprobante_Click(sender As Object, e As EventArgs)
Dim DirectorioGuardar = String.Format("{0}Empresas\{1}\IE", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa)
Dim ArchivoTemporal = String.Format("{0}Empresas\{1}\Temp\{2}", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa, Session("FileUpload").ToString)
Dim DirectorioGuardar = String.Format("{0}Empresas\{1}\IE", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)
Dim ArchivoTemporal = String.Format("{0}Empresas\{1}\Temp\{2}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Session("FileUpload").ToString)
If Session("FileUpload").ToString <> String.Empty AndAlso File.Exists(ArchivoTemporal) Then
Dim Extension As String = Path.GetExtension(ArchivoTemporal)

View File

@@ -571,7 +571,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransaccion.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)
@@ -845,7 +845,7 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransanccionPrestamo.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)

View File

@@ -506,7 +506,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransaccionPrestamo.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)
@@ -908,7 +908,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransaccion.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)

View File

@@ -410,7 +410,7 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransaccion.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)
@@ -670,7 +670,7 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
if (!archivo.Exists)
{
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", AppDomain.CurrentDomain.BaseDirectory));
archivo = new System.IO.FileInfo(String.Format(@"{0}\Empresas\Grales\Formatos\CHQ.rdlc", ModExtensiones.DirectorioBaseEmpresas));
}
}
else if (DdlTipoTransanccionPrestamo.SelectedValue.ToEntero().Contiene(6) && UsuarioActual.CveEmpresa == 72)

View File

@@ -134,7 +134,7 @@ Partial Class Ventas_RepRecuperacion
If DdlCuentaBancaria.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Cuenta Bancaria</b>: {0}", DdlCuentaBancaria.SelectedItem.Text)
Dim RutaPDF As String
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
RutaPDF = $"{Ruta}\Formatos\RepRecuperacion.rdlc"
If Not File.Exists(RutaPDF) Then
RutaPDF = "Empresas/Grales/Formatos/RepRecuperacion.rdlc"

View File

@@ -193,7 +193,7 @@ Partial Class Ventas_RepRecuperacionDetalle
If DdlProveedorSucursal.SelectedValue <> "-1" Then StrFiltro.AppendFormat("&emsp;<b>Proveedor Sucursal</b>: {0}", DdlProveedorSucursal.SelectedItem.Text)
Dim RutaPDF As String
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
RutaPDF = $"{Ruta}\Formatos\RepRecuperacionDetalle.rdlc"
If Not File.Exists(RutaPDF) Then
RutaPDF = "Empresas/Grales/Formatos/RepRecuperacionDetalle.rdlc"

View File

@@ -141,7 +141,7 @@ Partial Class Bancos_Reportes
rv.LocalReport.DataSources.Clear()
rv.LocalReport.DataSources.Add(rds)
rv.LocalReport.DataSources.Add(rds2)
rv.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory & "Bancos\Reportes\rptChequeMovimientos.rdlc"
rv.LocalReport.ReportPath = ModExtensiones.DirectorioBaseEmpresas & "Bancos\Reportes\rptChequeMovimientos.rdlc"
rv.LocalReport.Refresh()
Dim paramList As New List(Of ReportParameter)

View File

@@ -64,7 +64,7 @@ Partial Class Bancos_Reportes
rv.LocalReport.DataSources.Clear()
rv.LocalReport.DataSources.Add(rds)
rv.LocalReport.DataSources.Add(rds2)
rv.LocalReport.ReportPath = AppDomain.CurrentDomain.BaseDirectory & "Bancos\Reportes\rptChequeMovimientos.rdlc"
rv.LocalReport.ReportPath = ModExtensiones.DirectorioBaseEmpresas & "Bancos\Reportes\rptChequeMovimientos.rdlc"
rv.LocalReport.Refresh()
Dim paramList As New List(Of ReportParameter)

Binary file not shown.

Binary file not shown.

View File

@@ -1407,7 +1407,7 @@ public partial class CRM_Acercamiento : ClsPaginas
if ((CveArchivo > 0))
{
string NombreNuevo = string.Format("{0}{1}", CveArchivo, FileExtension);
string DirectorioNuevo = string.Format("{0}\\Empresas\\{1}\\Acercamientos\\{2}\\Imagenes\\", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, CveAcercamiento);
string DirectorioNuevo = string.Format("{0}\\Empresas\\{1}\\Acercamientos\\{2}\\Imagenes\\", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, CveAcercamiento);
if (!Directory.Exists(DirectorioNuevo))
{
Directory.CreateDirectory(DirectorioNuevo);

View File

@@ -28,6 +28,11 @@
<div class="titlefiltros caption">
<div class="row" style="margin-left: 10px;">
<label class="col-md-1" id="Label1" runat="server" style="width: 120px; margin-top: 5px;">Tipo de proceso:</label>
<div class="col-md-2" id="Div1" runat="server">
<asp:DropDownList ID="DdlTipoProceso" runat="server" Width="100%" DataTextField="TipoProceso" DataValueField="CveTipoProceso" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" OnSelectedIndexChanged="DdlTipoProcesos_Change" AutoPostBack="true">
</asp:DropDownList>
</div>
<label class="col-md-1" id="LblDdlMedioCaptacion" runat="server" style="width: 120px; margin-top: 5px;">Medio Captación:</label>
<div class="col-md-2" id="DivDdlMedioCaptacion" runat="server">
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" Width="100%" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me">

View File

@@ -29,6 +29,7 @@ public partial class CRM_CatEmpresasCRM : ClsPaginas
{
if (!IsPostBack)
{
CargaTipoProcesos();
CargaMediosCaptacion();
CargaDatos();
}
@@ -60,12 +61,22 @@ public partial class CRM_CatEmpresasCRM : ClsPaginas
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, 1))
{
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados.FiltraParametros(String.Format("CveTipoProceso = {0}",DdlTipoProceso.SelectedValue));
DdlMedioCaptacion.DataBind();
DdlMedioCaptacion.Items.Insert(0, new ListItem("Todos ", "-1"));
}
ObjCRM.Dispose();
}
protected void CargaTipoProcesos()
{
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa))
{
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
}
DdlTipoProceso.DataBind();
}
#endregion
#region "ACCIONES - GRIEDVIEW"
@@ -106,4 +117,11 @@ public partial class CRM_CatEmpresasCRM : ClsPaginas
}
}
#endregion
protected void DdlTipoProcesos_Change(Object sender, EventArgs e)
{
DdlMedioCaptacion.Items.Clear();
CargaMediosCaptacion();
UPFiltros.Update();
}
}

View File

@@ -23,8 +23,8 @@
</li>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkImprimir"/>
<asp:PostBackTrigger ControlID="LnkImprimirExcel"/>
<asp:PostBackTrigger ControlID="LnkImprimir" />
<asp:PostBackTrigger ControlID="LnkImprimirExcel" />
</Triggers>
</asp:UpdatePanel>
</asp:Content>
@@ -130,22 +130,24 @@
<div class="modal-body">
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoProceso" Width="100%" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
<asp:DropDownList ID="DdlTipoProceso" Width="100%" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" AppendDataBoundItems="true" CssClass="form-control input-sm select2me" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="True"></asp:DropDownList>
<label for="<%=DdlTipoProceso.ClientID.ToString()%>">Tipo de Proceso:</label>
<asp:RequiredFieldValidator InitialValue="-1" ID="RfvTipoProceso" Display="None" ValidationGroup="VGGuardar" runat="server" ControlToValidate="DdlTipoProceso" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Proceso''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceTipoProceso" runat="server" HighlightCssClass="vco" TargetControlID="RfvTipoProceso" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="row">
<div class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoEtapa" Width="100%" runat="server" CssClass="form-control input-sm select2me">
<asp:ListItem Value="1" Text="Inicial"></asp:ListItem>
<asp:DropDownList ID="DdlTipoEtapa" Width="100%" runat="server" CssClass="form-control input-sm select2me" DataValueField="CveTipoEtapa" DataTextField="TipoEtapa">
<%--<asp:ListItem Value="1" Text="Inicial"></asp:ListItem>
<asp:ListItem Value="2" Text="Proceso"></asp:ListItem>
<asp:ListItem Value="3" Text="Terminado"></asp:ListItem>
<asp:ListItem Value="4" Text="Cancelado"></asp:ListItem>
<asp:ListItem Value="4" Text="Cancelado"></asp:ListItem>--%>
</asp:DropDownList>
<label for="<%=DdlTipoEtapa.ClientID.ToString()%>">Tipo de Etapa:</label>
</div>
<div runat="server" id="DivOrden" class="form-group col-md-6 form-md-line-input input-iconright">
<div runat="server" id="DivOrden" class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlOrden" Width="100%" runat="server" DataTextField="Orden" DataValueField="Orden" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%=DdlOrden.ClientID.ToString()%>">Orden:</label>
</div>

View File

@@ -87,7 +87,18 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
ViewState["CveTipoEtapaSeleccionada"] = value;
}
}
private DataTable DTEtapas
{
get
{
return (DataTable)ViewState["DTEtapas"];
}
set
{
ViewState["DTEtapas"] = value;
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -96,6 +107,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
{
CveTipoProcesoSeleccionado = -1;
CveTipoEtapaSeleccionada = -1;
cargaEtapas();
CargaTiposProceso();
CargaDatos(-1);
}
@@ -164,6 +176,23 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
UPFiltros.Update();
}
protected void cargaEtapas()
{
DataTable Etapas = new DataTable();
Etapas.Columns.Add("CveTipoEtapa",typeof(int));
Etapas.Columns.Add("TipoEtapa", typeof(string));
Etapas.Rows.Add(1,"Inicial");
Etapas.Rows.Add(2, "Proceso");
Etapas.Rows.Add(3, "Terminado");
Etapas.Rows.Add(4, "Cancelado");
DTEtapas = Etapas;
DdlTipoEtapa.DataSource = Etapas;
DdlTipoEtapa.DataBind();
}
#endregion
#region "ACCIONES"
@@ -172,6 +201,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
EsEditar = 0;
limpiarCamposModal();
DivOrden.Visible = false;
bloquearEtapasAnteriores(-1);
DdlTipoProceso.SelectedValueExist(CveTipoProcesoSeleccionado);
DdlTipoEtapa.SelectedValueExist(CveTipoEtapaSeleccionada);
@@ -189,6 +219,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
bloquearEtapasAnteriores(GvRow.DataKey("CveTipoEtapa").ToEntero());
CveEtapaProceso = GvRow.DataKey("CveEtapaProceso").ToEntero();
DdlTipoProceso.SelectedValueExist(GvRow.DataKey("CveTipoProceso"));
DdlTipoEtapa.SelectedValueExist(GvRow.DataKey("CveTipoEtapa"));
@@ -206,6 +237,28 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
this.RegistraScript("$('#DivModal').modal();");
}
private void bloquearEtapasAnteriores(int CveTipoEtapa)
{
DataTable EtapasAux = DTEtapas.Copy();
int indice = 0;
for(int i = 1;i < CveTipoEtapa; i++)
{
DataRow TipoEtapaRow = EtapasAux.Rows[indice];
int CveTipoEtapaAux = TipoEtapaRow["CveTipoEtapa"].ToEntero();
if(CveTipoEtapaAux == 2)
{
indice++;
}else
{
EtapasAux.Rows.Remove(TipoEtapaRow);
}
}
EtapasAux.AcceptChanges();
DdlTipoEtapa.DataSource = EtapasAux;
DdlTipoEtapa.DataBind();
}
private bool validarInicialTerminadoCancelado(int CveTipoEtapa)
{
if (CveTipoEtapa == 2)
@@ -230,10 +283,7 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
int Orden = TmpDT.FiltraParametros(String.Format("CveTipoProceso = {0} AND CveEstatus = 1", CveTipoProceso)).Rows.Count + 1;
Boolean Estatus = ChkEstatus.Checked;
int CveUsuarioIng = UsuarioActual.CveUsuario;
if (validarInicialTerminadoCancelado(CveTipoEtapa))
{
if (EsEditar == 0)
{
if (ObjCRM.AddEtapaProceso(EtapaProceso, Descripcion, CveTipoEtapa, Orden, CveTipoProceso, UsuarioActual.CveEmpresa, CveUsuarioIng))
@@ -250,10 +300,12 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
Alert("La Etapa fue actualizada correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
}
}
}else
{
Alert(String.Format("No se pueden tener 2 etapas de tipo {0}",DdlTipoEtapa.SelectedItem),ModExtensiones.TipoMensaje.MsgAdvertencia);
}
//if (validarInicialTerminadoCancelado(CveTipoEtapa))
//{
//}else
//{
// Alert(String.Format("No se pueden tener 2 etapas de tipo {0}",DdlTipoEtapa.SelectedItem),ModExtensiones.TipoMensaje.MsgAdvertencia);
//}
// PRECARGAMOS LA SIGUIENTE ETAPA A AGREGAR CON LOS MISMA DATOS DE LA ETAPA QUE SE INSERTO
CveTipoProcesoSeleccionado = CveTipoProceso;
@@ -366,4 +418,47 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
ImprimirPDF("Empresas/Grales/Formatos/RepCatEtapasProceso.rdlc", TmpDT, param, "Report Cat Etapas Proceso", formato);
}
protected void DdlTipoProceso_Change(Object sender,EventArgs e)
{
DataTable EtapasIterable = DTEtapas.Copy();
DataTable EtapasAux = DTEtapas.Copy();
int indice = 0;
foreach (DataRow EtapaRow in EtapasIterable.Rows)
{
int CveTipoEtapa = EtapaRow["CveTipoEtapa"].ToEntero();
if (CveTipoEtapa != 2)
{
int CantidadEtapas = TmpDT.FiltraParametros(String.Format("CveTipoProceso = {0} AND CveTipoEtapa = {1}",DdlTipoProceso.SelectedValue,EtapaRow["CveTipoEtapa"])).Rows.Count;
if(CantidadEtapas > 0)
{
EtapasAux.Rows.RemoveAt(indice);
}
}else
{
indice++;
}
}
//for (int i = 1; i < CveTipoEtapa; i++)
//{
// DataRow TipoEtapaRow = EtapasAux.Rows[indice];
// int CveTipoEtapaAux = TipoEtapaRow["CveTipoEtapa"].ToEntero();
// if (CveTipoEtapaAux == 2)
// {
// indice++;
// }
// else
// {
// EtapasAux.Rows.Remove(TipoEtapaRow);
// }
//}
EtapasAux.AcceptChanges();
DdlTipoEtapa.DataSource = EtapasAux;
DdlTipoEtapa.DataBind();
UPModal.Update();
}
}

View File

@@ -95,6 +95,8 @@
<div class="form-group form-md-line-input input-iconright" id="DivTipoProceso" runat="server">
<label runat="server" id="LblTipoProceso" for="<%= DdlTipoProceso.ClientID.ToString()%>">Tipo Proceso:</label><br />
<asp:DropDownList runat="server" ID="DdlTipoProceso" CssClass="form-control input-sm select2me" Width="50%" DataValueField="CveTipoProceso" DataTextField="TipoProceso"/>
<asp:RequiredFieldValidator InitialValue="-1" ID="RfvTipoProceso" Display="None" ValidationGroup="VGGuardar" runat="server" ControlToValidate="DdlTipoProceso" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Proceso''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VceTipoProceso" runat="server" HighlightCssClass="vco" TargetControlID="RfvTipoProceso" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="modal-footer">

View File

@@ -254,6 +254,6 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
param.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
param.Add(new ReportParameter("FechaImpresion", DateTime.Now.ToString()));
ImprimirPDF("Empresas/Grales/Formatos/RepCatProbabilidadAcercamiento.rdlc", TmpDT, param, "Report Cat Etapas Proceso", formato);
ImprimirPDF("Empresas/Grales/Formatos/RepCatProbabilidadAcercamiento.rdlc", TmpDT, param, "Report Cat Probabilidad Acercamiento", formato);
}
}

View File

@@ -72,6 +72,7 @@
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtRFC" CssClass="form-control " runat="server" MaxLength="13"></asp:TextBox>
<asp:RegularExpressionValidator ID="REVRFC" runat="server" CssClass="help-block errorimput" ValidationExpression="^([A-Z\d]){12,13}$" ControlToValidate="TxtRFC" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="GrpGuardar"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RFVRFC" runat="server" ControlToValidate="TxtRFC" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= TxtRFC.ClientID.ToString()%>">RFC:</label>
<i></i>
@@ -86,6 +87,11 @@
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoPrceso2" runat="server" Width="50%" DataTextField="TipoProceso" DataValueField="CveTipoProceso" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-sm select2me" OnSelectedIndexChanged="DdlTipoProcesos_Change" AutoPostBack="true"/>
<label for="<%=DdlTipoPrceso2.ClientID.ToString()%>">Tipo Proceso:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMedioCaptacion" Width="50%" runat="server" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" AppendDataBoundItems="true" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%=DdlMedioCaptacion.ClientID.ToString()%>">Medio de Captación:</label>
@@ -600,7 +606,7 @@
<asp:RequiredFieldValidator ID="RFVContacto" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlContactoPrincipal" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Contacto''</b> es necesario." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
</div>
</div>
<br />
<div class="row">
<%--<div class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlVendedor" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" Class="form-control input-sm select2me"></asp:DropDownList>
@@ -615,8 +621,10 @@
</div>
<div class="form-group col-md-6 form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMedioCaptacionAcercamiento" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" Class="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlMedioCaptacionAcercamiento.ClientID.ToString()%>">Medio de Captación:</label>
<asp:DropDownList ID="DdlMedioCaptacionAcercamiento" CausesValidation="true" runat="server" Width="100%" AppendDataBoundItems="true" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me"></asp:DropDownList>
<label for="<%= DdlMedioCaptacionAcercamiento.ClientID.ToString()%>" ><span style="color: #F3565D">*</span>Medio de Captación(depende de 'Proceso'):</label>
<asp:RequiredFieldValidator ID="RfvMedioCaptacionAcercamiento" CssClass="help-block errorimput" runat="server" ControlToValidate="DdlMedioCaptacionAcercamiento" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Medio Captación''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="VGAcercamiento"></asp:RequiredFieldValidator>
<%--<ajax:ValidatorCalloutExtender ID="VceMedioCaptacionAcercamiento" runat="server" HighlightCssClass="vco" TargetControlID="RfvMedioCaptacionAcercamiento" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</div>
</div>

View File

@@ -225,6 +225,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
{
CreoCliente = false;
RecuperaCve();
CargaTipoProceso();
CargaMetodosCaptacion();
CargaVendedores();
CargaSucursales();
@@ -548,12 +549,22 @@ public partial class CRM_EmpresaCRM : ClsPaginas
CveContactoEditado = -1;
}
protected void CargaTipoProceso()
{
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.GetTipoProceso(UsuarioActual.CveEmpresa))
{
DdlTipoPrceso2.DataSource = ObjCRM.DtResultados;
}
DdlTipoPrceso2.DataBind();
}
protected void CargaMetodosCaptacion()
{
ClsCRM ObjCRM = new ClsCRM();
if (ObjCRM.GetMedioCaptacion(UsuarioActual.CveEmpresa, 1))
{
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados;
DdlMedioCaptacion.DataSource = ObjCRM.DtResultados.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoPrceso2.SelectedValue));
DdlMedioCaptacion.Items.Insert(0, new ListItem("Seleccione ", "-1"));
DdlMedioCaptacionAcercamiento.Items.Clear();
DdlMedioCaptacionAcercamiento.DataSource = ObjCRM.DtResultados;
@@ -673,7 +684,14 @@ public partial class CRM_EmpresaCRM : ClsPaginas
DdlMedioCaptacionAcercamiento.Items.Clear();
DdlMedioCaptacionAcercamiento.DataSource = DtMedioCaptacion.FiltraParametros(String.Format("CveTipoProceso = {0}",DdlTipoProceso.SelectedValue.ToEntero()));
DdlMedioCaptacionAcercamiento.DataBind();
DdlMedioCaptacionAcercamiento.Items.Insert(0,new ListItem("Seleccione","-1"));
if (DdlTipoProceso.SelectedValue != "-1")
{
DdlMedioCaptacionAcercamiento.Enabled = true;
}else
{
DdlMedioCaptacionAcercamiento.Items.Insert(0,new ListItem("Seleccione","-1"));
DdlMedioCaptacionAcercamiento.Enabled = false;
}
DdlProbabilidadAcercamiento.Items.Clear();
DdlProbabilidadAcercamiento.DataSource = DtProbabilidadAcercamiento.FiltraParametros(String.Format("CveTipoProceso = {0}", DdlTipoProceso.SelectedValue.ToEntero()));
@@ -1299,8 +1317,12 @@ public partial class CRM_EmpresaCRM : ClsPaginas
DdlTipoProceso.DataSource = ObjCRM.DtResultados;
if (ObjCRM.DtResultados.Rows.Count > 0)
{
DdlTipoProceso.Items.Insert(0, new ListItem("Seleccione ", "-1"));
DdlMedioCaptacionAcercamiento.Enabled = false;
}
DdlTipoProceso.DataBind();
}
@@ -1402,8 +1424,14 @@ public partial class CRM_EmpresaCRM : ClsPaginas
int CveAcercamiento = -1;
CveAcercamiento = ObjCRM.AddAcercamiento(CveEmpresaCRM, CveContactoPrincipal, CveTipoProceso, CveEtapaProcesoActual, CveVendedor, CveMedioCaptacion, CveRechazoMotivo, CveProbabilidadAcercamiento,
FechaApertura, NombreAcercamiento, Descripcion, Importe, Comision, Prioridad, UsuarioActual.CveEmpresa, CveUsuarioIng);
if (ObjCRM.DtResultados.Rows.Count > 0)
{
CveAcercamiento = ObjCRM.AddAcercamiento(CveEmpresaCRM, CveContactoPrincipal, CveTipoProceso, CveEtapaProcesoActual, CveVendedor, CveMedioCaptacion, CveRechazoMotivo, CveProbabilidadAcercamiento,
FechaApertura, NombreAcercamiento, Descripcion, Importe, Comision, Prioridad, UsuarioActual.CveEmpresa, CveUsuarioIng);
}else
{
Alert("No tiene Etapa Proceso con el Tipo Proceso seleccionado",ModExtensiones.TipoMensaje.MsgAdvertencia);
}
if (CveAcercamiento > 0)
{
@@ -1450,6 +1478,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
#region "PERMISOS"
protected void VerificaPermisos()
{
if (CveEmpresaCRM > 0)
{
if (!UsuarioActual.TienePermisoProceso(250))
@@ -1507,4 +1536,11 @@ public partial class CRM_EmpresaCRM : ClsPaginas
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, correoVendedor, Asunto,body);
}
}
protected void DdlTipoProcesos_Change(Object sender, EventArgs e)
{
DdlMedioCaptacion.Items.Clear();
CargaMetodosCaptacion();
UpDatos.Update();
}
}

View File

@@ -17,10 +17,12 @@
.form-group.form-md-line-input .form-control {
background-color: #fff;
}
.GVRep tr td a{
display:block;
text-align:center;
.GVRep tr td a {
display: block;
text-align: center;
}
#chartdiv {
width: 100%;
height: 500px;
@@ -46,90 +48,96 @@
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="upDatosRepA" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="Filtros">
<div class="Filtros portlet solid grey-cascade portlet-filter">
<div class="row">
<div class="col-sm-3">
<div class="form-group form-md-line-input input-iconright" >
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="true" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
<div class="col-md-2" style="width: 85%">
<div class="row">
<div class="col-sm-3" style="width: 25%">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoProceso" runat="server" DataTextField="TipoProceso" DataValueField="CveTipoProceso" CssClass="form-control input-sm select2me Widthall" OnSelectedIndexChanged="DdlTipoProceso_Change" AutoPostBack="true" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Proceso:" AssociatedControlID="DdlTipoProceso"></asp:Label>
</div>
</div>
<div class="col-sm-3" style="width: 25%">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlVendedor" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
</div>
</div>
<div class="col-sm-3" style="width: 25%">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
</div>
</div>
<div class="col-md-2" style="width: 25%">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlProbabilidad" runat="server" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
</div>
</div>
</div>
</div>
<div class="col-sm-3">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlVendedor" runat="server" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Vendedor:" AssociatedControlID="DdlVendedor"></asp:Label>
</div>
</div>
<div class="col-sm-3">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMedioCaptacion" runat="server" DataTextField="MedioCaptacion" DataValueField="CveMedioCaptacion" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Medio de Captación:" AssociatedControlID="DdlMedioCaptacion"></asp:Label>
</div>
</div>
<div class="col-md-2">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlProbabilidad" runat="server" DataTextField="ProbabilidadAcercamiento" DataValueField="CveProbabilidadAcercamiento" CssClass="form-control input-sm select2me Widthall" Width="100%"></asp:DropDownList>
<asp:Label runat="server" Text="Probabilidad:" AssociatedControlID="DdlProbabilidad"></asp:Label>
</div>
</div>
<div class="col-sm-1 text-right">
<br />
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" CssClass="btn btn-default">Consultar</asp:LinkButton>
</div>
</div>
<div class="row">
<div class="row">
<div class="col-md-2" style="padding-left: 15px; width: 25%">
<div class="form-group form-md-line-input input-iconright" style="width: 100%">
<asp:DropDownList ID="DdlGrupo1" runat="server" CssClass="form-control input-sm select2me Widthall" Width="100%">
<asp:ListItem Value="1" Text="Vendedor" Selected="true"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
</div>
</div>
<div class="col-md-3" style="display: none; width: 25%">
<div class="form-group form-md-line-input input-iconright" style="width: 100%">
<asp:DropDownList ID="DdlGrupo2" runat="server" CssClass="form-control input-sm select2me Widthall" Style="width: 100%">
<asp:ListItem Value="-1" Text="Ninguno" Selected="True"></asp:ListItem>
<asp:ListItem Value="1" Text="Vendedor"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio Captacion"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
</div>
</div>
<div class="col-md-2" style="width: 25%">
<div class="">
<asp:Label runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-bottom: -10px; padding-bottom: 10px;">
<asp:TextBox ID="TxtFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaSolicitudI" runat="server" TargetControlID="TxtFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudI" TargetControlID="TxtFechaInicio" PopupButtonID="imgFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
<div class="col-md-2" style="width: 25%">
<div class="">
<asp:Label runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-bottom: -10px; padding-bottom: 10px;">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaSolicitudF" runat="server" TargetControlID="TxtFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright" style="width:100%">
<asp:DropDownList ID="DdlGrupo1" runat="server" CssClass="form-control input-sm select2me Widthall" Width="100%">
<asp:ListItem Value="1" Text="Vendedor" Selected="true"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
</div>
</div>
<div class="col-md-3" style="display:none;">
<div class="form-group form-md-line-input input-iconright" style="width:100%">
<asp:DropDownList ID="DdlGrupo2" runat="server" CssClass="form-control input-sm select2me Widthall" style="width:100%">
<asp:ListItem Value="-1" Text="Ninguno" Selected="True"></asp:ListItem>
<asp:ListItem Value="1" Text="Vendedor"></asp:ListItem>
<asp:ListItem Value="2" Text="Medio Captacion"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
</div>
</div>
<div class="col-md-2">
<div class="">
<asp:Label runat="server" Text="Fecha Inicio:" AssociatedControlID="TxtFechaInicio"></asp:Label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-bottom: -10px; padding-bottom: 10px;">
<asp:TextBox ID="TxtFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaSolicitudI" runat="server" TargetControlID="TxtFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudI" TargetControlID="TxtFechaInicio" PopupButtonID="imgFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
</div>
</div>
<div class="col-md-2">
<div class="">
<asp:Label runat="server" Text="Fecha Fin:" AssociatedControlID="TxtFechaFin"></asp:Label>
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; margin-bottom: -10px; padding-bottom: 10px;">
<asp:TextBox ID="TxtFechaFin" runat="server" CssClass="form-control" CausesValidation="true" Width="98%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaSolicitudF" runat="server" TargetControlID="TxtFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaSolicitudF" TargetControlID="TxtFechaFin" PopupButtonID="imgFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<div class="col-md-2" style="width: 138px">
<div class="col-sm-1 text-right" style="width: 138px">
<br />
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" CssClass="btn btn-default">Consultar</asp:LinkButton>
</div>
</div>
</div>
</div>
@@ -185,13 +193,14 @@
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
<script src="https://www.amcharts.com/lib/3/serial.js"></script>
<script src="https://www.amcharts.com/lib/3/pie.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script src="/Metronic/assets/global/scripts/datatable.js"></script>
<script src="/Metronic/assets/global/plugins/datatables/all.min.js"></script>
<script>
function CargaGraficaBarras(data) {

View File

@@ -5,7 +5,7 @@
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte Detaller de los Acercamientos Procesos
Reporte Detalle de los Acercamientos Procesos
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>

View File

@@ -467,7 +467,7 @@
<asp:ListItem Text="Flete" Value="4"></asp:ListItem>
<asp:ListItem Text="Importación" Value="5"></asp:ListItem>
<asp:ListItem Text="NC Con Productos" Value="6"></asp:ListItem>
<asp:ListItem Text="Apoyo Logístico" Value="9"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
@@ -2952,7 +2952,9 @@
<span class="caption-subject bold">Agregar</span>
</div>--%>
<asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green' style='font-weight: 700 !important;' ><span class='caption-subject bold'>Agregar</span></i>" Style="cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br />
<asp:HyperLink ID="HlEvento" CssClass="thickbox caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green' style='font-weight: 700 !important;' >Agendar</i>" Visible="false" Style="cursor: pointer;" ToolTip="Agendar"></asp:HyperLink>
<asp:HyperLink ID="HlEvento" CssClass="thickbox caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green' style='font-weight: 700 !important;' >Agendar</i>" Visible="false" Style="cursor: pointer;" ToolTip="Agendar"></asp:HyperLink><br />
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
<UserControl:TareaNueva runat="server" id="TareaNueva" />
</div>
</div>

View File

@@ -1624,7 +1624,7 @@ Partial Class Compras_Compras
'LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveCompra:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveCompra)
LtlTareaNueva.Text = String.Format("<a class=""caption-subject bold font-green"" onclick=""OpenModalNewTareaUserControl(1,-1,{{CveCompra:{0}}});""> <i class=""fa fa-plus""'></i> Tarea</a>", CveCompra)
End If

View File

@@ -10,26 +10,46 @@ Imports System.Linq
Partial Class Compras_EvaluacionProveedor
Inherits ClsPaginas
#Region "P R O P I E D A D E S"
Private Property CveEvaluacionProveedor() As Integer
Private Property CveEvaluacionProveedor() As Integer
Get
Return If(IsNothing(ViewState("CveEvaluacionProveedor")), -1, CInt(ViewState("CveEvaluacionProveedor")))
Return If(IsNothing(ViewState("CveEvaluacionProveedor")), -1, CInt(ViewState("CveEvaluacionProveedor")))
End Get
Set
End Get
Set
ViewState("CveEvaluacionProveedor") = Value
End Set
End Property
Private Property CveProveedor() As Integer
Get
Return If(IsNothing(ViewState("CveProveedor")), -1, CInt(ViewState("CveProveedor")))
End Set
End Property
Private Property CveProveedor() As Integer
End Get
Set
ViewState("CveProveedor") = Value
End Set
End Property
Private Property CveCompra() As Integer
Get
Return If(IsNothing(ViewState("CveCompra")), -1, CInt(ViewState("CveCompra")))
Return If(IsNothing(ViewState("CveProveedor")), -1, CInt(ViewState("CveProveedor")))
End Get
Set
End Get
Set
ViewState("CveCompra") = Value
End Set
End Property
Private Property DtPreguntas() As DataTable
Get
Return If(IsNothing(ViewState("DtPreguntas")), New DataTable(), DirectCast(ViewState("DtPreguntas"), DataTable))
End Set
End Property
Private Property CveCompra() As Integer
End Get
Set
ViewState("DtPreguntas") = Value
End Set
End Property
Private Property CorreoEnvio() As String
Get
Return If(IsNothing(ViewState("CorreoEnvio")), "", ViewState("CorreoEnvio").ToString())
Return If(IsNothing(ViewState("CveCompra")), -1, CInt(ViewState("CveCompra")))
End Get
End Get
Set
ViewState("CorreoEnvio") = Value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
@@ -264,7 +284,7 @@ Partial Class Compras_EvaluacionProveedor
Dim archivoCarta As New ClsSisMail.ArchivoMail()
archivoCarta.NombreArchivo = "Carta Evaluacion.pdf"
Try
Dim PathRoot As String = ModExtensiones.DirectorioBaseEmpresas
Dim Documento As String = "CartaProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Now.Ticks & Documento
@@ -298,7 +318,7 @@ Partial Class Compras_EvaluacionProveedor
Dim archivoCarta As New ClsSisMail.ArchivoMail()
archivoCarta.NombreArchivo = "Formato Evaluacion Proveedor.pdf"
Try
ObjCarta.GuardarStreamPDF()
Dim PathRoot As String = ModExtensiones.DirectorioBaseEmpresas
Dim Documento As String = "FormatoEvaluacionProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Now.Ticks & Documento

View File

@@ -68,7 +68,7 @@ Partial Class PopUpVerFactura
End Property
Private ReadOnly Property Ruta As String
Get
Return AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\"
Return ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\"
End Get
End Property
Private ReadOnly Property DomicilioFiscalCompu As String
@@ -130,6 +130,30 @@ Partial Class PopUpVerFactura
Dim Path As String = String.Format("{0}Ventas\{1}\{2}", UsuarioActual.Empresa.Ruta, Request("RFC"), Request("FileV"))
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = If(IO.Path.GetExtension(Archivo.Name) = "xml", "application/xml", "application/pdf")
HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(Path)
'HttpContext.Current.Response.Flush()
HttpContext.Current.Response.End()
End If
Archivo = Nothing
ElseIf Request("File") IsNot Nothing AndAlso Request("TipoDocto") IsNot Nothing AndAlso Request("TipoArchivo") IsNot Nothing Then
Dim Path As String = "" ' String.Format("{0}Ventas\{1}\{2}", UsuarioActual.Empresa.Ruta, Request("RFC"), Request("FileV"))
Select Case Request("TipoArchivo")
Case "PDF"
Path = String.Format("{0}PDF\{1}\{2}", UsuarioActual.Empresa.Ruta, Request("TipoDocto"), Request("File"))
Case "XML"
Path = String.Format("{0}XML\{1}\{2}", UsuarioActual.Empresa.Ruta, Request("TipoDocto"), Request("File"))
End Select
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
@@ -165,6 +189,7 @@ Partial Class PopUpVerFactura
End If
'OPCIONES
If Request("P") IsNot Nothing AndAlso Decripta((Request("P").ToString)) <> "" Then
Dim UrlParametros As Hashtable = Parametros(Decripta((Request("P").ToString)))
If UrlParametros("OP") IsNot Nothing AndAlso UrlParametros("OP").ToString <> "" Then
@@ -215,6 +240,12 @@ Partial Class PopUpVerFactura
#End Region
Private Sub SeleccionaReporte(UrlParametros As Hashtable)
'DESCARGA COMPROBANTE
If UrlParametros("OP").ToString = "IEComprobante" Then
DescargaComprobante(UrlParametros)
End If
'DESCARGA DOCUMENTO XML O PDF DE LA FACTURA COMPRA
If UrlParametros("OP").ToString = "Fact" Then
DescargaFactura(UrlParametros)
@@ -499,6 +530,25 @@ Partial Class PopUpVerFactura
#End Region
#Region " OP = FACTURA - IMPRIME COMPRA"
Private Sub DescargaComprobante(Parametros As Hashtable)
If Parametros("COMPROBANTE") IsNot Nothing Then
Dim Path As String = String.Format("{0}IE\{1}", UsuarioActual.Empresa.Ruta, Parametros("COMPROBANTE"))
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = "application/octet-stream"
HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(Path)
'HttpContext.Current.Response.Flush()
HttpContext.Current.Response.End()
End If
Archivo = Nothing
End If
End Sub
Private Sub DescargaFactura(Parametros As Hashtable)
If Parametros("CVEFACTURA") IsNot Nothing AndAlso Parametros("CVEFACTURA").ToString.ToEntero > 0 Then
Dim Exten As String = If(Parametros("EXT").ToString.ToLower = "xml", "xml", "pdf")
@@ -3578,7 +3628,7 @@ Partial Class PopUpVerFactura
Dim SelloCancelacion = drv("SelloCancelacion").ToString
Dim FechaCancelacion = drv("FechaCancelacion").ToString.ToDateTime.ToString("dd/MM/yyyy HH:mm:ss")
Dim RFC = UsuarioActual.Empresa.RFC
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\AcuseCancelacion.rdlc", AppDomain.CurrentDomain.BaseDirectory))
Dim Archivo As New System.IO.FileInfo(String.Format("{0}Empresas\Grales\Formatos\AcuseCancelacion.rdlc", ModExtensiones.DirectorioBaseEmpresas))
Dim params As New List(Of ReportParameter)
@@ -3888,7 +3938,7 @@ Partial Class PopUpVerFactura
' 04/05/2018 - Pruebas de impresion de factura PyME
Private Sub GeneraPDFVtaPyMe(Venta As Modelos.Factura, Optional Formato As String = "PDF")
Dim Directorio1 As String = String.Format("{0}Empresas\{1}\Formatos\Factura.mrt", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)
Dim Directorio1 As String = String.Format("{0}Empresas\{1}\Formatos\Factura.mrt", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)
Dim File As FileInfo = New FileInfo(Directorio1)
If File.Exists Then

View File

@@ -709,7 +709,7 @@ Partial Class Compras_Proveedores
Try
Dim dr As DataRow = ObjeFacturas.DtResultados.Rows(0)
XMLDoc.Load(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & dr("CveEmpresa").ToString & "\Compras\" & dr("RFCDe").ToString & "\" & dr("XML").ToString)
XMLDoc.Load(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & dr("CveEmpresa").ToString & "\Compras\" & dr("RFCDe").ToString & "\" & dr("XML").ToString)
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
@@ -2625,7 +2625,7 @@ Partial Class Compras_Proveedores
Dim filemove As String = ""
For Each fileItem As Archivo In filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", ModExtensiones.DirectorioBaseEmpresas, fileItem.filename)).Replace(".", "")
filemove = fileItem.filename
Next
@@ -2871,7 +2871,7 @@ Partial Class Compras_Proveedores
Try
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", ModExtensiones.DirectorioBaseEmpresas, fileItem.filename)).Replace(".", "")
Dim tempArray() As String
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
@@ -3806,7 +3806,7 @@ Partial Class Compras_Proveedores
' ' 'Valida si existe el Formato Excel si no lo copea de "Grales"
' ' If Not IO.File.Exists(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato)) Then
' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteCxP.xlsm", AppDomain.CurrentDomain.BaseDirectory), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False)
' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteCxP.xlsm", ModExtensiones.DirectorioBaseEmpresas), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False)
' ' End If
' ' Dim ArchivoBase As New System.IO.FileInfo(UsuarioActual.Empresa.Ruta & Formato)
@@ -3931,7 +3931,7 @@ Partial Class Compras_Proveedores
' ' 'Valida si existe el Formato Excel si no lo copea de "Grales"
' ' If Not IO.File.Exists(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato)) Then
' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteANC.xlsm", AppDomain.CurrentDomain.BaseDirectory), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False)
' ' IO.File.Copy(String.Format("{0}Empresas\Grales\ReporteANC.xlsm", ModExtensiones.DirectorioBaseEmpresas), String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Formato), False)
' ' End If
' ' Dim ArchivoBase As New System.IO.FileInfo(UsuarioActual.Empresa.Ruta & Formato)
@@ -4512,7 +4512,7 @@ Partial Class Compras_Proveedores
Protected Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
CargarArchivo(Directorio, file.filename, Tipo)
Else
@@ -4601,7 +4601,7 @@ Partial Class Compras_Proveedores
End Function
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\FormatoProveedores.xlsx"
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\FormatoProveedores.xlsx"
Dim Archivo As New IO.FileInfo(Directorio)
If Archivo.Exists Then
Response.Clear()
@@ -5609,7 +5609,7 @@ Partial Class Compras_Proveedores
End Sub
Protected Sub DescargarFormatoCarta(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String)
Try
Dim PathRoot As String = Server.MapPath("/")
Dim PathRoot As String = ModExtensiones.DirectorioBaseEmpresas
Dim Documento As String = "CartaProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Documento
@@ -5632,7 +5632,7 @@ Partial Class Compras_Proveedores
End Sub
Protected Sub DescargarFormatoEvaluacion(Proveedor As String, Dia As String, Mes As String, Calificacion As String, Resultado As String)
Try
Dim PathRoot As String = Server.MapPath("/")
Dim PathRoot As String = ModExtensiones.DirectorioBaseEmpresas
Dim Documento As String = "FormatoEvaluacionProveedor.docx"
Dim PathSource As String = $"{UsuarioActual.Empresa.Ruta}\Formatos\Plantillas\{Documento}"
Dim PathDestino As String = PathRoot & "Temp\" & Documento

View File

@@ -322,7 +322,7 @@ Partial Class Compras_RepComprasAFDetalle
Dim ObjTareas As New ClsOIEventos
Dim RutaPDF As String
Dim Ruta As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\{UsuarioActual.CveEmpresa}\"
Dim Ruta As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\{UsuarioActual.CveEmpresa}\"
RutaPDF = $"{Ruta}\Formatos\RepComprasAFDetalle.rdlc"
If Not File.Exists(RutaPDF) Then
RutaPDF = "Empresas\Grales\Formatos\RepComprasAFDetalle.rdlc"

View File

@@ -1,4 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
@@ -240,7 +247,7 @@ public partial class Compras_RepCxPPeriodo : ClsPaginas
StrFiltro.AppendFormat("&emsp;<b>Registro</b>: {0}", DdlUsuarioRegistro.SelectedItem.Text);
string RutaPDF = "";
StrFiltro.AppendFormat("&emsp;<b>Estatus Compra</b>: {0}", DdlEstatusCompra.SelectedItem.Text);
string Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepCxPPeriodo.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{

View File

@@ -217,7 +217,7 @@ public partial class Compras_RepGastosFijos : ClsPaginas
string FechaInicio = DateTime.Parse(TxtFechaI.Text).ToShortDateString();
string FechaFinal = DateTime.Parse(TxtFechaF.Text).ToShortDateString();
string Ruta = string.Format("{0}Empresas/{1}/", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa);
string Ruta = string.Format("{0}Empresas/{1}/", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa);
string RutaPDF = string.Format("{0}/Formatos/RepGastosFijos.rdlc", Ruta);
if (!File.Exists(RutaPDF))

View File

@@ -1,4 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
@@ -236,7 +243,7 @@ public partial class Compras_RepPagado : ClsPaginas
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
string Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepRecuperacion.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{

View File

@@ -1,4 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
@@ -267,7 +274,7 @@ public partial class Compras_RepPágadoDetalle : ClsPaginas
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
string Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepPagadoDetalle.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{

View File

@@ -1,4 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
@@ -285,7 +292,7 @@ public partial class Compras_RepPagadoPeriodo : ClsPaginas
StrFiltro.AppendFormat("&emsp;<b>Moneda</b>: {0}", DdlMoneda.SelectedItem.Text);
string RutaPDF = "";
StrFiltro.AppendFormat("&emsp;<b>Banco</b>: {0}", DdlBanco.SelectedItem.Text);
string Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepPagadoPeriodo.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{

View File

@@ -618,8 +618,8 @@ Partial Class Compras_eFacturas
txtFechaF.Text = Now.ToShortDateString 'txtFechaI.Text.ToDate.AddMonths(1).AddDays(-1).ToShortDateString
Destino = String.Format("{0}Compras\", UsuarioActual.Empresa.Ruta) 'string.format("{0}Empresas\{1}\Compras\", AppDomain.CurrentDomain.BaseDirectory ,UsuarioActual.CveEmpresa & "\Compras\"
Ejecutable = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Utilerias\ADSUtilerias.exe")
Destino = String.Format("{0}Compras\", UsuarioActual.Empresa.Ruta) 'string.format("{0}Empresas\{1}\Compras\", ModExtensiones.DirectorioBaseEmpresas ,UsuarioActual.CveEmpresa & "\Compras\"
Ejecutable = "C:\Proyectos\wwwSIG\Utilerias\ADSUtilerias.exe"
Form.DefaultButton = BtnConsultar.UniqueID
DdlResponsable.DataSource = GlobalDTUsuarioResponsable.FiltraParametros(String.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa))
@@ -1202,7 +1202,7 @@ Partial Class Compras_eFacturas
End Sub
Protected Sub LnkNoRecibidas_Click(sender As Object, e As EventArgs, Optional ValidaRowCount As Boolean = False) Handles LnkNoRecibias.Click
Dim DtNoRecibidas As New DataTable
Dim Ruta As String = String.Format("{0}\Empresas\{1}\Compras\NoRecibidas-{1}.xml", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa)
Dim Ruta As String = String.Format("{0}\Empresas\{1}\Compras\NoRecibidas-{1}.xml", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)
Dim Str As New StringBuilder
If IO.File.Exists(Ruta) Then
DtNoRecibidas.ReadXml(Ruta)
@@ -1269,7 +1269,7 @@ Partial Class Compras_eFacturas
End If
ObjDatos.Dispose()
If DT IsNot Nothing Then
If dt IsNot Nothing Then
Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta))
Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
@@ -1329,6 +1329,7 @@ Partial Class Compras_eFacturas
filemove = fileItem.filename
If filemove <> "" Then
'filemove.FilesMove("", String.Format("{0}\Temp\Facturas", UsuarioActual.Empresa.Ruta))
filemove.FilesMove("", String.Format("Empresas\{0}\Temp\Facturas", UsuarioActual.CveEmpresa))
'AGREGA XML A LA LISTA
If FileExtension.ToUpper = "XML" Then
@@ -1339,7 +1340,7 @@ Partial Class Compras_eFacturas
Next
Dim fileEntries As String() = Directory.GetFiles(String.Format("{0}Empresas\{1}\Temp\Facturas", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
Dim fileEntries As String() = Directory.GetFiles(String.Format("{0}Empresas\{1}\Temp\Facturas", Extensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa))
Dim ListaDirectoriosTemporales As New List(Of String)
Dim ListaComprimidos As New List(Of String)
@@ -1355,7 +1356,7 @@ Partial Class Compras_eFacturas
ListaComprimidos.Add(filePath)
'CREO DIRECTORIO ALEATORIO
Dim Aleatorio As New Random
Dim TempDirectorio As String = String.Format("{0}Empresas\{1}\{2}\{3}{4}", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
Dim TempDirectorio As String = String.Format("{0}\{1}\{2}{3}", UsuarioActual.Empresa.Ruta, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
Directory.CreateDirectory(TempDirectorio)
ListaDirectoriosTemporales.Add(TempDirectorio)
'AGREGA DIRECTORIO A LA LISTA
@@ -1370,7 +1371,7 @@ Partial Class Compras_eFacturas
Next
Dim Arreglo As New ArrayList()
' Dim Archivos As String() = Directory.GetFiles(String.Format("{0}Empresas\{1}\Temp", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa))
' Dim Archivos As String() = Directory.GetFiles(String.Format("{0}Empresas\{1}\Temp", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa))
'Dim NombreArchivo As String
Dim Bandera = True
Dim Retorno = ""
@@ -1513,9 +1514,9 @@ Partial Class Compras_eFacturas
' If GeneraPDF(Fact.DirectorioTemporal, Fact) Then
' ListPDF.Add(Fact.ArchivoPDF)
' Retorno = AgregaFactura(Fact)
' ' ModExtensiones.GuardaLog("'*******se genero el pdf :" + String.Format("{0}Empresas\{1}\Temp", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa) + Fact.ArchivoXML + " RFC: " + tRF + " Anio" + Convert.ToDateTime(Fact.Fecha).Year + "Retorno:" + Retorno)
' ' ModExtensiones.GuardaLog("'*******se genero el pdf :" + String.Format("{0}Empresas\{1}\Temp", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa) + Fact.ArchivoXML + " RFC: " + tRF + " Anio" + Convert.ToDateTime(Fact.Fecha).Year + "Retorno:" + Retorno)
' Else
' ' ModExtensiones.GuardaLog("'*******no se genero el pdf :" + String.Format("{0}Empresas\{1}\Temp", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa) + Fact.ArchivoXML + " RFC: " + tRF + " Anio" + Convert.ToDateTime(Fact.Fecha).Year + "Retorno:" + Retorno)
' ' ModExtensiones.GuardaLog("'*******no se genero el pdf :" + String.Format("{0}Empresas\{1}\Temp", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa) + Fact.ArchivoXML + " RFC: " + tRF + " Anio" + Convert.ToDateTime(Fact.Fecha).Year + "Retorno:" + Retorno)
' End If
' End If
@@ -1549,7 +1550,7 @@ Partial Class Compras_eFacturas
' strLineaTMP = Chr(13) & Chr(10) & Day(Now) & "/" & Month(Now) & "/" & Year(Now) & " " & Hour(Now) & ":" & Minuto & ". " & Str & Chr(13) & Chr(10)
strLineaTMP = String.Format("{0}{1}Log: {2}{3}:{4}", Chr(13), Chr(10), Str, DateTime.Now.ToShortDateString, DateTime.Now.ToShortTimeString)
Try
ArchivoW = New StreamWriter(String.Format("{0}\Logefacturas.txt", AppDomain.CurrentDomain.BaseDirectory), True, System.Text.Encoding.UTF8)
ArchivoW = New StreamWriter(String.Format("{0}\Logefacturas.txt", ModExtensiones.DirectorioBaseEmpresas), True, System.Text.Encoding.UTF8)
Catch ex As UnauthorizedAccessException
'Alert("No hay permisos para guardar en el Log.", Extensiones.TipoMensaje.MsgError)
Exit Sub
@@ -1650,7 +1651,7 @@ Partial Class Compras_eFacturas
DirectoryExistsCreate(String.Format("{0}Compras\{1}", UsuarioActual.Empresa.Ruta, RFC.ToUpper))
Try
File.Move(PathArchivo, String.Format("{0}Empresas\{1}\Compras\{2}\{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, RFC.ToUpper, NombreArchivo))
File.Move(PathArchivo, String.Format("{0}Empresas\{1}\Compras\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, RFC.ToUpper, NombreArchivo))
Catch ex As Exception
Alert("Error")
End Try
@@ -1668,11 +1669,11 @@ Partial Class Compras_eFacturas
For Each entry As ZipArchiveEntry In archive.Entries
If entry.FullName.EndsWith(".xml", StringComparison.OrdinalIgnoreCase) Then
'If File.Exists(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Directorio, entry.Name)) Then
' File.Delete(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Directorio, entry.Name))
'If File.Exists(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Directorio, entry.Name)) Then
' File.Delete(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Directorio, entry.Name))
'End If
'entry.ExtractToFile(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Directorio, entry.Name))
'entry.ExtractToFile(String.Format("{0}Empresas\{1}\Temp\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, Directorio, entry.Name))
If File.Exists(String.Format("{0}\{1}", Directorio, entry.Name)) Then
File.Delete(String.Format("{0}\{1}", Directorio, entry.Name))
@@ -2253,7 +2254,7 @@ Partial Class Compras_eFacturas
Dim Retorno = False
Dim NombreArchivo As String = TmpArchivoPDF
Dim CadenaOriginal As String = (Convert.ToString((Convert.ToString((Convert.ToString("||1.0|") & FolioFiscal) + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|") & SelloCFDi) + "|") & NoSerieCertificado) + "||"
Dim RutaFormato As String = String.Format("{0}Empresas\Grales\Formatos\CFDI.rdlc", AppDomain.CurrentDomain.BaseDirectory)
Dim RutaFormato As String = String.Format("{0}Empresas\Grales\Formatos\CFDI.rdlc", ModExtensiones.DirectorioBaseEmpresas)
'Dim ArchivoTempXLS As String = String.Format("{0}\GenSis{1}-{2}", Path.GetDirectoryName(ArchivoBaseXLS), Now.Ticks, Path.GetFileName(ArchivoBaseXLS))
Dim Fiscal As String = String.Format("Domicilio Fiscal {0}{1} {2}{0}Col.{3}{0}CP. {4} {5},{6},{7}", vbCr, DomFisCalle, DomFisNoExt, DomFisCol, DomFisCP,
@@ -2415,8 +2416,8 @@ Partial Class Compras_eFacturas
'Dim ObjProcess As Process = Nothing
'Dim Mensajes As String = ""
'Dim EjecutableUtilerias = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Utilerias\UtileriasAD.exe")
'Dim Folder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Empresas\")
'Dim EjecutableUtilerias = Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Utilerias\UtileriasAD.exe")
'Dim Folder = Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Empresas\")
'Dim error1 As Boolean = False
'Dim en As New CultureInfo("en-US")
'Dim fechai = txtFechaI.Text.Trim.ToDate.ToString("d", en)
@@ -2445,8 +2446,8 @@ Partial Class Compras_eFacturas
'Private Sub ProcesaBuzon()
' Dim ObjProcess As Process = Nothing
' Dim Mensajes As String = ""
' Dim EjecutableUtilerias = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Utilerias\ADSUtilerias.exe")
' Dim Folder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Empresas\")
' Dim EjecutableUtilerias = Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Utilerias\ADSUtilerias.exe")
' Dim Folder = Path.Combine(ModExtensiones.DirectorioBaseEmpresas, "Empresas\")
' Dim error1 As Boolean = False
' Dim en As New CultureInfo("en-US")
' Dim fechai = txtFechaI.Text.Trim.ToDate.ToString("d", en)
@@ -2603,17 +2604,50 @@ Partial Class Compras_eFacturas
End Set
End Property
Property DT_ComprasSinIE As DataTable
Get
If ViewState("DT_ComprasSinIE") Is Nothing Then
Return New DataTable
Else
Return DirectCast(ViewState("DT_ComprasSinIE"), DataTable)
End If
End Get
Set(value As DataTable)
ViewState("DT_ComprasSinIE") = value
End Set
End Property
'Property ComplementoComprasSinIE As String
' Get
' If ViewState("ComplementoComprasSinIE") Is Nothing Then
' Return ""
' Else
' Return ViewState("ComplementoComprasSinIE").ToString
' End If
' End Get
' Set(value As String)
' ViewState("ComplementoComprasSinIE") = value
' End Set
'End Property
#Region "V I N C U L A R P A G O"
Protected Sub LnkAgregarPago_Click(sender As Object, e As EventArgs)
Dim sbSinIE As New StringBuilder
HdnCveIE.Value = ""
MSGComplemento = ""
ViculacionConPUE = False
ListaComprasPUE.Clear()
ComplementoConPUE = ""
DT_ComprasSinIE = New DataTable
Dim ListaComprasPUEInterna As New List(Of Integer)
@@ -2646,7 +2680,7 @@ Partial Class Compras_eFacturas
Dim XMLDoc As New XmlDocument
Dim Archivo As String = String.Format("{0}Empresas\{1}\Compras\{2}\{3}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, gvRow.DataKey("RFCDe"), gvRow.DataKey("XML"))
Dim Archivo As String = String.Format("{0}Empresas\{1}\Compras\{2}\{3}", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa, gvRow.DataKey("RFCDe"), gvRow.DataKey("XML"))
If IO.File.Exists(Archivo) Then
@@ -2809,6 +2843,26 @@ Partial Class Compras_eFacturas
End If
Next
DT_ComprasSinIE.Columns.Add("CveCompra", GetType(Integer))
DT_ComprasSinIE.Columns.Add("CveFactura", GetType(Integer))
DT_ComprasSinIE.Columns.Add("SerieFolioPago")
DT_ComprasSinIE.Columns.Add("SerieFolioCompra")
For Each dRow As DataRow In DTDocumentosRelacionados.Rows
Dim nRow As DataRow = DT_ComprasSinIE.NewRow
nRow("CveCompra") = dRow("CveCompra").ToString.ToEntero
' nRow("CveFactura") = dRow("CveFactura").ToString.ToEntero
nRow("SerieFolioPago") = $"{SeriePago}-{FolioPago}"
nRow("SerieFolioCompra") = dRow("SerieFolioCompra").ToString
DT_ComprasSinIE.Rows.Add(nRow)
Next
Else
Alert("Ocurrió un error al cargar los archivos de complementos pago", TipoMensaje.MsgError)
End If
@@ -2876,6 +2930,12 @@ Partial Class Compras_eFacturas
ImporteIES = ObjCompras.DtResultados.FiltraParametros("CveIE > 0").SUM("Importe")
DiferenciaImportes = Monto - ImporteIES
ObjCompras.Dispose()
@@ -2962,19 +3022,25 @@ Partial Class Compras_eFacturas
If ViculacionConPUE Then
For Each CveCompraVinculada In ListaComprasPUE
objEventos.AddEventoBitacora($"Complemento { ComplementoConPUE } vinculado manualmente (Compra PUE) ", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=CveCompraVinculada)
Next
End If
If HdnCveIE.Value.ToEntero > 0 Then
For Each dRow As DataRow In DT_ComprasSinIE.Rows
objEventos.AddEventoBitacora($"Complemento { dRow("SerieFolioPago").ToString } vinculado manualmente a compra {dRow("SerieFolioCompra").ToString}", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra:=dRow("CveCompra").ToString.ToEntero)
Next
End If
ObjCompra.Commit()
Alert("El pago fue vinculado correctamente", TipoMensaje.MsgInformacion)
@@ -3079,7 +3145,7 @@ Partial Class Compras_eFacturas
Public Sub ImprimirPDFXML(NombreArchivo As String, rutaxml As String)
Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(rutaxml)
Dim rutaReporte As String = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
Dim QR As ClbNegBICFDv3_2.ClsNegCBBGenerar = New ClbNegBICFDv3_2.ClsNegCBBGenerar()
Dim cQr As Byte() = QR.GenerarCBBBytes(objxml.emisor.Rfc, objxml.receptor.Rfc, objxml.comprobante.Total, objxml.complemento.UUID)
Dim parametros As List(Of ReportParameter) = New List(Of ReportParameter)()
@@ -3177,7 +3243,7 @@ Partial Class Compras_eFacturas
Dim strRFCde As String = gvrow.DataKey("RFCde")
Dim strXml As String
Dim strPDF As String
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
If Directory.Exists(dirbase) Then
strXml = String.Format("{0}{1}", dirbase, gvrow.DataKey("XML"))
strPDF = String.Format("{0}{1}", dirbase, gvrow.DataKey("PDF"))
@@ -3212,7 +3278,7 @@ Partial Class Compras_eFacturas
Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim strRFCde As String = gvrow.DataKey("RFCde")
Dim strPDF As String
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
strPDF = String.Format("{0}{1}", dirbase, gvrow.DataKey("PDF"))
If File.Exists(strPDF) Then
Dim file As New System.IO.FileInfo(strPDF)
@@ -3236,7 +3302,7 @@ Partial Class Compras_eFacturas
Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim strRFCde As String = gvrow.DataKey("RFCde")
Dim strXml As String
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
Dim dirbase As String = String.Format("{0}{1}{2}{3}{4}\", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\", UsuarioActual.CveEmpresa, "\Compras\", strRFCde)
strXml = String.Format("{0}{1}", dirbase, gvrow.DataKey("XML"))
If File.Exists(strXml) Then
Dim file As New System.IO.FileInfo(strXml)
@@ -3260,9 +3326,9 @@ Partial Class Compras_eFacturas
Dim gvrow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim objxml As XmlSatCFDI = XmlSatCFDI.readXML(String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("XML")))
If Not IsNothing(objxml) Then
Dim rutaReporte As String = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
Dim rutaReporte As String = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3.rdlc")
If Not IsNothing(objxml.complemento.Pagos) Then
rutaReporte = String.Format("{0}{1}", AppDomain.CurrentDomain.BaseDirectory, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc")
rutaReporte = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, "\Empresas\Grales\Formatos\CFDIV3Pago.rdlc")
End If
Dim NombreArchivo As String = String.Format("{0}{1}\{2}", Destino, gvrow.DataKey("RFCDe"), gvrow.DataKey("PDF"))

View File

@@ -644,11 +644,11 @@ Partial Class RegPoliza
' Excel.Visible = True
' Excel.ScreenUpdating = True
' Excel.DisplayAlerts = True
' Dim ArchivoBase As New System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza.xlsm")
' 'ArchivoBase.CopyTo(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".xlsm", True)
' ArchivoBase.CopyTo(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".xlsm", True)
' 'Dim ArchivoTemp As New System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".xlsm")
' Dim ArchivoTemp As New System.IO.FileInfo(AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".xlsm")
' Dim ArchivoBase As New System.IO.FileInfo(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza.xlsm")
' 'ArchivoBase.CopyTo(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".xlsm", True)
' ArchivoBase.CopyTo(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".xlsm", True)
' 'Dim ArchivoTemp As New System.IO.FileInfo(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".xlsm")
' Dim ArchivoTemp As New System.IO.FileInfo(ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".xlsm")
' Dim Libro As msExcel.Workbook = Excel.Workbooks.Open(ArchivoTemp.FullName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing)
' Libro.Activate()
@@ -698,8 +698,8 @@ Partial Class RegPoliza
' Hoja.Range("K" & CeldaF & ":K" & CeldaF).Value = TmpDT.SUM("Abono").FormatoNumero
' 'Exportar PDF
' 'Dim pdfFileOut As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".pdf"
' Dim pdfFileOut As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".pdf"
' 'Dim pdfFileOut As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & LtlNumeroPoliza.Text.ToString() & ".pdf"
' Dim pdfFileOut As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\" & UsuarioActual.CveEmpresa & "\Formatos\Poliza_" & TxtNumeroPoliza.Text.ToString() & ".pdf"
' Dim outputFileName As Object = pdfFileOut
' Dim fileFormat As msExcel.XlFixedFormatType = msExcel.XlFixedFormatType.xlTypePDF
' Libro.ExportAsFixedFormat(fileFormat, outputFileName, missing, missing, missing, missing, missing, missing, missing)
@@ -1742,7 +1742,7 @@ Partial Class RegPoliza
#Region "DESCARGAR E IMPRIMIR LISTADO"
Public Sub DescargarFormato()
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\Formatos\FormatoRegPoliza.xlsx"
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoRegPoliza.xlsx"
Dim Archivo As New IO.FileInfo(Directorio)
If Archivo.Exists Then
@@ -1878,7 +1878,7 @@ Partial Class RegPoliza
Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb", "xls"), "EXCEL", "CSV")
CargarArchivo(Directorio, file.filename, Tipo)
Else

View File

@@ -185,7 +185,7 @@ Partial Class Contabilidad_RepBalanzaComprobacion
' Dim style As StringBuilder = New StringBuilder()
' style.Append("<style> ")
' style.Append(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory & "Styles\EstilosExcel.css"))
' style.Append(File.ReadAllText(ModExtensiones.DirectorioBaseEmpresas & "Styles\EstilosExcel.css"))
' style.Append(" </style> ")
' 'To Export all pages
' 'Gv.AllowPaging = False

View File

@@ -192,7 +192,7 @@ Partial Class Contabilidad2_RepBalanzaComprobacion
' Dim style As StringBuilder = New StringBuilder()
' style.Append("<style> ")
' style.Append(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory & "Styles\EstilosExcel.css"))
' style.Append(File.ReadAllText(ModExtensiones.DirectorioBaseEmpresas & "Styles\EstilosExcel.css"))
' style.Append(" </style> ")
' 'To Export all pages
' 'Gv.AllowPaging = False

View File

@@ -191,7 +191,7 @@ Partial Class Contabilidad2_RepBalanzaComprobacion
' Dim style As StringBuilder = New StringBuilder()
' style.Append("<style> ")
' style.Append(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory & "Styles\EstilosExcel.css"))
' style.Append(File.ReadAllText(ModExtensiones.DirectorioBaseEmpresas & "Styles\EstilosExcel.css"))
' style.Append(" </style> ")
' 'To Export all pages
' 'Gv.AllowPaging = False

View File

@@ -312,7 +312,7 @@ Partial Class AC_RepVariacionHaciendaPublica
' Dim style As StringBuilder = New StringBuilder()
' style.Append("<style> ")
' style.Append(File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory & "Styles\EstilosExcel.css"))
' style.Append(File.ReadAllText(ModExtensiones.DirectorioBaseEmpresas & "Styles\EstilosExcel.css"))
' style.Append(" </style> ")
' 'To Export all pages
' 'Gv.AllowPaging = False

View File

@@ -211,7 +211,7 @@ Partial Class Contratos_CatContratosPlantillas
Return nombreArchivoFormateado
End Function
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles LbDescargar.Click
Dim Path As String = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\Grales\Formatos\Plantilla.docx"
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\Grales\Formatos\Plantilla.docx"
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then

View File

@@ -1231,10 +1231,10 @@ Partial Class Contratos_Default
'Renombrar archivo
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
'ViewState("extencion") = FileExtension
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
@@ -1368,10 +1368,10 @@ Partial Class Contratos_Default
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
@@ -3169,7 +3169,7 @@ Partial Class Contratos_Default
#Region "SUBIR EXCEL"
Public Sub DescargarFormato()
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\Formatos\FormatoContrato.xlsx"
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoContrato.xlsx"
Dim Archivo As New IO.FileInfo(Directorio)
If Archivo.Exists Then
Response.Clear()
@@ -3417,7 +3417,7 @@ Partial Class Contratos_Default
Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
CargarArchivo(Directorio, file.filename, Tipo)
Else
@@ -3741,7 +3741,7 @@ Partial Class Contratos_Default
#Region " IMPRIMIR DOCUMENTO - SABE "
Public Sub DescarFormato(documento As String)
Dim PathRoot As String = Server.MapPath("/")
Dim PathRoot As String = ModExtensiones.DirectorioBaseEmpresas
Dim PathSource As String
Dim pathDesti As String

View File

@@ -597,10 +597,10 @@ Partial Class Contratos_Default
'Renombrar archivo
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
'ViewState("extencion") = FileExtension
'ViewState("FUrl") = Path.Combine(UsuarioActual.Empresa.Ruta, "Contratos", "Temp", ViewState("FName").ToString)
@@ -643,10 +643,10 @@ Partial Class Contratos_Default
If ViewState("extencion") IsNot Nothing Then
If ViewState("FUrl").ToString.Length > 0 AndAlso ViewState("extencion").ToString.Length > 0 Then
If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos") Then
Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos")
End If
Ruta = Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Ruta = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Contratos\"
Try
If File.Exists(String.Format("{0}{1}.{2}", Ruta, CveContrato.ToString, ViewState("extencion").ToString)) Then
@@ -801,10 +801,10 @@ Partial Class Contratos_Default
'Protected Sub CargarArchivo(ByVal sender As Object, ByVal e As AjaxControlToolkit.AsyncFileUploadEventArgs) Handles AFU.UploadedComplete
' If AFU.HasFile Then
' If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp") Then
' Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp")
' If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp") Then
' Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp")
' End If
' Dim UploadFolder As String = Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\"
' Dim UploadFolder As String = ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\"
' Dim Extension As String = System.IO.Path.GetExtension(AFU.PostedFile.FileName)
' If System.IO.File.Exists(UploadFolder & UsuarioActual.CveUsuario.ToString & Extension) Then
@@ -1946,7 +1946,7 @@ Partial Class Contratos_Default
#Region "SUBIR EXCEL"
Public Sub DescargarFormato()
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\Formatos\FormatoContrato.xlsx"
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoContrato.xlsx"
Dim Archivo As New IO.FileInfo(Directorio)
If Archivo.Exists Then
Response.Clear()
@@ -2143,7 +2143,7 @@ Partial Class Contratos_Default
Private Sub BtnCargaExcel_Click(sender As Object, e As EventArgs) Handles BtnCargaExcel.Click
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
CargarArchivo(Directorio, file.filename, Tipo)
Else

View File

@@ -442,7 +442,7 @@ Partial Class Contratos_ContratosSecciones
dbLayer = Mapa.AddLayer(AppDomain.CurrentDomain.BaseDirectory & "GIS\Carretera.tab")
dbLayer = Mapa.AddLayer(ModExtensiones.DirectorioBaseEmpresas & "GIS\Carretera.tab")
If dbLayer IsNot Nothing AndAlso DtDatos IsNot Nothing Then
If (Not dbLayer.AddRelate("ID_GIS", DtDatos, "ID_GIS")) Then

View File

@@ -1,4 +1,11 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using Extensiones;
using System.Data;
using static Extensiones.ModExtensiones;
using Microsoft.Reporting.WebForms;
using System.Web.UI.HtmlControls;
using System.Text;
@@ -280,7 +287,7 @@ public partial class CxC_RepCxCPeriodo : ClsPaginas
StrFiltro.AppendFormat("&emsp;<b>Clasificación Cliente</b>: {0}", DdlClienteClasificacion.SelectedItem.Text);
string RutaPDF = "";
StrFiltro.AppendFormat("&emsp;<b>Estatus Cobranza</b>: {0}", DdlCobranzaEstatus.SelectedItem.Text);
string Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas/{UsuarioActual.CveEmpresa}/";
RutaPDF = $"{Ruta}/Formatos/RepCxCPeriodo.rdlc";
if (!System.IO.File.Exists(RutaPDF))
{

View File

@@ -1157,6 +1157,20 @@
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value xml:space="preserve"> </Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
<TextRun>
<Value>=iif(Parameters!Kilometraje.Value = "-1", "","Kilometraje: "&amp; Parameters!Kilometraje.Value)</Value>
<Style>
<FontFamily>calibri</FontFamily>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
@@ -1867,10 +1881,13 @@
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>6.7641cm</Top>
<Left>3.33321cm</Left>
<Left>1.68221cm</Left>
<Height>1.05328cm</Height>
<Width>17.71415cm</Width>
<ZIndex>14</ZIndex>
<Visibility>
<Hidden>=IIF((Sum(IIF(Fields!CveClasificacion.Value = 20345,1,0), "DsOC") &gt; 0),false,true)</Hidden>
</Visibility>
<Style>
<Border>
<Style>None</Style>
@@ -3514,6 +3531,12 @@
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="Kilometraje">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<EmbeddedImages>
<EmbeddedImage Name="ID2">

View File

@@ -2253,104 +2253,6 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Image2">
<Source>Embedded</Source>
<Value>ID5</Value>
<Sizing>FitProportional</Sizing>
<Top>11.06748cm</Top>
<Left>0.28014cm</Left>
<Height>0.96488cm</Height>
<Width>3.75909cm</Width>
<ZIndex>17</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox47">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>&lt; ** Toda corrección de los datos del comprobante debera efectuarse a más tardar tres dias despues de su expedición. ** &gt;</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>12.13048cm</Top>
<Left>0.19008cm</Left>
<Height>0.40655cm</Height>
<Width>12.88812cm</Width>
<ZIndex>18</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Image3">
<Source>Embedded</Source>
<Value>ID4</Value>
<Sizing>FitProportional</Sizing>
<Top>11.06748cm</Top>
<Left>4.45804cm</Left>
<Height>0.91769cm</Height>
<Width>3.03541cm</Width>
<ZIndex>19</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="Image4">
<Source>Embedded</Source>
<Value>ID1</Value>
<Sizing>FitProportional</Sizing>
<Top>11.06748cm</Top>
<Left>7.66984cm</Left>
<Height>0.97656cm</Height>
<Width>4.16281cm</Width>
<ZIndex>20</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="Image5">
<Source>Embedded</Source>
<Value>ID6</Value>
<Sizing>FitProportional</Sizing>
<Top>11.06748cm</Top>
<Left>12.01497cm</Left>
<Height>0.97656cm</Height>
<Width>3.76809cm</Width>
<ZIndex>21</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="Image6">
<Source>Embedded</Source>
<Value>ID3</Value>
@@ -2359,7 +2261,7 @@
<Left>15.78306cm</Left>
<Height>0.93046cm</Height>
<Width>5.37042cm</Width>
<ZIndex>22</ZIndex>
<ZIndex>17</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2391,7 +2293,7 @@
<Left>15.67443cm</Left>
<Height>0.50299cm</Height>
<Width>5.42547cm</Width>
<ZIndex>23</ZIndex>
<ZIndex>18</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2444,7 +2346,7 @@
<Left>17.09066cm</Left>
<Height>0.64028cm</Height>
<Width>3.90165cm</Width>
<ZIndex>24</ZIndex>
<ZIndex>19</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2611,7 +2513,7 @@
<Left>0.16383cm</Left>
<Height>2.44366cm</Height>
<Width>15.5106cm</Width>
<ZIndex>25</ZIndex>
<ZIndex>20</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2646,7 +2548,7 @@
<Left>6.21617in</Left>
<Height>0.17708in</Height>
<Width>0.94607in</Width>
<ZIndex>26</ZIndex>
<ZIndex>21</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2681,7 +2583,7 @@
<Left>6.21616in</Left>
<Height>0.17966in</Height>
<Width>0.94607in</Width>
<ZIndex>27</ZIndex>
<ZIndex>22</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2716,7 +2618,7 @@
<Left>6.21616in</Left>
<Height>0.18819in</Height>
<Width>0.94607in</Width>
<ZIndex>28</ZIndex>
<ZIndex>23</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2751,7 +2653,7 @@
<Left>6.22658in</Left>
<Height>0.17119in</Height>
<Width>0.94607in</Width>
<ZIndex>29</ZIndex>
<ZIndex>24</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2787,7 +2689,7 @@
<Left>6.237in</Left>
<Height>0.19596in</Height>
<Width>0.94607in</Width>
<ZIndex>30</ZIndex>
<ZIndex>25</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2823,7 +2725,7 @@
<Left>7.16224in</Left>
<Height>0.17708in</Height>
<Width>0.98426in</Width>
<ZIndex>31</ZIndex>
<ZIndex>26</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2858,7 +2760,7 @@
<Left>7.16224in</Left>
<Height>0.17966in</Height>
<Width>0.98425in</Width>
<ZIndex>32</ZIndex>
<ZIndex>27</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2893,7 +2795,7 @@
<Left>7.17266in</Left>
<Height>0.18819in</Height>
<Width>0.98425in</Width>
<ZIndex>33</ZIndex>
<ZIndex>28</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2929,7 +2831,7 @@
<Left>7.17266in</Left>
<Height>0.17119in</Height>
<Width>0.98425in</Width>
<ZIndex>34</ZIndex>
<ZIndex>29</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2965,7 +2867,7 @@
<Left>7.18308in</Left>
<Height>0.19596in</Height>
<Width>0.98425in</Width>
<ZIndex>35</ZIndex>
<ZIndex>30</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -3002,7 +2904,7 @@
<Left>6.75122cm</Left>
<Height>0.82021cm</Height>
<Width>5.51336cm</Width>
<ZIndex>36</ZIndex>
<ZIndex>31</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -3032,7 +2934,7 @@
<Left>0.10579cm</Left>
<Height>0.05496cm</Height>
<Width>20.88652cm</Width>
<ZIndex>37</ZIndex>
<ZIndex>32</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -3079,7 +2981,7 @@
<Left>1.15361cm</Left>
<Height>1.32415cm</Height>
<Width>19.15078cm</Width>
<ZIndex>38</ZIndex>
<ZIndex>33</ZIndex>
<Visibility>
<Hidden>=IIF((Sum(IIF(Fields!CveClasificacion.Value = 20345,1,0), "DsOC") = 0) and (Sum(IIF(Fields!CveClasificacion.Value = 20342 or Fields!CveClasificacion.Value = 20341,1,0), "DsOC") &gt; 0),false,true)</Hidden>
</Visibility>
@@ -3093,6 +2995,59 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Image3">
<Source>Embedded</Source>
<Value>ECONO_Marcas</Value>
<Sizing>FitProportional</Sizing>
<Top>11.08689cm</Top>
<Left>0.22108cm</Left>
<Height>1.5cm</Height>
<Width>15.34658cm</Width>
<ZIndex>34</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox47">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>&lt; ** Toda corrección de los datos del comprobante debera efectuarse a más tardar tres dias despues de su expedición. ** &gt;</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>12.13048cm</Top>
<Left>0.19008cm</Left>
<Height>0.40655cm</Height>
<Width>12.88812cm</Width>
<ZIndex>35</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>19.49544cm</Height>
<Style />
@@ -3866,153 +3821,56 @@ NHNfs/8A8Op/gJ/0Dtc/8GslH/Dqf4Cf9A7XP/BrJQB+MHNHNfs//wAOp/gJ/wBA7XP/AAayUf8ADqf4
/mUeZX7s/wDDs74Nf9AG1/8AAZKP+HZ3wa/6ANr/AOAyUAfhN5lHmV+7P/Ds74Nf9AG1/wDAZKP+HZ3wa/6ANr/4DJQB+E3mUeZX7s/8Ozvg1/0AbX/wGSj/AIdnfBr/AKANr/4DJQB+E3mUeZX7s/8ADs74Nf8AQBtf/AZKP+HZ3wa/6ANr/wCAyUAfhN5lHmV+7P8Aw7O+DX/QBtf/AAGSj/h2d8Gv+gDa/wDgMlAH4TeZR5lfuz/w7O+DX/QBtf8AwGSj/h2d8Gv+gDa/+AyUAfhN8ldtrHxt8e+JPCKeFNS8aa3qnhqFERNJur53ttifc2J/sV+0f/Ds74Nf9AG1/wDAZKP+HZ3wa/6ANr/4DJQB+E3mUeZX7s/8Ozvg1/0AbX/wGSj/AIdnfBr/AKANr/4DJQB+LNr8aviBpvg1/B9r411uDwu8T239hQ3z/Ztjv86bPuVxm9P9mv3Z/wCHZ3wa/wCgDa/+AyUf8Ozvg1/0AbX/AMBkoA/CbzKPMr92f+HZ3wa/6ANr/wCAyUf8Ozvg1/0AbX/wGSgD8JvMo8zy3r92f+HZ3wa/6ANr/wCAyUf8Ozvg1/0AbX/wGSgD8MPPo8z3r9xL7/gmZ8H75PKi0qK1dP447ZKp/wDDrb4T/wDPL/yXSgk/EfzPejzPev24/wCHW3wn/wCeX/kulH/Drb4T/wDPL/yXSgD8R/M96PM96/bj/h1t8J/+eX/kulH/AA62+E//ADy/8l0oA/EfzPejzPev24/4dbfCf/nl/wCS6Uf8OtvhP/zy/wDJdKAPxH8z3o8z3r9uP+HW3wn/AOeX/kulH/Drb4T/APPL/wAl0oA/EfzPejzPev24/wCHW3wn/wCeX/kulH/Drb4T/wDPL/yXSgD8SoN88yRRJ587vsRET53r9jv+CWPwf1TwD8OL7WdVha1kvhsRXPX597/98fIlejeCv+Cd3wp8D6rb6gti908b/u12KgP+9619OaTpNroun29n
YwJbWUCbIoUHCigo/9k=</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="ID1">
<EmbeddedImage Name="ECONO_Marcas">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="ID4">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="ID5">
<MIMEType>image/jpeg</MIMEType>
<ImageData>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
n91PDqN5vX+H/ntX0hRQB8z/APDt39mz/ollj/4HXn/x6vTvhD+z/wCAvgNpN/pXgLQIvD1he3H2m4hiuJpt82zZv/eu/wDBXpVFABRRRQAV5v8AF34E+B/j1odlpXj3w/F4gsLWb7VbwyTTQmGXbt3b0dG6V6RRQB8z/wDDt39mz/ollj/4HXn/AMer17R/hh4U0P4cw+BrXRIYvCkNi+mLpLu80PkMNjw/P8zJXdUUAePaP+y98OdBvdCurbRLqRtBbfpcN1qd3cwWjj7pSGWV0Gz+D5Pk7V7DRRQAlN8segp9FADKMe1PooAj2j0p9LRQAzyx6Cin0UAM8selPoooASilooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP//Z</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="ID6">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
<ImageData>iVBORw0KGgoAAAANSUhEUgAABEwAAABhCAIAAABDHqMWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAIvbSURBVHhe7Z0HYBTFHsZ3ria59N4LaYTQe5OuVBVEij67oIJKs6DYQMWCCqII1mcvgPqUIkrvvYZAKimE9N4vubLvu5nNsbkUgt04P89jduY/ZWf3Zv5fdneWiKIocDgcDofD4XA4HE57QSH9y+FwOBwOh8PhcDjtAi5yOBwOh8PhcDgcTruCixwOh8PhcDgcDofTruDP5HA4HE47Z0Bo+M2O7kHpKYKH16GwwBV7dkkJHA6Hw+G0U7jI4XA4nPbJlD79pvj6988tgrwhpWWCSATBLDo4iNeNmnY+eX3SGcmOw+FwOJx2Bxc5HA6H064YEN3tZp39fL8AcvQwKS6i2sbmzmSzeM3ggdkXD11IliI4HA6Hw2lfcJHD4XA47YQpXXrM9/QckJ0rpKURkxkjPP00g0hMWS8sDX7qUWmbw+FwOJz2RZtEjtyGEGnKbDay7bRdXFktUcuvqIjD4XDaPetuu+fm0lKyeyepqRUEZUvaRoZJ7NKDxB2Wtjh/KcOGDR82bNju3bsDAgJqKVKCIDg7O128mDV69Ojz58+tW7dOiuVwOBzOlWhR5JiMBnyLSpXJkk6UgtlsNsBaqVCbFEaTaFSblCZRZVIoBYVZLdabFSIRiapeSQSVQSWYRYOamDHPmoloJgr8rxKVZoKPoBTNZmIyCmalqERZmGpFBTGrIGbMxGgiKqVegbCgRdEmhVlpNqrq6kVBYbJTEZMSESgEWU0okVhym5FV0KBcwWRSiQaB1AsKhVnUioJaoULtJsu9GiIqRc0EreVwOJz2wpRe/aYoNVPq9EJyEtHr2yZvGKJopya1FdIW5w8jNrZzZWWlQqEYOHBAQkKCgTJ9+vSjR49mZmZC1WRlZYWGhubk5OTl5fn6
+mJSNhqN7C96CGu12vLycrVa7efnl52dHRERcfHiReRyc3M7fz4BVoGBgUlJSZihUUVaWhqrlMPhcDgtipwawSJytBAoRlEgFv0CNQJJQTSCUYk4otILSqgYhUlUm/Qqs94iLVRO9QqlKFTbGeoJUUPDCIJCREHIJorErBGJRlSZRaIwWySJqDSYVcY6wYhKFILGomtEhQaKBRWJKE8QFfYwNJtNKoOorIeaEolWMKoU9UQwEctMDjFDREwGJiKqoaDwjyCaiKleW6cWVSqz2gz1RGBjGfyV0Dj8OhCHw2kHTOnYrb9as8DPRzh2lJSV00durm50w2guPLWYvPiktM35/bj++utLSkqgQ6BJIFEgXWpra+vq6kyY9eiEi282G+FbPgW3MkUxM2ZvzcXCQKlUajQayB4fHx8XF5fz5887ODgcOXKEZuVwOJx/KS2KHIzH+FYqIBIMlis3ZqWgVkG6KASF0qAwG41QP2Y1NISKKRaTUikqEFGvNBOT2WIJTaISFSoDsSQoxDqVQSnUqwXRqNBCzyhMGK/rTao6vWBQikqtyV4QtXUKQak0agx1glgPiaQQdZiKzYKBiAbUK4hqWrmJmE2iwWy5TqRV079bmgxKg2DRYxqFqFQoTGZRYYAoU9RpDfWqelhozVotURIFFzkcDucfy5SBQ6e4uk0pLhVSk0lZKQbHX/2uM9FO80hMp+UnD0rbnF9LREQkptHo6KjMzExfX9/S0tKysjJIGqPRaJ1emSzBN9v8I5BP5QqFws7OzsPDIzAwMDU1FUl6fV15eXlxcZFkweFwOP8CWhQ5xgqLyKnRGfRVRfrTZ7XZhfUOKrvOnRwDO2pq6zIP79NVF9Sp1Y4xfex8w80FJdmnTuqEknq7Yveoji7+A6rSs0uSTqvM+E/j1qurg4dH7aWSgoSjarFSVDi59+inCPDWK5U6k6AwmxVEaTZa5mqjoao2I6Uq8ZzSqDZ6+ruNGmgy1ZhSkqsTEtHQ
Op17cN/+goNYeDKepBYYlWp1WIBnlx7GWn3usU3qmlqTwVUbEuPaNcZoLC87dVJfVqZUiY6hwa7R0QaNvVqpVv1ah4DD4XD+QhYMHTnPxT3o5HEhN5f8Bm3TgNnco+cgtekQ/2P/r8XfP8Db23vw4EF79+4tKSkxGAxms5nJmN9RzLAJmmkkFiOnde3EsuAbmsfe3j4iIgKN9PPz/+abr5kBh3NF+hKyVBAiBeEdQXitBXeRw/nb0rLIqbRMpFUOZjuDPvODz8QPvlJXF1f4e3Z96x1FoOv+j9/1+nRdUJXqnNq168cfmCID8j78svqbz9zErCx/t4jXPnb28z/74ktOO+Ndqg17wu3Hf7xS6xyyc+7jAcdO+FQoajuFBaxcVBUdZV9trzURg0rUO5iU+iLl2cR9DzwWW6/IMKpjli0Rh4YVbd9lfvF9vzJ9nI/G6b7pMePGFH+/PX/N1zqT5pSretjrT9nFdLu0aZv2jVd0lTXnQ6MHvbZcFRRw6f23az/+3kvhlNE9pMs7z1Z7OqtElY7YKxQqtnccDofzNycoKPjmoLABJaVTVGohOZEYjL/itrRmERWmQ5NvGbjuE2mb02a6dOmqUBA7Ozu9Xl9UVATZwOJ/hbCxTr5MqDBUFI1GQwWJX0VFRWBgYHx8PCSKg4ODq6sry1JWVlZTU5ORkREVFVVQUODs7JyXl4csRqPRZDJBbgFWLIzxzeqC2oFldHR0fn5+bW3t2bNnaWEcTjMEEfK6IAygz/nVC8JqLnI4/0BaFDn1dOEBQakieoOQnp26ZKnH+QRlaVFWaED3V18xuTomLnzM63yy0qwpjOnY8c2lQo2QsGJV0N4dZqLPmji+48LHlXXm/FfeFjf8Um8vlA7qEfX8Ym1ZTdJTL/ucTBbNVdkDozq+9rLGK9JoFBQuSr2+UIiPv7j0HbuErCJTXccn5jleNzR/+66iZauji+uLXOxND/3H9z/jqo6fLZ71UphZfcaVdH9l
kdCjq1hYsv3u+/vll5Q5Ots/sdBrQO/is6fzXnjB36DNqBE7vveaeUSfajVxNas0RCko+cIDHA7n706Qi9sbvftOySsQ0i4Qfd3VaxuM6mbRSSfUGAi98bgxZrOHx7Tunddv/0WK4LSBQYMGR0VF7t27t7KyEptMP/w62LTLHqTR6XQQM2q1ul+/ft9//z+NRg2dEhoa+uOPPzDjNhIaGubk5IhyCFHceOMNp06dKqFADtXX17OrTKzNrHZIJggnnc7xaivi/BuYS8itguCPwYJuqgThOkE4x0UO559GiyKn0lyOb02dVhTVJqWoyMnMemOV+4af9LVVRT1GRS9ebHArS/3wdc0ve31q7SrHjvN8+EGFwj7vzofDz53L8rOvmDi90/2zBHXRiVefidx6RqxUZU8c13H+fcaa6tRnloScPlVjryy6HlroScHdzWysqjp3pmjRa6EnLpZ4upbdOzZixtTiE0mls5aG19ZlKauqbp3Yec7jpqzccw8vjE7Nz3UzC4vvCh44suJA5qUVK8PzU6s1asOdd3reNzN95zbTO297FWRf9HT3nD3LeeLkGgdnB7PC0Uwsj+9Y/udwOJy/L7GxneMHXEP++5Eg0kcOrw4qb7QqoUvvc6OGx77xOjEwL0WOyfzgw4pVr0tbnFZxcNB5e3s7OzuVl5fX1tb+Om3D5llIGicnJ6gaOzu76uoad3f3S5ey7Ozsz5w5zcyuiqlTp+r1dXFxcSEhIXV1+iNHjvTvP+DQoUYPWSEGOsfZ2dloNDg6OlZVVRUVFUHzIAk7glZptdrY2FjItuzsnIyMdJaL828mmpDNOO3p1RsrywRh9VUqnEhCxgvCEUE4xKXR35JxhLxDJ4wFgvBD+z1GLYqcasuL5AR7gZgEUqswaU1mdV5F8svvKDdtdLKrq4np4L/4VaXO9dwHq5w3/09VY6zt1iXksUdrNE7ZH3zusu1rUWkiPQb5PTSrNsgnffErftsP6e3N5ltv
Cr5jRll+Zc6rb7qfPljlLKgnTQm65S5zZfGFlxYGnc/LJYGa++4JvGNExf5DJa++7V2UkqezU107yX/W/eaT5wpWrbbLy8nVujjfclPQrWNzt/xS++m3XkWlZU6uDouecR86qPZ/v5SvXKWqLyuKCPafc5/zNX3rnTy0JpVKFOuJEfOMkijpEglKlcr2vjV2fR8B+tcuaRpjMYD1kkKhQHak5uXlHT9+/NSpU5gtkIQpsGvXrtHR0X5+frBBDKsFWawVwRIZkYpvVggKx5zHUhE2Go0IIC+zYZHYVKvVSDIYDAiwMrGZnZ2NBiQnJ2Nygo2Hh0eXLl06deqEBiAXQL2YvSxF01Uh8I1IZMTkKo9EXtQl7w1UhEgEUB2LwSbyNrW0gmJZKszwjfZjZ+3t7aXkBlAjKwpVoBkwQyQ2EUAMUq2Fw8zaM1YQyfoQYWvbUDWrFHlZgTawtqFwZLEa6PV6lgXfrEs5nL8PB+c/PuCdd4jhamcdy1qTgquLMHTEisrSFUkJBzr1CN76M73ZpBGiVr1k9HWLf1wvbXNapkePnhqNOj3d4v2zwedqwQCF4S4oKEins2gMxNjokFa44YYb09PTkP3uu+8+efJkVlZWRkYG5hq0JycnBwM+Cq+rq8NoibZhVsIc5OPjs2/f/nPn4qUiGhMaGobZqlOnGJRWWFiI4RGjIhu9kdfV1W3Dhh8lU86/lVWE3Ij5WtqSCKNTsLTRBvoRgvEFs7geZ137daD/uXxNyGA6N+CzRRDuar/HqEWRY6bnONEbRaWiRiuaBJOu1qjMLry0ak3Vps1exHChW1jnOXN1fpGXPl5v+O5rR0FfGBoQ9sa7CkeP/JdectiznRjrC518opa/bOoelb5speKH/9lriTGyS8i8Z+u8HY4sfyZ4z351nUoX2bWmWm+Xn16sttfccWfgrTfVbPg+5bP3A4v1Jtco4+0T/e8YV/Xz1qLn33Sury8ICuz4wgvKqPDijz4p/PpT
d1NNIVGFLHzacezEwp+3la54kZhqyp08o+bN0Q3vX+vudstt91ZlFagF0aQW64ymnj16Ll261MHBoVnXFrNFWVnZ9OnT4XMz9xfO8YMPPjhp0iTmiFdXV2/evPnDDz9MSUkpLS3FBIPegxlSEfby8urRowfsu3Xr5unpCR+apbLCUVRcXNycOXMwITHPe+jQoS+88AJLxSYiUQX876effjohIQEFIm9NTQ3UwmuvvdazZ0+UgAZ89913X3zxBeRNQUEBYlgj8Q37wMDA8PDwJUuWBAcHY6qz6hlWONoDXbRgAUS7xIABA9AANkGyGBSFfcH3oUOHFi1axCIRg9n0nXfeQRVWHSIHzX7jjTc2bNjAlAm6d82aNSEhISxVDixZg2+66SZ0NYvEDtbW1sbGxq5ahdFVaom136wgFxqAwJdffvnRRx+xSABLtPDVV1/t06ePFCWDHUrM6M888ww6k0V27tx55cqVrIqmFXE4fy1ix+4kKQmjr7R9ZUyiTid0676+pvawt/vyXzYjakrfwetyskl2XpNyRPO1oxRbN0pbnBbw9PQKCgrEpFBUVGQdl9oIhlx8Ozo6YiKAsKmt1WNUbEl4ABcXV1dXFycnJ4XCMpJ7e3shF8YrtvA0DLRarYeHB4qNibHoEwxrOKwQTkx9YS7AKAoDGGOITk7GyXMFvL19PDzcO3aMSU1NgdphQ6tOZ7lmlZV1KScnm5lx/m1EELKrscLBqX9WECa02QnuTcgyulABTim1IJwXhFFc5PydGEsIvMAYQbD8WZ0e3w8F4YV2fIwwbjaLwWj5mKuNpmqD3mgqNtdWm2pN9TX1SYm598/PCe+cFh149Mbhxv0HzOeyDlw79lKnmOyAwAv3P1Z1PtN44OzRfqPyAqLL/DtfnHSnqajIUFSUMu3OrODorOieafc9VZ+Za76QmHTt6GL/cH1gp5qgzmkRMclvvmYsyC9fv+FUbI/CiMD4TtEVKzeJ8eV18eeThw4r
CAxP7Nyz4rOvjJW1xsPxyV0GFoV3vNClU97ip8Tc7PwvfjwV1jcvOGD3oE5lX39an5tdWllSZNS//d4HOqJ1UWk1GoVKY/lj//vvv48ZQtpJGRjl6+vroWFgA8eX/Zkf08bevXshPDDfwO+fMGGCWq2GK88M8M2uD8BSHtO/f//4+HjMNyhTKh39aTAcPHiQFYtv8J///EdKa6gdWdA8lAAgUWDj7Ow8ceJETHgA89n111+PKlgSYEcQDcA3NpGEuRDlR0ZGQiZJRVOFg/JR+Pbt22HMgNnNN9+MVsl7A5bQEphZf/rpJ8mOMmLECJgxbdaUysrK7t27swawzvn++++lNBloA0BnohxoMFYyjPGN/UVMVlYWakE70QYpjwzaUkvqww8/zPIClh2VYtcku8agKNQIlQgblgX4+/tXVFSgw1vaIw7nr+LmEaPMWidRsG/Dx86s0Jo9/A506T1v4NDAwCCpCMqBmQ+biaZJFnuRaNeOnyQZcVrgzjvvvO6667y8vOD0XxXIAu2B8XDYsGFubm5Scc0BuTJy5MiePXuOHTs2NjY2MDAQYyBKgC7Cd2hoaK9evTCVgKFDh3br1k3K9nuj0zn26dMHMwtqROPBgAED+vXrJyVz/mV8LQiZggDpbP1kCMJ9LTuKNsyh9hcbMiLQr815/1DG/T2a8ZfTlx4XfNgBwrFOa+8908wdPowahYiPUasQ1JYlyXSCSkmURqVgDPbzenKhcfSNjpXq8Lj0+GeerspJ6v/B22XXjlepfVw2bUx6Zm6lSt9z5VslI0YU2hkdj+8+O29uZdbFiEXP1nUdIlab63evPfvGUyaFMmjxyyXhMTWkvspUqOwU5D+iR1lS3KWlb4bW1tSa1Z733m0/dVBewqGzj81zzswu8wwgt/9H17972hfr9s6apdYXF3q4ej68wGfWvNyteyqeXRSpLyrwC+j34hu6sWNELy+tg7OOaMYOGR4TFWUiogkHUrBcV/n888/h
4DI3Gj43c3Ot/vfLL78MG+w+0y3Lly/HcI/wW2+9hUkLrj8ywtVmNsjIAvCb8Y0kFj527Bjk0KefflpWVgZj5kwjiX2z6lAms2cgDLONGzfOmzcPYaTCGEWNHz/+ww8/zM/PR3ynTp22bNmCSNZm1kLAAsiFYpGEcGpq6uDBg9esWVNeXs60FkC8dU8BcrGqrQGAwlEOJAciJbsGnYZU9s1AmKXCHuIkMTGRdQLioXYg1UpLSxHG7sOGZQGIQeFsB63ZkRFmBQUFy5YtY0nyiqywHU9JSVm3bh3LC1h21leSXWNYh3z11VcISHnMZvQnJCsqApIdh/P34FJFhaCVrsG2gCgQs2ivFkcNX969+0Bv94Fxx1Yc2J2VBY9CIigoeMCpM0Rs5vQWnZ1WJCVIG5zmGDt23N69e0+dOnVV4wMbtaBMAgICkXfXrl0lJSUsSc6AAQPnzJkzatQoDPjx8fEXL148fvx4YWEhNtloFhUVhUmnY8cYxGOYArt37z59+tc8tNMWqqoqjx49umHDBlQKrYWYCxcu5OTkYMpjBpx/D8MIgRN8ecKmf+aHm5InbV2Brwh5pCELwJR8UBAO/9WXCLBTXxPyoSAk/uun+76EfEMPEA4NvHp2oN+k363Qn5APCJnzj+295l1DYKCfOiUxqi3v0NQaRY1BVIrEYGdfEejt/cRjJcPG1Smc/FLTc5Y8by6tiV34TP70qdX2dVHxR/PeeUt0cYx6YbEwdVy1vbHjnn2lz75SKxr8n3uq4trhSk1VxOaNKU++ovQNDnnrtfjeHcscnZxPZhU+saL4ySV+5SWXVGrVo4973zQ57duPKhc/1uFcQmFogPLB2RFTJmft2q1b/mZsflaJn0fIqy86jZ9U9ssZ06vveZryjgaJ6iefUXQbRexdVWZib1TYGcSw0JBFLzxnVCnMShWcbcxDUCA21xng9WJ/8f3aa69huMfExuIx2YwcORLO8bvvvvvcc89Z1QLcdDjl
MIA3j2+NRsNuDEOYus2WCzXZ2dmQJY88gp+8JZ5JEQSQncUwbx5hBrJUV1fPnz+fKShUCoPIyEgIFScnp8cee+yLL75ADEBe2LPrEqwB2ESxKA0NYx4/IouLixcsWPD2228jCwpEPCIRoLVZwCay2GgDFgPkbQMonxUibVNVxqrG9wcffMA2GYjctm3biRMnkAvx8qJYCWgnM2OgwfhGDDofMz1sWC/ZwNpw8uRJyCEpisL216bBcpKTkxMSGnl1sIcTYxWfHM7fh0PHjmT1t/E0GPjJmEWVIHbquG7okKk9u5FtPz1y4vCh883cBHVzQAchIa654d2cFR17KIWLnBaBRMnMzKiqqmplSLGBjWY9e/ZE3v37DzT7yI2Li0vXrt2mT59eXl62bt26uLi4yspKjGnWwZZdRenevfupU6chObZs+Yll/NP45ptvMGgPHDgQYUx2y5cvb/YGYE47Zgr1fW2AYvlRNl83SxQhhwm5hg5bbOTCOZ0rCNOulPGPZiwhnwjCIOrNtvX33E7xI+TlhuO7gV7DUUP4CcLKVo/R+/TZqvF0cYJ/KC2KHCcTwUclWqZWy/Osln+BSmNWwl9W+DmFPzO37PqxVW7+bhdL4x56zJyRFv3AtOw+vUoNDuqDx5NfWqosKoq4Z2bR4OvMCmeXE6dS33rZzluIeOKB2r6jiNkjaP+Z9KUvG91UA99+Qz3oWtFoF3QiITArs0gr+t73oM+48WWn44UV7weU1lSYXXXjJ3YYN4DkXCz68DOH6pIKjV3gzHnawLCSzZtzli5RV5WeCwqKfm5p0IhRoiMEjkFQmCDITGqTSSteM3rE6PETFEa4+QTaADPK//73P0xLbGaC3wxHHNKipqYGozyTDbBBYPjw4Zh1Zs+evXDhQrk8gDFmJh8fn/vvv/9NytixYx0dHbVaLczgN2PqQnaYffbZZ1ApKA1zhpS5BZBr6dKlcN/ZhIfsANoGFaEBP/30E2swIplsQLyv
r++MGTM+/vhjVHHbbbd5enoiiZXGgDG02YoVK5rVDL8RNADfrGQID9YkdC9iIB4QCcWCnZL32xVBOZCg2Itmc6EKJH311VdXVSba88knlpeBsAYzUBQioSrRRVIUh/O34b8ujqKjXcOQyzCLxGQOCjx348RpAV5Td21dv3+vlNIc9wYFkWrpCbTGmA97uElBTnN07hxbXFzMxuE2gmEkIiLi5MlTJ0+eqKyskGIbiI3t/OCDDwYHB+fn5+3cuROFsykGSewbQ1NMTExRUfH58+e3bNlSU1NN8/0FVFRU/PDDD507d0aTamtrmy4ew2nHdCDk+gaJYgUnaItPkjWwnj7G499wAYeBmfVbKfiXMYyQj+guYCRNEoTov1px/bV8Sh+UAuiKzwUhmHbLSzSmJQ7Q9fFwWI2CcEiK++fRoshR60XLxyRA4FhODWgEFYwVmnpRRwy1yor6ENcOM+4sj+5iVNoF5WTFPfGkoroiesHC/E69XA2C36EjZ958s9rZvcPc57JUHvZKQXtw+8WvPtJ6egXfM/9EaLigqnfa+nPdkRMKnXvQA7PyAr2MOlEgel2HUKfhY0wVpqLXPwjR1yW7aEw3Tg4cdX1ZVupPTzwRnFOiFYjjjTe6D7m24ND5kvfeC6rPLXUhkQ8t9I0ZrjGrDYr6WpWhTmGsU+LbVC0YFQ7ae++ZoTCKEDnwv/V6fVpaGhQI9gkeMOYbBDDZfPHFF6mpqdhkjjsCDz/88Kuvvvr9999jxIdKgQ0D89mePXvOnj0LWXLfffdBaXz++eeYn7Zt2+bv7w8D5EVFmPng9K9ataq0tBSRKLMVsrOzIb1QNWsSwLR30003Qd58+61lrGDXkZhsCAkJ2bRpE1TEypUrp0+ffs8997z77runTp06fPgwplLaRgswVqvVq1evvnTpEqsFSGltmMIlu5Yt0R7s5rlz586cOcOazXqJiRD0Cb7RCYin5o1gJduAQqBz6N43kwWpmzdv3r9/
P1KlDG3YCxgnJSVBHQEpD82Vm5uLM6HZijicv5aPDh08dMedor+3oMCQKIpujmL37oduuXWau2vnb79at3WrZNcCQUHBsZmZzY7torPzYcsbRTnNExkZlZGR0fZhAZZQAtHR0QcOHCgoyJdiG8CB6Ny5C8ab7777Lj/fksoGHyvI7uzs7O7ufuFCWl5erhT7V7Njx47Q0DCMt8nJyTfdNFmK5bR3JjY3ZMAZan0pwHcIGUCdYLk60ghCsSAs+0un13701iz4eWgEfnWbpOh/KT8Q0pEG0BvvCMJX9FijT3a3fIyeIARCCB0Iy1RBuOUf6yw1MxEyiCPBR6kSNHBbLa/RVCkU+BBBTUSFWiU4aLQumuDgLi8/W3nbzSUKU1jG+eLHFtlpvaJfW1k6bECdodL/2Kn022c4Vhd4r19zYeQ4+zrB/PWnGY/Mc1Kpuqx4KXNEL6W5puSZF1Off82sUPg9/1Rqz97Zdgpt0pnKxS/lz3rYISctyzvU/4kXAhfOLTt2vGDOwu4FeUUuzuWvLvd65OGS79aaX1tmX16e6OXlMusBr9EjDMHuCp1SZ1bZi44aYm8naB0EOxfBzsGoGDFk8LT/TDGKlmsscMEhctijL5hjMOvgu6qqChoD4draWmzC5vHHH0cnLF++vLKysqamBhm1lBUrVkBdDBgwwM3NjS6GY3n23c7Oztvbu0ePHnDBn376aUdHR8RDR6EKCKdZs2ahEJSGSEB7VwI6BIWXlJRMmTIFbjc2UTuUyY033oiZBtMthBYMUBTUAqvovffe271796BBgzw9PREDHcXivejabsiFBri4uCCe3Y6FyXXBggVslR7sBcpnSC1oGcmuZUt0F6pesmRJWVkZKkJ1bO9QC74zMzMTExMRzzZtkIqm/Y9c6FgWWLZs2YkTJxAv2dHSsPuIQQAihxWI3oA9Q7KTQRWNBRjD+cDxQnY0FeWjW2DANu++++7q6mrYwLLZRnI4fwlZWRcHvrNy
oFKx/JqhywcNnurqGlyUM/DLT9afPi5ZtMrNYZHCuTg6s9tgFnr2Wb6Nr6vWIhUVFeXl5c2OKs2CkWTy5Mm7du2SthvTqVNMUVFhQUEBzJotE4M2+zuR/HmqvwOVlRWY4DAwXrqUJUVx2jVR9HEam79/4JTFp6X7JucQsqPh4g8mfuucjXAFRiFp6w9kHCFphGS38PmOrl7NWoUWPioIFwnBJ4OQnm3+gbcP5mKXaVdgt1fQl7ra0eszxwThXULeb+5zgJBZsktzpfS+NWnjn0aLIqd5LDdNiCqTqBVU+D2YHLSKALfImbdVDRqUqbZXpaTEPTfHVJke9tCjRT2H15jMAZkXLr26xNXVMerZJ41DJ7rXepKNB7Kef9nZURu1bHHhmJFqA7H75tuLr7zgGh4e9uxLBdffVCOIDif3uKVlmolTyJolztd3yz69M+fDVXZVtXmCrsOi5zxGjSg+fNLw0SpizEtyVsTMneV14+haZ10l/GAFvGORWI7mZS8ZE4y9vf3ixYvDw8OZd4ux+/vvvz9y5Ag24d1i+oE22Lt3Lwsji6+v72OPPfb555/DCbYWAm946dKlM2bMaPYiPjLCU4fweOqpp9auXQv9g4owgcEd37hx41tvvQUDgELwLeWhueDB33XXXWfPnkUVTCRg5lu5ciWEyoYNGyBOrFnQvEcffXTatGl+fn4oXF4O8qIiGAQEBCxatIitjYZI7ClSt27d+vPPP7PCfy9QGgpPSEhAv0lRVF2wO9ZYY+644w7WA1Jyc8CMNQzfoLCw8MyZM9hllgpYaYiB9oMQRYHYcewaKpL3gBx2iBFAgZ988gk0GOsKbELpsYwoFor00qVLSAItFcXh/FUcupi+YPfPC/ZtW5+WfFVO8JTqWlJTK200Qlyvc5CCnObAhIDRQNpoA8HBwV9//Y20IWPYsOE33ngjhrJWxhYMU35+/pmWa25/O+Lj4wcMGIBAUVHRgAGWp3Q47ZvnqRKwAScu
dMK55n4RcI4hGyKpB8luZ2I3kcMUue4UhOSr+R39OqDK4FsYWvjYCDY0EjuItiULwsk/vm1/HybRI4UdxpHaJwhaQYAuRf+8SQ/6GKp5mn4CaBYrgyAppeA/j6t0fOFfKixDtsIsqBQqg0Ko1QhGL5eeTy0yDB5UqVb6nTuV9vJik0rV6dEF+p6xNSrB/vS5xKeeJyZj8H33ZwSGKRyd7E+fzFz2uqgXY2Y/eE6nVnvYqzKSkr/4TGvn3G3yzKLQDmXKKoVY6RgWoFSqSncfqn7rnaDconrRLnjSdE3fPkXHTma9ulxXU56qNXWZPVvZb4DZ27fcLBCFiv7CMKtcPjpwbeEcw6PFbNSnTx+4y8ztrqyshOxBPPOY16xZg2/EYxPcdtttUCzr1q1jvjLAhIRIqBGkwlfGN+wBSwVsEyVAtAwZMmTMmDHMO0ck7Hfv3s0ud6AcKQMFPvfq1ashQhCAJYq1s7ObPXu2u7u7Xq//9ttva2pqWPuR+hCFqQjshVQEBVWgXgRghiq6des2dOhQ1lTsAoyhjrBpU/tvgbX2jTfesL7uBnTt2jUoKAi7gMag3gsXLrA11qTkFsAOQtHBDCDvhx9+iN6Q0mhFLLBz505IPhaDo4Ms2DvkZalyWBb0Embo48ePozEwg3FERAQ6kHUUQMzHH3+Mb9a9LJLD+UczoEevAVmXGlwOOaLo778+r43rJP1LUSga/fGodegFc22zr5SBWDp48GArowqS/Pz8tm/fJm3//bD+pSwoKFCK4rRTHiAEQlbydRrTNLI/Id/QRzXYBZxEQVhGxQbTSJiPNwvCkT9+Ph1G779qKsxagTXyQWnr38I8+o3jgc8hQZhNld5KQVjYwhFvCjoNPtPr0tY/j6sTOSaFoFcSo0Jh6TCDWS0qVUQFuSOE+Pd44zXxxknu1caoo3HJy56vczZGvvqs4aZpBsHFfdeupKfn1GiMsS+/WHZNP6Od3nHr5hOz5utNitEfvVfc
t4++qMLhq4+Pv/lsXaWxw6tvVPXpVW1nLEs7XbHodcWCFR1Ssis9nP3nzfeccW/m3p1VCxfEZmXm+of0eH2154SpWv8OokLjqnRwghKx/OwIvqy/MLj1AIM19Mbzzz8PZxdzGMQG2LdvH7QHBMDmzZuPHj0KYwzoSO3Vq9dTTz119uzZnJwcbALk6ty58zvvvOPm5gb3mjnWiKc1SKB8Fg83HUlQRPb29nD0USaqOHTo0MWLF61zHgzY/IE2PPPMMzDDJkBTZ82aNXfuXJRWXFx8+vRpxKCpSOrbt+8jjzyCBrDsrC4rcNMhfpALoFjYL1myRKfTIcxKKCgoOH/+PPx75LWCVGSEMb4ZLAbtwbdk1MKUDx0CCbFt2zbUCBu0BxVNnjz56aefRhKLrK6ufvfdd1knsG8pM90FBnKhnVCPCLDa4+LimH+ALGg5YtBs9OH8+fOtJXfs2HHBggUI2Ig9Bi3Y0mx0b0pKCkpgGnL48OEzZ850dXVFEspB4Zs2bWL3ynM47YMpOmehpFDaaIQoDBi0/vgBaYvTHN7eXu7u7vKRqiUwqjg4ODS7kBqGwfT0dIyr0nYLQORIob8ls2fPxj76+PisW7dOiuK0R/wIkV77TZGftfgZ2AtCTIMPEEnIakLWCoLlGh/9O8prgvCCIDzZ4HEhr1EQltDwH02WIJykNaJx1o/8TzssBgbQNggU0NZeKwgp9NeNfXmW7g4+/m3+u8Y/jkcI6UDFDDphoyDMp130oyAsF8U6GrZ2IOsoOYiEASLxKRKEN/944foHgV27CqAf6gXLO2cs102gHMyC1qhQmwWDWqh0cgl4eEHWwGGCWRlwcNeFRQvrS6uCH5iVf8vUelch7MyR9FdfJR6OMS8vKr3uGvdqc/8D8anLltcHeEQvfcll0jTX8sLgzesylq8gLr4hz72YExHuZDC4HovzrqzOhip58m7NLWOK0pPL3n0nPC+5RFPj++Tz9X1HV7q5ikqF1qCw
rxM1BhNRiGZ6aEjD+3+Yv4v5Bt9hYWEjR450dHREPFxqqJHPPvsM4QcffJBdImCe+oQJE5C0atUqeMbws5k33L17d0xpKAQG1mIBwlawySY2ZIE/3aNHD+apIwYlbN261ZoXZkhC+e+99x6KRSQ2oVLGjRv34osvIjsM2HoD8O8x06CQxx9/3MPDA3mRinKAvHZryQzYdO3aNSQkhO04QAkQaQigIgbsKysrk5OTz507l9RAQkLChQsXEMjLy5PsWjiz0VroQPYiINbgqKgoSAjsNVQEcrGug4CsqKjALqBqKSeFlQxghs4ZNWoU+hwBbCISIgdh1njsGrIXFhaibYhBdYjp378/FBQspeIaA3tYlpeXL1q0CGFajwXI1+jo6KlTpyIV8SgKvsiWLVtQIOqVMnM4/2Tm2+tIc+eyqCTrHfhiWVcgLi6uU6dOGB+k7ZaBDXvSsimHDh3G2C5ttAyGWUwT0sbfjPDw8A0bNmD49fT0kqI47RRoEszNcO0Aznv54IH5FY7FT/ShjjRCdgjCBGqMyLOCECSKK0VxcUN2NsHfIgi5V/KG5xOSTEgmIevbrC76ETKhsfEFUbxeFINFMUT2SWxoBvteQT9TBQFJfWlrk0UR8uYbui8z6MrIN9K7s/6hjCBkQct92J8QqBrrAR1NJWsNPF56gNB1yxu6CAF85MvooVAY4bDupeIQvqyU8A/k6kSOUiR2JoVKJOgDOKEmnOyEmAWFaCIqFOXq1uG5p86MGFSh0rmfTUt/4llzVmanmVOyunctMTg4xyXnf/IBMdaH3PVwZkgvs1GlPXW0cO1aZUWN2y3TM/v0dTc5hSWcLX97tcbOMXrxkszQ0BJHsU5t9oyMCQkKL9u+I/WpZ1yLis+FBBT+52bn/r0dNIJKYTCqDSLElsokqs0G+K5w8aF7pJPcFnjhbALD8F1TU7Nv374vvvgC3jDcXDjB9fX1Li4u06ZNQ/jAAcufPK2KiN2g3EZQBZ0e
PKVtyi+//ALHGgHqb1susGzbtm3Tpk1oBiKZTli6dCkyIqDX67dv344wzWppLRoGDWaNaQloA5QM912r1Q4bNgwxrC5UvWPHDvl1D5S2c+fOfv36DRkyhL1XGwwePBgxgwYNmjt3rmTXAih27969TBvgGzVCPGCXIyIiUAhSmWKE07B//34YNHvJhYHUDh06sNvPsIm8bJk7lsTaD4nIegbFImbMmDEIsP5sCsublZUlX1bOzc0NEhcdu2DBAhigZHQR4lNSUth1HmbG4fxz2fXh58K+fQ1TfGO8fJbs3y2FOS2TkJAYHAwH4AoDAgwUCsuflpqiUl35njcYYN7x8/OLje0sRf2dcHd3z83NjY6OTk5OlqI47ZSxDX4wTlkE9tOwFUyxmJUfo3/OZ9MtfhjHBGEc/YEMICSiITvMDkLht/rDGU/IJep5w9tWC0JbXsMEbXOBkO8F4V1BWNvyzwotiSMkmjYPwO4NevFhhSgelDVpICHv0CdMsC/4sIQe9PufxYP0Daef0geToNmkWBlBhHwlBS1dXUcXG8D37VKcheW0f9BLkH+HBIEtvwZQHHoGehXi8FaaKiX8M7k6kaMwi1qDqDQJZiIYiFBPFAYVVIVaKaq1CiKqiSE8pPvipww9B9uJKreUBMu60vqqbk8vKe7Y076yTvvNhgvPvaEI7ej+1ptHgl39VEbVyo8zH39N4erjseT5i+HhBocq1++/T13zuSaiU/grS9KcVUK9UJ2Qm7Xk/fqFS3tm56qJwnnO/PBFi4yOGkVlsVbQG8TaWqWpXmXSK4x1xIyjQUyC5Za1JsCvHT169P33348wm8Py8/PhzSMeYNaB0pgxY0ZQUBC85+LiYhjA/YWHDeOAgABLEW2D5Ro6dCjCKJZx4cIFFs8iUQXkDauXNeall16KjIxEGDFIOnXqlDU7ppyoqCimnRDZCjBAmXDfoXbGjh2L0gAyorqioiJ80/IsQHWgMXD6MddWNFBaWopG
VldX19bWSnYt1Ij4Dz74gOkuVIEa2VvkUNecOXPwjUi0BAbYEXQsNllGBi3YAixZ6rXXXmtNgvpCD0A4IcxiNm7ciG9WCKRU165d0U7EAJqpGXbt2sW6lwFdhIOo0+m8vb27deuGfUdvwODLL7/EsUYzpGwczj+ToKDgoZ+fFgzNXkMwZ3Xrei4tRdritMy5c/Hw7P39/W2GLBuQym58bYqDg86Ovh66dTAo7dixIzo6CgdOivp7AN2F8Z9NgsnJSVIspz3yE2ZVKWhxbR8UhI9pQA4MjPQbc+QP9I6vSfSnEUlvXWOuFpLyBWF6Cz8Zf0LmEbKdkNVUESELvutpru4tz+AofxXVJNBXBpqrr5Riyzh4/ILgImvMaUF4q3Fj/Ohr++H32zzJA6MdUvAyd6Beug4bJFkmbbyU0Dag5RbQxq8h5LEmeWMJeZqQPEKyaOEwQ4yUdiWiIRHpe1cfp1IN3YiegeM1o0kJ0KWahtUXYIZwDr1mdbi5Y7SYEPk9qbBYcyW9+huZSsgNhKCjrpd9sHkjIaFX2dtX5Op8O6IkxJ4QjaAkFi1O5TiB4oHm0SurlYpatVonhHcOXjC7JCzETqnzzizIeupN+LDRa57Tj+pvrjG6Hzlb9PzzjqGKbl+uKQqMtRcNTqe25D/7uLtrsPuKNyr6dzWrS+02/Jz28ocOgWGBTz9dEhOpVdb6nItXV9UlunvYLZgfcNNks6OHQqXVOLsT4mRPHB0EjUawsxfsnQSNFn4zdGtzf2LDpAJf9q677vLz82MTGHxc+Mr4RhgxcIJvvvlm+NyIYU4w/GyIAeokX0W/M9ffx8eH+foM6Ac2cyAMBQIQBgigOo1GAy8fAdSIEqqqqmDMMgKkwjtvSzPQbNSOevHt6OiIfUEM9hFJqAjfUolUSmHXWDNoVgkYWxpHF7NmSAkUxCMX2rl//35oIQSQHVXMmjVr8ODBzKZXr14QIaxwlPbpp58WFto+JCAVTQtHCQjc
dtttLAlgcl25ciX2giVBhiUlJSEMkDphwoTAwEC0nzWSZZGDJFiiXnQm+sEBTodOd8899yAJ9uiWt99+G21mltnZ2ezuOJqV8w8ATmHXLl1CQ0IC/AO6dO48apQkj//lzB8+hpz61DIWN0FUK1dc5GsBt5WysjKMEkFBQc0OLwyMToWFBRjrpG0ZiYkJ3t4+reSVg4HUw8O9d+/eoaFhUtRfCoZutAc90KdPn8rKKimW0x6ZTUiXBo8fQmIjNI8o7hTF5MZ+IcIYUw5CwwjCHHrHF4v/mcazDdjcSgNNQS0H6PvyI6gxsqAu+Gj4oOogycqWuRBFgnADzWL9ITXrrT5AyHs0YG0JeJR+y4F4G93Q4MMNLYHxPkHYIPupDqJXSF6gN+YBpu4eobqFRlwByKF0aBv6uP/19DNfSpFYSMgmQbiPLlsHvxOFTxaEF6XEK/AeIVtpgb6y9uMbn56SiQT2YlKDwgEwhuU3LSx5t5aQu6kNA5bo+VfbNnxdkXBCHqbCDAoTovEC/Ya0e10Q3hYEiN5Vsg823xKEPXSxb3QjLNGfc37zkt/SX8d/C6LJYBLq6xUmjVlrrFOLWqItzhe+/ibz5aVKlaLYPdhl8Wt+1/Sq//5L0yvLVHpjsrePx9KX/Dv1MW38Kf/Np+1MtUVuIZ5Pv+x+bb+q9Z8ali+3K1cn2rt0+XKlJjLgwqsrnL5b56pXZXtF+M+4TTd5ZIWnS51K62ZWqYyiGT8UBRQNO7GvAPaUufsvv/zy0qVL4aDDxwWIYYGvv/564sSJMENScHAwXG2Wis0tW7aMGTPGUkobgMeMKfCrr7664447rN2LWZOVj9JYjBzY33LLLatWrXJ2dkal6enpmGxqampYdl9f3xMnTlhVE75ZrtbZunXrDTfcAEcfHj9TO99+++311+N3Z4EVgtIQb20kAvIwC6A9Q4YM2bVrF2JYp6Ebe/bsmZKSgrwoHBJi27ZtaDAUBWxgABWxYAGGNQuI
XLt2LasXzYA9DKAzrW/Hc3JyOnbsGHa8b9++RUVF7AJOx44d9+7di5JhExcXhyTUhSR044oVK6BYFi9e/MILGIsswH7nzp3s9jyARu7evXvSpEnQitCHSH3ooYdwxFECwqCysnLgwIHnz59HJ6B58DCwd2gby/73YeSwoVqtHfuBEyLuPXCkoqKcplxm5syZ2RnphGo2gL0rraiqrar088NISDEaLhUWnzlzRtqU4efj27tHN0njikJeQf6JU6cR7Nc3ytO9kcvl7Oh4+uy5hKREaVtGrz69hw3ucy7ecjKwGLPJjMO0/n//Q7h7924hAYFGEx1vRfFSbt6ZuDhLuDEDBgwM9PGq0WPkR3vrXd09165fz5LkPPzww9WV5WhqaXExjjIUMM5rdJF/QIBZFNZ/932zS11ZWfjAA3EXUhUN7Wwd/Dx8/Pw+/PgThKdNm1xVXC6oLBmNRoOvt8+nX32N8OrVqzf/8D/8liwZZBCzGBwa4ujmnpSQ4Obu/sknlkLkPDJ3bkJi4pWHblEozMs5euastNkqFydMDv5pkyA2s3dicEBwXXVWXo60zWkDHh6e1113LUYGNmRJsTIw1mGayMjILCpqZqUHjDAZGRnNjvY2oBwMRCjKzs6uoqLy9GnLNfw/k2HDhtfXW96i1rVrtzNnTmP2GTVqFOYvKZnTHgklZBfVGzhBcXLjM6rBCYYsYWsJYFzDNwxmU/3DMjLgtmKCZyc3CoGMmdbYAEQRskQQBtNC2CyDAg/RxYtbv0rwLiFjaUBuhLzwjG2uz3xDX0UKrLFozHfQSI3NoFsG0n1EM96gogVhFAjlZtNseNUQSDZ/8tTQJeNmttrmcfSiE8pktTDQGIMghDVknATXqKFLrWC8xmZoq4X3h1Sgl25QOOzwzWpBT/YXhCHQaRB7shLQLew6DwPN2AsV2qSKjoQgo52swSgWQA0mttqe1nmQEDjmOGfwzQoE7FwCiEGYgRayfZGDxsCA2cMA
32g/Tk40qTc93KyT274QgrW6X49RYTYpTFqTSmlUGTWkrr6mPjXt7Pr/uWh0Cnud55jBoQN7KNIKc9f9TyDGEnul+4ThIb27qPPyLq39XivqSh3cvMaP9OvbqWLnoYp1O9R6daGdsss9k+09XLN/2GHcedidaHKc7APvv1M75YY6L/cqhUIlwDHHjmIv4du0dVfhIsPlxYxyzTXXMIeMuf4I4Lt79+7sYRKM9dTcgsWRok+xw12WotoA7FHOqVOn5FOjh4cHamlpzoM9dBR8fdYAtFOr1SLMUisqKqwrAbCYtgAR0tK1DsDi0VRUZwWRFhFAYWY2YBdglpSUhIkQm2x38P35558/9dRTjz/++Pz58x988MHTpy2+MoOltlSmZZfopSo3N7cHHngANiwGCgSaEHXV19dD1TBjpLq6ulpvbGsJ5Fq2bBkkIo4vDjr2EXrpscceg+6aO3cuBA+aiqLYYYIxfBEgZf47QQSiUhD2g1eIRKezvMlUTufYzvXV+EFYvGx8jPV1Xt4+Bw7sJyLNQj9woCTrJqALLP3ALIkgWm72tGDS20uRDZ/y8vL+AzCcNoOft3dqUoZaqbxsT4TSckmMoYdRbkM8KmzGBQdBQZZLc8wMe61sIjgDAgLvmzEj80Jq3qXsgrw8dmLjfDIZTdVVVSlJSckJ54cOGjh0CAb8FjG7OGKPpcZc6YP2oPUsY1BggEKtsiaJDcNyl86dYWeNt36IgmRmZJw/faq+prq8uPDBB+6P6RTLsjCIEn1iWR3lCh8imEjzPWbDgOjYoJOnaJFNMR4KDOIK52opLi7CEBQZGYmh2zIkNRlIcYZkZmb26NFdp7M8umnDwYMHw8I6hIVZ/ljQNK8clAMDDEEYsTEgDRo0qE+fPoGBge7u7pLFH0PHjjGgd+/eFRXlTk5OCMTFnamsrPTz89u3z+bRDE574z/UB2XuCEaN5bI/868WxZGC8Cz9i/4D1P+2UTgRhExr8IyRN6GJ
VLiRkLcI2UbvpEIVzG0FL1DLVhTOePqCUfbnZLkRsp9srHAg0qCF4PIiyhoLs9TGCsefvhjUcic9bcYmepEHQyosXmzS7LGEzG3oEznQPC0+UiwI9xCSQ+/EQ+2sMWx6wPd5+iIaKyNoG2zKx6ZWEIa34HGNIeR/9LZAdp8MjPDBPkIsjaeO/jN0tTRoFStrCIGxtRa06rXmFA66+mOq36z+LkqG0UNXqXAgZa+ni9S9Q2/Au0jIY/RCFrQT+hm144MAqwWn3AXa4B/oghaQ2dgRnGPyzyp6AyH2CGawhyuQJgjOgvALfcErDt98+jks67GJtAGr6GWfpvf+oQG/FZOgNIh2JoPaAM1hKBdSz+e+8rZ/XlWN1qMyeoDvfffVFpzPXjTPO/ViqZ2b+frJfrMeyEuJS1nysPel85VaF/e7Hva+956iE/uqX33e9fwZvcLB5+mF9jP/U3jijPD66rCssgq9s2b67ar/jDN62ROlnavC3tFEFDiGCngAZtPlM/wKwOXFdAJ/GqP55MmT4a9b/BgcWsptt93GLpUwMzW96QswsyNHjsBdhmsF4BazAlsCBjDDjIWM1gKDg4Pt7e1ROzZhg3horV69erEq8I3ZBS44Zk2oAmdn544dOyISGYFer7906RKKxVyITVZLs7CqUUJdXR1bnw2FAGTENMZKYyAmOjr6s88++0rGl19++QXlySeflOwaV4fywfr16/EtRdE73N577z1IkbfeemvNmjUffPABipUy0x6A3ktLS2OKiCGlUZgUwTc6BJvMIUCunTt3Ipyamvrjjz9iEzUideDAgZj+WSE2wABVQBRlZWVBZSELugLxaN6JEydWrVr19ttv4/tdSkJCAqsLNvn5+Y8++mhtbS2yoyXyXfv7gE6xOfJBQcH9+/YuLCzEjmBTr6/t2qPn9p2Wl6+LckuLS97SOYNSm/v5NDFHn9jRdRqa4uXp2cwyU41KkDZa/6HKU9k5YMXDw3Ng3z5Z
GWmQpNA/bH9xsAAssQlw/lRUlHl7uvfr24/lakrb/yDSBAy2ErRpLfXnZXD6sVYZDcbU5OQhA/qNHAHPQeLK+Rtoo+X82C4kL7tZc9FJt178O57S/wj27dsHgX333Xdj9G46MuAoY6gZP35ceHiEFCXjwIH9dnb2N910E8Zz5LU5q23A2QKbvLw8TBzsDaH+/v4TJkyYPPnmvn37Dh58DTP7jYwbNx4KasyYMddee63BUF9WVubl5TV//nwIm7Vr16INmATPnDlzVS+f5fzjGEbIfQ3XK+ACHmjyd3EInk9E8S5R3NzcSbsPJ6dsxL62sQ2c3bcEYRI1wAdDEnxcVPEeVVYXCHmiBR/mc3oxBD8kNKlprY9L/1roTcju5l5PiWF6WOPG/JfuJmsJPjfS9qAxd6E9jS3fp7e9WVtm08RGpg3MpXdVPUcv1zDQcng5MGY66mlBSKK1oMO/JuQGzKQ0yQZYNH1JcyRdfe5deisaqx1NQvlrBOF+Wgt7SWuKKM6SqVDLUy4NRxagrp8FoenKAWgMuhoHUQ6MoHU3NjFuFuw7e2xpK5UlOBaoFznRSHxQL9qAnYXTAHX6Cj18IaLoL4rDRfFBUXxIFO+jJ9hr9ByTfxCDeOwUzGAfKIpDRPGoKHahu89AwFsKWlhBa8fBhfiZIsVdxprr16M1qezNmhqVql5dV7t1a8W859xPxevdnA03T4p8YWllcnn27bO8Ug+XOWkcZj4Q9uCcqiMZ1XOfD0g4keFTG/Tmc75TplcdTi1/7jXXigvF7mbywizHcaPyd5wufeV9rbE4JdJVnDPf5/ZZJq1CMOi19YKuXtRQhQPvBv+0tJBaU5jbAUUBd3/mzJlsxoJTi0gXFxfIHpbKJMfNN9+MOQlgE8oEMxnsEYZf1XSqswFm586dO3ToEMIoE4Xge9q0aYiHS82yIwayh72jk4kfRKanp2M2LSoqcnBwmDp1KssLkGXjxo1wJRFzxdoBsuTm5sbH
x7Ndxia+b731VlREy7OAJDc3N9QyceLE6Q2gkYiZMmUKu6jFkAqloPaSkhKoIOZfAsQgzOQE6xyWhaUChC9evIg9hW60FEGR0hosWZ9DfLJV7BCDBm/atOnYsWM//PADezwJ/iK6BW1juZpiPTQbNmywvoSUNU/eMATQWsTgm8UgDEEFtYAkdj4g8u/P+HFjMtLS0HUIQ9r16tP3h42b/yDvBJ3v7uYibTSmS+cuOK+kjT+GWffNrCgvU6mk84ceTZOrm5uXlzc0NDv3gIIoaqqqe3Tr0pJHKJpEk+XIX0a6j46CU0GKbcBsuvJvzQrOJXZeWTKKyGqBJeHXnZmePnJYC62id4G2iPnynwZaYYqbW2Npa8UkegRvLS+StjhXz/bt21599VVfX7+RI0f6+lruAmXjBgMD1+7duzHQQjY0XXB59+5da9asgcgJDQ3t168fJho2IMtLsAEGAANRQUHB0aNH9+/fh8G8qKiwf//+UDv33HNP9+49YmM7R0VFY86aOnUahlYMm2q1xo7i6Oj45JNPzp79IMbwiIjIrl279uzZc9y4cfiGvElKSszOzsb0BHkTFBTUoUMH1Pjss89isoBxRUXlrl2Wv5Jw2jf3UE+UgcAyKdgmviOknvqvAHOPdJcFpT8hZ6grD9iwBf8Sn810E655GL10YLkpuTEdCcklZAg1RntQfgr9Ez4DtRyWXWiaSP+izzxXNMO6I7CHMy1nIX1hqPWXhnJg/yNdIGG37AcYTZs9hlqiWNjAcce3ZWalsFbJCSVkG10mDknIxTLiGz79I3RdMvCmIMA1RwAN/lR2KQbT2CbaD1ZQl836HovodbB+1N5a+Bb6pFAneoVtDnakOUdlHrVkoP1QX29IW5f5peHSlhyUhTbY3A1ow+NU2OCTRgh76Ai5rB+AHUH+SkH4jH5CRdFHFCeK4juiuK7VktsCBA+6tILKJwinGVK0hQ9oA9ClrwvC4iYVofd+K0QhCiajo6le
cSEt7813PRIz8lwdFNPGhM2+Vamtv7js9YhiY45KVz1+gu/4ceba0tJVr4VnFZY7hgg336EJD6pNOlXy3tve1VWZJofS4eP8rru2/tSpi88/511alOHuLj5wh8/tNxJPnbletFNqBKVJVJnManO90mxWCCq4vs3dg946bJqBd4hvTFEAbjSmBykZJ4dSCWeaXXWpo+sLHzx48MCBA+xRe9hLdi0A5wauOTQJAqwilDNkyBA2e8mnt+HDh2NqhBlzuBGANFq1ahXCt912m9zyv//9744dO9pSO7NZu3Yt1IjFR6IXQNAGiBwEJCOci3SVZ5YKM4a1RsSzgA2I//nnn5suJNAK2DX05IULFzCtSlEtg3kXTWW9hMD+/fvfffddtsuY9QcOHDhp0iS0kxnbgE6GZUVFxaeffop2wuyKfcWAGQ7WunX4GVqWiZNi/97gzCkuKGTqAs1WadRrv/0+5Q9bCglHJD0trXcf2zU/g4KCT544zvrZevL8vjz80EOnThxnfwUA0BHevr5Epd25d//Offvzi0rsHV3g2LHa0ZILqSlTJ9/k79/Mcoj5eQV+wSE+gdInODyyW/ceOK9YqlqlDouMsqb6BAS7eHiwpLagIKRbr94sr0bnSBTKiMhIqwBTa7UYQ26/Xb6Ap4RWowmLjL5cb6NPsLtP214ZuWNvs4O5qFKev3bouXPyVyBwfg1Hjhz+5ptvkpNTMEb17dvPw8MDJxvGGZx4+HVg2Dlz5oynpwcUSEREhLe3j5SNcvLkyWPHjm3cuBGyHDLJx8cHsiQwMBC/XxSCElg5VlguFAsQqK+vLy0tTUtLy8jI2LRpU05OdkFBfnl52b59+/bs2f3ll18i3s3NFVIK6HQ6DIDfffdtcnJyRUU5BNKlS5dOnTqF4bempgZay9XVFZNRVVU12lxcXIxh08fHNykp+dChg/w8+TdwJyHDqT8KIAygQE62eei+nhDrUhsYbpIFwXK7CH2+/C16V5Ur
1TOsOJy7R6io6CYI19BNxOOTSlMZQfSpdHjtbBTOEYR36J/kQxsuRyBXgiBMpS2MpauWraSR+GAX0H5WF7xAmFkelGwA0uVhKWgB9omCMAsTSuOdfYQqEDSbtS2NXg24z/ojbKjoF2lL6EvIm4TsFIQougkzGICzdHEF+PT/o/fjBdGlmdHguYRAB7JC8qkm9BVF+UOW2IWN6JOGCm8hZCshDzRkAQhsoN2CTQSG0hh0ftO/Rsyjos4qL+ENjG24lMR4iN68x5aKtpbPgNFqKdiIcfTpfyjbTEJmU5WFD9qMDkcWfFBROpVtb1HpFSyKnUXxKVFsKjZ+O2+IYhdRjBDFG+kKGVKsILxEL/ig86GmpCgZzcyLV4ueGOpIjSInJ2nVR445+QbRKPbvEXDPLQaFvmDTOseL54uNRn1Er4Bb74FcOLJ8qTb7hCUppHe3/yysLqqKX/6CIu9MlanGddD13eY8qz+Vn/rcCz7KAj2pjBp7S9frp1V52NfpiEJjD+fWoDLWKc01CqNeYTZhFsD/zXu8V4D9wZ6dyZhgmH/MkgBievbs6eTkBEcZScxjfvPNNzHTYFN2/jcP5pJdu3ahChijFjg6wcHB7EXacNwlIwomJBSLWQfxSEVFiPzqq6/y8/OxyV4/ykBR0DlQF63XDkt8o7XsHZesQERi8mMLAdHCLGB//fz88I0wLBksHgEWz7CU2wDiU1NTsUdSWhtAFtinp6fL/0YopVGkKMqTTz7p6enJIvV6/S+//GKVRtjxbt26Ydda6gEkYX83b94MbwMBFAJLWkOLYE+REcZo5PHjxxFAIay0vzMhIaGRoSE11dJzYhqttqa2Pj0d4/PvD+siUFFe0b1rVxa2An+tnB4gdLXW7vJTZL8jrvRdVQz8pjpERmzZun3TT5vz8nKzsi4ePXb0+x++T0hJZWtUADut3YYff5g2pelVa+GLL7742MJH7PPuu2uUSpVlnKbglH9n9Wpr6n8//mjF
m29KaW1BQXbv2c3y/u/7/23++edvf/gxumOMdEbh120yezenmnAeXkhMs9bb+PPfHdu2Snat0/x7qETBN3BJhtyp4PwmamtrMFBs2rQRA1tMTMzAgQMxTWDcYEMNJggokNra2g4dwhYsWODh0ehVaeDAgf2nT58+e/bsjz/+eOLECcwLkDrXXHNNjx49MBqjKK1Wi7EIliiQFYtvgBiUz74ZrEbEINU6aiESYBPzBX4REFRdu3YdNmwYRNe8efBVSCQV3rt373ZyckTtZWXlkF6HDx+qrKxgJXDaNxAVz0tBi5+K82aptNUmHqEuI4ZMnHkQISNFMUsUv6IqZSKNZ6MpmzP202sRNwiCX0MS8sI/3tQwTeCE/IiKCpzfaMkOQegviq/CRZZd6EDSddQe3vbP1BhVwxhhjGvsvGdNQq6ChpLH0iZJvwqaBeoC5cgfLvKmbwWFEGJ/RkJF8PKHieIPojjBsoSwlB0N3gt1QTM+QYXcJFkngPP05rfxovi9rHAwkS6kxh4BQlHojb5U+SDp2gYJhyR8ZtFIdkvbK5BntDGsfJhB8ATT5/ihLlg8PghAQFqBmsqjSyawNiMjROMoUZQrnJ/pwtPSX91oD1sGGgrsT0KOyoy7EwL5l0ZXioN4Y3/dtNqjFjQAe/cqzihRHEpvLXtdFOXr1P19sDa7TVjGT3Od3lxbZdbXGOrq9HVmg6iqElX7zyctfEq3/WfHemXJjWMDH3nQcCgxceaiyg8/tSf1tWPHRb39in1VXs79M/0OHK+y88+cOzvmo2drTu4uuG9OZGKWQJxrb70n4JlHlOkpBYsWeZaUlig8xAcfdH1wqkFnZ6dWOwkKlUYpatVqwc5O0DoKWmdBLa0WjXPwKsFPy94ekskCmxUQwyYSK5gk7r//fiZpYAbvCg73xIkTc3JysIl5gsEWSkYqs4G8yczMvOGGG44dO4ZCUCZKsLOzu/XWWzHfoCgYs+rwjVQ0A5Pc1q1bIYGs
ugJVTJkyBQU+//zzarUa0x675HLo0KERI0ZA/yCprq4O1SGSgRh8s/ZkZGRMmDDhyBHLTwB5USAasHr1agRgg3oZLBcqZXMqA2HEIwBjya7xWXvp0iVoLaRiv9AqCBLIkqXN8cILLzz00ENszrb0lNG4adMmNJs1XiqaIhVNKw0NDWXrCrAu3bNnD4zRJNSl0Wjmzp1L29v8SYvs2P0vv/yS2bDC0ZNoCdrz0ksvsYaBV155ZfHixfj28bn8B9edO3eyW+FZN6IBqBoB9i1v519Lp06x026+CU1l/YB2hoVH7trzh7znEV3q6+fHrqKgotKSEhZvpXNsJ8QjgC7q1rU7DhmL/72YPGnymTjL41UIo3B/f/+Dh4/m5+exVCunz5xxcnVjLQFajUZNV0K7Ir/hKZ1mYbOeRHZ2dp1saXJ0Jk5jaaMxKnL1o5gNfXrQeccG86UBA9dv/Una4vx+nDsXjxEDWkWj0WLUGjJkCFQKG29xHqalpX399dfe3l5dunQZM2ZMWFiHZl/6uXfvXswU3333HaYANzd3jDEODrrg4BDID09Pr06dOrm5uQ0fPnzGjBkoHEBTsb+IQRT16tULMfhthoWFYV5ARTExnTp0CPfy8qIr66hgAHu0Jz7+nI+P9/vvv49BDMoK00FAQGBBQeEPP/yQl5crNYXz7+Bm6jGxYRqjKpxUqBS6dWX6ExImG2XYOx8O0MfcMdpa41FsLf22vCiwyahkvaNsFiHJ9K01GDRh/B9BuIe2ZABdGYyBYldSD/5T+mQ/klEaRvnpglBNxYCVNxruDYNUgOiCaw5L646hCpt3hPUl5MuG9coAZjg0YFlDVzzWkBcNQxtuo9dk1hIyi8awJNbsOAiqxje/MbAXrzd0Cxr8JMpvsAklBJqBdQuibqSBQYR8RtdpAIhkrTpAdddceilM3sMADbau34B92Urv8bNONjjEb0tBCxgFEgiJpSWgZHyjf3CMGIhB3psaSkMHwln8
nl6WYdMSqxff+EBb4rOM3ooGYbOmyY7/DcFhugrMBAdA1NardHq1wqw0KUVDdZEiM+nAIw/p4o/VQf/ceVfowmc0GXlnnlzolZjsZPauGT7J/7X5dqS6cOFij0sFBqUrueGWiBkz7dIKzixerKwsKHLWma4b3WHGjPLkpLiXnlSWpWURZcR//uN/y6Q6VxfLHXiWAy6iZnbg/wQwMcCxnjp1Kr4RZg4u3PozZ85A5xQXF1uvACAA34vZwDk+fPhw586d9+/fj3mO5YXB+PHjH30UGrsZmPseEhKyYsUKnU7HimUVofaRI0c6OzvDyUbJKAoVFRQUjB49GqmoDiA7kpCFpeI7ISEhNjaWXUeCa4hvzLu9e/eG7oIBK/+3kJSUVFRUhJJRGjYfeeSRp59++vHmWLhw4ZIlSxwcHNBIWKKd33//PZOIyI6m0vIagXgYP/zww+gBKYrCdqRbt25suSFssvimbKewGlEIunT27NloDNrJWsVYsGDBE088MX/+fATQEmZfXl7+zjvvsOPImldFQdVoM+ItFfzVBAUFD+rf98zpU0x41NXpozvFvrFiOUv9I0BvuLhYnsbBiRoRbrmDX05kRDg7qZBK2qYrrgqdvVZfK73dEgfF08f31KmTbNOGM2fjXRpezogz5EJqypgxbBnSv5K9e/ZaT2acQn/cCLZC5yB6uDXMvwzLCscLEppZsJvzO5KQcB5C5dtvvy0uLvH29oEyAU5OTjjcGCrz8vJOnjyJodrT02PWrFndu/eYMIG9gcOW3bt3paVdSEpKPHr0CAo8f/7cnj17MN6uW7fu5ZdfPk2BLEEMRtFffvlly5YtiMnKysKk88033+zYsQPSvqysFCc/hrLQ0JD4+Piff/45NzcXCgeTCCYC6CiUHBcXhyoyMtKlijn/JnDyMVcYk2glXUiNbl0Zi3iQgha3OF4QDooiXPngBveXgSSUjyEPARZpTQKIHEHvqtpFyBN0AS5Uf5BGorT/
EXKMrm8GM8TjG+VAnGymBmzW19JbsJB0U0PJCEMssWfrJxDyCX36hZVgBWEUexchi+nbOUvpBRl2wQRsEAQ/UUQD6JZFn2Ces/65Dj3Wm95yZrNWNaqYIgg3NNeBmwj5hjYVaShngSB8IzODsGT7gr3DzA1t1o/2LSzYByWDX+gVJCiNTnRT3o2ATfmQXui0dQ2XVhiYhnFkUQX2FPsLxYLGOFIDRGI2HSMIveijQaxNiGQ3qkUS8gMh/6XrtqFtrDEMlLmKCpv76ecfoW2ssN5uK5blYEV4hQrBrIQTrTIb1SXFycuXh9fXmGv1nkOHBd09va6mNn31R34VRQaNOdfHL/Ku+wwVpfHzHnO8lJ2rMvvcfEPMvffmH0va/8STQZUVor2TdvTYsIdmFWVcyFq6LCwlo95RGzbjTsfbb6n38SoRzUShJJY/t1o6nB37P4H6+no4baGhoXCOMWcw4O3Bs0xMTIyMjITrjEkFlvCP4XthMvvyyy+feeYZSKCamhq4fbC3uH2E+Pv7z5kzh7nRTWEuNYpFxjvuuANmyMhkAKauQ4cO3XXXXXZ2dvCTEFNbW6vX65OTk8eOHQslACmFGFSBEtCA77777qGHHho2bBjqRcmIh3eOjK6urm+99Rbbo9/uqa9evRplojTmumHCRgB1NQWtwkyP9lt8O6oZ0DPQOdgETCPZgAaj63r27Nm9e3cpioKi0AkrV65kxbLSmoLs0HjsMRXYoIqIiIj+/fsjC3qPHSkGOxxoBuQfSram4piyOxJZLdiE9/Dxxx/j4DazgNifDjqyX5/eF9PTNWqLwkEj/QODv//hR5b6B4FTTiSWkx8dkpqSMuehy/c59+vb79SJE+g99KSbmxvTXa0As86dY2+6afKkJvj7BzR7UKM7RqvVljMN4HTavOVnFm7KsWNHfXx9rT80fW2tr498/ZW/hpGjR9TVSyIN0t7J2YmF5eA3GRwdLHWEjBtvnHjzzTdLRldiwVef
rOjVR+wWK2oUgpqI+PTpOZUI6882rwk5vztZWRePHz+2a9eu3bt348cSHByCGaRTp9igoCCculAjGzduLCoqPH/+fL9+/TBQ33DDDV26dLnigvhXJCgo+BpKRUUFRnv8VBHIz89XKCy3QDs6OqFJ0EsnTpzYv3+flIfzrwTqIooOOADjLbuG0BaC6BtvmOPLBmr22PfihtIYSMK8DoeYWWLK/IH6+laQiql9niCE081qQXieruPcURBy6NM+GLL7U3ccRaGEBOp/w0lFTBZdusCXvo30hQYDgOoS4fTT+7WYsbxJDMRA0mAX7qJLJFfQXGjMxiZP6cDRR5PYNvaiiD7L/i294oQ2WO1Qy1JBONzYoYLkgK7YR0hX2jzYQIpc3/g2sLl02WvWS+cFwZ0uA8BeCceMkBEqEQoHXfFkw24aZFUzRgkCRpmf6NprrH8YsEezUeljdE+xv+xvKjC4RB+biRTFQbSTmQeGvGgG6oLs3C4IPWjDUBcrMJu2BOUEiOIb/yhhIwf7eBUo4K8KxKgU9Frojnoh82LKkted9p6oqTerR0/ye/iRktRzGQsXuJ05ZdbaV/Xr2Xnl01Xa2tOPPxkWn1IjqFxm3eF8/9TKuPiKl94IKLqoV6vc7n0w4L45+pLyC28ti0pI1Bp0DtPu1s28q97bU1TZu2scdYJCbbLUih7+0zqZ3XUAd/m5556bP38+kyvwn9hf9OGsv/vuu5iiOnXqBF8E+gRz1b333rt8+fLq6moYME8LWeBAL126tE+fPo6y5wrkwKdHXSgfgUWLFmFSRHYA9YLU1157bfHixc8++yxs4MHDDOoCgcLCwv/+97+jR4/u1avX5MkWl7Fr16633XYbWlVVVYVJDiUgO2rH94svvhgbG6vT6ZARm2gVA+HWkezoQzUoENnPnDlz5MiRuro6tBabqDQkJARhya4xaC36AVMvmsFs0HtffPEFwihQXj6rDsBLRrHIBZ2D7NhrGCMS9s7O
zj169EAYyLMAtklLIgcOHGASEaCEGTNmsHKQJG8nUrEJMTNw4EDmZMAMVUNAwhXAziJp2bJlEDlsRYqLFy/+/PPP6FgUbnWj/2Tq6+pmzXygqrxcQ5dGQDPCIyJPn43/oxd7VdA71tgZVVtTExR0ef1uN3dXnPAIoDExnTtDlrP4lsBxMur1diqFvVpl8ynMyYaakuxkpKen4WAhgF+/j59f6w9GZ2ZdMjXcHobfqlopqaM/CcsqJpfPzNGjR9wybXpRTr66YVE4nD5FJaUsLAcnXnlxoU2H4KPT4tRvdKq3zoJfNpDTx6f6+U3ROU718Qm+mL4+w+YeDc6fRGpqKrsgs2fPbgwpZrMI+eHp6eXr64uBGoMYBmR8Ozg4GAzSGfuruXQpC8N+Wlo6RmOMzwkJCfhOSko6f/5cZmbmkSNX+FVy/iX0p6/vZLMXHFk47vIHNlqHrQTA8iLPdEHIpXnZI+xWEIWSASyhp2+gL0VpCnM6VyK7KH4kisPo3WXwTpDL2iCEUVQEnTUQPi0Ig0RxC610PCGdGnx0gN8PKppCr1EgGcaH6JUfIB89kWQtHMA3Gg33vckrgODox9BCAKrwbGgDwtbS0DAYNF2BejP0kiCE0IoOCsJwen2JLfTMgILCIWDb+I4UhLvphRqUZjVCAPMW2sYWeMDmBkF4t/G+ADSyA01l/SNPRcemiOKrDZeS8H0KzaMd+DptzH8adpAB+YcY7CbSLMkUTMYoZyBd6Nn6DNU/lKsUOQJ9vkJjEkyldukpJ59ean/wrH2d0nfmff6Lnqk22WU9tjDo6Ha9ymS6/baYZS8onIWMp5/sdDK12MGh+pab3W6YYMjJKX35xaDMsxq9mdx7h8utNxnzyy4seiHw/Kl8F3Py9MkuD8wTHXVqs9HOSBzqRAejoMQBJJjtVQrpF/SHQ51kix8MBxc6Z82aNcy3ZvqBOXzQGxcuXIDvu2XLlqKiIvh5iGffSMU37F955ZXx48ej
HPgxtGBbkARgibCbm9sbb7yByY/VgqLgW99xxx2zZ8++9dZbEQNLaxX4hsONBmzcuBENYA/qoBDEo+UoEDYoBwXecsstrHzE4xvxDIRbR7KjO8IUy6OPPsrWVUNdaEzfvn2ZjoJBU5ARZhMmTBg0aJC1zYmJiSkpFscLKoKWbcFSGQWRAB0LkYMA2yP2PW3aNLSBHhYL1NyCtS6E8/Ly9uzZg1oQRiGRkZH33HMPs2edbAWFIwbxCECq4eAiC8LI++STT5aWliJ7REQEFFp6evqmTZs6d+68d+9eZERFrPw/H62dXWpKMhoubQtiSXnFn/Ny9O07d8IbQwDnXFFBPosEbq6urOehexMSEhuPtM2ADqysrKwor2j6KS8vl58JVgz10g9HNIsRzb2KRI69g+WinLRBSGFhgRT+U0D7hw8d+sTCx/GZM3t2kH9weUkRdgx7jVR863QOGzdhHrQFGcvLymw6hH7KK67++iGEzfrS/PVZafztn38fIM5PnjyJX+vx48eff/75ffv2bd68+dtvv4Ua2b37ty7ZjPPn1KlT2dmX1q1bJ0VxOE2YS71zDLIWf4r6zW2HrQoNkBHnK3sa5C1ieQ+yzXTI5oBb6CMoF0TxTEONDASQBbJkliAsp4VYnv6nEsJm9IelZeLHVI7ZHypLNjuw5+/lYBMflMzWAJhOq8bUaK2XweYG1P4a6qVXhGjEZebRPbL+1QHJ7HOSLipttUZdKHkuXXYMn030dTFjG7oX2d+kbWhavvxCEwph17uwmzbtRCQ+rAegJx+GKyWlXIbZADZ8sF1DFnhXr9B6EUAuHV3wDb23tKExfQhheoaBZjDNJm/GbKo/VzRp/z8U1jltxWQWVWo1qa8wJyekPPG8T1xqtbm+eFA314k3iDUlhS+85qmvKXF3M4wYGzTj3tqy2tQX3ghKyjDXOdYMGxt05yRTUkbyM6/ZlWZm60j1qBtDxk8qPrU/aenjuqy0Go1j7b13hj02
2+CgUIoGQWESlaKgMgtKk0lhMhNBYSYK0eZk+MPB/AHfd+rUqS+99JIjxcbHZZ4Zc39ZDLC3tw8KClq1ahUywoFGFuZGtwJKgH927bXXLl++HMbMHv49POy33nrriSeeuPfee6GCUDLzmQBqBDZVs0hkDwwM/OSTT26//XYmjaTkXwXEEkRabm5uWtrl9bsQCQGGFrbk9LM9qqio6NatG9oAM8QgF5QSfGLrXshh7cQ+Dh06FLuAwmGGvIgcNWpUs3uBSFYyAjhGKBkBgKMWHS1/LrF5sF8333wz5BPqYv4xdCNgAXb7R1hYGIQZxCdsWhKrfwKo3UF3+Y1hkI2C8U9qDESik7OzpVfV6pSU5OuuvY7Fuzo5s57HIfOSLeHQCjjsLX2apaphBTmw/8AV3sJeW1UL2crClnPvz10wCqfnqePH4k6exOdCakpuTjbaYD3Pa2pqwsIj0Xts0waYybvC+uFwOJzfzr2EXEOvlgBMqK9fzWWcDwjBVAprDEhHBOFumrEvIZOoc8xAEqbPVHqDVn/ZM/G7RfENQcilBuCEILxMb6ba3GDwbMM1HBtYgRvp2tNHGjcVIkfu9MMSHwysKxqvATBJFNEYbOADA2ie7+lKZeGiuKpxgYzHCHmkoWRWO743CcJIWtQYGs9gZcJ4AV3trSs1xi6gDahxMFrSpPwoQrbTbpSXD1A+YGEGkgAkymJB6EBXo8am5bKbrFX4wEHcTB9Mst56BxC/lgYAeyC1qYvwUkMVVqzyZp8gPEhf2Wlzdeufjrx7G0F9xSYQUg/Xs64u/cu1/scTAirrjV5OgfPvNtorU1avdj66z7HWXOEb4T1zpqmCZLzwnsPh07Wq+pyoqOj75ig1muSV7wek54liVd3AXmGLn1aUkPSXlpgzDiocTPa9B8fcfr/Sx9ORGERlXQWprVUYDEpjncKoJyYTTioTaXRq/ynAgYanAid49uzZEC3sXfvUI5HAJnOOmUPDgNmnn356
5513srvU4HDj+4qwDp4+ffp1111XX1/PLjWgNPjuxcXF77zzDhoQGxuLeFZLs7BLLuHh4VA4kydPtt4qJtUha7y03TKSHb3ugXJeffXVixelO6MQqdVqO3fuzNQLi7SBniwE2mDw4MEwA2x3fv7557KyMiZgGFIG2ttsEx140034/VoKgS5CNwYEBCBMrWxhhdTW1rK10WCGBiPmtttuu2LPwyAyMrJ///6wR5PQSFTHHv6BpFy3bl2PHj369et37tw5aCG9Xs+O9V8COqdeNheg5eXlZQ89iEHpD+fIkcNePpa1AdEtNdU1zvTBEi9Pr5LiIvQYGhbVMSYjw9L5rWM5frSQpkjzRhPstNJrRmES4G/zguYmKAgkLwuitVrt5Tdf/QlgL5RKyxVCgPNEQSSFg/PKzk47cvR1a7/9jlna0OKJbdnpK/9OORwOp3VubfCDMSPCl2ULGbeFpwi5jo7NmPnw/ZQULbDXkMG9xgdJRqofRtElktmdbFbg8fcXRbjOoaJ4E31m3XoH1wD65lAbtw6lYdSDlz8RPneT0h6nF1sYMGOtmi0I10LSNNkpNCaMflA7hMo8Ufy55R1nK6dZy4RcQS40gF2QwfRmrZeBmQYJiERgP939kaK4UhRzmqtiXMNTPay71PRqUpAoQqhYJQriEa6nF9mwOx/JyskSxdGiiN2EkEPD0FR/bIpiNVWMzA55cXA/aMiFeGDzYoFhDWusMdjO4htiEkfnNrSn5f7559LoOoCc+lpLz5uJWVRb3oQDS6XRbGdUiImppd+vq/z+e49yZc6QXqFPz9VVKeJfed0hbq+byXxxyOTwefPV+uKsV1/Snjyl1KnKRwzu8MTLyrTSiy8/oUs7bnR0KB0yJuKhuerckqKlr9VdTMzVqJyGDo2Ze19daKhaoVWaxDql5SlnreWQ/SHALUtMTFyxYgXzSAz0Af1ly5YxTdISMKuurl67du3evXuPHDnCFhmDGkESc999fX0H
DRo0duzY66+/HhqA5WKODqisrMzKynrrrbdYJLJAsUA7sVQ5KPzzzz9nJQONRjNy5Mhx48ahAWjtV199tX///oMHD0L5IAZOOUqDCIG9j48PGjBmzJjRo0c7ODhY2wA3C7uMfYyPj1+9mi2kYemEmJiYWbNmIR7FskhYokAopdOnT3/wwQcsklmWl1veK2fdHTR+5syZaBvqtVbULJAfzz//fGmp5WkEnGzYcaivrVu3skf5EYPyFy9e7OHhIW8wuw0PxjDAfj399NMIsAtcADu+fv16HAhYIhIl9O7d+/jx4ywVwGDJkiUok91Q1xLIjmLR24cOHbJ2AkB1OBnOnDmTnJyMeOzj3Xffba39T2PUsGEO9nZoIds8EXdyyKBhZSVFarrwAOKdXV0rqmo2bWZ/D7pMz27dAvwsr2YH2MecgqLTZ06zTTk+Xt79evewDgDZuXknz5xBoHe3bn40Ow63q6vrZ19/M3fOnMT4OI1Gi67w9vX7/Kuvxo4ZKxjqVGq10WAICA378KOPJt14o766CqcTDkedybR9x06U0K1b19CAQHPDa/vLaqpSklMbTqLLBPoHdggNhoJCGMfOzcv762++QXjGXXfm51kWjMbOxnSKeW3FSot1C9w86abK8lJ2mHAau3l4frXW+oet5ln0xMKTR4+pNZbHZpDxuw0Y7Zvh0UceSTp/Do1AGM3z9vH77KsvEd63d+8rS1/Ejx9htFAURGgbS4Ce5ywyJDT0p63b0tPTsWnlsQUPJ5xLYr8mjVZ7MTs7+1Izd5fhd5svuz+Qw+Fwrpb59N38zLXFJHdzk2sjrZBHCBwRjFMYweF8s1uhGPPoS2bS6OUItrjZ1TKXXjxBTnxQhWXEpHoJo3xLMowt8oY0dlMZPP5fV3VTPiFkBC0ZHsNg+liLlEC5j5CnaSMRi2980J/4PigIn6MHrtQGHALsKYAnDRfQeqkngq7+jBkL2+hn7PgOQZA/xtM6OATWq0/ovakN
ayGweID+kV9WeoyeCeyAwh4JJ+gKCsfbXOM/kRZFTrHlOS5BKcJnUWiMgtogGvQ1yuKC/XffHVCSSxRKx9G3e86536SoyZn7mP3ZOJ2oK+jcJfTNl421FYlPzvNITCUK92y/0F5rXhPr8089ONc7P6fCwUnTd0T4Y4sqL6WfefSh6NKKcrWrzy2Tne+cWB/gU612cBJUaqPZqLK851P9h4kc7DLzbvENZwi+NcJwOODcSxbNodfrYQ8buC9w42CPmJqaGgSgKODbwQYOMVKZfwOYE8NgNSIJAWwiCVU364IjHjaoAqWhWOSCX4V68Y1NfCMvUhGDBkBCIOzk5MSKQl58w11DwLo7MGAB1n5rmNmgQKu6gCVayAphewSYJdsXuaPPItE8q2WzwAygZJgxIQFH2Z6ugQaQHUA96nQ6a7/BGK3CN8pnuVAC61tmgE1WNWzwzRrACgesh1mnWSObBS1hDUMh1p5BY7CbyMi6umn5fxpNRY5Sad+3R/faWssKfoiBwAgKDduydZvN8gO9unf395XuH0Nv5OQXno6zqBcb+vXt5+Xmwo4saEXkDB482NfDva7OMib4+Pn+sn3XPXfdeeywRRni5KkxmH76afMVRQ52Izuv4FRzzxFNnTpVNNTjbEYY3W4VOa+8tHTf7t3suDs6ORkFxfr1LT548MZry3Zu28aMcWbUGk07dlra0Aq/o8hRKBUVVdVJySnYz+tGjigoyGfHCL/k4LDwd99rdA+8XORoNZrqamHLjuar5nA4nF+N5UYpOvbig2kMw9CLbfZoRxLyMb0tCq7wniZ+/+/CDLqoWh9BOIbpjL6D5YoXE0bDK6ABZLG+/fNPAIIE4qc3DZ+lK49d1RP5OBDOLciJ6wnJQSdf/b4cJoS9aBUzDQ7TA7SE8YSwyQYbI5sctQ8IwdQOdyFVEDDF2lwoa5dIXmMzmI346PSCfZVAjBCLdRp9RdKy13sVlHrVmkmvLi7z/yPq63Kff9vx
7GmzoI9zcQh45GGFUJfy9pu65ASlSlkRHNztxcX1tcZDMx4ILck2K4jDwOFRjz0uKIxpb7zesaSoSGvy/M9kp9unmwIDatQaUVAoRKaS0e9/YNczJxguCHMfmVdkdfVaAvbskRhkZ44v/HJvb29PT0/4eUiFk4RUyB6kMgfd6p4yWI3M84aB1au2AR48zJgxzFAdkxawZ74+SkYY8ZZnIby8fHx8mJuOJMRjd1gbWGkAYQB7JKFABgpBLritKFOyo+oCwAz2LAwQZg22iUQJCOBbytwCsESrWNdhE1mwyTQMA2GoROgNZg/QABizvUYALUcDWBKDtdCqfGCDsFQcbT++rcqtFZCR9SoCLC9AU1nzUC/igbyL/logZjQOOo1Wa6KyQaVWZ6anTRhv+0KYoKBA7AILo/1ubm4sbEOt7DzBzuro6gLNkpl5MTAwCH2CcE52zpAh1xQVFrB+7tQpFgqHmf3unD+fYGx49Ki8rLxDaAgLN6Vvv37HDh9Gk9gmdIvBaOmiPw3RLNbW1efk5ubk5ZZWVVoHMJz07q6Y3Vrjz1bPHA7n38Ev1MnDaARhgCn2qtam2CGKwaI4SxQ/FMU/QuEAlIzye9Pvh9t2u9Qv1AyfP1PhgFRR/EQUH6Kf965+zbFkUWzpgslGUfwVCmcAIf4NjjJmGaZwIKWke3Xok1dNj9pMUbye3oa3osmtgO2VlkUO1DITzBpRr601mbOT165WnT1QqKjLiuoUsOARY01B7qvPaHb9WKMwlnXt0+OjZfVh9meeWeC6Y6ujwr127A2Rq19Qe5rjVy2OKikX841k8A0dFjxWr6w+sWxB6NkDDoLKbswN7vfcofDzEVV2WkHjZCZKuPdEMFt6/gqu828BnjGA8wcHF+41HDW4+4iRklsANuwbzje7+INN6gNb1AKAg4VC2BUJYHUfGTBDDAzgTWIT9ohhSTagVXb03TisTGzSSizGqBebAOWgGawQgBiEUT7CCMBNRwwr
DaAQ9m0D7FERGszMAPJaA5IR3Sn2jRpZDIANqxffLEtLwIbZowTWA+hwFgmQnYkZa9UABqxSa41s16TkBqyFyMMAm6wuFm4Flgu9SvNdhgkkdA7KgQ1rBsvyl/P1N1936tzVbJKuzqFtlzIzQ0Iaef8O9g7W7jKLZvm6z3L8/KW1oQGEnJOL9DLNpkBc2TnqmDGUblSHDnk5lnsXcaTiExKYzR9BjV6P3xsLQ3UajJeVsA2B/v7lZWXShiD4Bwbt3btH2vhzkJ2eP/64oUuXzqy7cOacOnFixfI3WBKHw+H8OYzHHE2vkDDepK62tMH5h/O99K9Fvm6QgpbX47AjjsP8Fj/WlBZdN5daJT7VGpPBzqBOTzs9ebbrBz+4ZZeKw0Z1fPsdQ5Xjxbvm+2zb5GHS1/YaGLNsub17QM68Jd12HNWZxbJxEwNnzjdW6U/Onx+9bVdVDSmbMdvvqcX1cRfzb5sfs3WnWaipu/OOoGdeqPV2NWsUGqNCZyBaM/xm6jv/watFowYGc+WZp4tNKbkFYMDMmCXCgMUzrDY2kQyrPXPfGSzJBhjgG6nMkpXDNq1hBrMHLMxSATbxzZIAwsjLsktRFOy+TQygBdtmRwx6qWkkAuy7dWDM7FmHM1XDwCaS0Da5yEEkay1LtW5KydQA9iwS39gEUlpD24A8S0vAhtlL2xTWHmshDCntb8CPGzeGR0YaG67VIDC98Vsj7RwdrXukIAqtRh0UFMw25XTqeHkBOpPZHNs5VtpojqysS5LXTrurqsrySBW6xdnFhab/IWRkZHp4eLIwzsC4k6cebm6tBX8/fw3Ogoa/U9TW1mg1V76O94eSkZ0jvwAYf/p0167dpI2m8Es5HA7n92aGID2Kg8ngHPd6G4D2++BKn48IeYcQfxpgMf8lZBV1A8YR8r7M0vp5l2Z5mpAombcA4w+bWFo/rBZmGUnIXEJWE5JPyEVCshq+1xCCBjMbKyi2vuHg4qB+SAPIPpq+
Lwg6530awwEteqhKvYiPg6hQ1ugzNu3TFpCCWof6wdcFP/2Yyd0p97112iJzpltgYkhnj0cXVPs4b1v5fl1ayUVHz6w+fb1n3myqrz6w9G19Qa3e6Cl2HeR//60KR8WJL78su1RQoPEtvm2m630zqlwdyjWkWmkyKc2i0iQojWbL0ziWV47++atFczj/FM6di7+YfcnF3Z2pDuix0ydPLHryCauSOXXqtIenp/VKQlZm5qz7ZsbGXtYwXbp0nTfn4YRz5yDnsGk2mwODAo+fOMFSm+V8YiJ77gsS5+jRIxp6qdDewf5sfGsv6PyNHD9+LDIqij0LBOzt7TPT02bce4+f3+WV1vr26TN+7JjysjKm6yAtQsI6nEtMYql/FQcPHY7t0sXccICyLmWNGDaUJdkAC58g7/EtMGECWyaHw+FwOBzO1WH73IiVChpvNOt1BmN5XJIxr9xB56gI9BFCvbXm+qKjx+sV9Sqlk73g5RITSkxlxcfPE4W5yk70DQhS+3hVVBWVJqXoRHtiVOs6R9Z5aR2Ki/Piz7s6uepLDSQyyi0o2E5vNmnEWrURwkZlmezNoqBQm9UKo8VdkR4u43D+rTRdeCAnx/IyVsbSF1/ct2unuuG+xJqamhtvmjxn3jy2+dwzzxzav9e6jLLRYHR1c/Xw8qoqr9Q5ORYXF5WVllrzmkymCTdOmv2QdJGk6cIDLH7RwsfjTp+2XtRCw7r36PHiK6+yzT9i4QHg7x9w3agRBbm5TI8BtNbdwz0isqOji+583LmS4qJ6uuQ6ktAkD08PnYubdRXB1vkdFx4gClJQUnb48OUXzE+dMqWytAQdwjaVKlV1Xf22bdsQli88gG9HJyd0GrWyxdvby93bb/Hi56RtDofDaQPz6Pv12bCCMSiwBU/vX8hcQp6i93QB9I9l7WAaBtabTBDYIQifCMJ7DX2ISWKPINwqiujY+XQ6Y7AsmOFgpmi4brBfEKbRDs8kljWv2eOhOAo2
VxWw+QpdSo4tv4ZNtAqNYUWxXCzLbkG4Q3YE0+iNiDDAtHeAvnv0K0KG0OyIQQn8cFux6fPLOBOCj7vSXmvn5Nm7p8/4YU7DejtGBjtp7DV2Lv5DRoYMGhPQf5B7/yili0bh7u113TDPUSM6DLnWIbyj2tHDzTsybPBY72uGeQ0f5Ojj66Fws/eKCB12vWuva3xHjfAJCbTDAXdUKDVKR6J1FOCLae0FewdBq1YgkiscDucKPPX00x0iI60LDDg4OPzy0+ZRI0eyzfc//Mjb18+6nINKraqsrMxISysqLszMSK+qrLQqHNh06tLVqnBaISX1gnx9CKPBkJaeIW38YeTkZJ+Oi4+JibHe/QU9U1Zadvzo4V1btxfk50HzMIVjsiwa4XDidFwbFc4fzaHDR7z9/Kzqpb6urlf3bk3vG4Qwq6yoqK6qavrBYaqqsiyrzeFwfi+sf6Zpx2Af4Ygz4Ex9KwU5FuD11lIhgQ+mT6uziVmEaRV8iulLaSJkqUhiL6lYKPObEUAJsGeCBN/YxETVTxCmEjKInmosiWVhhVs/1YKgpW9WhRxFLkyukCYIoOqNNAtqRwmYqgfT7IwRdH05VizszwrCAqpwEIMsiJlGkziMFq/kyGmLDcM6fLSU5d8wvnA4vwutX8kB3t7eUyZNzEjPUCgsPytYenh6Hj8dd+6c5RYyZ2eXhx56MDH+bG1NjfV6ghzIBjs7u8CQkB82bJIvQt3SlZyxY8ZA2ViLQnUmhXLLli1sc9KNN+irq6UrOUbTdrp8M72SE8AcfezGr7iSw+jWrfuwwYPS0ywqyyrPrJhF0WwydYrtfPTY8X0HD0ixbeCpJ544cfToVV/J8fX77MsrX8kBc+bOvZB4XtHw/jqzaPbw8vnsiy8eXfBwYsOVnFZAD3v7+AZ3CP9nXckZOXJUVlbW4MGDINPQXYWFjU7aVsCR3bVrl07nGBwcFB4e7uXlVV0NN6AZ0DN+fn6nT58uKiqifyq1
3MPJkkDnzl28vDx1Oh3OXrksb4qnp2d8fLxeX4djceRIo2PXp09fnLcREeGlpaU+Pj7Weybl2Nvbh4WFffnlV87OTo6OTnv27JYSKBMmTMjNzQ0JCamoqAgICKilp3dT0AaUL23QPzpUVlYmJiZVVJQ3+7O1AV3h7u5+7ty5sLAOSUlJly5lsfhBg5iLdXUgS0VFZY8e3VNSUqzZMVDgOJaXV3h6erSlSQBNSkxMDA0NS05Oysho9KeQgQMHspcu4PRA51j/TGODTbcA9MzSpUtdXFwxquC4BwYGomTr3z5aB7Xo9fpBgwZfuJCKY4HmHT16LDU1RUpud7D366NrmNc74N+xWPCvIJ0QaBvL/ET7KrhxL60mZEJDKsyGUXWEYcJqjx7uQLP0IgRKkvU2+4YsmSwI8vfYbBAENlnidwUD61JyNxCyhqojK9saNlH+VmqMwC8N9s8Qch8tFuXg17ieVmSt5X7Uwo+1jDaJHCtXNG52VJXn+hXDLofz7+TakaPsNSr8fhDG/8fPnM3NtX1l5PXjJwgmg/VHZTKZfENCPvrwI2lbEMI7hF937ajaqqry8jLJIcCwrlC4uLkplarzSYmHDx+hhpfp1a1rgJ+fJUQULq4unzeInN69ekd2CKsoK2VXThx1upSLl44dO8pSJ904QV9Vq1arTFAcIvl5KwZnoVvXrmFBgVAgCIsCuZSXd+p0M68lHTBgYJCPlx5+pCjWGwxePr6ff/WVlCZjwMBBAwf0Ky+2wNZdUCgUdvb2CqWi3mA+cuzopUuXmGUbef6Zxw4ePMGeL1Lbab77oXmRM2nSpPqaaiUdu9CHvkHB//34Y4T37dv36gsvMIVJBFJQXn7o0CFLBhmPzJ+feC4eHY4wnOaomJjlK9+aN+/h1PPJjVe7aA7RcrtaRV39unVXtfTrX0ZQUHB4eAd4t9brV20HU0NERAROLTijNm5x6yCLr68vTubjx49hs2PHGBwRKKurmmvgc0dF
RdXW6iF1PDw8o6Iis7OzIUvaXohWqx0wYEBq6oWTJ0+ghH79+p49exb7crVTHlrSpUuXmpraxMSEq83r5uZ2zTXXrF//LWRAWlpa6wKvWfz9/QcPHrxlyxYoEPnEDbkSEOAPDc9WB207Go2mV69ehw4dLqCvtR0yZEhOTg5UH0ttO2hM586d/fz84+PP5ufns7a1vX9g7+3tDYGE8xPKGRnj4uKSk5Ol5PbFo4TMlXm9qxu/xJNjZQG9SYzJCZxJmwThwcYddYkQOmVatAT6M0QUJxCyisYAZGHDHPLY0XIQQIfjG9PAdFG8YHmpvUWfMGDDzldMn/gBMHXE2ENIOE21Sh3MSaw0vSDc0vj9rdsIiZSC0s1prAqE3xSEN/ixbsyvFznW8aXZSDlXNOBwOH8osbGdY6Kj09PTKsrLPby8AgL9ExNT5H/8/mdxy/RbEs7H19boo2M65hcUHDliq9M4fwkLFy7873//y1aAuCowR4SFhRGiqKysuFp9wnBxcamurgkPD8/JyYYP/StKQBvgB9vZ2SkUyszMX3MfJqRdbGzs7t27+/btl5Z2gf0t4KpAGyADvv322+7du+fm5kqxVwk6oUePHuvXr7/aTkDtPXv2hE6rrq6Sy1ToN19fPxcX5zNnzvy6joX0+u6776ZNm3748CEIPynhakAbunTpioML5G1A4W1pEszQJ7/88gt2pHfvXjhbIORKSkqk5PbFL4TEUP8brvlBQZjKvd4WkD+2pBGEZfTxGLolcZEQlooRbQU+9IGcR2W6BblY2GoG3hCElaIYTcg2nHj0A5BkHRYxLuA3ENa4LpT8kCDY0wJRrPXCMdQO9NUdgrCb2uNsx9jUKCciaeH76CNDUhSngasTORwOh8PhNAX+fTV0Rk2N1enE5KJWq52cnOrr61ufaDQazahR1x45cjgzM1OukZDLwcEBbjF8bhSLsJRAV9qQQhRU5Onp5erqCuluUwJ7FRh7RTKS7O3hSEjU
1dXJL00gKTAwqK5Oj2bY7IXRaESqNZKVhhgblx2+uJOTMzIVFRVJUbQEZGx6m2VTVCoVsgcGBp49Gye/jwvZPT09rbVbQePhqbPOYTGoCyKnsrIyLy/PGokAu81MvrPQYNiUixmYYfc9PNxPnz5t7UMU2LVrV9SCMsvLy+UVOTs7yzuTgQLLysrQeLll7969z56Nj4yMOHv2rM3RQbdYLVsCBsHBIRDA8p1CXvS2v7+/vMCWQK6srEvsplyEkZfFtz/G09dBst3DCTdEEC5wH68FMujDLUylIHC/7BYysICQeQ3qBbJkpiD8LIprCBlHuxdnIZI2C8L1Db2NGBQyXhBO00JwINbIsm8QhJ9oGCA5teGdRWx5aJTJ4k8LQq4gRELz0BjAKvpUEBZT+w/oOtGXf7RU3uQJwtdUg0lRHBlc5HA4HA7ntzJ9+vQdO3bIPU74r/BB+/Tpk5p6wcUFrn+LwAE9dOjg0KFDExIu36OFualDhw5wZBHJHuy57rrRrJywsDCbS0aQUpBYKGHnzp3yEqZNm8buIbx48SIK8fLy6tGjJytEp3Pctm2rXEvAaw8ICCwsLJBLFIgBVHfwIJo3zNvbCzHl5RVbt/6CQM+evbKzpfdHMbp161ZQUFhQkC+XE5BwiEfzIABamW/RahS1d+/e559/ftWqVfK98PHxGTJkiJeXN4uxgsZ/883XkB9WYxAVFbVv3z5powHsAtOKbBNlDhw48IcffmCbVnr37lNWVmpzKczR0al37167du2SNwnyZsCAAR07xrAYK3Z2dp999il9VupyCddcM+TYsWOiaJY/2oRCfH193dzcaVCKbBaNRr19+3Y0OCUlxXrQUf6oUaO++OILtskB/Qn5hnq9OMxwrN9ocmmCYyWKkB0NN/WxMzWkcV+tI2RggwRCl7LHdbIIYVkQUyYIXUVxDyFhDaoDkQmCMJparibkhobsKB9RNkcCxrPozYSuglDTkIrBCMaoAoePxUA4
Yfya0tA2awMYTKRdKwgp/EC3ABc5HA6Hw/mtwAtPTEyU+8FwrOPjz1VXV7GY1omMjFKrVXLnGOpi8ODBzT6PBM2Qm5srr6t3796YypKSEuVrFUBd+Pr6WR8bs2Hy5Mn79++XNuCmmM2dOnVSqzXnz5+zubwTGxsb3+R9UIGBgdAYGRkZ1magBD8//x49um/ZskXeNig9Dw8PJjCwCaVz+vRptq46sLNDDfbWlT88Pb38/Hzz8/PlJUBOhIaGsk05mZmZ8sfAYOni4kKIIjnZ9j1R0ANnzpyxKgQ0Jjg45MQJtl7UZfr27SvfI6DT6cLDw8vKyhBvzY6KgoODhw0bJpeIDIhJCEJpgwKti25xdHQ8dy5evlMqlap79+6y9RgIDKwX6FAXNKf1KbuQkFBIU3QL2wRoGGRP0+MiB4UA9PD+/baqr12ylpAB1OHGcYJjd50gJHEHrwXGE/I+7SWgFoRd9CkauiWBn4GGdiZO2URBGCmKoYTgzGZ6BrxONeRThNwv0yToeYwpU0VxByEdGyKB9MtpAGWiHBwgJ0GALkUDYMAOHHQLhgZkZAJpQ+MnhawiB1lgjx8/vx2xdbjI4XA4HM5vYtiw4UVFhQUFBXIvdtasWUuWLGGbV6RHj565uTny+cjLywse/+7dcD9sgeqQX2yBJvH29jYaTeXlZVIUBdLi/Pnz0kZjYmM7Q2YUFxdbGwy/H958z549v/32W7mX3/oUKbeEP/3QQw99/PHHNldCUDIKkfeM/HEdOOtKpSolRXoI3t8/ACZylQVQgrxABitTHo8YKLc1a9ZI2w3ExMTo9Xr2wD2LQVOxW3l5to/9jBw5Mi4uDqlsEwUOHz587dq1nTt3tlklD0lSqAk2TULte/bsueOOO6D9rCUDJNnslzzVwcEB4iQhQTp8OF4VFeXypRSQHUgbLQADlO/r6+vi4trudc5omdcOZvFVtlqlJyH3NnQXTrtNgvBT4+56hxC2jRP0hCD8VxQn
ETKqIQsifxSErTTLPLoSgDUeoLQJsmPRFJhBojzcUOM4uhoeW3sAIDZPEE4KQhr0VeNWTSTkbkFwFoRzaBJs+CG+ElzkcDgcDuc3cfvtd2zfvg0+q7RNL4BERkZt22ZZZK8tzJw588cff7S6vJiYoqOjm952Bbp1615QkC+vC5ohKCjIxcXltOxltTBA5MmTcBWaoX//AZmZGfJC7OzsunTpkpKSUlpaKve82wga7OPjA5Hw9ddfS1FtAA1gaxVI25alq/vIr5lcFeiHDh06yC9PMXr37nPxYqOnjNzd3YuLSwoLC1gMw9vbx9PTA8JP2qaWoaFhjo6OqakpzS6ifUWwgwEBAdAYEFRlZY0kaCug3sjIyAMHLi8Hf/PNN7OTAUksphWaHr6ePXtt2WJ9JqJ9spVeOsAJjZ3H+XQnd+04HKpgORwOh8P59VRXV8kvPsAT9fPza7vCue660du2bZM2KNSXbV5p+Ph4y+uCG+3v7x8SEpKQkCBFUaATOnXqJG00ob6+Tv6KFRTi5eVVWVkFR1zuIjd1qVG1DcgLMyiBXr16b9q0CZuSKaV1pxx12SxIgH6z8dFtSmhaIGJQKXJBkDRVOMDV1cUm18SJE20UDnBwsLdZ3FmlUuXl5UVHR9msr9BsG6RQA6wfcFwcHHQopLKyksUzmtrbwFZKsHL8+ImYmBioOMRrWsWmP1GRg4OD9fVB7ZV+9FIAO/Nw9nCFw+Ew+JUcDofD4fx6rrnmmoKCAvkFEDi4kZGRNs9mtEJMTKfi4kaPqsMxVanU1pu45IwaNSouLs5qjCmsV69excXF6enp8vusnJ2dy8rKi4qafxXp+PHjjx07Jq9x7Nhxx48fy8/Pl19FCQgISE+/vJy0SqXs16+ftNFATk4u4r29fTZt2jho0CD5azTRDz4+PmwpNhaDObe2trauDprBYmM0GtRqTUmJdPGkT58+hYWF8teGIqO7uztapdVq7e0dEIFv2NtM3BERkfDv
jx8/Xllp+wqaoKBgJydH+fUZ6ISePXtu3Gj7Vqjhw4efO3dO3rG+vr4QXZcuXZKv6414Dw+PvLx8RLi4uCKCEIVSqZALJNjcdNNNaE9q6oWystLrr7/+8OHD8qPj4uICfSjfC4PBQJ+nYrVYUpCRhiU6dYqtqqoaOHAghJMU1RwXLqTu3r3bekMgCuratWtSUrL8fcftj0z6Tlz0HXTOrMarhHE4/2a4yOFwOBzOr2fatGnyG64AHOKoqOi9e/dI21diwoQJR48elWuDDh06NPv6o9DQMIWCyFcXsLOz8/a2LDsmX/cZJcC13bFjB9u0AaKoqKhIfnVCp9MNHjwYJciXd0Mhffv23bx5M9u8IpMnT0ab5c/iY3qF1kpNTZW2r8Rdd931888/WydlBCD2PDw85SsEUD2jlq/QALPY2Nhdu5p5eAlAG1x+ETAFugsqUdqQ0a9f/7S0C3Ip0rt3HyiuxMQEdIU1EmoKTTpzptFbfa+5ZgjM5HnDw8PZoggdO8aYTMYmy0+7pKamsM3fF5sFMBC47bbbXn/9dbbZXplOiA99PYu0zeFwKFzkcDgcDufXExAQAM9e7sKyFcls7jhqFpPJVFRU7OvrA4dYXkKXLl2gXuQP6IOamprCwkL5umrA39+/vt7g4eEud21Bjx49kN2mBBhAIGVlZcmvO6G6Tp06GQzGixcz5Y+2g8jIyGZvAGsWHx9fFCmfUtEDMTExUAXSNm0Ak2TyhcIA2llWBhkg2KxQB6m2fft2tmllypQpe/fulTaoGUSat7fPkSOHpSgZM2bM2LBhg7VMyJXIyKiDBy8/7sIICgq2t7eDFJG2BcuqaG5ubr6+vjavzYmKimraJ2FhHWprL1+wQgB7jQ6BPAsJCTUaDXKVhcbg+NrcV+bi4oLTBsfF5uGfqqrqpKTE8ePH5+XlSVEtgw6Pj4+3amA0A7sQFBTUtA85HM6/AS5yOBwOh/PrsVmeGLR9WgkPD8/NzdNqNTaP
+7dSgtwMLvuAAQPgxNu8RAW03gZ5IRBa8IMjIiL27NljjWf+sbOzS0srUDfluuuug0SxeRWMFGoVmAUHB2u12kuXLun1emsbEHBw0KWlXWCbVrp27VZdXQWkbVqCn5+/zdUVMGLEyNzcnKKiIrlKgepoulMQY2VlZfIrNuxSjM0NeABNSk9PkzYagMiBzrx48aLVEkUNHTrs22/XQyhCe8gXsgNt7BkcAoVCGRPTEaJOfnBbR96G0FDs7DG2yeFw/m20ddTgcDgcDqcpx48fDwsLgw8Kz5UBL7ON1NTUZmSkV1dXowQUJeVvtQTJgnrJPXv2jIs7iwCESlRUVBtLAJKRKKLZI0eOdHFxuXDBVkug8LYrHLB161Z//wA7Ozup6Db3A+RNx44dy8sr2NM4LC8Cjo6OTV9EA+LiznTo0MEqSADsHRzspQ0ZubmWNc3khwZlNvucUteuXY1Go2REay8pKY2O7piTk4OwFEuv0UH80ByNgOzx9PTEvkjbVGmw+/SgkdAnvr6+UhG0cLrfVwCWkCjQOfHx8UqlUoptDlrhZVgtiO/du3dV1eU7Gzkczr8NLnI4HA6H8+uBG3306NHg4OCIiAhnZ2eNRgMXU0prGfjo8NTZ21cuXbpkb+8wYsSIoKAgeOEqlaqlEhCP8nU6HfL279+/rq4eGgnxR44cKSsrR4y/vz9980yju9RsQCFqtdrBwQHKasKECWvXrk1OTrG5GwoGZ8+29qLJZjl8+FCnTp369evn6uqKEtrSD7AZMGDAl19+OWrUSDQb+86AMhk4cGBLj8vLn8kBMLZZAI1hMll0i7zY2NjY9HRLj8lBA86ePYsGS0YqFcK+vj7PPPN0fX29FEXp27fv9u2N1sGzkpGRgb2WNqiMMRolhXbq1ClXV7fRo0dD6kDRscjWQbNxgKB++/btc8W1p6XGUVA+TqHAwMAxY8Zs2bLF+qYdDofzL8TyxxIpyOFwOBzOryU2trMomquqquka
ZbZ/X7cBU4+7u0dOTra0TUEJ8KrLy8vp+zSlSDlms2W1MTc318rKqmYFgLe3j4eHR0FBfnV1TbMlAEx6Hh7uOp0jXPlz5yxKBp4xdAJLZUAYeHh4ZmZeXlrtqoiJ6YS9KC4uvmI/YI/s7e3Lykqx73RZZ8ke/QNaWh0OjadXci5P39B+8idqGJ6eXpYrHQ0dgQLr6uoqKmzNUJqTEwq8XBqyQDV17dolKUm+wJ3lLaXyhdpsgJKhC8dJoHtt1qQODAyCBL14MVPabhkcIzQJGhjiOT+/oJVupJZODftoWX0O/YnOSU5OojEcDuffCxc5HA6Hw+FwOBwOp13Bb1fjcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0K7jI4XA4HA6Hw+FwOO0KLnI4HA6Hw+FwOBxOu4KLHA6Hw+FwOBwOh9Ou4CKHw+FwOBwOh8PhtCu4yOFwOBwOh8PhcDjtCi5yOBwOh8PhcDgcTruCixwOh8PhcDgcDofTruAih8PhcDgcDofD4bQruMjhcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0K7jI4XA4HA6Hw+FwOO0KLnI4HA6Hw+FwOBxOu4KLHA6Hw+FwOBwOh9Ou4CKHw+FwOBwOh8PhtCu4yOFwOBwOh8PhcDjtCi5yOBwOh8PhcDgcTruCixwOh8PhcDgcDofTruAih8PhcDgcDofD4bQruMjhcDgcDofD4XA47QoucjgcDofD4XA4HE67goscDofD4XA4HA6H067gIofD4XA4HA6Hw+G0IwTh/wkiAUDA4LaQAAAAAElFTkSuQmCC</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<Language>es-MX</Language>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,874 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body>
<ReportItems>
<Line Name="Line1">
<Top>0.08792cm</Top>
<Height>0cm</Height>
<Width>19.15246cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
</Style>
</Line>
<Tablix Name="Tablix2">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>7.3197cm</Width>
</TablixColumn>
<TablixColumn>
<Width>4.7613cm</Width>
</TablixColumn>
<TablixColumn>
<Width>1.60341cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.55502cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.80719cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.46771cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Probabilidad de Acercamiento</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox4">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Tipo Proceso</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Estatus</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox15">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox15</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox23">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox23</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="ProbabilidadAcercamiento">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!ProbabilidadAcercamiento.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>ProbabilidadAcercamiento</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="TipoProceso">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!TipoProceso.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>TipoProceso</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Estatus">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Estatus.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Estatus</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="FechaIng">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!FechaIng.Value</Value>
<Style>
<FontSize>8pt</FontSize>
<Format>dd/MM/yyyy</Format>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>FechaIng</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="UsuarioIng">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!UsuarioIng.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>UsuarioIng</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details1" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>DataSet1</DataSetName>
<Top>0.26431cm</Top>
<Left>0.10583cm</Left>
<Height>1.06771cm</Height>
<Width>19.04663cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>0.60091in</Height>
<Style />
</Body>
<Width>7.54034in</Width>
<Page>
<PageHeader>
<Height>3.19792cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Image Name="Logo">
<Source>External</Source>
<Value>=Parameters!LogoPath.Value</Value>
<Sizing>FitProportional</Sizing>
<Top>0.11854cm</Top>
<Left>0.10583cm</Left>
<Height>3cm</Height>
<Width>5.5cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!NombreEmpresa.Value</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.48896cm</Top>
<Left>5.74694cm</Left>
<Height>0.6cm</Height>
<Width>8.8382cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>REPORTE DE CATÁLOGO DE</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>PROBABILIDAD ACERCAMIENTO</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>1.98854cm</Top>
<Left>5.78222cm</Left>
<Height>0.95278cm</Height>
<Width>8.8382cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.87322cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Line Name="Line2">
<Top>0.11437cm</Top>
<Left>0.10583cm</Left>
<Height>0cm</Height>
<Width>19.04663cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
</Style>
</Line>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario:</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>0.10583cm</Left>
<Height>0.36335cm</Height>
<Width>1.60042cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!UsuarioImprimio.Value</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>1.65016cm</Left>
<Height>0.36335cm</Height>
<Width>5.14936cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha Impresión:</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox10</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>7.92841cm</Left>
<Height>0.36335cm</Height>
<Width>3.55833cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox7">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Página " &amp; Globals.PageNumber &amp; " de " &amp; Globals.TotalPages</Value>
<Style>
<FontStyle>Italic</FontStyle>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>16.91135cm</Left>
<Height>0.36335cm</Height>
<Width>2.06587cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox8">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Now</Value>
<Style>
<FontSize>9pt</FontSize>
<Format>dd/MM/yyy HH:mm:ss tt</Format>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Left</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>10.62431cm</Left>
<Height>0.37041cm</Height>
<Width>5.72096cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>27.94cm</PageHeight>
<PageWidth>21.59cm</PageWidth>
<LeftMargin>0.5cm</LeftMargin>
<RightMargin>0.5cm</RightMargin>
<TopMargin>0.5cm</TopMargin>
<BottomMargin>0.5cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSet3">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>74f8a171-24f1-4404-809e-ec2e098f1907</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet3</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="ProbabilidadAcercamiento">
<DataField>ProbabilidadAcercamiento</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Estatus">
<DataField>Estatus</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FechaIng">
<DataField>FechaIng</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="UsuarioIng">
<DataField>UsuarioIng</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="TipoProceso">
<DataField>TipoProceso</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet3</rd:DataSetName>
<rd:SchemaPath>C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet3.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="LogoPath">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="NombreEmpresa">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="UsuarioImprimio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaImpresion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>2ec96151-d7c1-4609-bfdd-795b02d33b5a</rd:ReportID>
</Report>

View File

@@ -0,0 +1,958 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body>
<ReportItems>
<Line Name="Line1">
<Top>0.08792cm</Top>
<Height>0cm</Height>
<Width>20.06868cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
</Style>
</Line>
<Tablix Name="Tablix2">
<TablixBody>
<TablixColumns>
<TablixColumn>
<Width>2.3743cm</Width>
</TablixColumn>
<TablixColumn>
<Width>5.96532cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.05758cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.7467cm</Width>
</TablixColumn>
<TablixColumn>
<Width>3.70732cm</Width>
</TablixColumn>
<TablixColumn>
<Width>2.14878cm</Width>
</TablixColumn>
</TablixColumns>
<TablixRows>
<TablixRow>
<Height>0.46771cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="Textbox3">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Tipo Proceso</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox5">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Descripción</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox15">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>No. Etapas</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox15</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox23">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Estatus</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox23</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox21">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox21</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Textbox19">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario Ing</Value>
<Style>
<FontSize>9pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Style>
<Border>
<Color>LightGrey</Color>
<Style>Solid</Style>
</Border>
<TopBorder>
<Color>Black</Color>
</TopBorder>
<BottomBorder>
<Color>Black</Color>
</BottomBorder>
<LeftBorder>
<Style>None</Style>
</LeftBorder>
<RightBorder>
<Style>None</Style>
</RightBorder>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
<TablixRow>
<Height>0.6cm</Height>
<TablixCells>
<TablixCell>
<CellContents>
<Textbox Name="TipoProceso">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!TipoProceso.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>TipoProceso</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Descripcion">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Descripcion.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Descripcion</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="NoEtapas">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!NoEtapas.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>NoEtapas</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="Estatus1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!Estatus.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Estatus1</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="FechaIng">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!FechaIng.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>FechaIng</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
<TablixCell>
<CellContents>
<Textbox Name="UsuarioIng">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Fields!UsuarioIng.Value</Value>
<Style>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>UsuarioIng</rd:DefaultName>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</CellContents>
</TablixCell>
</TablixCells>
</TablixRow>
</TablixRows>
</TablixBody>
<TablixColumnHierarchy>
<TablixMembers>
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
<TablixMember />
</TablixMembers>
</TablixColumnHierarchy>
<TablixRowHierarchy>
<TablixMembers>
<TablixMember>
<KeepWithGroup>After</KeepWithGroup>
</TablixMember>
<TablixMember>
<Group Name="Details1" />
</TablixMember>
</TablixMembers>
</TablixRowHierarchy>
<DataSetName>DataSet1</DataSetName>
<Top>0.36336cm</Top>
<Left>0.06868cm</Left>
<Height>1.06771cm</Height>
<Width>20cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Tablix>
</ReportItems>
<Height>0.60091in</Height>
<Style />
</Body>
<Width>8.00358in</Width>
<Page>
<PageHeader>
<Height>3.145cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Image Name="Logo">
<Source>External</Source>
<Value>=Parameters!LogoPath.Value</Value>
<Sizing>Fit</Sizing>
<Top>0.11854cm</Top>
<Left>0.10583cm</Left>
<Height>3cm</Height>
<Width>5.5cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!NombreEmpresa.Value</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.11854cm</Top>
<Left>5.78222cm</Left>
<Height>1.18208cm</Height>
<Width>8.43036cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox2">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>REPORTE DE CATÁLOGO DE</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>TIPOS PROCESOS</Value>
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value />
<Style>
<FontSize>10.5pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>1.67104cm</Top>
<Left>5.78222cm</Left>
<Height>0.95278cm</Height>
<Width>8.43036cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageHeader>
<PageFooter>
<Height>0.79374cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
<Line Name="Line2">
<Top>0.11437cm</Top>
<Left>0.10583cm</Left>
<Height>0cm</Height>
<Width>19.96285cm</Width>
<Style>
<Border>
<Style>Solid</Style>
</Border>
</Style>
</Line>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Usuario:</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>0.10583cm</Left>
<Height>0.36335cm</Height>
<Width>1.60042cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!UsuarioImprimio.Value</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox9</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>1.65016cm</Left>
<Height>0.36335cm</Height>
<Width>5.14936cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Fecha Impresión:</Value>
<Style>
<FontSize>9pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox10</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>6.97591cm</Left>
<Height>0.36335cm</Height>
<Width>2.92333cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox12">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Now</Value>
<Style>
<FontSize>9pt</FontSize>
<Format>dd/MM/yyy HH:mm:ss tt</Format>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox11</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>9.88513cm</Left>
<Height>0.36335cm</Height>
<Width>4.32745cm</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox7">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>="Página " &amp; Globals.PageNumber &amp; " de " &amp; Globals.TotalPages</Value>
<Style>
<FontStyle>Italic</FontStyle>
<FontSize>8pt</FontSize>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Right</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox3</rd:DefaultName>
<Top>0.22726cm</Top>
<Left>18.00281cm</Left>
<Height>0.36335cm</Height>
<Width>2.06587cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</PageFooter>
<PageHeight>27.94cm</PageHeight>
<PageWidth>21.59cm</PageWidth>
<LeftMargin>0.5cm</LeftMargin>
<RightMargin>0.5cm</RightMargin>
<TopMargin>0.5cm</TopMargin>
<BottomMargin>0.5cm</BottomMargin>
<ColumnSpacing>0.13cm</ColumnSpacing>
<Style />
</Page>
<AutoRefresh>0</AutoRefresh>
<DataSources>
<DataSource Name="DataSet3">
<ConnectionProperties>
<DataProvider>System.Data.DataSet</DataProvider>
<ConnectString>/* Local Connection */</ConnectString>
</ConnectionProperties>
<rd:DataSourceID>74f8a171-24f1-4404-809e-ec2e098f1907</rd:DataSourceID>
</DataSource>
</DataSources>
<DataSets>
<DataSet Name="DataSet1">
<Query>
<DataSourceName>DataSet3</DataSourceName>
<CommandText>/* Local Query */</CommandText>
</Query>
<Fields>
<Field Name="TipoProceso">
<DataField>TipoProceso</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Descripcion">
<DataField>Descripcion</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="NoEtapas">
<DataField>NoEtapas</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="Estatus">
<DataField>Estatus</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="FechaIng">
<DataField>FechaIng</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
<Field Name="UsuarioIng">
<DataField>UsuarioIng</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
<rd:DataSetInfo>
<rd:DataSetName>DataSet3</rd:DataSetName>
<rd:SchemaPath>C:\Users\jesus\Documents\Visual Studio 2015\WebSites\WebSite2\App_Code\DataSet3.xsd</rd:SchemaPath>
<rd:TableName>DataTable1</rd:TableName>
<rd:TableAdapterFillMethod />
<rd:TableAdapterGetDataMethod />
<rd:TableAdapterName />
</rd:DataSetInfo>
</DataSet>
</DataSets>
<ReportParameters>
<ReportParameter Name="LogoPath">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="NombreEmpresa">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="UsuarioImprimio">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
<ReportParameter Name="FechaImpresion">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>
<rd:ReportUnitType>Cm</rd:ReportUnitType>
<rd:ReportID>2ec96151-d7c1-4609-bfdd-795b02d33b5a</rd:ReportID>
</Report>

File diff suppressed because it is too large Load Diff

View File

@@ -513,9 +513,7 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=drawing&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -99,8 +99,8 @@ Partial Class GPS_CatDistribuidoresMaster
'If CveSucursal < 0 Then HuboError = True
End If
If Not HuboError Then
If Not IO.Directory.Exists(String.Format("{0}\{1}", AppDomain.CurrentDomain.BaseDirectory, objEmpresa.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}Empresas\{1}", AppDomain.CurrentDomain.BaseDirectory, objEmpresa.CveEmpresa))
If Not IO.Directory.Exists(String.Format("{0}\{1}", ModExtensiones.DirectorioBaseEmpresas, objEmpresa.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}Empresas\{1}", ModExtensiones.DirectorioBaseEmpresas, objEmpresa.CveEmpresa))
End If
Alert("El distribuidor se agregó correctamente", TipoMensaje.MsgInformacion)
End If
@@ -198,7 +198,7 @@ Partial Class GPS_CatDistribuidoresMaster
Dim archivos As New List(Of ClsSisMail.ArchivoMail)
Dim ListArchivoMail As New List(Of ClsSisMail.ArchivoMail)
Dim ArchivoMail As New ClsSisMail.ArchivoMail
ArchivoMail.Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\Grales\LogoSinFondo.png"
ArchivoMail.Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\Grales\LogoSinFondo.png"
ArchivoMail.NombreArchivo = "LogoSinFondo.png"
ListArchivoMail.Add(ArchivoMail)
objMail.SendMail(ClsPaginas.EmpresaNotificaciones, TxtMail.Text, "Activación de empresa", body, "", ListArchivoMail)
@@ -246,7 +246,7 @@ Partial Class GPS_CatDistribuidoresMaster
strBody.Append(" <td>Se ha registrado como distribuidor master en SIG GPS</td>")
strBody.Append("<tr><td colspan=""4"" >")
'strBody.Append(Liga)
strBody.AppendFormat("<a href='{0}'>Éste es su liga de acceso al sistema </a> <br/> <br/> </td></tr>", String.Format("{0}\Login.aspx", AppDomain.CurrentDomain.BaseDirectory))
strBody.AppendFormat("<a href='{0}'>Éste es su liga de acceso al sistema </a> <br/> <br/> </td></tr>", String.Format("{0}\Login.aspx", ModExtensiones.DirectorioBaseEmpresas))
strBody.Append("<tr> <td> Sus Datos de Acceso son los siguientes: </td> </tr>")
strBody.Append("<tr> <td> ")
strBody.Append("<ul>")

View File

@@ -96,8 +96,8 @@ Partial Class GPS_CatDistribuidoresMaster
If CveSucursal < 0 Then HuboError = True
End If
If Not HuboError Then
If Not IO.Directory.Exists(String.Format("{0}\{1}", AppDomain.CurrentDomain.BaseDirectory, objEmpresa.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}Empresas\{1}", AppDomain.CurrentDomain.BaseDirectory, objEmpresa.CveEmpresa))
If Not IO.Directory.Exists(String.Format("{0}\{1}", ModExtensiones.DirectorioBaseEmpresas, objEmpresa.CveEmpresa)) Then
IO.Directory.CreateDirectory(String.Format("{0}Empresas\{1}", ModExtensiones.DirectorioBaseEmpresas, objEmpresa.CveEmpresa))
End If
Alert("El distribuidor se agregó correctamente", TipoMensaje.MsgInformacion)
End If
@@ -195,7 +195,7 @@ Partial Class GPS_CatDistribuidoresMaster
Dim archivos As New List(Of ClsSisMail.ArchivoMail)
Dim ListArchivoMail As New List(Of ClsSisMail.ArchivoMail)
Dim ArchivoMail As New ClsSisMail.ArchivoMail
ArchivoMail.Ruta = $"{AppDomain.CurrentDomain.BaseDirectory}Empresas\Grales\LogoSinFondo.png"
ArchivoMail.Ruta = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\Grales\LogoSinFondo.png"
ArchivoMail.NombreArchivo = "LogoSinFondo.png"
ListArchivoMail.Add(ArchivoMail)
objMail.SendMail(ClsPaginas.EmpresaNotificaciones, TxtMail.Text, "Activación de empresa", body, "", ListArchivoMail)
@@ -243,7 +243,7 @@ Partial Class GPS_CatDistribuidoresMaster
strBody.Append(" <td>Se ha registrado como distribuidor master en SIG GPS</td>")
strBody.Append("<tr><td colspan=""4"" >")
'strBody.Append(Liga)
strBody.AppendFormat("<a href='{0}'>Éste es su liga de acceso al sistema </a> <br/> <br/> </td></tr>", String.Format("{0}\Login.aspx", AppDomain.CurrentDomain.BaseDirectory))
strBody.AppendFormat("<a href='{0}'>Éste es su liga de acceso al sistema </a> <br/> <br/> </td></tr>", String.Format("{0}\Login.aspx", ModExtensiones.DirectorioBaseEmpresas))
strBody.Append("<tr> <td> Sus Datos de Acceso son los siguientes: </td> </tr>")
strBody.Append("<tr> <td> ")
strBody.Append("<ul>")

View File

@@ -109,7 +109,7 @@ Partial Class GPS_CatEventos
Try
If TxtUpImagen.getfiles().Archivos.Count > 0 Then
Dim ArchivoImagen As Archivo = TxtUpImagen.getfiles().Archivos(0)
Dim Path As String = $"{AppDomain.CurrentDomain.BaseDirectory}Imagenes"
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}Imagenes"
If Not Directory.Exists(Path) Then
Directory.CreateDirectory(Path)
End If
@@ -122,7 +122,7 @@ Partial Class GPS_CatEventos
If TxtUpSonido.getfiles().Archivos.Count > 0 Then
Dim ArchivoSonido As Archivo = TxtUpSonido.getfiles().Archivos(0)
Dim PathSonido As String = $"{AppDomain.CurrentDomain.BaseDirectory}Sonidos"
Dim PathSonido As String = $"{ModExtensiones.DirectorioBaseEmpresas}Sonidos"
Dim dirSonido As String = String.Format("{0}\{1}.{2}", PathSonido, Sonido, ArchivoSonido.Extencion)
If File.Exists(dirSonido) Then
My.Computer.FileSystem.DeleteFile(dirSonido)
@@ -146,7 +146,7 @@ Partial Class GPS_CatEventos
Try
If TxtUpImagen.getfiles().Archivos.Count > 0 Then
Dim ArchivoImagen As Archivo = TxtUpImagen.getfiles().Archivos(0)
Dim Path As String = $"{AppDomain.CurrentDomain.BaseDirectory}Imagenes"
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}Imagenes"
If Not Directory.Exists(Path) Then
Directory.CreateDirectory(Path)
End If
@@ -159,7 +159,7 @@ Partial Class GPS_CatEventos
If TxtUpSonido.getfiles().Archivos.Count > 0 Then
Dim ArchivoSonido As Archivo = TxtUpSonido.getfiles().Archivos(0)
Dim PathSonido As String = $"{AppDomain.CurrentDomain.BaseDirectory}Sonidos"
Dim PathSonido As String = $"{ModExtensiones.DirectorioBaseEmpresas}Sonidos"
Dim dirSonido As String = String.Format("{0}\{1}", PathSonido)
If File.Exists(dirSonido) Then
My.Computer.FileSystem.DeleteFile(dirSonido)
@@ -214,7 +214,7 @@ Partial Class GPS_CatEventos
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.VerticalAlign = VerticalAlign.Middle
e.Row.FCLinkButton("ImgE").CommandArgument = e.Row.DataKey("CveEvento").ToString
If File.Exists($"{AppDomain.CurrentDomain.BaseDirectory}Sonidos/{e.Row.DataKey("Sonido").ToString}") Then
If File.Exists($"{ModExtensiones.DirectorioBaseEmpresas}Sonidos/{e.Row.DataKey("Sonido").ToString}") Then
e.Row.FCLinkButton("PlaySonido").OnClientClick = $"javascript:PlaySonidito('{e.Row.DataKey("Sonido").ToString}');return false;"
Else
e.Row.FCLinkButton("PlaySonido").Visible = False

View File

@@ -266,8 +266,6 @@
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -155,7 +155,7 @@ Partial Class GPS_DispositivosControles
If TxtCalibración.getfiles().Archivos.Count > 0 AndAlso CveControl > 0 AndAlso Not huboerror Then
Try
Dim Archivo As Archivo = TxtCalibración.getfiles().Archivos(0)
Dim Path As String = $"{AppDomain.CurrentDomain.BaseDirectory}TablasCalibracion"
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}TablasCalibracion"
Dim dirSonido As String = String.Format("{0}\{1}.{2}", Path, FormatearNombreArchivo(Archivo.filenameO), Archivo.Extencion)
If File.Exists(dirSonido) Then
My.Computer.FileSystem.DeleteFile(dirSonido)
@@ -226,7 +226,7 @@ Partial Class GPS_DispositivosControles
huboerror = Not GPS.CalibracionDelete(CveControl)
If Not huboerror Then
Dim Archivo As Archivo = TxtCalibración.getfiles().Archivos(0)
Dim Path As String = $"{AppDomain.CurrentDomain.BaseDirectory}TablasCalibracion"
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}TablasCalibracion"
Dim dirSonido As String = String.Format("{0}\{1}.{2}", Path, FormatearNombreArchivo(Archivo.filenameO), Archivo.Extencion)
If File.Exists(dirSonido) Then
My.Computer.FileSystem.DeleteFile(dirSonido)
@@ -448,7 +448,7 @@ Partial Class GPS_DispositivosControles
End Sub
Protected Sub LbDescargaFormato_Click(sender As Object, e As EventArgs)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & "Empresas\Grales\FormatoCalibracion.xlsx"
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\FormatoCalibracion.xlsx"
Dim Archivo As New IO.FileInfo(Directorio)
If Archivo.Exists Then
Response.Clear()

View File

@@ -632,11 +632,6 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<%--<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJnZ1CoEUX425C20aqzFw4dYxFL_LfThk&libraries=places">
</script>--%>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -769,12 +769,7 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=drawing&libraries=geometry&libraries=places">
</script>
<%-- <script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJnZ1CoEUX425C20aqzFw4dYxFL_LfThk&libraries=drawing&libraries=geometry&libraries=places">
</script>--%>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=drawing&libraries=geometry&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
<script src="../Metronic/assets/global/plugins/jquery-minicolors/jquery.minicolors.min.js"></script>
<script src="../Metronic/assets/global/plugins/jquery-minicolors/components-color-pickers.min.js"></script>
</asp:Content>

View File

@@ -158,6 +158,7 @@ Partial Class GPS_GeoReferencias
If TieneError Then
ObjGPS.RollBack()
Alert("Ocurrió un error al agregar la georeferencia", TipoMensaje.MsgError)
Else
ObjGPS.Commit()
Alert("Se agregó correctamente la Ruta", TipoMensaje.MsgInformacion)

View File

@@ -754,11 +754,7 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places&callback=initMap">
</script>
<%-- <script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJnZ1CoEUX425C20aqzFw4dYxFL_LfThk&libraries=places&callback=initMap">
</script>--%>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places&callback=initMap", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -3130,9 +3130,7 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=drawing&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
<script src="../Metronic/assets/global/plugins/jquery-minicolors/jquery.minicolors.min.js"></script>
<script src="../Metronic/assets/global/plugins/jquery-minicolors/components-color-pickers.min.js"></script>
<script src="Rastreo/JS/GeoRutas.js"></script>

View File

@@ -1495,7 +1495,7 @@ Partial Class GPS_Rastreo
End If
'RegistraScript("CreaRuta();")
ElseIf HdnTipo.Value = "Geocerca" Then
GeoRefString = $"POLYGON(({GeoCerca.Value}))"
GeoRefString = $"POLYGON(({GeoCerca.Value} {CommandArg.Value}))"
If ObjGPS.GeoReferenciaAdd(TxtNombre.Text, -1, GeoRefString, "Geocerca", True, TxtFechaIG.Text.ToDate, TxtFechaFG.Text.ToDate, chkLunes.Checked, chkMartes.Checked, chkMiercoles.Checked, chkJueves.Checked, chkViernes.Checked, chkSabado.Checked, chkDomingo.Checked, MinFecha, MaxFecha, TxtColor.Text, TxtTolerancia.Text.ToEntero, UsuarioActual.CveCliente) Then
For Each Dr As GridViewRow In GvEquiposDetalle.Rows
If Dr.RowType = DataControlRowType.DataRow Then

View File

@@ -234,7 +234,7 @@
<asp:Content ID="Content4" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="JS" runat="Server">
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places"></script>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
<script src="../Metronic/assets/global/plugins/datatables2/datatables.min.js"></script>
<script src="../Metronic/assets/global/plugins/datatables2/extensions/Scroller/js/dataTables.scroller.js"></script>
<script src="../Metronic/assets/global/plugins/datatables2/extensions/KeyTable/js/dataTables.keyTable.js"></script>

View File

@@ -623,11 +623,6 @@
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places">
</script>
<%--<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJnZ1CoEUX425C20aqzFw4dYxFL_LfThk&libraries=places">
</script>--%>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

View File

@@ -356,11 +356,6 @@
}
</script>
<script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAF7s8wwhzCVXDUYopc9mXxqaWB33cDro4&libraries=places&callback=initMap">
</script>
<%-- <script
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAJnZ1CoEUX425C20aqzFw4dYxFL_LfThk&libraries=places&callback=initMap">
</script>--%>
<script src="<%= String.Format("https://maps.googleapis.com/maps/api/js?key={0}&libraries=places&callback=initMap", Extensiones.GOOGLE_MAPS_API_KEY) %>"</script>
</asp:Content>

Some files were not shown because too many files have changed in this diff Show More