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:
- F900BAC
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:
- só é possível executá-la num ambiente onde haja o menu principal do sistema, não funcionando, por exemplo, no ERP Server;
- para abrir a tela com parâmetros é necessário que a tela esteja preparada, definida pelo desenvolvimento. Para separar um parâmetro do outro é utilizado o ponto e vírgula, sendo possível passar valores nulos, valores decimais separados por vírgula e abrangências;
- a função obedece as definições e restrições do menu do sistema, somente sendo possível abrir telas que estejam (ou estariam) acessíveis para o usuário no uso normal do sistema.
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).