SamDev - Script de Operação

Ultima Revisão: 21/07/2021

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)