CD_TABCUSTOFORNEC — Tabela de Custo de Fornecedor (Comportamento)
Tela de configuração: OFI001 — Parâmetros da Oficina Localização: Aba Parâmetros → quadro Dados do Parâmetro Tabela:
PARMOFICINA.CD_TABCUSTOFORNEC(DOM_INTEGER) Valor padrão: vazio/nulo (Result.getParam(0)retorna string vazia quando o parâmetro não existe) Rótulo na UI:Tab.Custo FornecedorDescrição no campo (Dataset):Tabela Preço Fornecedor
Descrição
Define qual tabela de preço de compra (TABCOMPRA) será usada como base de custo do fornecedor nos processos de orçamento e ordem de serviço. O valor informado é o código da tabela (CD_TABCOMPRA), e ao preencher o campo o sistema busca automaticamente a descrição (DS_TABCOMPRA) da tabela selecionada.
Sem impacto direto identificado no codigo para opcoes pre-definidas — o campo é um lookup livre (integer, não enum/charset).
Telas impactadas
| Tela | Contexto |
|---|---|
| OFI001 | Configuração do parâmetro (tela origem) |
| MOF001 | Ordem de Serviço — usa o parâmetro para calcular preço com margem sobre custo do fornecedor |
| TOF007 | Remarcação de ordem de serviço — SQL de remarcação (montaSQLRemarcacao) lê PO.CD_TABCUSTOFORNEC |
Campos envolvidos
| Campo | Tabela | Tipo | Obrigatório |
|---|---|---|---|
CD_TABCUSTOFORNEC | PARMOFICINA | DOM_INTEGER | Não |
DS_TABCUSTOFORNEC | PARMOFICINA | (campo derivado) | — |
CD_TABCOMPRA | TABCOMPRA | DOM_INTEGER PK | — |
DS_TABCOMPRA | TABCOMPRA | DOM_VARCHAR60 | — |
Comportamento detectado
| O que faz | Detalhe |
|---|---|
| Campo editável | Permite digitar ou buscar (<F9>) uma tabela de compra válida |
Validação (OnValidate) | Confirma a existência do código na tabela TABCOMPRA; ao validar, preenche DS_TABCUSTOFORNEC com a descrição da tabela |
Busca rápida (<F9>) | Abre lookup em TABCOMPRA e grava o CD_TABCOMPRA selecionado |
| Sem opções predefinidas | O campo não é enum/charset — aceita qualquer código válido de TABCOMPRA |
Simulação passo a passo
- Acesse OFI001 — Parâmetros da Oficina.
- Na aba Parâmetros, localize o campo Tab.Custo Fornecedor.
- Digite um código de tabela de compra existente (ex:
1) ou pressione<F9>para abrir a busca. - Na janela de busca, selecione a tabela desejada (ex: Tabela Custo Fornecedor AutoPeças).
- O campo DS_TABCUSTOFORNEC é preenchido automaticamente com a descrição da tabela.
- Clique no botão Salvar.
Resultado esperado: O código da tabela de custo de fornecedor é gravado em PARMOFICINA.CD_TABCUSTOFORNEC para a empresa corrente. Nas ordens de serviço (MOF001), o cálculo de preço com margem utilizará essa tabela como base de custo.
Exceção / Importante: O campo não é obrigatório. Se estiver vazio, os processos que dependem dele (como cálculo de margem sobre custo do fornecedor em MOF001) podem não aplicar a lógica de custo parametrizada.
Importante: O parâmetro é lido em conjunto com
TP_PRECOSERVICO(PARMOFICINA, mesma tela OFI001), que define a estratégia geral de precificação do serviço. A combinação dos dois parâmetros determina como o preço é calculado.
Procedures impactadas
Rotinas Delphi (referência direta ao campo)
| Rotina | Arquivo | Impacto |
|---|---|---|
TdmOFI001.tabPARMOFICINACD_TABCUSTOFORNECValidate | source/OFI001/UdmOFI001.pas:397 | Valida código contra TABCOMPRA e preenche DS_TABCUSTOFORNEC |
TfrmOFI001.edtCD_TABCUSTOFORNECKeyDown | source/OFI001/UOFI001.pas:508 | Ativa busca TABCOMPRA com <F9> e atribui resultado ao campo |
TdmTOF007.montaSQLRemarcacao | source/TOF007/UdmTOF007.pas:717 | Seleciona PO.CD_TABCUSTOFORNEC na SQL de remarcação |
TformRemarcacao.chkSomenteSaldoClick | source/TOF007/UformRemarcacao.pas:351 | Seleciona PO.CD_TABCUSTOFORNEC na SQL de remarcação |
Referências SQL diretas ao campo
Não foram encontradas referências diretas ao campo CD_TABCUSTOFORNEC em procedimentos/views dentro de Scripts/.
Candidatas por uso da tabela PARMOFICINA
As procedures/views abaixo fazem JOIN em PARMOFICINA, mas não citam CD_TABCUSTOFORNEC literalmente. O impacto funcional direto deste campo específico não foi confirmado.
| Procedure/View | Arquivo |
|---|---|
PARCELA_FINANC_MNF017 | Scripts/PARCELA_FINANC_MNF017.sql |
PARCELA_FINANCIAMENTO | Scripts/PARCELA_FINANCIAMENTO.sql |
REABRE_OS | Scripts/REABRE_OS.sql |
RETORNA_MOTIVOBLOQUEIO | Scripts/RETORNA_MOTIVOBLOQUEIO.sql |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql |
VIEW_DOCUMENTOSBLOQUEADOS | Scripts/VIEW_DOCUMENTOSBLOQUEADOS.sql |
VIEW_ROF004 | Scripts/VIEW_ROF004.sql |
VIEW_ROF004B | Scripts/VIEW_ROF004B.sql |
VIEW_ROF004B_V2 | Scripts/VIEW_ROF004B_V2.sql |
VIEW_ROF008 | Scripts/VIEW_ROF008.sql |