Scripts de Operação¶
Introdução¶
Dentre os Script do SAM o Script de Operações é o único que não é desenvolvido pela ferramenta SAMDEV, ele é construído dentro da própria tarefa. Com ele o desenvolvedor pode criar regras operacionais diferentes para cada tarefa, manipular campos da tela, fazer validações etc. Basicamente o desenvolvedor consegue manipular toda a tarefa. As telas do SAM são construídas em JAVA com SWING, Swing é um widget toolkit GUI para uso com o Java. Ele possui alguns componentes como, Campo texto, campo numérico, campo combo, etc. Cada um destes componentes possuem algumas propriedades que podem ser alteradas para configurar tamanho, largura, altura, cor, fonte, etc.
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.
Os componentes de tela do SAM são construidos a partir de componentes Swing
, sendo assim, os métodos aplicaveis aos componentes swing são aplicados aos componentes do SAM.
As tarefas do SAM são divididas em dois tipos:
- Cadastros
- Processos
Saiba Mais
Para conhecer mais, veja alguns exemplos.
Métodos¶
execute
¶
Disponível por padrão em todos os scripts, sendo executado antes da tarefa ser aberta, nele serão feitas as alterações em componentes visuais ou processos da tela.
@Override
public void execute(MultitecRootPanel panel) {
}
preSalvar
¶
Disponível por padrão nos scripts das tarefas de cadastro, sendo executado nos cadastros sempre que o usuário salvar (F9) um registro.
@Override
public void preSalvar(boolean salvo) {
}
posSalvar
¶
Disponível por padrão nos scripts das tarefas de cadastro, sendo executado nos cadastros após o usuário salvar (F9) um registro.
@Override
public void posSalvar(Long id) {
}
exibirInformacao
¶
Exibir em uma tela uma mensagem apenas informativa.
Argumentos:
Tipo | Descrição |
---|---|
String | Mensagem a ser exibida |
exibirInformacao("Olá Mundo!")
exibirAtencao
¶
Exibir em uma tela uma mensagem de alerta/atenção porém sem interromper o processo.
Argumentos:
Tipo | Descrição |
---|---|
String | Mensagem a ser exibida |
exibirAtencao("O saldo da conta corrente está negativo.")
exibirQuestao
¶
Exibir em uma tela uma questão com dois botões [SIM, NÃO] retornando [false] para [NÃO] e [true] para [SIM].
Argumentos:
Tipo | Descrição |
---|---|
String | Mensagem a ser exibida |
boolean resposta = exibirQuestao("Deseja continuar o processo?")
interromper
¶
Este método lança uma exceção ao processo, interrompendo-o.
Tipo | Descrição |
---|---|
String | Mensagem a ser exibida |
interromper("Você não tem permissão para continuar.")
executarConsulta
¶
Executa a SQL informada no banco de dados, retornando uma lista de TableMap.
Argumentos:
Tipo | Descrição |
---|---|
String | SQL a ser executada no banco de dados |
List<TableMap> resultados = executarConsulta("SELECT * FROM Abh80 LIMIT 1")
executarSalvarOuExcluir
¶
Executa uma SQL sem retorno, ou seja, apenas uma SQL para salvar (INSERT/UPDATE) ou excluir (DELETE) um registro no banco de dados.
Argumentos:
Tipo | Descrição |
---|---|
String | SQL a ser executada no banco de dados |
executarSalvarOuExcluir("UPDATE Abh80 SET abh80nome = 'José')
ocultarColunas
¶
Oculta uma coluna de uma determinada Spread (Tabela) da tela.
Argumentos:
Tipo | Descrição |
---|---|
MSpread | Spread que terá as colunas ocultas |
int | Índice das colunas que serão ocultas separadas por virgula |
MSpread spread = getComponente("nomeSpread")
ocultarColunas(spread, 0, 3, 5, 10)
criarMenu
¶
Cria um menu na parte superior da tarefa
Argumentos:
Tipo | Descrição |
---|---|
String | Nome do Menu |
String | Nome do Item do Menu |
ActionListener | Ffunção que será executada ao clicar no menu |
KeyStroke | Atalho no teclado para chamar o menu |
criarMenu("Validações", "Validar Item", e -> validarItem(), null);
alterarTamanhoTela
¶
Altera a altura e a largura da tela somando os valores recebido como argumento ao tamanho original.
Argumentos:
Tipo | Descrição |
---|---|
int | Largura que a tela será alterada |
int | Altura que a tela será alterada |
alterarTamanhoTela(10, 50)
obterEmpresaAtiva
¶
Este método retorna um objeto do tipo Aac10 contendo os dados da empresa ativa.
Aac10 aac10 = obterEmpresaAtiva()
obterUsuarioLogado
¶
Este método retorna um objeto do tipo Aab10 contendo os dados do usuário logado no sistema.
Aab10 aab10 = obterUsuarioLogado()
obterWherePadrao
¶
Este método retorna um WHERE filtrando pelos Campos Default para ser utilizado em SQLs.
Argumentos
Tipo | Descrição |
---|---|
String | Nome da Classe |
Object | Comparador Ex.: WHERE, AND, OR |
String sql = "SELECT * FROM Eaa01 WHERE eaa01id = 123 " + obterWherePadrao("Eaa01", "AND")
"SELECT * FROM Eaa01 WHERE eaa01id = 123 AND eaa01gc IN (1, 2, 3)"