FJFrigo · Lançamentos · 5-Contabilidade › 9-Fechamento do Exercício · 259

Fechamento do Exercício

Os dois asientos de fim de ano, em 31 de dezembro: o Resultado, que zera as contas de resultado (4 e 5) contra a conta de resultado do exercício, e o Encerramento, que zera as patrimoniais (1, 2 e 3). Cada regra traz a mensagem exata, quando dispara e o confronto com o sistema antigo.

Tabela: contabilidade_analitico Período: 1º de janeiro a 31 de dezembro do ano escolhido Programa antigo: menu259.prg

Bloqueia

Não grava. statuscode 400 com a frase abaixo, que a tela mostra como está.

Confirma

Pergunta antes de seguir. Quem pergunta está dito em cada regra — o servidor (statuscode 409, com o nome do campo) ou a própria tela.

Aviso

Passa, mas com um comportamento que surpreende quem está conferindo — ou é conferido só na tela.

Português ou espanhol

O servidor devolve a frase do sistema antigo, e várias eram em espanhol lá. Não é tradução faltando.

A

Antes de rodar

Conferido antes de qualquer escrita
Confirma

Fechamento de resultado: a rodada anterior deste período será substituída. Continuar?

QuandoPergunta da tela, no botão Resultado.

Todos
Confirma

Encerramento do exercício: a rodada anterior deste período será substituída. Continuar?

QuandoPergunta da tela, no botão Encerramento.

Todos
Bloqueia

Periodo obrigatorio.

QuandoAno, mês ou uma das datas chegou vazio. A tela sempre manda; a frase só aparece com a requisição montada por fora.

Todos
Bloqueia

Periodo ja fechado pela contabilidade: o resultado do exercicio (259) nao pode ser executado para 2025-12-31, porque o fechamento contabil (parametros.udf_cont) esta em 2025-12-31.

QuandoA data de 31/12 do período é igual ou anterior ao fechamento contábil. A conferência vem antes de apagar a rodada anterior — senão a rotina destruiria o fechamento antigo e só depois falharia.

Conferirparametros.udf_cont (o fechamento contábil do tenant inteiro — hoje 31/12/2025 em central).

Sistema antigoNão confere — zero ocorrências de "udf" nos quatro programas de fechamento. Rodado com o mês errado, o sistema antigo reescreve um mês fechado sem avisar. Divergência deliberada.

Todos
Bloqueia

Sem numero de asiento para o ano 2026.

QuandoO contador de asientos do ano (numero_asiento) não devolveu número. Na prática não acontece: sem a linha do ano, ela é criada.

Conferirnumero_asiento do ano.

Sistema antigo"Sem numero asiento" (numelanContabNew).

Todos
Bloqueia

Filial 3 nao encontrada.

QuandoA filial da sessão não existe mais no cadastro. Entre de novo e escolha a filial.

Todos
B

O que a rodada faz

Resultado e Encerramento
Aviso

Fechamento de resultado concluído. 212 conta(s) com ganho, 187 com perda. Total ganho 1.254.330.100, perda 988.120.004. 399 linha(s) da rodada anterior apagada(s).

QuandoResultado: cada conta 4 e 5 com saldo recebe o lançamento que a zera, contra a conta de resultado do exercício, marcado resultado_ex = 'T'. A diferença cambial das baixas (fba) do ano entra somada à conta de diferença cambial. A rodada anterior (as linhas de 31/12 com resultado_ex) é apagada fisicamente antes.

ConferirContabilidade › 251, asientos de 31/12 com histórico de resultado.

Sistema antigo"Fechamento resultado terminada !" (:341).

Todos
Aviso

Encerramento do exercício concluído. 540 conta(s) com ganho, 512 com perda. 1.052 linha(s) da rodada anterior apagada(s).

QuandoEncerramento: o mesmo sobre as contas 1, 2 e 3, marcado encerramento = 'T'. Aqui a diferença cambial das baixas não entra — o sistema antigo lê uma variável que nunca inicializa naquele método (:465), e o termo é sempre ausente.

Sistema antigo"Fechamento exercicio terminada !" (:560).

Todos
Aviso

(sem mensagem) — o valor sai em moeda 111, sem casas

QuandoA conversão é sempre para a moeda 111 com zero casas, qualquer que seja a moeda local da filial — literal do sistema antigo, reproduzido.

AtençãoNum tenant cuja moeda local não é a 111, o fechamento sai na moeda errada — é o que o sistema antigo faz.

Todos
C

Permissões

Quem pode passar

grep hUsuarioRegras no programa do sistema antigo devolve zero: esta tela não tem regra nomeada a conceder no Acesso dos Grupos (444).

D

Como o erro chega na tela

Para o QA reproduzir e reportar

Recusa de regra: HTTP 200 com statuscode 400 e a frase, que a tela mostra em vermelho abaixo dos botões. As recusas desta tela vêm antes de qualquer escrita — nada foi apagado nem gravado. Depois que a rotina começa, cada asiento é uma transação, como no sistema antigo: um erro no meio deixa gravados os asientos anteriores. Rodar de novo é o remédio — a rodada anterior do mesmo período é sempre substituída. Erro inesperado traz o código de ocorrência de 8 caracteres — copie-o no chamado.

E

Regras chumbadas no código

Esperadas — não abrir como defeito
O queValor
conta de resultado do exercício11129 quando a razão social contém TRANSPORTADOR; 1241 nas demais
moeda e casas da conversãomoeda 111, zero casas
F

Diferenças e decisões pendentes

O que muda em relação ao sistema antigo
PontoSituação
fechamento contábil (udf_cont)conferido antes de apagar; o sistema antigo não confere
rodada anteriorDELETE físico, como no sistema antigo (o 25E e o 25G só marcam excluído)

Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.