Campo obrigatório.
QuandoConferido só na tela: Descrição em branco. A mensagem aparece embaixo do campo.
Sistema antigo"Campo [Descrição] em Branco !" (menu186.prg:320, menu18e.prg:213).
Não grava. statuscode 400 com a frase abaixo, que a tela mostra como está.
Pergunta antes de seguir. Nestas três telas quem pergunta é sempre a própria tela.
Passa, mas com um comportamento que surpreende quem está conferindo — ou é conferido só na tela.
O 186 e o 18E usam o cadastro genérico: a frase de obrigatório traz o rótulo do campo como a tela o mostra (Descrição) e, entre parênteses, o nome do cadastro.
Os dois são entradas do catálogo de cadastros simples
(/cadastro/simples/natureza-operacao e /cadastro/simples/locais-embarque).
Não são por filial: a grade lista a tabela inteira, e a inclusão só registra a filial da sessão.
A exclusão é física (DELETE), como no sistema antigo, mas recusada quando o
registro está em uso — o sistema antigo não confere (ver as regras de cada tela).
Campo obrigatório.
QuandoConferido só na tela: Descrição em branco. A mensagem aparece embaixo do campo.
Sistema antigo"Campo [Descrição] em Branco !" (menu186.prg:320, menu18e.prg:213).
Informe Descrição (Natureza de operação (CFOP)).
QuandoO servidor confere o mesmo obrigatório: "Informe <rótulo do campo> (<cadastro>)." No 18E sai "Informe Descrição (Local de Embarque)."
Registro id=1001234 nao encontrado em 'natureza_operacao'
QuandoAlterar ou excluir um id que não existe mais (apagado por outra janela). Chega com statuscode 404; no 18E a tabela é 'local_embarque'.
(janela de exclusão) — confirmar Excluir
QuandoPergunta da tela: Excluir abre o registro em modo leitura com o botão de confirmar.
(sem mensagem) — texto maior que a coluna é cortado
QuandoDescrição acima de 50 caracteres (186) ou 60 (18E), CFOP acima de 4: o servidor grava os primeiros, sem recusar.
(sem mensagem) — descrição repetida é aceita
QuandoNenhum dos dois confere duplicidade, como no sistema antigo.
A tela edita só descrição (50, obrigatória) e CFOP (4, opcional)
— decisão do usuário de 18/09/2026. As demais colunas (substituicao_tributaria,
insento_icms/ipi/pis/cofins, gera_financeiro, idtipo_faturamento,
ent_sai, baixa_estoque) ficam fora do INSERT e do UPDATE: na inclusão valem
os defaults do banco, e a alteração preserva o que já está gravado. O rótulo desta opção em
opcao_sistema ("Tabela de frete vivo") está errado; vale o programa.
Natureza de operação (CFOP) em uso em 1520 tributação(ões) de item, 12 item(ns) de venda - não pode ser excluído.
QuandoExcluir uma natureza referenciada em faturamento_produto_trib, faturamento_venda, faturamento_venda_produtos, faturamento_compra_gado_produtos ou faturamento_cte (coluna idnatureza_operacao; onde a tabela tem excluido, só linha viva conta). A frase lista só as tabelas com uso (os números são de exemplo); os outros rótulos são "venda(s)", "item(ns) de compra de gado" e "CT-e(s)".
Sistema antigoNão confere: DELETE direto (menu186.prg:396), deixando a referência órfã.
AtençãoAs colunas não têm índice: a conferência varre as tabelas e leva alguns segundos (~6 s em central).
(sem mensagem) — CFOP livre
QuandoO CFOP não é conferido (formato, dígitos, repetição). O mesmo CFOP pode estar em várias linhas — é o caso do cadastro atual, e o resto do sistema usa a de menor id.
(sem mensagem) — isenções e ST não são editáveis aqui
QuandoO sistema antigo grava os marcadores de isenção, ST, gera financeiro e tipo de faturamento; esta tela não os mostra nem os grava. Natureza nova nasce com os defaults do banco ('F' nas isenções e na ST, 'T' em gera financeiro).
Só código e descrição (60, obrigatória). O catálogo de opções do banco chama esta opção de "Plantas (Depósitos)"; a tabela e o programa são "local de embarque".
Local de Embarque em uso em 29 venda(s), 28 pedido(s) de venda - não pode ser excluído.
QuandoExcluir um local referenciado em faturamento_venda, faturamento_venda_ordem_venda, faturamento_transportadora, faturamento_transp_carne, faturamento_logistica_entrega ou filial (coluna idlocal_embarque; onde a tabela tem excluido, só linha viva conta). Os demais rótulos da frase: "faturamento(s) de transportadora", "frete(s) de carne", "logística(s) de entrega", "filial(is)".
Sistema antigoNão confere: DELETE direto (menu18e.prg:263).
Uma tabela por dia: para cada produto com código de indústria, valor de venda e dois custos (com e sem imposto). É lida como reserva de custo pelo Balanço (3199A), Inventário (3231), Inventário por Câmara (3233) e Pedido de Venda (2332), sempre a mais recente até a data, sem filtro de filial — por isso é tratada como tabela única da empresa. Gravar apaga a tabela do dia inteira, de qualquer filial, e reinsere só com a filial da sessão, numa transação. Só vão ao banco os produtos com valor de venda maior que zero. Não há validade, autorização nem mês fechado.
Campo [Data] em Branco !
QuandoGravar sem a data (tela e servidor, a mesma frase).
Sistema antigoIgual (menu18f.prg:367).
Produto 1004321 repetido na tabela.
QuandoO mesmo produto duas vezes entre os que têm valor de venda (só por chamada direta — a tela monta uma linha por produto). A chave da tabela é por produto.
Valor negativo no produto 1004321.
QuandoProduto com valor de venda ou algum dos custos negativo. A conferência vem antes do descarte das linhas sem venda: linha com venda negativa é recusada, não some.
Informe o dia da tabela.
QuandoExcluir sem a data (só por chamada direta; a grade sempre manda a data da linha).
Excluir a tabela de 24/09/2026?
QuandoPergunta da tela, no Excluir da grade. Confirmado, apaga todas as linhas do dia (de qualquer filial) e responde "Tabela excluída (N linha(s))."
(sem mensagem) — produto sem valor de venda não é gravado
QuandoLinha com venda zero é descartada, mesmo tendo custo preenchido: custo sozinho não segura a linha. O rodapé da janela avisa: "N de M produto(s) com valor de venda - só estes vão ao banco."
Sistema antigoIgual para zero (menu18f.prg:388).
Já existe tabela de valorização em 24/09/2026. Gravar vai SUBSTITUIR a tabela desse dia. Continua?
QuandoIncluir num dia que já tem tabela. O servidor pergunta (409, campo substituirConfirmado); confirmado, apaga a do dia e grava a nova; negado, nada é gravado.
Sistema antigoSubstitui sem perguntar (menu18f.prg:377).
AtençãoNa alteração a data fica travada — trocar o dia de uma tabela exige incluir uma nova.
(sem mensagem) — o que a tabela nova já traz preenchido
QuandoIncluir traz todos os produtos com código de indústria e a data de hoje. No Brasil o valor de venda nasce zero; nos demais países, o último preço de venda dos últimos 60 dias convertido para dólar (moeda 112). Os dois custos nascem sempre zero.
(sem mensagem) — gravar alcança as outras filiais
QuandoA tabela do dia é apagada inteira, inclusive linhas gravadas por outra filial, e reinserida com a filial da sessão — como o sistema antigo (menu18f.prg:377 e :438).
grep hUsuarioRegras nos três programas do sistema antigo devolve
zero: não há regra nomeada a conceder no Acesso dos Grupos (444). Quem vê a opção no menu
(grupo_permissao) inclui, altera e exclui.
Recusa de regra: HTTP 200 com statuscode 400 e a frase, que a janela mostra na
linha de erro do formulário. Registro inexistente: statuscode 404. Os obrigatórios
são conferidos primeiro na tela. Não há pergunta do servidor (409). Erro inesperado traz o
código de ocorrência de 8 caracteres — copie-o no chamado.
| O quê | Valor |
|---|---|
| 18F — janela do último preço de venda (fora do Brasil) | 60 dias |
| 18F — moeda da conversão do preço de venda sugerido | 112 (dólar) |
| 18F — país sem sugestão de preço | Brasil (codicfj 004): nasce zero |
| tamanhos | 186: descrição 50, CFOP 4 · 18E: descrição 60 |
| Ponto | Situação |
|---|---|
| 186 — campos editados | só descrição e CFOP (decisão de 18/09/2026); o sistema antigo grava também isenções, ST, gera financeiro e tipo de faturamento |
| 18F — transação | apagar o dia e reinserir numa transação só; o sistema antigo apaga e insere linha a linha, e uma falha no meio deixava o dia pela metade |
| 18F — recusas novas | produto repetido e valor (venda ou custo) negativo são recusados; o sistema antigo não confere |
| 18F — incluir num dia existente | pergunta antes de substituir (24/09/2026); o sistema antigo substitui calado |
| 186 e 18E — exclusão em uso | recusada (24/09/2026), pelas tabelas que apontam para o registro; o sistema antigo apaga e deixa a referência órfã |
| teste | não testado na tela nesta conferência |
Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.