Formulas¶
Introdução¶
Uma fórmula é um método prático de resolver um assunto, dar instruções ou expressar uma operação. Em algumas tarefas do SAM4 o processamento de dados pode ser feito de forma customizada, ou seja, cada empresa pode processar livremente. Essas customizações são feitas através das fórmulas. Por exemplo, cálculo de documentos, cálculo de folha de pagamento, manipulação de valores de itens no estoque.
Métodos¶
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()
getAcessoAoBanco
¶
Este método retorna uma coleção de métodos uteis para manipulação do banco de dados descritos a baixo:
Metodo | Descrição |
---|---|
buscarListaDeTableMap | Retorna uma lista de TableMap contendo os registros obtidos a partir da execução de uma SQL. |
buscarUnicoTableMap | Retorna um único TableMap contendo o registro obtido a partir da execução de uma SQL. |
buscarListaDeRegistros | Retorna uma lista de registros (entidades) obtidos a partir da execução de uma SQL. |
buscarRegistroUnico | Retorna um único registro (entidade) obtido a partir da execução de uma SQL. |
buscarMultiResultSet | Retorna um objeto MultiResultSet contendo os registros obtidos a partir da execução de uma SQL. |
obterMapDeRegistros | Retorna um Map contendo os registros obtidos a partir da execução de uma SQL, usando coluna como chave/valor. |
obterListaDeBigDecimal | Retorna uma lista de BigDecimal obtidos a partir da execução de uma SQL. |
obterBigDecimal | Retorna um único BigDecimal obtido a partir da execução de uma SQL. |
obterListaDeInteger | Retorna uma lista de Integer obtidos a partir da execução de uma SQL. |
obterInteger | Retorna um único Integer obtido a partir da execução de uma SQL. |
obterListaDeDate | Retorna uma lista de objetos LocalDate obtidos a partir da execução de uma SQL. |
obterDate | Retorna um único objeto LocalDate obtido a partir da execução de uma SQL. |
obterListaDeString | Retorna uma lista de String obtidas a partir da execução de uma SQL. |
obterString | Retorna uma única String obtida a partir da execução de uma SQL. |
obterListaDeLong | Retorna uma lista de Long obtidos a partir da execução de uma SQL. |
obterLong | Retorna um único Long obtido a partir da execução de uma SQL. |
buscarRegistroUnicoById | Retorna um registro de uma tabela pelo ID informado como argumento. |
buscarRegistroUnicoByCriterion | Retorna um registro de uma tabela filtrado por um Criterion . |
criarParametroSql
¶
Este método retorna um objeto do tipo Parametro para ser utilizado nos métodos que realizam a manipulação do banco de dados que vimos acima.
Argumentos
Tipo | Descrição |
---|---|
String | Chave |
Object | Valor |
String sql = " SELECT * FROM Abm01 WHERE abm01codigo = :codigo AND abm01tipo = :tipo "
Parametro paramCodigo = criarParametroSql("codigo", "0101001")
Parametro paramTipo = criarParametroSql("tipo", 0)
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)"
selecionarAlinhamento
¶
O alinhamento de valores permite fazer um alinhamento dos campos de registros contidos em um leiaute, uma fórmula, em listagens para alinhar campos livres do sistema (Json), possibilitando usar nas fórmulas um nome padronizado. Este método seleciona qual alinhamento de valores será utilizado no script
Argumentos:
Tipo | Descrição |
---|---|
String | Código do alinhamento |
selecionarAlinhamento("0001")
getCampo
¶
Este método retorna o campo informado no alinhamento de valores pelo conteúdo do registro. Este método deve ser utilizado após a utilização do método selecionarAlinhamento
Argumentos:
Tipo | Descrição |
---|---|
String | Registro |
String | Campo |
getCampo("C100", "ICMS")
getSession
¶
Este método retorna um objeto do tipo Session para manipular o banco de dados.
Session session = getSession()
session.persist(xpto)
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.")
get()¶
Quando uma Listagem é executada, alguns dados podem ser enviados para o processo, estes dados são conteudo dos filtros. O envio deste dado é feito através de um Mapa de chave e valor, para recuperar estes dados utilizamos o método get()
e suas variações.
Exemplo: Em uma listagem existe um campo de data e foi atribuido o nome dataDeInicio
.
<m-date label="Data de Inicio" v-model="filtros.dataDeInicio" />
Para recuperar o conteudo deste campo a partir do código groovy utilizamos o método get()
.
def dataDeInicio = get("dataDeInicio")
Este método por si só retorna um objeto. Contamos com alguma variações deste método que nos trazem os dados já convertidos.
Método | Retorno | Método | Retorno |
---|---|---|---|
getString() | Texto | getLocalDate() | Data |
getBoolean() | Booleano | getLocalTime() | Hora |
getInteger() | Inteiro | getIntervaloDatas() | Array de Datas |
getLong() | Longo | getListLong() | Lista de Longos |
getBigDecimal() | Decimal | getListInteger() | Lista de Inteiros |