O relatório não é gerado. statuscode 400 com a frase abaixo.
Confirma
Nenhum relatório de almoxarifado pergunta nada — o filtro existe para manter o mesmo painel das demais documentações e hoje não acha regra.
Aviso
O relatório sai, mas com um comportamento que surpreende: filtro da tela que não filtra, coluna que só vai para a planilha, conta diferente do antigo.
Relatório não grava nada
Os 21 só leem. Vazio é recusado com "Não foram encontrados dados nessas condições." — não sai arquivo em branco.
A
Mapa: o que cada relatório responde
3-Relatórios › 3-Almoxarifado
A coluna "corta por" é a primeira coisa a conferir num chamado de número divergente.
Três relatórios quase não usam o período (3332, 3334, 3335) — ver a seção de cada um.
Opção
Relatório
Responde
Corta por
Endpoint
3311
Entradas
O que entrou, item a item (analítico) ou por produto (sintético)
data de entrada (ou de emissão, com a caixa)
relatorioEntradaAlmoxResumo
3312
Entradas (Comparativo Custo)
Cada entrada ao lado do custo da entrada anterior
data de entrada
relatorioEntradaAlmoxDetalhe
3313
Importações e Despachos
As despesas de cada despacho de importação
data do despacho
relatorioImportacoesDespachoAlmox
3314
Entradas (Comparativo Meses)
Produto × mês das entradas
data de entrada
relatorioMovimentoAlmoxMeses
3315
Entradas (lote)
Os lotes recebidos, com validade e certificado
data de entrada
relatorioEntradaAlmoxLote
3316
Entradas (Excel)
As entradas com os dados fiscais
data de emissão
relatorioEntradaAlmoxFiscal
3321
Saídas
O consumo item a item, ou resumido
data de emissão
relatorioSaidaAlmoxDetalhe
3322
Saídas (Comparativo Meses)
Produto × mês das saídas
data de emissão
relatorioMovimentoAlmoxMeses
3323
Transferências
A saída 1151 com a entrada que a recebeu
data de emissão da saída
relatorioTransferenciaAlmox
3324
Saídas (lote)
O consumo com lote e fornecedor
data de emissão
relatorioSaidaAlmoxSetor
3325
Saídas x Sucursal
Quantidade saída por produto e filial
data de emissão
relatorioSaidaAlmoxResumo
3326
Saídas Excel
As saídas com os dados fiscais
data de emissão
relatorioSaidaAlmoxFiscal
3327
Consumo por produção
Custo por quilo produzido (carne, M.O., insumos)
período de produção; abate da data inicial
relatorioConsumoProducao
3331
Movimentação do Estoque
Extrato de um produto com saldo corrente
data do movimento (ou da fatura)
relatorioMovimentacaoAlmox
3332
Inventário
Saldo e custo de cada produto numa data
só a data final
relatorioInventarioAlmox
3334
Sugestão para Compras
Produtos abaixo do estoque mínimo
só a data final (saldo até ela; consumo do mês anterior)
relatorioSugestaoCompra
3335
Imobilizado
Bens ativos com a depreciação até a data
aquisição, só com a caixa
relatorioImobilizado
3336
Movimentação Sintética
Saldo anterior, entradas, saídas e transferências por produto
período (saldo antes da data inicial)
relatorioMovimentacaoAlmoxSintetica
3337
Comparativo de compras entre filiais
Último preço pago em cada filial
data de entrada na filial escolhida
relatorioComparativoCompraAlmox
3338
Movimentação por lote
Extrato de um produto pelo lote
período
relatorioMovimentacaoAlmoxDetalhe
3339
Solicitações de compra
Item pedido × compra que o atendeu
data da solicitação
relatorioSolicitacaoCompraAlmox
Todos respondem em POST /lancamento/relatorios/<endpoint>, pelo
RelatorioController. 3314 e 3322 são o mesmo endpoint e a mesma tela: o
lado (entrada ou saída) é uma caixa nas Opções.
QuandoData inicial vazia. Com a data final vazia a frase é "Informe a data final.". Vale para os 21 menos o 3334, que só pede a data final — inclusive os que depois ignoram o período (3332, 3335): o período é conferido antes de qualquer coisa.
Todos
Bloqueia
A data final não pode ser anterior à inicial.
QuandoPeríodo invertido. Vale para os 21.
Todos
Bloqueia
Não foram encontrados dados nessas condições.
QuandoA consulta não trouxe linha nenhuma — em PDF e em planilha. O sistema antigo avisa com a mesma frase (com " !" no fim) e não imprime.
Por que não sai vazioUma tabela só com cabeçalho não gera página, e o gerador de PDF estouraria com "The document has no pages".
Todos
Aviso
Qualquer formato que não seja "pdf" sai como planilha.
Como éNão há recusa de formato: o servidor testa só pdf; o resto vira .xlsx. O PDF nasce em paisagem (caixa "Paisagem (PDF)" nas Opções); em retrato as mesmas colunas são espremidas.
Todos
Aviso
Colunas marcadas "só planilha" não aparecem no PDF.
Como éO PDF é o impresso (com quebra e subtotal); a planilha leva todas as colunas, inclusive as de rastreamento (moeda, id do produto, asiento, cidade, CNPJ…). Cada seção abaixo diz quais são. Quando o chamado for "falta a coluna X", conferir primeiro a planilha.
Todos
Aviso
O período pega o dia final inteiro (faixa meio-aberta).
Como éO corte é coluna >= 'inicial' AND coluna < DATE_ADD('final', INTERVAL 1 DAY) (FiltroAlmoxarifado.faixa), sobre colunas datetime. Um lançamento gravado com hora no dia final entra. O sistema antigo usa BETWEEN com data pura e para na meia-noite do dia final.
Onde valeO filtro comum e também o despacho (3313, e a exportação com despacho do 3311), o extrato (3331), o consumo dos meses do inventário (3332), a movimentação sintética (3336), o comparativo (3337), o detalhe (3338) e a aquisição do imobilizado (3335). 3316 e 3339 já pegavam o dia inteiro (DATE(coluna) BETWEEN). As datas entram como texto de data (não há parâmetro ? a ordenar).
Todos
Aviso
Moeda de conversão: valor × câmbio do lançamento ÷ cotação do dia.
Onde vale3311, 3312, 3314/3322, 3321, 3323, 3324, 3334 e 3332 (neste pela função de custo em moeda). A cotação é a da moeda escolhida na data do lançamento (cadastro de cotações, opção 21). Sem cotação naquela data o valor sai vazio/zero, sem erro.
Moeda filtroNo antigo o combo existe e nunca entrou na consulta; aqui ele filtra a moeda do lançamento (3311, 3312, 3314/3322, 3321, 3324).
Todos
Aviso
O filtro de País funciona aqui e derrubava o sistema antigo.
Por queAs telas antigas montam AND pais.id = … sem juntar a tabela pais: escolher um país dava Unknown column 'pais.id'. Aqui o país é o do emitente (cidade → estado → país). Vale onde o filtro comum é aplicado (3311, 3312, 3314/3322, 3315, 3321, 3324, 3325, 3326).
Todos
Aviso
A transferência é o tipo 1152 nas entradas e o 1151 nas saídas.
Como éNas entradas a caixa diz "tipo 1152"; nas saídas (3321, 3324, 3325) diz "tipo 1151", e é esse que o servidor tira quando a caixa é desmarcada. A caixa nasce marcada (transferências incluídas).
Todos
Aviso
O PDF termina com a folha "Filtros utilizados".
Como éOs 21 passam pelo responder(...) do controller: o PDF ganha uma última folha com usuário, base, filial e cada filtro preenchido. A caixa Exibir filtros no final (PDF) (Opções, nasce marcada) a desliga. A planilha não muda.
Todos
C
3311 — Entradas
RelatorioEntradaAlmoxResumoService · menu3311.prg
São dois relatórios num menu só: o Analítico (padrão; uma linha por item de
compra, com data, documento, nº de parcelas, emitente, produto, quantidade, unitário, valores
com e sem IVA, bruto da fatura) quebrado por data, e o Sintético (grupo × subgrupo ×
produto) quebrado por grupo. Filtros lidos: filial, fornecedor, país, grupo, subgrupo,
produto, tipo de faturamento, centro de custo (da linha), moeda de conversão e moeda filtro,
Lei 6090 (Todas/Com/Sem) e os interruptores das Opções. A ordenação (4 modos) só vale no
analítico.
Aviso
"Cortar pela data da fatura" troca a coluna do período, não o layout.
Como éDesmarcada, o corte é a data de entrada; marcada, a data de emissão da compra. O tipo 1158 sai sempre (literal do antigo).
Todos
Aviso
Id do produto, Asiento, Estoque e % IVA/% Ret. só vão ao PDF com a caixa.
Como éNo antigo cada caixa troca o cabeçalho inteiro (quatro layouts). Aqui a lista é uma só: o que não foi pedido sai do PDF e fica na planilha. Asiento e Estoque só têm valor com a caixa marcada — desmarcadas, a consulta devolve zero neles (evita uma subconsulta por linha). O Estoque é o saldo do produto até a data final, em todas as filiais.
Todos
Aviso
"Importação (1141) também pela data do despacho" abre o filtro com OR.
Como éO antigo emenda AND (tipo <> 1141) OR (tipo = 1141 AND despacho no período) sem parênteses em volta do resto — o porte reproduz. Com a caixa ligada, compras 1141 com despacho no período entram sem os demais filtros (filial, produto, fornecedor…). Número inflado com essa caixa ligada costuma ser isso.
Todos
Aviso
O "NP" do analítico é o número de parcelas, e o unitário é calculado.
Como é"NP" (no antigo "NC") conta as parcelas da compra. O unitário é valor total ÷ quantidade (quantidade zero dá vazio, não erro) — a coluna gravada não é lida, como no antigo.
Uma linha por item recebido: data de entrada, id, fornecedor, documento, produto, quantidade,
custo unitário, valores sem IVA, IVA e total. Só na planilha: moeda, id do produto e
tipo de faturamento. Filtros lidos: filial, fornecedor, país, grupo, subgrupo, produto, moeda
de conversão e moeda filtro. Ordem fixa: data de entrada, id. Só o total geral.
Aviso
O "Custo Unit." é o da entrada ANTERIOR, não o desta compra.
Como éSai da movimentação analítica: o custo unitário da última entrada do produto na mesma filial com data anterior à desta compra. É o "comparativo de custo" do título — comparar com o total ÷ quantidade da linha.
Todos
Aviso
Sem filtro de produto, grupo ou subgrupo o relatório traz também os SERVIÇOS.
Como éComo no antigo: sem nenhum desses três filtros a consulta soma, por UNION, as linhas de serviço da compra; com qualquer um deles usa a consulta só de produtos (a tabela de serviço não tem produto por onde filtrar). Escolher um grupo muda o total mesmo que nenhum serviço seja "do grupo".
O irmão do 3218 do lado do almoxarifado: uma linha por despesa de cada despacho de
compra, com o cabeçalho do despacho repetido. Colunas: data e nº do despacho, tipo
(Normal/Complemento), cliente, invoice, produto, quantidade, valor, mercadoria, frete,
seguro, câmbio, Valor G$, despachante, despesa, valor, desconto e valor da despesa.
Subtotal por despacho. Filtros lidos: só filial e fornecedor, além do período
(data do despacho).
Aviso
O "Valor G$" é conta, não coluna: (mercadoria + frete + seguro) × câmbio.
Como éOs três primeiros estão na moeda do despacho e o câmbio é o do despacho; arredondado em 2 casas. O cabeçalho do despacho sai repetido em cada despesa (no antigo as células são mescladas) — divergência deliberada, para a planilha ordenar e filtrar. A "Data Cumplido" do antigo fica vazia lá também (linha comentada).
Matriz produto × mês: uma linha por produto e uma coluna por mês que o período
realmente tem, em ordem cronológica, com subtotal por grupo. Filtros lidos: filial,
fornecedor, país, grupo, subgrupo, produto e moeda filtro. A caixa Preencher
a matriz com o VALOR troca quantidade por valor. Corta pela data de entrada e tira
sempre o tipo 1158.
Aviso
O mesmo menu serve 3314 e 3322: a caixa "Lado SAÍDA" decide.
Como éOs dois itens do menu abrem a mesma tela, que nasce no lado ENTRADA. Quem abre pelo 3322 e não marca Lado SAIDA recebe as entradas. O título do arquivo diz qual saiu ("Comparativo de Entradas por Mês" ou "… de Saídas …").
Todos
Aviso
"Moeda conversão" converte o valor como no antigo.
Como éCom moeda escolhida, valor × câmbio do lançamento ÷ cotação do dia da moeda escolhida (:492-503). Sem ela, a consulta agrupa também pela moeda do lançamento (, idmoeda, como o antigo); a célula soma as moedas do produto — para não misturar, usar a Moeda filtro. Na saída (3322) o câmbio vem de almoxarifado_saida.valor_cambio, que costuma estar vazio: a conversão sai vazia lá, como no antigo.
Todos
Aviso
O antigo imprime quantidade e valor juntos; aqui é um ou outro.
Por queUma matriz com dois números por célula não se lê e a planilha ordena por uma coluna de cada vez. Para ter os dois, gerar duas vezes.
Todos
G
3315 — Entradas (lote)
RelatorioEntradaAlmoxLoteService · menu3315.prg
A rastreabilidade do lado da entrada: cada lote recebido com data, id, fornecedor, documento,
produto, quantidade, lote, fabricação, validade e certificado de qualidade. Só total geral
(quantidade). Filtros lidos: filial, fornecedor, país, grupo, subgrupo, produto, tipo de
faturamento e a caixa das transferências. Ordem: data de entrada, id.
Aviso
A fatura de serviço (1116) sai sempre; a transferência (1152) só com a caixa desmarcada.
CorrigidoO porte excluía o 1152 sempre, e a transferência nunca aparecia; hoje segue a caixa, como o antigo (:523).
Todos
H
3316 — Entradas (Excel / fiscal)
RelatorioEntradaAlmoxFiscalService · menu3316.prg
Base de conferência fiscal das entradas: uma linha por item com data de emissão e de
entrada, id, documento, emitente, produto, quantidade, unitário, total, NCM e CST. Só na
planilha: tipo de faturamento, identificação, CNPJ/CPF, inscrição estadual, atividade,
cidade, UF, grupo, subgrupo, id indústria, moeda, origem, tabela de impostos e situação da
NF-e. Total geral de quantidade e valor. Filtros lidos: filial, grupo, subgrupo, produto.
Corta pelo dia inteiro da data de emissão.
Aviso
Grupo, subgrupo e produto filtram aqui — no antigo não mudavam nada.
CorrigidoA tela antiga tinha os campos e o cWhereD só levava data e filial. O "grupo de filial" da tela antiga não é oferecido nem lido.
Todos
I
3321 — Saídas
RelatorioSaidaAlmoxDetalheService · menu3321.prg
A apuração de consumo: uma linha por item saído com data, id, setor, produto, quantidade,
valor, moeda, grupo e centro de custo, quebrado por setor. Só na planilha: requisição,
veículo, emitente, ordem de serviço, estoque, estoque mínimo, id do produto e os dois
asientos. Resumido troca a consulta por outra, agrupada por setor ou
por grupo/subgrupo (Modo do resumo). Filtros lidos: filial, fornecedor, país, grupo,
subgrupo, produto, setor, tipo de faturamento, veículo, ordem de serviço, moeda de conversão,
moeda filtro, transferências (1151), 8 ordenações, custo sem IVA, sem estoque, asiento.
Aviso
"Somente com documento" não filtra: troca a coluna Requisição pelo documento.
Como éÉ o que o antigo faz (:794): a coluna passa a mostrar o documento digitado no lugar do nº da requisição interna. Nenhuma linha some.
Todos
Aviso
"Custo sem IVA" não lê o valor gravado: recalcula pelo custo médio.
Como éMarcada, o valor é custo_almox_si(produto, data) × quantidade; desmarcada, o valor gravado na linha. A conversão de moeda é independente e se aplica sobre qualquer um dos dois.
Todos
Aviso
O estoque é o saldo NA DATA FINAL, e o asiento são dois números.
EstoqueSoma da movimentação até a data final (na filial escolhida, se houver), sem data inicial. Com Sem a coluna de estoque vira zero.
AsientoCom a caixa: o do consumo do dia (cona, por filial e data — o mesmo para todas as saídas daquele dia) e o da própria saída (sal), este só nos tipos 118, 1181, 11114 e 11160.
Todos
Aviso
A ordenação 3 funciona aqui e derrubava o antigo.
CorrigidoO antigo ordena por fv.idtipo_faturamento, alias que não existe nesta consulta: Unknown column 'fv.idtipo_faturamento'. O subtotal é sempre por setor; com outra ordenação ele fecha um bloco cada vez que o setor muda.
A mesma matriz produto × mês do 3314 (ver lá), sobre as saídas: corta pela data de
emissão da saída e tira sempre a transferência 1151. Só vale com a caixa
Lado SAIDA marcada.
Aviso
Aberto pelo 3322, a tela vem no lado ENTRADA.
Como éA caixa nasce desmarcada nos dois itens de menu. "Veio com as entradas" é isso; "Moeda conversão" sem efeito também vale aqui (ver 3314).
Todos
K
3323 — Transferências
RelatorioTransferenciaAlmoxService · menu3323.prg
A saída de transferência (tipo 1151, único que o relatório traz) com a
entrada que a recebeu ao lado: id e data da saída, destino, setor, produto, quantidade
e valor saídos, id e data da entrada, quantidade e valor recebidos, diferença e
requisição; observação só na planilha. Total geral. Filtros: filial, fornecedor
(destino), setor e moeda de conversão. Ordem: data e id da saída.
Aviso
Diferença positiva = falta chegar; colunas de entrada vazias = não chegou.
Como éDiferença = quantidade saída − quantidade recebida. A entrada é a compra ligada à saída (almoxarifado_compra.idalmoxarifado_saida) no mesmo produto.
Todos
Aviso
Moeda de conversão converte a saída e a entrada, cada uma pela cotação do seu dia.
Como éSaída: valor × câmbio do item ÷ cotação na emissão da saída; entrada: o mesmo com o câmbio do item recebido e a cotação na data de entrada (:401-414). A tela oferece só os filtros do antigo: filial, fornecedor (destino) e setor. Saída excluída não entra (o porte trazia).
Todos
L
3324 — Saídas (lote)
RelatorioSaidaAlmoxSetorService · menu3324.prg
O gêmeo do 3321 com o lote e o fornecedor de cada saída: data, id, setor,
produto, quantidade, valor, lote, fornecedor; só na planilha centro de custo, veículo, grupo,
requisição e moeda. Subtotal por setor. Filtros lidos: filial, fornecedor, país, grupo,
subgrupo, produto, tipo de faturamento, veículo, ordem de serviço, moeda de conversão, moeda
filtro, transferências (1151) e 8 ordenações (padrão: setor, produto).
Aviso
Não há filtro de setor, e a coluna de estoque não aparece.
Como éA tela não oferece setor e o serviço não o lê. A caixa Sem a coluna de estoque só evita calcular o saldo — a coluna não está na grade, em nenhum dos dois formatos.
Todos
M
3325 — Saídas x Sucursal
RelatorioSaidaAlmoxResumoService · menu3325.prg
O resumo de consumo: uma linha por grupo × produto × filial, só com a quantidade (o
antigo não traz valor nesta tela). Subtotal por grupo. Filtros lidos: filial, fornecedor,
país, grupo, subgrupo, produto e transferências (1151). Ordem: grupo, produto.
Aviso
A transferência só sai com a caixa desmarcada.
CorrigidoO porte a excluía sempre; hoje segue a caixa, como o antigo (:399). A caixa nasce marcada, então por padrão a transferência entra no consumo.
Todos
N
3326 — Saídas Excel (fiscal)
RelatorioSaidaAlmoxFiscalService · menu3326.prg
O gêmeo de saída do 3316: data de emissão e de saída, id, documento, emitente, produto,
quantidade, unitário e total; só na planilha setor, grupo, identificação, CNPJ/CPF,
inscrição, atividade, cidade, UF, NCM, moeda, câmbio, origem e tipo de faturamento. Total
geral. Filtros lidos: filial, fornecedor, país, grupo, subgrupo, produto e Trazer
também os consumos.
Aviso
Sem "Trazer também os consumos", só saem saídas com documento maior que 1.
Como éÉ o documento > 1 do antigo (:508): o consumo interno, sem documento fiscal, fica de fora.
Todos
Aviso
Até 08/09/2026 este relatório ignorava o período.
CorrigidoA consulta tinha sido gerada sem o WHERE que o antigo emenda depois (período, filial, excluído) e varria as 1,17 milhão de saídas — travava. Com o WHERE, 3 segundos. Relato de "3326 não termina" em versão antiga é isso.
Todos
O
3327 — Consumo por produção
RelatorioConsumoProducaoService · menu3327.prg
O custo por quilo produzido (desossa, graxaria e miúdos), repartido em carne, transformação
(mão de obra) e insumos. Resumido (padrão): uma linha por produto com peças, peso
bruto, peso produzido, preço de venda, % Prod, % PV, índice e os custos (total e por kg).
Detalhado: uma linha por insumo da ficha técnica de cada produto. No fim, o quadro do
abate (cabeças, pesos, valor, cabeças com/sem M.O., custo operacional). Opções lidas:
Resumido e Custo do insumo pela data da fatura
(nasce marcada).
Bloqueia
O consumo por produção depende das tabelas da indústria e a tabela «ind_caixaproducao» não existe neste banco.
QuandoFalta qualquer uma de ind_caixaproducao, ind_gracharia, ind_ordemproducao ou produto_ficha_insumo — o nome muda na frase. Conferido antes da consulta, para não estourar com Table doesn't exist. Em fjfrigo_concepcion elas não existem: o relatório nunca foi exercitado contra dados.
Todos
Bloqueia
Não foram encontrados dados nessas condições.
QuandoAqui a recusa vem antes do cálculo: nenhuma linha de produção (desossa + graxaria + miúdos) no período.
Todos
Aviso
O abate é só o da DATA INICIAL; a filial só pesa no custo do insumo.
Como éA produção cobre o período inteiro, mas o abate (e com ele o custo da carne e da M.O.) é o do dia da data inicial, do emitente 10254738 (literal do antigo). A tabela de preço é a vigente na data final da filial 5 (literal). O custo do insumo usa a filial da tela (em branco, a empresa toda — o NULL do antigo, :435); a produção não é filtrada por filial. Para períodos de mais de um dia, conferir com cuidado.
Todos
Aviso
Carne e M.O. são rateadas por índice, não por quilo.
Contaíndice = (%PROD × %PV) ÷ [Σ(preço × peso) ÷ (peso total × Σ preços)]. Custo operacional do dia = cabeças que pagam M.O. × 165 + cabeças abatidas × 15 (literais). Insumos saem direto da ficha (peso × quantidade por kg × custo do insumo). Divisão por zero dá zero.
Corrigido (r8183)O "Neto" da desossa/miúdos lia o peso bruto duas vezes; hoje lê o peso neto, e o resumo ganhou "Peso Bruto". O quadro do abate sai ao pé do relatório (no antigo, no topo).
Todos
Aviso
A indústria em banco externo não é lida.
Como éO antigo lê a produção de um banco externo quando a filial usa um. Aqui as tabelas são lidas sempre do banco do próprio tenant.
Todos
P
3331 — Movimentação do Estoque
RelatorioMovimentacaoAlmoxService · menu3331.prg
O extrato de um produto: data, id, documento, tipo (Compra, Con./Venda, Manual),
entrada e saída em quantidade e valor, e o saldo corrente em quantidade e valor, começando
pela véspera do período. Filtros lidos: produto (obrigatório), filial e
Cortar pela data da fatura. Ordem: data, documento. Sem subtotal.
Bloqueia
Escolha o produto — este relatório é o extrato de um produto só.
QuandoSem produto. Conferido antes do período. A tela mostra o campo como "Produto (obrigatório)".
Todos
Aviso
"Data da fatura" troca a VIEW, não só a coluna.
Como éMarcada, lê almoxarifado_movimentacao_analitica_contab (datada pela fatura); desmarcada, almoxarifado_movimentacao_analitica (datada pelo movimento). Os dois extratos podem ter linhas diferentes no mesmo período.
Todos
Aviso
O saldo de valor não parte do valor do estoque: parte do custo unitário.
Como éSaldo inicial de quantidade = saldo do produto na véspera, com o mesmo recorte de filial das linhas. Saldo inicial de valor = último custo unitário até a véspera — é o que o antigo faz (nSaldoValor = buscaCustoAlmoxarifado), e não é quantidade × custo.
Filial em brancoAs linhas saem de todas as filiais e o saldo inicial também é o da empresa toda (quantidade de todas as filiais; custo sem filtro de filial). Com filial escolhida, os dois são só dela.
Diverge do antigoO antigo valoriza a saída pelo custo médio corrente (quantidade × saldo valor ÷ saldo) e só mostra valores em retrato; aqui a saída usa o custo gravado na movimentação e os valores saem sempre.
Todos
Q
3332 — Inventário
RelatorioInventarioAlmoxService · menu3332.prg
Saldo e custo de cada produto na data final, com mínimo, consumo do mês anterior e
consumo médio; último movimento só na planilha. Subtotal por grupo. Filtros lidos: filial,
grupo, subgrupo, produto, excluir grupo, moeda de conversão e as caixas código unificado,
calcular o custo, sem IVA, data da fatura, produtos sem saldo, completo e sem imobilizado.
Aviso
Só a data final conta; e "consumo" é de mês de calendário.
Como éA data inicial é conferida mas não entra na consulta. "Mês Anterior" é o mês inteiro anterior ao da data final, e o consumo médio usa o mês de três meses antes — não os últimos 30/90 dias.
Todos
Aviso
O custo sai de uma função do banco, com quatro variações.
Como écusto_almox_ci (com IVA) ou custo_almox_si (sem IVA) na moeda do lançamento; com moeda de conversão, custo_almox_moe / custo_almox_moe_si. Data da fatura passa 'fatura' à função. Com Calcular o custo desmarcada, custo sai zero e a consulta fica bem mais rápida.
Todos
Aviso
"Sem saldo" e "Completo" são dois cortes somados.
Como éMostrar também o produto que fecha zerado desmarcada exige quantidade e custo diferentes de zero; Exigir quantidade e custo positivos desmarcada exige os dois positivos. Sem custo calculado, o custo sai desses testes (divergência deliberada: senão o relatório esvaziaria).
Todos
R
3334 — Sugestão para Compras
RelatorioSugestaoCompraService · menu3334.prg
Os produtos com mínimo cadastrado cujo saldo está abaixo do estoque mínimo: id,
descrição, unidade, mês anterior, mínimo, quantidade, unitário (total ÷ quantidade) e total;
só na planilha grupo, subgrupo, máximo e moeda (a local da filial). Subtotal por grupo.
Filtros: data final, filial, grupo, subgrupo, produto, moeda de conversão e ordenação
(1 por produto, 2 por id).
Aviso
Só a data final conta: estoque até ela, consumo do mês anterior a ela.
Como éA tela tem só Data final, como o antigo (:16). A quantidade é a soma da movimentação do produto até o fim da data final (data < data final + 1 dia), na filial escolhida ou em todas (:393-397). "Mês Anter." é a saída do mês de calendário anterior ao da data final, inteiro (:433-434), na mesma filial do estoque quando há filial escolhida; em branco, de todas. Diferente do antigo, que soma o consumo de todas as filiais mesmo com filial escolhida (:431-436) — decisão do usuário em 24/09/2026, porque a sugestão saía inflada.
Todos
Aviso
Moeda de conversão funciona aqui e derrubava o antigo.
CorrigidoO antigo monta o LEFT JOIN moeda_valores e não o põe na consulta: com moeda escolhida, Unknown column mv.valor. Aqui o valor é custo × câmbio ÷ cotação do dia e a sigla sai a da moeda escolhida. O "estoque mínimo > 0" fica no WHERE com os demais filtros, com ou sem filtro escolhido.
Todos
Aviso
A ordenação 2 funciona aqui e derrubava o antigo.
CorrigidoO antigo escreve subgrupoo (coluna inexistente) no modo 2.
Todos
S
3335 — Imobilizado
RelatorioImobilizadoService · menu3335.prg
Os bens ativos (sem data de desativação) com id, descrição, patrimônio, valor de
compra, % de depreciação mensal, meses e valor estimado; setor, aquisição e moeda só
na planilha. Subtotal por setor. Filtros lidos: filial, setor, produto (o bem) e
Cortar pela data de aquisição.
Aviso
Sem a caixa de aquisição, saem TODOS os bens ativos.
Como éO período só corta pela data de aquisição quando a caixa está marcada. A data final sempre serve para contar os meses de depreciação.
Todos
Aviso
Valor estimado = compra − compra × % mensal × meses, nunca negativo.
Como éMeses inteiros entre a aquisição e a data final; bem sem data de aquisição conta zero meses (sai pelo valor de compra). Totalmente depreciado vale zero.
Uma linha por produto com cinco pares quantidade/custo: anterior, entradas,
transferências de entrada, saídas, transferências de saída — e o atual. Subgrupo e
moeda só na planilha. Subtotal por grupo. Filtros lidos: filial, grupo, produto e setor.
Aviso
Setor só filtra onde o cadastro do produto tem a coluna de setor.
Como éO antigo filtra almoxarifado_produto.idalmoxarifado_setor, coluna que não existe em fjfrigo_concepcion (o setor fica nos documentos) — escolher um setor derrubava o antigo. Aqui a condição só entra onde a coluna existir; onde não existe, o setor escolhido é ignorado sem aviso.
Para cada produto comprado na filial (a escolhida, ou a da sessão) no período, o último
preço pago (total ÷ quantidade, 4 casas) em cada filial, uma coluna por filial.
Filtros lidos: filial, grupo, setor, produto e "dias anteriores" (padrão 30). Sem subtotal.
Aviso
Só aparece a filial cuja última compra é recente.
Como éA coluna de uma filial só é preenchida quando a última compra do produto lá é de data ≥ data inicial − dias anteriores. A transferência 1152 não entra na lista de produtos. O preço é o da última compra, na mesma moeda, não uma média.
Todos
Aviso
Setor só filtra onde o cadastro do produto tem a coluna de setor.
Como éComo no 3336: a condição sobre almoxarifado_produto.idalmoxarifado_setor só entra onde a coluna existe (ColunasDaTabela); onde não existe, o setor escolhido é ignorado em vez de derrubar a consulta.
O extrato de um produto pela rastreabilidade: data, fornecedor, documento, validade, lote,
entrada, saída, saldo atual e id; produto, fabricação e certificado só na planilha. Lê as
tabelas de rastreio (compra e saída), não a view de movimentação. Filtros lidos: produto
(obrigatório) e filial (sem ela, a da sessão).
Bloqueia
Escolha o produto — este relatório é o extrato de um produto só.
QuandoSem produto. Conferido antes do período.
Todos
Aviso
O saldo parte de TODO o estoque, e o movimento só do que tem lote.
Como éO saldo inicial é o do produto na véspera, somando as três origens do almoxarifado; as linhas são só as de rastreio. Movimento sem lote muda o saldo real e não aparece aqui — o "Saldo Atual" pode não bater com o 3331.
Cada item de solicitação de compra com a compra que o atendeu: id, comprador,
fornecedor, produto, data, quantidade, unitário (total ÷ quantidade), total, prazo, id do
produto, data de entrada, quantidade entregue, saldo e documento; setor e liquidada só
na planilha. Total geral. Filtros lidos: filial e fornecedor (o do item). Corta pelo dia
inteiro da data da solicitação, sem as excluídas.
Aviso
O saldo desce a cada compra do mesmo item; a última linha é o que falta.
Como éUm item com várias compras se repete uma vez por compra. O saldo começa na quantidade pedida e desconta cada entrega, em sequência.
CorrigidoO antigo escreve o documento por cima do saldo (as duas na coluna 13); aqui são duas colunas.
Todos
X
Permissões
Quem pode gerar
Nenhum dos 21 tem regra de acesso nomeada, nem no sistema antigo. Quem vê a opção no menu
(matriz do grupo de usuário, telas 442/444) gera o relatório. O endpoint está atrás do login
(/lancamento/*); não há recorte pelas filiais do usuário — o filtro de filial
aceita qualquer filial, e em branco traz todas (salvo onde a seção diz "a da sessão":
3331, 3337, 3338, e o custo do insumo do 3327).
Y
Como o erro chega na tela
Para o QA reproduzir e reportar
O relatório é pedido como arquivo, mas a recusa chega como mensagem: HTTP 200 com
statuscode 400 e a frase, que a tela mostra no lugar do download. Enquanto gera,
o botão mostra "Gerando… (Ns)".
Erro de banco (coluna inexistente no setor do 3337, tabela de rastreio ausente no 3338)
não é recusa: chega como erro inesperado com a causa, a pilha filtrada e o código de
ocorrência de 8 caracteres — copie-o no chamado, junto com a base e a filial.
Z
Diferenças e decisões pendentes
O que muda em relação ao sistema antigo
Corrigido no porte (o antigo erra)
Onde
No antigo
No novo
Todos com País
pais.id sem junção: derrubava a consulta
País do emitente, por subconsulta
Moeda filtro
Combo na tela, nunca na consulta
Filtra a moeda do lançamento
3315, 3324, 3325
—
Transferência segue a caixa (o porte a excluía sempre até 08/09)
3316
Grupo, subgrupo e produto na tela sem efeito
Filtram
3321
Ordenação 3 com alias inexistente
Funciona
3326
—
WHERE de período/filial que o porte tinha perdido (varria 1,17 mi linhas)
3327
"Neto" com o peso bruto
Peso neto; coluna "Peso Bruto" no resumo
3334
Ordenação 2 com subgrupoo; moeda de conversão sem o join da cotação
Funcionam
3337
—
Setor só onde a coluna existe (o porte derrubava)
3331
—
Saldo inicial no mesmo recorte de filial das linhas
Período
BETWEEN com data pura (para na meia-noite)
Faixa meio-aberta, dia final inteiro
3336
Setor com coluna inexistente derrubava
Só filtra onde a coluna existe
3339
Documento por cima do saldo
Duas colunas
Diferenças deliberadas
Onde
Diferença
3311
Os quatro layouts viraram uma lista: coluna não pedida sai do PDF e fica na planilha
3313
Cabeçalho do despacho repetido em vez de mesclado
3314/3322
Matriz de quantidade ou valor, não os dois
3327
Quadro do abate no pé; indústria sempre do banco do tenant
3331
Valores sempre (o antigo só em retrato); saída valorizada pelo custo gravado, não pelo médio corrente
3332
Sem custo calculado, o custo sai dos cortes de saldo
Telas
Filtros que o antigo não tem saíram da tela: 3323 (país, grupo, subgrupo, produto), 3332 (fornecedor, país), 3336 (fornecedor, país, subgrupo). Os que o antigo tem passaram a valer: moeda de conversão no 3314/3322, 3323 e 3334; filial no 3327 e no 3334
Pendências registradas
1. 3327: abate só da data inicial, emitente 10254738, tabela de preço da filial 5 e
os valores 165/15 de M.O. são literais do antigo — virar cadastro é decisão do usuário.
Nunca exercitado contra dados (sem tabelas da indústria nos bancos de homologação).
Nenhuma regra bate com essa busca. Tente um trecho menor da mensagem, ou limpe os filtros.