|
A macro sc_redir é utilizada para criar redirecionamentos dinâmicos entre duas aplicações ou entre uma aplicação e uma URL, permitindo a passagem de parâmetros e o controle de onde a aplicação de destino será aberta, utilizando o parâmetro target.
Em aplicações de formulário, ela pode ser utilizada em eventos que dependem de atualizações na base de dados, como: onAfterInsert, onAfterUpdate, onAfterDelete, onBeforeInsert, onBeforeUpdate e onBeforeDelete. No entanto, nesses eventos, a macro sc_commit_trans(); deve ser utilizada antes da sc_redir para confirmar a transação; caso contrário, o redirecionamento será realizado sem que as alterações na tabela sejam aplicadas.
Parâmetros
| Parâmetros |
Descrição |
Exemplos |
app_name/url |
Recebe o nome da aplicação ou URL de destino, para qual o usuário será redirecionado. Os valores devem ser passados entre aspas duplas ou simples. |
sc_redir('app_name'); |
parameter_to_send |
Permite passar valorer para a aplicação de destino no formato: nome_do_parametro='valor' A atribuição do valor pode ser feita com um {campo}, $variavel ou 'Valor Fixo'.
Para enviar mais de um parâmetro utilize o ponto e vírgula(;) como delimitado.
Os valores devem ser recuperados como variáveis globais no aplicativo de destino.
|
sc_redir('app_name', parm1=50);
Ao eviar dois ou mais parâmetros utilize o ponto e virgula entre eles:
sc_redir('app_name', parm1=50;parm2={campo};parm3=$variavel );
Na aplicação de destino o valor deve ser recuperado como variável global
if ( [parm1] == 50 ) { {id} = [parm1]; }
|
target |
Define como a a aplicação ou URL de destino será exibida.
- _self - Exibe a aplicação ou URL de destino na mesma aba (valor padrão caso nenhum target seja informando).
- _blank - Exibe a aplicação ou URL de destino em uma nova aba.
- _parent - Exibe a aplicação ou URL de destino na janela pai, se a página atual estiver em um iframe.
- modal - Exibe a aplicação ou URL de destino em uma janela modal (esta opção não está disponível ao utilizar a macro em um botão Run).
|
sc_redir('app_name', , '_blank');
Ao utilizar a abertura em modal, é obrigatório informar os parametros de altura e largura.
sc_redir('app_name', , 'modal', , '800', '600');
|
error |
Define o comportamento do redirecionamento caso haja algum erro na aplicação.
- 'E' - Trava o redirecionamento caso haja algum erro.
- 'F' - Força o redirecionamento mesmo com erro.
|
sc_redir('app_name', , ' ', 'E');
|
| modal_height |
Define a altura do modal em pixel. Este parâmetro é obrigatório ao utilizar modal no parâmetro target. |
sc_redir('app_name', , 'modal', , '800', '600'); |
| modal_width |
Define a largura do modal em pixel. Este parâmetro é obrigatório ao utilizar modal no parâmetro target |
sc_redir('app_name', , 'modal', , '800', '600'); |
Exemplos de uso
Ex. 1 - Redirecionamento simples, sem parâmetro.
// Como apenas a aplicação foi informada ela será aberta na mesma aba. sc_redir('aplx');
Ex. 2 - Redirecionamento com passagem de parâmetro
// Estão sendo enviados quatro parâmetros para a aplicação de destino, esses valores devem ser recuperados como variáveis globais: [parm1], [parm2], [parm3], [parm4] if ( empty($variable) ) { $variable = "documetation"; }
sc_redir('aplx', parm1={clienteid}; parm2="xxx"; parm3=$variable; parm4=10);
Ex. 3 - Utilizando target sem parâmetros
// Neste caso, como nenhum parâmetro está sendo enviado para a aplicação destino, deve ser deixado o espaço em branco para informar o target. sc_redir('aplx', , '_blank');
Ex. 4 - Utilizando modal do parâmetro target
// É obrigatório definir a largura e altura ao informar modal no parâmetro target // Apenas os valores devem ser informados. sc_redir('aplx', , "modal", '', '800', '600');
Ex. 5 - Exemplo de uso nos eventos de transação com o banco de dados do formulário.
// A macro sc_commit_trans deve ser utilizada antes da sc_redir para confirmar a transação. sc_commit_trans(); sc_redir('aplx', parm1={clienteid} );
Ex. 6 - Redirecionamento para URL
if ([glo_usuario] == "teste") { sc_redir(http://www.minha_pagina.com.br); }
|