No conteúdo deste manual são citados Identificadores de Regras, porém, no GO UP não é possível incluir, excluir ou alterar identificadores e suas regras associadas, pois o sistema possui funções nativas devido aos processos de negócio pré-definidos.

AbrirTelaSistema

Esta função serve para abrir uma tela do sistema utilizando parâmetros.

Sintaxe: Funcao AbrirTelaSistema(Alfa aTela,Alfa aParametros, Numero End aResultado);

Parâmetros:

Nome Tipo Descrição
aTela Alfa Nome da tela do sistema. Formatos: "F999XXX" ou "F999XXX_ABCD"
aParametros Alfa Parametros da tela.
aResultado Numero Resultado da chamada.
0: Tela foi aberta com sucesso.
-1: Tela não encontrada. Com o parâmetro global AbrTelEsp ativo, qualquer erro de abertura de tela resultará em -1 em vez de apresentar uma mensagem.

Tipo de retorno:

aResultado (Numero): Resultado da chamada.
0: Tela foi aberta com sucesso.
-1: Tela não encontrada. Com o parâmetro global AbrTelEsp ativo, qualquer erro de abertura de tela resultará em -1 em vez de apresentar uma mensagem.

Exemplo:

Definir Alfa aParametros;
Definir Numero nRetorno;
Definir Alfa aNumCco;
definir alfa DatIni;
definir alfa aDatFim; 
definir alfa aCodPor; 
definir alfa aCodTpt; 
definir alfa aCodCrp; 
definir alfa aTipVctPrm; 
definir alfa aCodFil;
definir alfa aDatPgt;
definir alfa aTitPre;
definir alfa aVenIni;
definir alfa aNumCco;
Definir alfa nCodfor.

aDatNul = "00/00/0000";
ConvDataInt(aDatNul,nDatNul);
IntParaAlfa(nDatNul,aDatNul);

aDatEmi = "01/01/2005";
ConvDataInt(aDatEmi,nDatEmi);
IntParaAlfa(nDatEmi,aDatIni);

aDatEmi = "31/12/2008";
ConvDataInt(aDatEmi,nDatEmi);
IntParaAlfa(nDatEmi,aDatFin);

aAbrPed = "1-999";
aCodCli = "1";
aAbrPro = "";
aAbrSer = "";
aPerRea = "0,70";
aPerRed = "";

aParametros = aAbrPed + ";" +
aCodCli + ";" +
aDatIni + ";" +
aDatFin + ";" +
aAbrPro + ";" +
aAbrSer + ";" +
aPerRea + ";" +
aPerRed + ";True";

AbrirTelaSistema("F999XXX",aParametros,aRetorno);

Utilização: esta função pode ser utilizada no sistema como um todo (exceto na web, por motivos já citados acima), sendo de extrema importância o conhecimento das limitações inerentes a origem da chamada (SGI, Gerador de Relatórios, Identificadores de Regra, etc.).

As telas do sistema não foram originalmente criadas para serem abertas deste modo, logo não há garantias do funcionamento correto das mesmas. A equipe de sistemas se reserva ao direito de bloquear a abertura de determinada tela se o comportamento da mesma se mostrar inadequado.

O parâmetro aTela deve ser utilizado no formato "F999XXX" ou "F999XXX_ABCD", quando possuir mais de uma ocorrência no menu (que pode ser visto através do atalho >F11) para que seja aberta a tela de um menu específico. Caso contrário, a tela será aberta a partir de um menu aleatório em que a tela seja apresentada e que possua permissão.

Ao passar um parâmetro para um campo que é abrangência alfanumérica, tal parâmetro deve ser passado envolvido com aspas duplas (""), para que a validação do campo seja feita corretamente. Isso pode ser feito na "lsp" utilizando a barra inversa (\) para indicar que o caractere de aspas duplas deve ser considerado como caractere, ao invés de elemento da LSP.

Telas que não devem ser chamadas utilizando esta função:

Exemplo:

aParametros = "\"PRO-001\""; (o resultado desse valor no campo que receberá esse parâmetro será "PRO-001", com as aspas).

AbrirTelaSistema('F000XXX', aParametros);

Demais campos numéricos ou que não são abrangência alfanumérica não necessitam desse tratamento.

Observação: esta função se baseia no menu do sistema para localização e abertura da tela, logo:

Antes do uso efetivo desta função são necessários estudos e testes, pois se usado de forma inadequada pode causar sérios transtornos, entre eles a não confiabilidade da informação e a perda de performance.
O uso da função somente é aconselhado para abertura de telas do sistema que sejam consideradas simples (cadastros, por exemplo).

Este artigo ajudou você?