TP_RATINDICEPROD - Tipo de Rateio do Índice de Produção
Tela de configuração: MEQ001 — Parâmetros de Estoque
Localização: Parâmetros → aba Opção 1
Tabela:PARMESTOQUE.TP_RATINDICEPROD
Tipo:DOM_CHAR1(CHAR(1))
Valor padrão:P(Proporcional a todas matérias-primas)
Componente UI:cmbTP_RATINDICEPROD(TwwDBComboBox)
O que esse parametro controla
Define como o custo de produção é rateado entre os componentes (matérias-primas) de uma ficha de producao ao gerar a ordem de producao (GERA_ORDEMPRODUCAO).
P— O custo total é distribuído proporcionalmente entre todas as matérias-primas da ficha, com base no índice de valor de cada componente na tabela de compra (CD_TABPRODUCAO).S— O custo é atribuído somente ao produto principal, e a decomposicao do índice entre componentes é delegada à procedureGERA_DECOMPOSICAOINDICE.
Procedures impactadas
Referências SQL diretas ao campo
| Procedure | Arquivo | Evidencia |
|---|---|---|
GERA_ORDEMPRODUCAO | Scripts/GERA_ORDEMPRODUCAO.sql | Le TP_RATINDICEPROD de PARMESTOQUE (linha 114) e aplica logica de rateio (linhas 970–1200). |
Rotinas Delphi com referencia direta ao parametro
| Rotina | Arquivo | Linha | Evidencia |
|---|---|---|---|
TdmMEQ001.tabPARMESTOQUEAfterInsert | source/MEQ001/UdmMEQ001.pas | 294 | Define valor padrao 'P' na insercao de novo registro. |
Candidatas por uso da tabela PARMESTOQUE
As rotinas abaixo leem PARMESTOQUE mas nao foram encontradas referencias literais ao campo TP_RATINDICEPROD. Podem ser impactadas indiretamente se usarem CD_TABPRODUCAO em conjunto com a logica de rateio:
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.
Opcoes disponiveis
P — Proporcional a todas matérias-primas
| O que faz | Detalhe |
|---|---|
| Comportamento | Distribui o custo de producao entre todos os componentes da ficha de forma proporcional ao indice de cada um na tabela de compra (CD_TABPRODUCAO). |
| Como calcula | Para cada componente: Qtde Producao × (Indice do Componente / Soma Total dos Indices). O custo unitario e obtido dividindo o custo rateado pela quantidade do item. |
| Exige | Todos os componentes devem ter preco cadastrado na tabela de compra informada (CD_TABPRODUCAO). Se algum componente nao tiver preco, a geracao da ordem é bloqueada com mensagem de erro. |
| Ajuste de arredondamento | No ultimo componente, o sistema ajusta a diferenca: VL_ESTOQUE = VL_PRODUCAO - VL_SALDO_ANTERIOR, garantindo que o total bata exatamente com o valor de producao. |
Simulacao passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- Abra a aba Opção 1.
- No campo Parâmetros, selecione
P - Proporcional a todas mat. primas. - Salve o registro.
- Gere uma ordem de producao para um produto com ficha tecnica contendo 3 matérias-primas (ex: Produto X com MP-A, MP-B, MP-C).
- Consulte a ordem gerada e verifique os custos atribuídos a cada componente.
Resultado esperado: O custo total de producao (ex: R$ 100,00) é distribuído entre MP-A, MP-B e MP-C proporcionalmente aos respectivos indices de valor na tabela de compra (CD_TABPRODUCAO). Se MP-A tem indice R$ 6,00, MP-B R$ 3,00 e MP-C R$ 1,00 (total R$ 10,00), entao MP-A recebera 60% do custo (R$ 60,00), MP-B 30% (R$ 30,00) e MP-C 10% (R$ 10,00).
Excecao — Componente sem preco na tabela: Se qualquer componente da ficha nao possuir preco cadastrado na tabela de compra (
CD_TABPRODUCAO), a geracao da ordem é interrompida com a mensagem:"O Componente da Ficha '...' não possui Preço Cadastrado na Tabela de Compra '...' [TFA010]!".Excecao — Componente inativo: Se alguma matéria-prima estiver com status inativo (
ST_ATIVO = 'N'), a geracao é bloqueada com mensagem indicando o componente e sugerindo verificacao nas telasTPO001/MEQ012.
S — Somente ao Produto Principal
| O que faz | Detalhe |
|---|---|
| Comportamento | Atribui o custo total de producao inteiramente ao produto principal (produto acabado). A decomposicao do custo entre os componentes e delegada à procedure GERA_DECOMPOSICAOINDICE. |
| Como calcula | Executa GERA_DECOMPOSICAOINDICE passando empresa, ordem de producao, custo medio, produto, quantidade, documento de origem e operacao de estoque. |
| Exige | A procedure GERA_DECOMPOSICAOINDICE deve estar disponivel e configurada para decompor os custos conforme a regra de negocio da empresa. |
| Uso tipico | Empresas que desejam controlar o rateio de custo por uma logica customizada, externa ao calculo proporcional padrao por indices da tabela de compra. |
Simulacao passo a passo
- Acesse MEQ001 — Parâmetros de Estoque.
- Abra a aba Opção 1.
- No campo Parâmetros, selecione
S - Somente ao Prod. Principal. - Salve o registro.
- Gere uma ordem de producao para um produto acabado com ficha tecnica.
- Consulte a ordem gerada e verifique que o custo total foi atribuído ao produto principal.
- Verifique se a procedure
GERA_DECOMPOSICAOINDICErealizou a decomposicao dos custos entre os componentes (depende da implementacao dessa procedure no banco).
Resultado esperado: Todo o custo de producao (ex: R$ 100,00) e inicialmente atribuído ao produto acabado. A procedure GERA_DECOMPOSICAOINDICE entao decompoe esse custo entre as matérias-primas conforme sua propria logica interna, que pode diferir do calculo proporcional por indices.
Importante — Dependencia de procedure: Esta opcao depende inteiramente da procedure
GERA_DECOMPOSICAOINDICEpara decompor os custos. Se essa procedure nao estiver implementada ou retornar erro, a geracao da ordem de producao falhara com a mensagem retornada por ela.
Relacao com outros parametros
| Parametro | Tabela | Impacto |
|---|---|---|
CD_TABPRODUCAO | PARMESTOQUE | Tabela de compra usada no calculo proporcional (opcao P). Configurado na mesma tela MEQ001, aba Parametros — campo "Tabela de Producao". |
ST_PRODUCAO | PARMESTOQUE | Habilita/desabilita o modulo de producao. Configurado em MEQ001. |
Tabela comparativa resumida
| Criterio | P — Proporcional | S — Somente Prod. Principal |
|---|---|---|
| Rateio | Entre todas as MP da ficha | Apenas no produto principal, decomposicao externa |
| Base de calculo | Indices da tabela de compra (ITETABCOMPRA) | Procedure GERA_DECOMPOSICAOINDICE |
| Exige preco na tabela | Sim, para todos os componentes | Nao necessariamente |
| Ajuste de arredondamento | Sim, no ultimo componente | Depende da procedure |
| Valor padrao | Sim | — |
Referencia de codigo-fonte
- Default:
source/MEQ001/UdmMEQ001.pas:294—tabPARMESTOQUETP_RATINDICEPROD.AsString := 'P'; - Schema:
docs/schema/tables/PARMESTOQUE.sql:69—TP_RATINDICEPROD DOM_CHAR1 DEFAULT 'P' NOT NULL - UI:
source/MEQ001/UMEQ001.dfm:1150—cmbTP_RATINDICEPROD: TwwDBComboBox - Logica de rateio P:
Scripts/GERA_ORDEMPRODUCAO.sql:970–1187 - Logica de rateio S:
Scripts/GERA_ORDEMPRODUCAO.sql:1188–1200