El POS 2023 está basado en una API web que requiere alta disponibilidad por parte del servidor, si su servidor web es IIS prueba ajustando el tiempo de espera a 0 para que se haga infinito, ya que este parámetro lo que hace es reestablecer el grupo de aplicaciones luego de que no se está usando durante el tiempo indicado, habitualmente 20 minutos.
Para hacer este ajuste sigue los siguientes pasos:
Ingresa a IIS en tu servidor
Ve a Grupos de AplicacionesÂ
Selecciona el Grupo de aplicaciones ParadigmaNAppServices
Selecciona Configuración avanzadaÂ
En la sección Modelo de proceso ubica la opción "Tiempo de Inactividad (minutos)" y cambia el valor (habitualmente) 20 por 0 (cero). Â
Como parte del proceso transaccional es frecuente que las bases de datos comiencen a presentar algunos signos de baja de rendimiento, generalmente esto se debe a problemas de fragmentación de los archivos dentro de el disco duro.Â
Como Solucionar?Â
Existen varias soluciones, entre ellas encontramos:
1. Cambio de discos duros mecánicos por discos de estado sólido: este cambio es importante ya que permite que la información se grabe y se recupere de disco hasta 10 veces más rápido lo que conlleva a una mejora considerable en el rendimiento general.
2. Aumento de la RAM disponible del equipo: Con los sistemas operativos actuales y la creciente necesidad de mantener varias aplicaciones abiertas simultáneamente, como cámaras de vigilancia, aplicaciones de video conferencia etc. Y si a esto se le suma el uso de navegadores web mal optimizados como lo es Google Chrome, que desborda en consumo de RAM y procesador, se nos hace necesario recomendar un mÃnimo de 8 Gb de RAM para el equipo servidor o Principal, para garantizar un rendimiento óptimo tanto de las aplicaciones como de nuestros sistemas.
3. Software: Una vez que se cumple con los requisitos mÃnimos recomendados de hardware, podemos pasar al apartado de software, se pueden incluir rutinas de mantenimiento que pueden ayudar a solventar los problemas asà como configurar apropiadamente las bases de datos para que el rendimiento sea óptimo:
Configuración: Es importante para cada base de datos acceder a la configuración de la misma desde Management Studio y realizar los siguientes ajustes:
Mantenimiento: Una vez que cumplimos tanto con la parte de requisitos mÃnimos de hardware y la configuración de las bases de datos es apropiada, tenemos que asegurarnos de ejecutar opciones de mantenimiento periódicamente, antes de comenzar recuerda hacer una copia de seguridad, si no sabes como acá te explicamos.
Para la base de datos transaccional se deben correr estos scripts:
a. Reorganizar el contenido de la base de datos: exec segu_sp_OptimizarBD
b. Actualiza estadÃsticas de acceso de la base de datos:Â sp_updatestats
c. Comprimir la base de datos: DBCC SHRINKDATABASE (<<NombreDeLaBaseDeDatos>>) NOTA: Recuerda reemplazar <<NombreDeLaBaseDeDatos>> con el nombre de tu base de datos.
PD: Para mantener un rendimiento óptimo de nuestros sistemas es necesario cumplir con los requisitos indicados.Â
Al intentar ingresar a MerlÃn se genera un mensaje indicando que no está bien configurado el servidor de sql o la base de datos.
Generalmente esto se dá cuando se migra de sqlserver 2008R2 a sql server 2017, ya que en Sql Server 2017 no está disponbiles el procedimiento almacenado db_option
Para solucionar este problema se debe crear un procedimiento almacenado equivalente en la base de datos transaccional de Paradigma N. con el siguiente contenido:
Â
/****** Object: StoredProcedure [dbo].[sp_dboption] Script Date: 2020/11/27 1:07:58 p. m. ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[sp_dboption]    -- Add the parameters for the stored procedure here    @p_Db char(128),    @p_Parm char(128) AS BEGIN   -- SET NOCOUNT ON added to prevent extra result sets from   -- interfering with SELECT statements.   SET NOCOUNT ON;   declare @pCommando varchar(max)     , @pValue bit     , @pOldStyleValue varchar(3)   -- Insert statements for procedure here   set @pCommando = 'ALTER DATABASE '+LTRIM(RTRIM(@p_Db))+' SET '+LTRIM(RTRIM(@p_Parm))+' ON'   select @pValue = is_recursive_triggers_on from sys.databases where name = @p_Db   if @pValue = 1     set @pOldStyleValue = 'ON'   else     set @pOldStyleValue = 'OFF'   SELECT @p_Parm as OptionName, @pOldStyleValue as CurrentSetting
END
Si tu correo es de Gmail: (Actualizado Junio 2021)
Gmail SMTP server address:Â smtp.gmail.com
Gmail SMTP username: Your Gmail address (for example, Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.)
Si tu Correo es de Hotmail:Â (Actualizado Junio 2021)
Windows Live Hotmail SMTP Server SettingsÂ
Hotmail SMTP Server:Â smtp-mail.outlook.com
Hotmail SMTP Port:Â 587
Hotmail Security:Â STARTTLS
Hotmail SMTP Username: Tu dirección de correo completa (e.g., Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo. or Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.)
Ya que SSRS 2017 no convierte fuentes incluidas para codigos de barras, se debe incluir el código VBscript necesario para poder generarlos durante el renderizado del reporte, para este propósito hacemos uso de la libreria BarcodeLib.dll, el proceso de implementación es como se describe a continuacion:
1. Descargar el archivo zip: BarcodeLib.zip, que contiene las librerias
BarcodeLib.dll
System.Drawing.dll
2. Descomprimirlo en la ruta de instalación del servicio de reportes 2017, habitualmente:
 C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer\bin
3. Agregar la referencia a las dos librerias en el reporte.
4. Agregar esta función en la sección código del reporte:Â
Public Function GenerarCodigoDeBarras(Text As String, Width as Integer, Heigth as Integer) As Byte()   Dim b As System.Drawing.Bitmap   Dim bar As New BarcodeLib.Barcode   bar.Alignment = BarcodeLib.AlignmentPositions.LEFT   bar.IncludeLabel = False   bar.RotateFlipType = Drawing.RotateFlipType.RotateNoneFlipNone   b = bar.Encode(BarcodeLib.TYPE.CODE39Extended, Text, Width, Heigth )   Dim bitmapData As Byte() = Nothing   Using ms As New System.IO.MemoryStream()     b.Save(ms, System.Drawing.Imaging.ImageFormat.Bmp)     bitmapData = ms.ToArray()   End Using   Return bitmapData End Function
Como se muestra en la imagen
5. Agregar una imagen al reporte como se muestra en la imágen:
6. Esta serÃa la expresion que debes agregar para que se genere el codigo de barrasÂ