KB-50319: Separando mensagens salvas em dois idiomas e exibindo somente o idioma selecionado na impressão via E3Browser.

Descrição:

Em uma aplicação desenvolvida em dois idiomas (por exemplo, português e inglês), as mensagens de alarmes serão salvas em ambas as línguas. Como separar essas mensagens, e exibir em um E3Browser somente as mensagens no idioma desejado?

Solução:

A partir da versão 4.0 do E3, pode-se adotar uma solução similar à apresentada no KB 50264, utilizando a função Split do VBScript no evento OnFormatCell do E3Browser. Para a versão 3.5 (ou anterior) do E3, deve-se criar uma função dentro do próprio banco de dados para retornar o texto separado. Por exemplo, no SQL Server:

CREATE FUNCTION [dbo].[XLate](@text Varchar(500), @lang Int)
RETURNS Varchar(500)
AS
BEGIN
DECLARE @ret Varchar(500)
DECLARE @idx Int
SET @idx = CHARINDEX(' /// ', '-' + @text)
IF @idx > 0
BEGIN
   IF @lang = 0
      SET @ret = SUBSTRING(@text, 0, @idx - 1)
   ELSE
      SET @ret = SUBSTRING(@text, @idx + 4, LEN(@text) - @idx - 3)
   END
ELSE
BEGIN
   IF @lang = 0
      Set @ret = @text
   ELSE
      SET @ret = ''
   END
RETURN @ret
END

Na consulta do E3Browser, pode-se utilizar a função em um SELECT. Por exemplo:

SELECT InTime, OutTime, dbo.XLate(Message, < %Idioma% >) as Message FROM Alarms

Artigo relacionado:

Aplicação multi-idiomas.

Print Friendly, PDF & Email

Este artigo foi útil? Was this helpful?

Classificação média - Average rating 0 / 5. Count: 0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *