CD_TABPRODUCAO - Tabela de Preço de Produção
Tela de configuração: MEQ001 - Parâmetros de Estoque Localização: Aba Operações Padrão Tabela:
PARMESTOQUE.CD_TABPRODUCAOTipo:DOM_INTEGERValor padrão:NULL(não obrigatório) FK:TABCOMPRA.CD_TABCOMPRA
Visão Geral
Define qual Tabela de Compra (cadastro de preços) será utilizada como referência de custo de matéria-prima/componentes durante os processos de produção. O sistema utiliza esse vínculo para buscar o preço unitário dos insumos em ITEMTABCOMPRA ao gerar ordens de produção, calcular custos de produção e compor fichas técnicas.
Quando o parâmetro está em branco, o sistema pode recorrer à tabela de compra cadastrada na Ficha Técnica do produto (CD_TABCOMPRAFICHA). Se ambas estiverem em branco, o sistema não valida preços de insumos, o que pode gerar custo zero para componentes.
Telas impactadas
| Tela | Uso |
|---|---|
| MEQ006 | Composição / Decomposição de produtos — valida se o parâmetro está preenchido antes de gerar |
| MEQ011 | Acompanhamento de produção — busca parâmetros incluindo CD_TABPRODUCAO |
| MEQ012 | Ordem de Produção — consulta preços em ITEMTABCOMPRA usando este parâmetro |
| MEQ017 | Fechamento de produção — busca parâmetros |
| MEQ026 | Produção simples — busca parâmetros e consulta custos de componentes |
| MEQ027 | Produção por lote — busca parâmetros |
| MEQ036 | Ajuste de estoque de produção — consulta preço do item na tabela |
| MEQ044 / MEQ065 | Ordem de produção e lotes — usam o parâmetro em queries de custo |
| CEQ002 | Consulta de custo de produção |
| CEQ003 / CFA002 | Ficha de produção — JOIN em ITEMTABCOMPRA via este campo |
Campos envolvidos
| Campo | Tabela | Função |
|---|---|---|
CD_TABPRODUCAO | PARMESTOQUE | Código da tabela de compra para produção |
DS_TABPRODUCAO | PARMESTOQUE | Descrição da tabela (campo auxiliar populado via lookup) |
CD_TABCOMPRA | TABCOMPRA | Chave primária da tabela de compra (FK referenciada) |
DS_TABCOMPRA | TABCOMPRA | Descrição da tabela de compra |
CD_ITEM / VL_PRECO | ITEMTABCOMPRA | Itens e preços vinculados à tabela de compra |
Opções disponíveis
O campo aceita um código inteiro que referencia uma tabela de compra cadastrada em TABCOMPRA (configurada via TFA010), ou pode ser deixado em branco (NULL).
Código preenchido — Tabela de compra definida
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campo de edição com pesquisa via <F9> |
| Exige | Código válido em TABCOMPRA (erro se não existir) |
| Restrição | A tabela de compra deve ter itens e preços cadastrados em ITEMTABCOMPRA para os insumos da produção |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque.
- Vá até a aba Operações Padrão.
- No campo Tabela de Preço de Produção (
CD_TABPRODUCAO), pressione<F9>. - Selecione uma tabela de compra da lista (ex: tabela 5 — "Tabela Insumos 2024").
- O campo descrição (
DS_TABPRODUCAO) será preenchido automaticamente com a descrição da tabela. - Salve o registro.
- Gere uma Ordem de Produção (MEQ012) para um produto que utilize insumos cadastrados nessa tabela.
- O sistema buscará os preços dos componentes em
ITEMTABCOMPRAusando o código da tabela definida.
Resultado esperado: Os custos dos insumos/matéria-prima na ordem de produção são calculados com base nos preços da tabela de compra selecionada. Se um componente não possuir preço cadastrado nessa tabela, o sistema exibe a mensagem: "O Produto [X] não possui Preço Cadastrado na Tabela de Compra [Y]. Verifique [TFA010]!".
Excecao / Importante: Quando o produto possui uma Ficha Técnica com tabela de compra própria (
CD_TABCOMPRAFICHA), o sistema prioriza a tabela da ficha técnica em detrimento deste parâmetro. A ordem de prioridade é: Ficha Técnica > Parâmetro de Estoque.
Em branco (NULL) — Sem tabela definida
| O que faz | Detalhe |
|---|---|
| Editável | Sim — campo pode ser deixado vazio |
| Exige | Nenhuma tabela é obrigatória |
| Restrição | Se não houver tabela na Ficha Técnica do produto, custos de componentes podem ficar zerados |
Simulação passo a passo
- Acesse MEQ001 → Parâmetros de Estoque.
- Vá até a aba Operações Padrão.
- No campo Tabela de Preço de Produção, deixe o valor em branco.
- Salve o registro.
- Gere uma Ordem de Produção (MEQ012) para um produto sem tabela de compra na Ficha Técnica.
- O sistema não encontrará preços para os componentes.
Resultado esperado: O sistema tenta buscar a tabela de compra da Ficha Técnica do produto (CD_TABCOMPRAFICHA). Se a ficha também não tiver tabela definida, os componentes da ordem de produção terão custo unitário zero, e nenhuma mensagem de erro será exibida na geração da ordem.
Excecao / Importante: Nas rotinas de recálculo de estoque (
RECALCULA_ESTOQUE,RECALCULA_ESTOQUEDIA), quando o parâmetro está em branco e a ficha técnica também não possui tabela, o sistema defineI_CD_TABPRODUCAO = NULLe os custos de produção ficam zerados. Isso pode impactar relatórios de custo médio e balancetes de estoque.
Regra Geral de Prioridade
Tabela de Compra efetiva = COALESCE(Ficha Técnica do produto, PARMESTOQUE.CD_TABPRODUCAO)
Se ambas forem NULL, o sistema ignora a busca de preços e os custos de componentes ficam zerados.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Evidência |
|---|---|---|
TdmMEQ001.tabPARMESTOQUECD_TABPRODUCAOValidate | UdmMEQ001.pas:583 | Valida o código digitado contra TABCOMPRA; preenche descrição ou lança exceção |
TfrmMEQ001.edtCD_TABPRODUCAOKeyDown | UMEQ001.pas:985 | Tratamento da tecla <F9> para pesquisa de tabelas de compra |
Gera_Composicao (MEQ006) | UMEQ006.pas:576 | Valida se CD_TABPRODUCAO está preenchido antes de gerar composição |
Gera_Decomposicao (MEQ006) | UMEQ006.pas:782 | Valida se CD_TABPRODUCAO está preenchido antes de gerar decomposição |
Busca_Parametros (MEQ006) | UdmMEQ006.pas:242 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ011) | UdmMEQ011.pas:259 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ012) | UdmMEQ012.pas:229 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ017) | UdmMEQ017.pas:151 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ026) | UdmMEQ026.pas:265 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ027) | UdmMEQ027.pas:152 | SELECT inclui CD_TABPRODUCAO |
Busca_Parametros (MEQ036) | UdmMEQ036.pas:78 | SELECT inclui CD_TABPRODUCAO |
TfrmMEQ036.btnSalvarClick | UMEQ036.pas:330 | Consulta VL_PRECO em ITEMTABCOMPRA usando CD_TABPRODUCAO |
TfrmMEQ012.edtNR_ORDEMPRODUCAOExit | UMEQ012.pas:1149 | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
TfrmCEQ002.btnProcurarClick | UCEQ002.pas:1006 | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
Ficha_Producao (CEQ003) | UdmCEQ003.pas:118 | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
Ficha_Producao (CFA002) | UdmCFA002.pas:176 | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
Ordemproducao (CEQ015) | UCEQ015.pas:156 | SELECT inclui CD_TABPRODUCAO |
Ordemproducao (MEQ020) | UMEQ020.pas:178 | SELECT inclui CD_TABPRODUCAO |
Busca_MateriaPrima (MEQ026) | UMEQ026.pas:455 | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
TfrmMEQ044.btnORDEMPRODClick | UMEQ044.pas:919 | SELECT inclui CD_TABPRODUCAO |
Referências SQL diretas ao campo em Scripts/
| Procedure/View | Arquivo | Evidência |
|---|---|---|
GERA_ORDEMPRODUCAO | GERA_ORDEMPRODUCAO.sql | Declara, seleciona e usa CD_TABPRODUCAO para buscar preços em ITEMTABCOMPRA |
RECALCULA_ESTOQUE | RECALCULA_ESTOQUE.sql | Lê CD_TABPRODUCAO de PARMESTOQUE e usa para calcular custos de produção |
RECALCULA_ESTOQUEDIA | RECALCULA_ESTOQUEDIA.sql | Idem — cálculo de custo diário de estoque |
RETORNA_ANALISEPRODUCAO | RETORNA_ANALISEPRODUCAO.sql | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
RETORNA_CUSTOPRODUCAO | RETORNA_CUSTOPRODUCAO.sql | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
RETORNA_CUSTOPRODUCAOMP | RETORNA_CUSTOPRODUCAOMP.sql | JOIN em ITEMTABCOMPRA via CD_TABPRODUCAO |
VIEW_FICHAPRODUCAO | VIEW_FICHAPRODUCAO.sql | Parâmetro de entrada e uso interno |
VIEW_MEQ074 | VIEW_MEQ074.sql | Variável local V_CD_TABPRODUCAO |
VIEW_REQ016 | VIEW_REQ016.sql | Variável local V_CD_TABPRODUCAO |
VIEW_REQ016_A | VIEW_REQ016_A.sql | Variável local V_CD_TABPRODUCAO |
VIEW_REQ016_PRODCASCATA | VIEW_REQ016_PRODCASCATA.sql | Parâmetro de entrada |
VIEW_REQ016_S | VIEW_REQ016_S.sql | Variável local V_CD_TABPRODUCAO |
VIEW_SIMULACAOPRODUCAO | VIEW_SIMULACAOPRODUCAO.sql | Variável local V_CD_TABPRODUCAO |
Candidatas por uso da tabela (sem referência direta ao campo)
As seguintes procedures/views acessam a tabela PARMESTOQUE mas não citam o campo CD_TABPRODUCAO literalmente. Não há impacto funcional direto identificado para este parâmetro: AJUSTA_ORDEMPRODPEDANTECIPADO, ALTERACAO_BANDA, ATUALIZA_CONSUMOMEDIO, ATUALIZA_ESTOQUEDIAPESSOA, CALCULA_FORMACAOPRECOVENDA, CANCELA_ESTOQUE, CONFIRMA_ORDEMSERVICO, CONFIRMA_ORDEMSERVICOMETAL, GERA_ESTOQUE, GERA_ESTOQUE_NOTAFISCAL, GERA_ESTOQUEPSALT, GERA_NOTAFISCALESTOQUE, GERA_PRODENVELOPAMENTO, GERA_PRODLOTEPRODUCAO, GERA_PRODMONTAGEMRECAP, GERA_PRODVULCANIZACAO, GERA_SPEDBLOCOL, GERA_SPEDECFBLOCOL, GRAVA_AVISOS, MONTA_ORDEMPRODITEMPEDIDOGRADE.