CD_TABPRECO - Tabela de Preço (Parâmetros de Tabela de Preço)
Tela de configuração: MFA006 - Parâmetros de Tabela de Preço Localização: Grupo
grpTABPRECO, campoedtCD_TABPRECOTabela:PARMTABPRECO.CD_TABPRECOTipo: INTEGER — NOT NULL Componente:TDBEditvinculado admMFA006.dsPARMTABPRECOValor padrão: Nenhum (campo obrigatório; código digitado ou selecionado via pesquisa<F9>)
Telas impactadas
O campo CD_TABPRECO na tabela PARMTABPRECO é usado como filtro/referência em diversas rotinas do sistema. As principais áreas impactadas são:
- Faturamento — definição de preço em itens de nota fiscal, pedidos e orçamentos
- Comissões — cálculo de comissão vinculado à tabela de preço aplicada
- Estoque — geração de estoque a partir de notas com tabela de preço
- Ordens de serviço — confirmação de OS com preço da tabela
- Exportações — integrações (SOVIS, ALLABOR, Domínio, EZ) que referenciam a tabela de preço
Campos envolvidos
| Campo | Tabela | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
CD_TABPRECO | PARMTABPRECO | INTEGER | ✓ | Código da tabela de preço (FK → TABPRECO) |
DS_TABPRECO | TABPRECO | VARCHAR(60) | — | Descrição da tabela (exibida automaticamente ao sair do campo) |
Chave estrangeira: RPARMTABPRECO_TABPRECO → TABPRECO (CD_TABPRECO)
Opções disponíveis
O campo CD_TABPRECO não possui lista de opções fixas. Trata-se de um campo de código numérico que aceita digitação direta ou pesquisa auxiliar via <F9>.
Digitação direta do código
| O que faz | Detalhe |
|---|---|
| Entrada | Editável — digite o código numérico da tabela de preço diretamente |
| Validação | O código deve existir na tabela TABPRECO; código inválido é rejeitado |
| Campos dependentes | A descrição (edtDS_TABPRECO) é preenchida automaticamente ao confirmar |
Simulação passo a passo
- Acesse MFA006 — Parâmetros de Tabela de Preço.
- Crie um novo registro (clique Novo na toolbar) ou localize um registro existente.
- No campo Tabela de Preço (
edtCD_TABPRECO), digite o código de uma tabela existente (ex:1). - Saia do campo (pressione
<Tab>ou clique em outro campo). - O campo Descrição (
edtDS_TABPRECO) será preenchido automaticamente com o nome da tabela correspondente. - Clique Salvar para gravar o registro.
Resultado esperado: O código é gravado em PARMTABPRECO.CD_TABPRECO e a descrição da tabela aparece ao lado no campo edtDS_TABPRECO.
Exceção / Importante: Se o código digitado não existir na tabela
TABPRECO, o sistema rejeita a entrada e mantém o campo vazio ou com o valor anterior.
Pesquisa auxiliar via <F9>
| O que faz | Detalhe |
|---|---|
| Ativação | Pressione <F9> com o foco no campo edtCD_TABPRECO |
| Pesquisa | Abre janela de seleção listando DS_TABPRECO e CD_TABPRECO da tabela TABPRECO |
| Retorno | O código selecionado é atribuído ao campo CD_TABPRECO |
Simulação passo a passo
- Acesse MFA006 — Parâmetros de Tabela de Preço.
- Crie um novo registro ou localize um existente.
- Posicione o foco no campo Tabela de Preço (
edtCD_TABPRECO). - Pressione
<F9>. - Na janela de pesquisa "Selecione a Tabela de Preço", localize a tabela desejada pela descrição (ex: "TABELA PADRÃO").
- Selecione a tabela desejada.
- Confirme a seleção.
Resultado esperado: O código da tabela selecionada é preenchido automaticamente no campo CD_TABPRECO e a descrição aparece no campo edtDS_TABPRECO. O registro entra em modo de edição (tabPARMTABPRECO.Edit).
Exceção / Importante: Se o usuário cancelar a pesquisa (Resultado vazio), o campo permanece inalterado.
Procedures impactadas
Rotinas Delphi com referência direta ao campo
| Rotina | Arquivo | Evidência |
|---|---|---|
TfrmMFA006.edtCD_TABPRECOKeyDown | source/MFA006/UMFA006.pas:460 | Pesquisa <F9> — abre seleção de TABPRECO |
Scripts SQL com referência direta ao campo
Não foram encontradas referências literais ao campo CD_TABPRECO em procedures/views dentro de Scripts/ exclusivas da tela MFA006. As referências existem em diversas rotinas de negócio que utilizam a tabela de preço como parâmetro de cálculo:
| Procedure | Arquivo | Uso |
|---|---|---|
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql | Consulta preço do item na tabela de preço via PARMTABPRECO |
RETORNA_TABPRECO | Scripts/RETORNA_TABPRECO.sql | Retorna tabela de preço aplicável via PARMTABPRECO |
CALCULA_COMISSAO | Scripts/CALCULA_COMISSAO.sql | Cálculo de comissão usando CD_TABPRECO |
GERA_NOTAFISCAL | Scripts/GERA_NOTAFISCAL.sql | Geração de nota fiscal referenciando tabela de preço |
GERA_ESTOQUE | Scripts/GERA_ESTOQUE.sql | Geração de estoque com referência à tabela |
CONFIRMA_ORDEMSERVICO | Scripts/CONFIRMA_ORDEMSERVICO.sql | Confirmação de OS com tabela de preço |
ATUALIZA_PRECOVENDA | Scripts/ATUALIZA_PRECOVENDA.sql | Atualização de preço de venda |
CALCULA_FORMACAOPRECOVENDA | Scripts/CALCULA_FORMACAOPRECOVENDA.sql | Formação de preço de venda |
GERA_NOTAPEDIDO | Scripts/GERA_NOTAPEDIDO.sql | Geração de nota a partir de pedido |
ENCERRA_MESA | Scripts/ENCERRA_MESA.sql | Encerramento de mesa com tabela de preço |
FECHA_ORDEMPRODUCAORECAP | Scripts/FECHA_ORDEMPRODUCAORECAP.sql | Fechamento de ordem de produção de recapagem |
Candidatas por uso da tabela PARMTABPRECO
Estas procedures/views acessam a tabela PARMTABPRECO mas não citam o campo CD_TABPRECO literalmente no trecho analisado:
| Procedure/View | Arquivo | Evidência |
|---|---|---|
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql:104 | FROM PARMTABPRECO P |
RETORNA_TABPRECO | Scripts/RETORNA_TABPRECO.sql:51 | FROM PARMTABPRECO P |
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql:302 | update PARMTABPRECO P |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql:1115 | FROM PARMTABPRECO P |
VIEW_TFA006 | Scripts/VIEW_TFA006.sql:84 | INNER JOIN PARMTABPRECO PT ON (PT.CD_TABPRECO = TABPRECO.CD_TABPRECO) |
TRGAD_PARMTABPRECO | Scripts/TRGAD_PARMTABPRECO.sql:5 | Trigger de exclusão em PARMTABPRECO |
INSERE_ITEMPEDIDO_SERVCANALETA | Scripts/INSERE_ITEMPEDIDO_SERVCANALETA.sql:58 | FROM PARMTABPRECO P |