Neste exemplo, vamos criar 2 aplicativos do tipo "Filtro" e 1 aplicativo do tipo "Formulário".
Nos aplicativos do tipo Filtro, usaremos as tabelas "customers" e "orders", porém, selecionaremos apenas alguns campos de cada tabela e faremos ajustes em alguns deles.
Para utilizar as tabelas citadas acima, basta criar um novo projeto e utilizar o projeto pronto "Samples" no ScriptCase.
1. Criamos o primeiro aplicativo do tipo Filtro utilizando a tabela "customers", e iremos selecionar apenas o campo "customerid" para ser utilizado no aplicativo.
2. Em seguida, iremos para a opção "Campos", pois iremos alterar o tipo do campo "customerid" para 'Select' e ativar a opção "Usar Select2".
3. Ainda na página de configuração do campo, vamos rolar um pouco mais para baixo até "Método para Lookup" para escrever um código SQL, onde selecionamos os campos 'customerid' e 'companyname' da tabela 'customers' e classificamos os registros no campo 'companyname'.
4. Como a ideia é acessar o Formulário passando por 2 aplicativos do tipo "Search" previamente, precisaremos redirecionar o aplicativo "search_customers" para "search_orders"(que iremos criar na sequência), através do evento onValidate, passando os seguintes parâmetros abaixo no macro sc_redir():
5. Feito isso, criaremos o segundo aplicativo do tipo "Search", onde dessa vez utilizaremos a tabela de 'orders' e faremos os ajustes necessários. Nesse caso, dois campos foram selecionados: 'orderid' e 'employeeid'.
6. Com a criação da segunda aplicação do tipo “Filtro”, iremos ajustar os campos 'orderid' e 'emplyeeid' para serem do tipo 'Select', porém, diferente da aplicação anterior, não ativaremos a opção “Usar Select2”.
7. No evento onScriptInit, vamos definir o campo 'customerid' como sendo somente leitura, usando a macro sc_field_readonly(), e então atribuir na variável $customer, a variável global [customer_id], e posteriormente atribuir ao campo {customerid} a variável $customer.
8. Ainda na configuração dos campos, iremos escrever um código SQL onde passaremos como parâmetro dentro do campo 'customerid' que também está presente na tabela 'orders', a variável global [customer_id], que foi criada no evento onScriptInit na etapa anterior. Abaixo, podemos ver o código no Método para Lookup de cada campo:
9. Feito isso, vamos agora criar o Formulário usando a tabela 'orders'. O detalhe para a criação deste Formulário é que iremos configurar os campos {customerid} e {employeeid} para serem do tipo 'Select', além de habilitar também a opção “Usar Select2”.
10. Após todos estes ajustes, iremos ao aplicativo "search_orders", e na opção "Ligação entre Aplicações", iremos vincular o aplicativo com os "form_orders" que acabamos de criar.
- No menu lateral do aplicativo, selecionamos a opção “Ligação entre Aplicações”:
- Como nenhum link foi criado, clicamos em "Clique aqui" para criar um novo:
- Deixamos a opção "Ligação de Aplicação" marcada e clicamos em "Prosseguir":
- Selecionamos o aplicativo "form_orders" e clicamos novamente em "Prosseguir":
- De acordo com as configurações que definimos anteriormente, tudo já estará configurado corretamente, basta confirmar para completar a ligação:
- Por fim, clicamos em "Salvar", e o link será criado:
11. Executamos o aplicativo "search_customers" para que ele seja redirecionado para "search_orders", que posteriormente será redirecionado para "form_orders", conforme definimos no passo anterior.
- Definimos o parâmetro de pesquisa e, em seguida, o "Customerid", e clicamos em "Pesquisa":
- Definimos o filtro para os campos {orderid} e {employeeid} e clicamos em "Pesquisa":
- Em seguida, o Formulário será executado com os registros de acordo com os filtros previamente definidos: