FJFrigo · Relatórios · menu 3-3 Almoxarifado

Relatórios de Almoxarifado

Os 21 relatórios do menu 3-3 (Entradas, Saídas e Apuração): o que cada um responde, por qual data ele corta o período, quais filtros da tela ele de fato lê, as recusas com a mensagem exata e onde ele se afasta do sistema antigo.

Relatórios: 3311 a 3316, 3321 a 3327, 3331, 3332, 3334 a 3339 Sem regra de acesso nomeada Saída: PDF (paisagem por padrão) e planilha (XLSX)

Bloqueia

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çãoRelatórioRespondeCorta porEndpoint
3311EntradasO que entrou, item a item (analítico) ou por produto (sintético)data de entrada (ou de emissão, com a caixa)relatorioEntradaAlmoxResumo
3312Entradas (Comparativo Custo)Cada entrada ao lado do custo da entrada anteriordata de entradarelatorioEntradaAlmoxDetalhe
3313Importações e DespachosAs despesas de cada despacho de importaçãodata do despachorelatorioImportacoesDespachoAlmox
3314Entradas (Comparativo Meses)Produto × mês das entradasdata de entradarelatorioMovimentoAlmoxMeses
3315Entradas (lote)Os lotes recebidos, com validade e certificadodata de entradarelatorioEntradaAlmoxLote
3316Entradas (Excel)As entradas com os dados fiscaisdata de emissãorelatorioEntradaAlmoxFiscal
3321SaídasO consumo item a item, ou resumidodata de emissãorelatorioSaidaAlmoxDetalhe
3322Saídas (Comparativo Meses)Produto × mês das saídasdata de emissãorelatorioMovimentoAlmoxMeses
3323TransferênciasA saída 1151 com a entrada que a recebeudata de emissão da saídarelatorioTransferenciaAlmox
3324Saídas (lote)O consumo com lote e fornecedordata de emissãorelatorioSaidaAlmoxSetor
3325Saídas x SucursalQuantidade saída por produto e filialdata de emissãorelatorioSaidaAlmoxResumo
3326Saídas ExcelAs saídas com os dados fiscaisdata de emissãorelatorioSaidaAlmoxFiscal
3327Consumo por produçãoCusto por quilo produzido (carne, M.O., insumos)período de produção; abate da data inicialrelatorioConsumoProducao
3331Movimentação do EstoqueExtrato de um produto com saldo correntedata do movimento (ou da fatura)relatorioMovimentacaoAlmox
3332InventárioSaldo e custo de cada produto numa datasó a data finalrelatorioInventarioAlmox
3334Sugestão para ComprasProdutos abaixo do estoque mínimosó a data final (saldo até ela; consumo do mês anterior)relatorioSugestaoCompra
3335ImobilizadoBens ativos com a depreciação até a dataaquisição, só com a caixarelatorioImobilizado
3336Movimentação SintéticaSaldo anterior, entradas, saídas e transferências por produtoperíodo (saldo antes da data inicial)relatorioMovimentacaoAlmoxSintetica
3337Comparativo de compras entre filiaisÚltimo preço pago em cada filialdata de entrada na filial escolhidarelatorioComparativoCompraAlmox
3338Movimentação por loteExtrato de um produto pelo loteperíodorelatorioMovimentacaoAlmoxDetalhe
3339Solicitações de compraItem pedido × compra que o atendeudata da solicitaçãorelatorioSolicitacaoCompraAlmox

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.

B

Regras que valem para todos

RelatorioGradeBase, FiltroAlmoxarifado, ConversaoMoeda
Bloqueia

Informe a data inicial.

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.

Todos
D

3312 — Entradas (Comparativo Custo)

RelatorioEntradaAlmoxDetalheService · menu3312.prg

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".

Todos
E

3313 — Importações e Despachos

RelatorioImportacoesDespachoAlmoxService · menu3313.prg

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).

Todos
F

3314 — Entradas (Comparativo Meses)

RelatorioMovimentoAlmoxMesesService · menu3314.prg

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.

Todos
J

3322 — Saídas (Comparativo Meses)

RelatorioMovimentoAlmoxMesesService · menu3322.prg

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.

Todos
T

3336 — Movimentação Sintética

RelatorioMovimentacaoAlmoxSinteticaService · menu3336.prg

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.

Todos
U

3337 — Comparativo de compras entre filiais

RelatorioComparativoCompraAlmoxService · menu3337.prg

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.

Todos
V

3338 — Movimentação de produtos por lote

RelatorioMovimentacaoAlmoxDetalheService · menu3338.prg

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.

Todos
W

3339 — Movimentação de solicitud de compra

RelatorioSolicitacaoCompraAlmoxService · menu3339.prg

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)

OndeNo antigoNo novo
Todos com Paíspais.id sem junção: derrubava a consultaPaís do emitente, por subconsulta
Moeda filtroCombo na tela, nunca na consultaFiltra a moeda do lançamento
3315, 3324, 3325—Transferência segue a caixa (o porte a excluía sempre até 08/09)
3316Grupo, subgrupo e produto na tela sem efeitoFiltram
3321Ordenação 3 com alias inexistenteFunciona
3326—WHERE de período/filial que o porte tinha perdido (varria 1,17 mi linhas)
3327"Neto" com o peso brutoPeso neto; coluna "Peso Bruto" no resumo
3334Ordenação 2 com subgrupoo; moeda de conversão sem o join da cotaçãoFuncionam
3337—Setor só onde a coluna existe (o porte derrubava)
3331—Saldo inicial no mesmo recorte de filial das linhas
PeríodoBETWEEN com data pura (para na meia-noite)Faixa meio-aberta, dia final inteiro
3336Setor com coluna inexistente derrubavaSó filtra onde a coluna existe
3339Documento por cima do saldoDuas colunas

Diferenças deliberadas

OndeDiferença
3311Os quatro layouts viraram uma lista: coluna não pedida sai do PDF e fica na planilha
3313Cabeçalho do despacho repetido em vez de mesclado
3314/3322Matriz de quantidade ou valor, não os dois
3327Quadro do abate no pé; indústria sempre do banco do tenant
3331Valores sempre (o antigo só em retrato); saída valorizada pelo custo gravado, não pelo médio corrente
3332Sem custo calculado, o custo sai dos cortes de saldo
TelasFiltros 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.