Pular para o conteúdo principal

TCB001.R001 — Código gerado automaticamente por sequência

Módulo: TCB001 · Menu: Cadastros > Tabelas Contábeis > Movimentações Classificação: intencional · Relevância: baixa

Regra​

Se o Código da Movimentação for deixado em branco na inclusão, o sistema busca (ou cria) o generator SEQ_MOVIMENTACAO via a procedure GERA_SEQUENCIA e gera um código livre, verificando que ele não colide com um já existente antes de gravar.

Quando dispara​

Ao salvar (Post) um registro novo com o campo Código vazio.

Como o usuário resolve​

Não é necessário informar o código manualmente; o usuário pode deixá-lo em branco que o sistema numera sozinho.

Parâmetros envolvidos​

  • CD_MOVIMENTACAO

Evidência​

ArquivoLinhasRotinaO que o trecho faz
source/TCB001/UdmTCB001.pas119-156TdmTCB001.tabMOVIMENTACAOBeforePostGera o próximo número de sequência via GERA_SEQUENCIA e garante unicidade do código
Scripts/GERA_SEQUENCIA.sql1-1``Procedure Firebird referenciada para gerar o próximo número de sequência (não lida nesta sessão)

source/TCB001/UdmTCB001.pas:119

if (dmTCB001.tabMOVIMENTACAOCD_MOVIMENTACAO.AsString = '') then begin

// Busca o Próximo Número de Sequencia
Consulta := ' SELECT V_NR_SEQUENCIA, V_DS_MENSAGEM '
+ ' FROM GERA_SEQUENCIA(NULL,''SEQ_MOVIMENTACAO'' ) ';
Resultado := ExecutaConsulta(dmTCB001.transaction,Consulta);
if (Resultado[1] <> '') then begin
// Cria o Generator caso Não Exista
Consulta := ' CREATE GENERATOR SEQ_MOVIMENTACAO ';
ExecUpdate(dmTCB001.transaction,Consulta);

// Busca o Próximo Número de Sequencia

Scripts/GERA_SEQUENCIA.sql:1

SET TERM ^ ;