FJFrigo · Manutenção › Fechamento › 1-U.D.F. · 421

Data de Fechamento (U.D.F.)

Grava as três datas de corte — financeira, faturamento e contábil — que as telas de lançamento usam como "mês fechado". Cada regra traz a mensagem exata, quando dispara e o confronto com o sistema antigo.

Tabelas: parametros (udf, udf_fat, udf_cont), udf_log Código: cadastro.udf · tela UdfConfig Programa antigo: menu421.prg

Bloqueia

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

Confirma

Pede algo antes de seguir. Aqui é o token da alteração momentânea: statuscode 428.

Aviso

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

Quem usa estas datas

A U.D.F. financeira é parametros.udf (nunca filial.udf), por filial; a contábil é conferida pelo 251, 252 e fechamentos.

A

Abrir a tela

GET /cadastro/udf
Bloqueia

Sem permissão para alterar a data de fechamento (U.D.F.).

QuandoO grupo do usuário (grupo_usuario.tipo_grupo) não é ADM nem GCO. Vale ao abrir e ao gravar; a tela mostra só a frase, sem os campos.

Sistema antigoO mesmo: aceita ADM ou GCO e, fora disso, simplesmente não abre a janela, sem mensagem (:41). O GCO passou a entrar aqui em 24/09/2026.

Todos
Bloqueia

Não há linha em parametros para filial_ativa=3

QuandoA filial da sessão não tem linha em parametros (o número muda com a filial). É cadastro faltando, não defeito da tela.

Todos
Aviso

Travada: falta a regra HABILITAR_DATAS_UDF_UDF_FAT.

QuandoDica (tooltip) dos campos Data financeira e Data fatura, que ficam cinzas para quem não tem a regra. A data contábil continua livre.

Sistema antigoMesma regra (:268). No Paraguai, Bolívia e Chile o legado ainda trava as duas para quem não está numa lista de logins (:273) — isso não foi portado.

Todos
B

Gravar

PUT /cadastro/udf

A ordem no servidor é: grupo ADM/GCO → regra das datas → data futura → 60 dias → token (só no momentâneo) → gravação. Sem "Todas as filiais", só a linha de parametros da filial da sessão muda. Toda gravação acrescenta uma linha em udf_log (a grade "Histórico").

Bloqueia

udf: não deve estar em branco

QuandoUma das três datas veio vazia. O nome antes dos dois-pontos é o campo: udf, udfFat ou udfCont; várias vêm separadas por ;.

Todos
Bloqueia

Usuário não tem permissão [HABILITAR_DATAS_UDF_UDF_FAT]!

QuandoSem a regra, a data financeira ou a de faturamento chegou diferente da gravada (compara só o dia). A tela já trava os dois campos; a recusa cobre chamada direta.

Sistema antigoSó desabilitava os campos (:268).

Todos
Bloqueia

Data maior que a data atual, não será permitido prosseguir.

QuandoA data financeira é depois de hoje (relógio do servidor da aplicação). A regra LANCAR_UDF_COM_DATA_MENOR_60_DIAS dispensa.

Sistema antigo"Data maior que a data atual, não será permitido prosseguir !" (:326).

AtençãoSó a financeira é conferida — faturamento e contábil podem ser futuras.

Todos
Bloqueia

Data menor que 60 dias da data atual, não será permitido prosseguir.

QuandoA data financeira é mais de 60 dias antes de hoje e mudou em relação à gravada. Regravar a mesma data antiga passa. A regra LANCAR_UDF_COM_DATA_MENOR_60_DIAS dispensa.

Sistema antigo"Data menor que 60 dias, não será permitido prosseguir [data] hj [data-60]!" (:333) — a frase do legado traz as duas datas; a daqui não.

Todos
Confirma

Alteração momentânea exige um token de liberação.

QuandoA caixa Momentâneo está marcada e a gravação foi sem token. statuscode 428: a tela abre a janela Token de liberação, pede o token e reenvia a mesma gravação.

Sistema antigoF10 abria o pedido de token "Token para abrir udf momentaneo" e só então marcava a caixa (:86, :298).

AtençãoO token vale para uma gravação: recusado ou usado, a próxima tentativa pede outro.

Todos
Bloqueia

Token inválido ou já utilizado.

QuandoMomentâneo com um token que não existe ou já foi usado. Só serve token genérico da tela 46: um token gerado para uma regra específica é recusado aqui com a mesma frase.

Todos
Aviso

(sem mensagem) — o momentâneo não grava as datas, só o histórico

QuandoCom Momentâneo e token válido, parametros não muda, mas a linha em udf_log é gravada. Quem confere o histórico vê uma "mudança" que não vale.

Sistema antigoIgual: o UPDATE fica dentro de IF ::lMomentaneo = .F. e o INSERT no log fora (:347, :369).

Todos
Aviso

(sem mensagem) — "Todas as filiais" regrava todas as linhas de parametros

QuandoMarcada, as três datas vão para todas as filiais do banco, não só para as do usuário. O log sai com a filial da sessão.

Sistema antigoMesmo UPDATE sem filtro; o log era gravado sem idfilial nesse caso (:369).

Todos
Aviso

(sem mensagem) — data futura bloqueia mesmo no momentâneo

QuandoAs conferências de data vêm antes do token: um momentâneo com data financeira futura é recusado pela data e o token não é gasto.

Todos
C

Permissões

Quem pode passar
CritérioO que libera
grupo ADM ou GCO (tipo_grupo)abrir e gravar a tela; sem um deles nada
HABILITAR_DATAS_UDF_UDF_FATeditar a data financeira e a de faturamento (a contábil não depende dela)
LANCAR_UDF_COM_DATA_MENOR_60_DIASdispensa as duas conferências da data financeira (futura e mais de 60 dias)
master (usuario.master)vale como se tivesse as duas regras, mas não dispensa o grupo ADM/GCO

As regras se concedem no 444 (ao grupo) ou no 443 (ao usuário); o usuário também as herda dos grupos do ceif ligados.

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 na faixa vermelha abaixo dos campos. Ao abrir, a recusa de grupo substitui o formulário pela frase. Token: statuscode 428, que abre a janela de token. 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
LiteralOnde
60 diaslimite da data financeira no passado (UdfRepository), como no legado
grupos ADM e GCOúnica porta de entrada da tela (como o legado, :41)

As listas de login do legado (athayde, marcos, hgonzalez, suporte…), o aviso "Contactar Marcos Hermann!" (:69) e o login jenny gravando só a data de faturamento (:357) não foram portados.

F

Diferenças e decisões pendentes

O que muda em relação ao sistema antigo
PontoSituação
listas de loginnão portadas; valem só as duas regras nomeadas (inclusive fora do Brasil, onde o legado ainda usa a lista)
momentâneocaixa em vez de F10; o token é pedido na janela de token ao gravar (428), como nas demais telas
log com "Todas as filiais"grava a filial da sessão; o legado grava sem filial
recusa da regra de dataso servidor recusa; o legado só desabilitava os campos

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