Conceito:
Um Script de Operação permite a manipulação dos componentes de tela do SAM, interferir em ações ou processos ou até mesmo criar componentes, ações ou processos customizados.
Métodos Principais:
1 - execute: Este método é executado antes da tarefa ser aberta, nele serão feitas as alterações em componentes visuais ou processos da tela.
2- validar: Este método é executado nos cadastros sempre que o usuário salvar (F9) um registro.
Métodos de Interação:
Métodos criados para avisar, alertar, interromper e questionar o usuário.
1 - exibirInformacao: Exibir em uma tela uma mensagem apenas informativa:
Nome : exibirInformacao(Argumento1)
Argumento1: Mensagem a ser exibida
Exemplo : exibirInformacao("Olá Mundo!");
2 - exibirAtencao: Exibir em uma tela uma mensagem de alerta/atenção porém sem interromper o processo:
Nome : exibirAtencao(Argumento1)
Argumento1: Mensagem a ser exibida
Exemplo : exibirAtencao("O saldo da conta corrente está negativo.");
3 - exibirQuestao: Exibir em uma tela uma questão com dois botões [SIM, NÃO] retornando [false] para [NÃO] e [true] para [SIM]:
Nome : exibirQuestao(Argumento1)
Argumento1: Mensagem a ser exibida
Exemplo : exibirQuestao("Deseja continuar o processo?");
4 - interromper: Interrompe o processo, exibindo uma mensagem informada no parâmetro. Para continuar a execução será necessário corrigir o sistema conforme a mensagem informada:
Nome : interromper(Argumento1)
Argumento1: Mensagem a ser exibida
Exemplo : interromper("Necessário preencher o endereço de cobrança.");
Métodos para Banco de Dados:
Métodos para fazer consultas, salvar e deletar dados no banco conforme a SQL criada pelo usuário.
1 - executarConsulta: Executa a SQL informada no banco de dados:
Nome : executarConsulta(Argumento1)
Argumento1: SQL a ser executada no banco de dados
Exemplo : executarConsulta("SELECT * FROM Abh80 LIMIT 1");
Retorno : Lista de TableMap a partir do resultado obtido na execução da SQL.
2 - executarSalvarOuExcluir: Executa uma SQL sem retorno, ou seja, apenas uma SQL para salvar (INSERT/UPDATE) ou excluir (DELETE) um registro no banco de dados.
Nome : executarSalvarOuExcluir(Argumento1)
Argumento1: SQL a ser executada no banco de dados
Exemplo : executarSalvarOuExcluir("UPDATE Abh80 SET abh80nome = 'José');
Retorno : Só existirá retorno em caso de erro.
Métodos para Manipulação da tela:
Métodos para fazer alterações em componentes da tela.
1 - ocultarColunas: Oculta uma coluna de uma determinada Spread (Tabela) da tela.
Nome : ocultarColunas(Argumento1, Argumento2)
Argumento1: Spread que terá as colunas ocultas
Argumento2: Índice das colunas que serão ocultas separadas por virgula
Exemplo : def spread = getComponente("nomeSpread")
ocultarColunas(spread, 0, 3, 5, 10)
2 - moveColumn: Move uma determinada coluna de uma Spread (Tabela).
Nome: : moveColumn(Argumento1, Argumento2)
Argumento1: Índice atual da coluna que será movida
Argumento2: Índice para qual a coluna será movida
Exemplo : def spread = getComponente("nomeSpread")
spread.moveColumn(5, 2)
3 - setEnabled: Habilita ou Desabilita um componente da tela recebendo como argumento [true] para Habilitado ou [false] para desabilitado.
Nome : setEnabled(Argumento1)
Argumento1: Booleano indicando se será habilitado ou não
Exemplo : def campo = getComponente("campo")
campo.setEnabled(false)
4 - criarBotao: Cria um botão customizado na parte inferior da tela devendo receber dois argumentos: o primeiro indicando qual o texto do botão e o segundo uma função que será executada ao clicar.
Nome : criarBotao(Argumento1, Argumento2)
Argumento1: Texto que será exibido no botão
Argumento2: Função que será executada ao clicar
Exemplo : criarBotao("Salvar", { salvarRegistro() })
Obs. : A função deve obrigatoriamente ser inserida entre chaves
5 - mostrarBotoes: Este método deve ser chamado logo após a criação dos botões customizados para que eles possam ser exibidos na tela.
Nome : mostrarBotoes()
Exemplo : criarBotao("Salvar", { salvarRegistro() })
mostrarBotoes()
6 - alterarTamanhoTela: Altera a altura e a largura da tela somando os valores recebido como argumento ao tamanho original.
Nome : alterarTamanhoTela(Argumento1, Argumento2)
Argumento1: Largura que a tela será alterada
Argumento2: Altura que a tela será alterada
Exemplo : alterarTamanhoTela(10, 50)