FJFrigo · Lançamentos · 5-Contabilidade › E-Fechamento do Mês - Cambial · 25E

Fechamento do Mês — Variação Cambial

Reavalia pelo câmbio do último dia do mês o saldo das contas em moeda estrangeira e lança a variação contra a conta de diferença cambial da filial. Antes, zera o "pó" — sobras de menos de 0,1 na moeda estrangeira. Cada regra traz a mensagem exata, quando dispara e o confronto com o sistema antigo.

Tabela: contabilidade_analitico Período: 1º de janeiro ao último dia do mês escolhido Programa antigo: menu25e.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 cambial: a rodada anterior deste período será substituída. Continuar?

QuandoPergunta da tela.

Todos
Bloqueia

Filial sem conta de diferenca cambial (filial.idplc_difcamb).

QuandoA filial não tem a conta de diferença cambial — é contra ela que a variação é lançada.

ConferirCadastros › Filiais: a conta de diferença cambial. Em central, 1 das 72 filiais está sem.

Sistema antigoNão confere: lança a variação com conta zerada.

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 fechamento cambial (25E) nao pode ser executado para 2025-11-30, porque o fechamento contabil (parametros.udf_cont) esta em 2025-12-31.

QuandoA data final (último dia do mês) 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

Duas passadas
Aviso

Fechamento cambial concluído. 41 conta(s) com ganho, 37 com perda. 6 acerto(s) de resíduo. 164 linha(s) da rodada anterior excluída(s).

Quando1ª passada — o pó: conta com saldo em moeda estrangeira entre −0,1 e 0,1 (e diferente de zero) recebe um asiento que a zera, contra uma conta chumbada por tenant. 2ª passada — a variação: para cada conta 1, 2 e 3 com ajuste cambial, o saldo em moeda local já contabilizado é comparado com o saldo reavaliado pelo câmbio de compra/venda do último dia; a diferença vira ganho ou perda. A lista de Contas a excluir vale só na 1ª passada.

ConferirContabilidade › 251: histórico "Variacion cambial de cierre" na data final.

Sistema antigo"Fechamento terminada !" (:552).

Todos
Aviso

(sem mensagem) — a rodada anterior é marcada excluída, poupando o "Redondeo de IFRS"

QuandoA rodada anterior daquela data é marcada excluido = 'T' (não apagada), exceto as linhas de "Redondeo de IFRS", que são do 25F. As linhas do 25G (ifrs = 'T') não entram na conta — as duas rotinas convivem no mesmo mês.

Sistema antigoO sistema antigo apaga e para em "Problema ao borrar lo cierre" (:149) se falhar.

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
contrapartida do acerto de pódesde 12/09/2026 é a chave IDCONTA_AJUSTE_REDONDEO_CIERRE (Config. Globais), sem ela 10017193; antes era por razão social (TRANSP, GRUPO NORTE, ALL PAR, SHANGAI)
conta de diferença IFRSdesde 12/09/2026 é a chave IDCONTA_AJUSTE_IRFS; antes, por apelido (SHANGAI, HONG KONG, demais 10019979)
limite do pósaldo entre −0,0999999999 e 0,0999999999
F

Diferenças e decisões pendentes

O que muda em relação ao sistema antigo
PontoSituação
fechamento contábil (udf_cont)conferido pela data final; o sistema antigo não confere
filial sem conta de diferença cambialrecusada; o sistema antigo lança com conta zerada
joins de cotação sem colunamantidos (tirá-los mudaria as somas se houver cotação duplicada)

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