CD_TABPRECO - Tabela de Venda Padrão
Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Operação 1 → grupo "Padrão" Tabela:
PARMFATUR.CD_TABPRECOTipo:DOM_INTEGER(editável, busca<F9>) Valor padrão: Nenhum (campo opcional)
Descrição
Define a Tabela de Preço de Venda padrão da empresa. Esse código é utilizado como referência central em diversas operações do faturamento: geração de notas fiscais, pedidos de venda, orçamentos, validação de código de barras, comissões, etiquetas, consultas de preço e atualização automática de preços.
O campo armazena o código (CD_TABPRECO) de um registro cadastrado na tabela TABPRECO (tela TFA006).
Campos envolvidos
| Campo | Tabela | Descrição |
|---|---|---|
CD_TABPRECO | PARMFATUR | Código da tabela de venda padrão |
DS_TABPRECO | TABPRECO | Descrição da tabela (exibida ao lado do campo) |
Telas impactadas
| Tela | Arquivo | Uso |
|---|---|---|
| MFA001 — Parâmetros de Faturamento | UMFA001.pas | Configuração do parâmetro |
| CFA001 — Cadastro de Pessoas | UCFA001.pas | Cadastra CD_TABPRECO por pessoa |
| CFA003 — Clientes/Fornecedores | UCFA003.pas | Consulta tabela de preço do cliente |
| CEQ001 — Etiquetas | UCEQ001.pas | Usa CD_TABPRECO de PARMFATUR para buscar preço |
| CEQ003 — Ficha de Produção | UCEQ003.pas | Filtra itens por tabela de preço |
| CEQ005 — Consulta de Preço | UCEQ005.pas | Usa CD_TABPRECO de PARMFATUR para exibir preços |
| ADM001 — Usuários | UfrmADM001.pas | Vínculo de tabela de preço por usuário |
| ADM013 — Duplicar Usuário | UADM013.pas | Replica vínculo de tabela de preço |
| ADM015 — Exportação | UADM015.pas | Exporta dados de preço usando CD_TABPRECO |
| ADM023/ADM024 — Portal | UfrmADM023.pas, UfrmADM024.pas | Configura tabela avista no perfil do portal |
| CEQ002 — Impressão | UIMPRESSAO.pas | Retorna preço usando tabela padrão |
| CNF001 — Consulta NF | UCNF001.dfm | Exibe tabela de preço da nota |
Validações
Validação ao digitar o código
Ao informar um valor no campo, o sistema valida se o código existe em TABPRECO:
SELECT DS_TABPRECO FROM TABPRECO WHERE CD_TABPRECO = :valor
Se não encontrar, exibe: "A Tabela de Preço não está Cadastrada [TFA006]!"
Validação ao salvar (interação com ST_PRECOVENDA)
Se ST_PRECOVENDA for diferente de N (ou seja, se a atualização de tabela de venda estiver ativa), o campo CD_TABPRECO torna-se obrigatório. Tentar salvar com o campo vazio resulta em: "Informe alguma tabela de Venda para Atualização de Tabela de Venda."
Veja
ST_PRECOVENDA(configurado em MFA001 — Parâmetros de Faturamento, aba Operação 1).
Como funciona
Busca pelo F9
| O que faz | Detalhe |
|---|---|
| Abre janela de pesquisa | Pressione <F9> sobre o campo |
| Lista tabelas disponíveis | SELECT DS_TABPRECO, CD_TABPRECO FROM TABPRECO |
| Seleciona e preenche | Ao clicar, preenche código e dispara validação |
Simulação passo a passo
- Acesse MFA001 → aba Operação 1 → grupo Padrão.
- Posicione o cursor no campo Tabela de Venda.
- Pressione
<F9>para abrir a janela de pesquisa. - Selecione a tabela desejada na lista (ex: "Tabela Varejo", código 1).
- O sistema preenche o código e exibe a descrição ao lado.
Resultado esperado: O campo Tabela de Venda fica preenchido com o código da tabela e a descrição aparece em cinza ao lado.
Preenchimento manual
Simulação passo a passo
- Acesse MFA001 → aba Operação 1 → grupo Padrão.
- Digite o código da tabela de preço diretamente no campo (ex:
1). - Tecle
<Tab>para sair do campo — o sistema valida e exibe a descrição. - Se o código não existir, o sistema exibe erro e não permite prosseguir.
- Salve os parâmetros.
Resultado esperado: A tabela de venda padrão fica configurada para a empresa e será usada em todas as operações de faturamento.
Exceção / Importante: Se o parâmetro
ST_PRECOVENDAestiver configurado com valor diferente deN(Atualiza Tabela de Venda ativo), o campo não pode ficar vazio no momento de salvar. O sistema bloqueia e exige o preenchimento.
Uso nas procedures SQL
O valor de CD_TABPRECO é lido de PARMFATUR e passado como parâmetro para diversas procedures:
Procedures que leem diretamente PARMFATUR.CD_TABPRECO
| Procedure | Uso |
|---|---|
GERA_NOTAFISCAL | Lê P.CD_TABPRECO e repassa para RETORNA_PRECOITEM, ATUALIZA_PRECOVENDA e grava em ITEMNOTA |
GERA_ESTOQUE | Lê para cálculo de custo e preço |
GERA_ESTOQUE_NOTAFISCAL | Lê para atualização de preço de venda |
GERA_NOTAPEDIDO | Usa para definir tabela de preço nos itens da nota |
GERA_NOTAPEDIDOSOVIS | Usa para integração Sovis |
GERA_NFORDEMCARREGMRC049 | Usa para nota de ordem de carregamento |
GERA_NOTAFISCALORDEMCARREG | Usa para nota de ordem de carregamento |
GERA_CONTROLEENTREGA | Usa na geração de controle de entrega |
VALIDA_CODIGOBARRA | Usa com RETORNA_PRECOITEM para obter preço na consulta de código de barras |
Procedures que recebem CD_TABPRECO como parâmetro
| Procedure | Arquivo | Finalidade |
|---|---|---|
ATUALIZA_PRECOVENDA | ATUALIZA_PRECOVENDA.sql | Atualiza preços na tabela de venda |
CALCULA_COMISSAO | CALCULA_COMISSAO.sql | Calcula comissão usando preço da tabela |
CALCULA_COMISSAO_V2 | CALCULA_COMISSAO_V2.sql | Calcula comissão (v2) |
CALCULA_FRETEGERAL | CALCULA_FRETEGERAL.sql | Cálculo de frete |
CALCULA_GRIS | CALCULA_GRIS.sql | Cálculo de GRIS |
CALCULA_TAXAADVALOR | CALCULA_TAXAADVALOR.sql | Cálculo de taxa ad valorem |
CALCULA_TDE | CALCULA_TDE.sql | Cálculo de TDE |
CALCULA_TRT | CALCULA_TRT.sql | Cálculo de TRT |
CALCULA_TRTMAIORVALORBASE | CALCULA_TRTMAIORVALORBASE.sql | Cálculo de TRT maior valor base |
CALCULA_TRTSOMBASEXMINIMO | CALCULA_TRTSOMBASEXMINIMO.sql | Cálculo de TRT som base x mínimo |
CALCULA_VALORADICIONALNOTA | CALCULA_VALORADICIONALNOTA.sql | Cálculo de valor adicional na nota |
CALCULA_FORMACAOPRECOVENDA | CALCULA_FORMACAOPRECOVENDA.sql | Formação de preço de venda |
AJUSTE_FORMACAOPRECOVENDA | AJUSTE_FORMACAOPRECOVENDA.sql | Ajuste de formação de preço |
GERA_CREDITOVENDEDOR | GERA_CREDITOVENDEDOR.sql | Gera crédito do vendedor |
GERA_COMISSAOTABPRECO | GERA_COMISSAOTABPRECO.sql | Gera comissão por tabela de preço |
CONFIRMA_ORDEMSERVICO | CONFIRMA_ORDEMSERVICO.sql | Confirmação de ordem de serviço |
ENCERRA_MESA | ENCERRA_MESA.sql | Encerramento de mesa (PDV) |
FECHA_ORDEMPRODUCAORECAP | FECHA_ORDEMPRODUCAORECAP.sql | Fecha ordem de produção recap |
FECHA_ORDEMPRODUCAORECAPNOTA | FECHA_ORDEMPRODUCAORECAPNOTA.sql | Fecha ordem de produção recap com nota |
GERA_ESTOQUE | GERA_ESTOQUE.sql | Gera movimentação de estoque |
GERA_ESTOQUE_NOTAFISCAL | GERA_ESTOQUE_NOTAFISCAL.sql | Gera estoque a partir de nota fiscal |
BUSCAPRECORECAP | BUSCAPRECORECAP.sql | Busca preço de recap |
Candidatas por uso da tabela PARMFATUR
As procedures abaixo utilizam a tabela PARMFATUR mas não necessariamente o campo CD_TABPRECO diretamente:
| Procedure | Arquivo |
|---|---|
GERA_MESTRA | GERA_MESTRA.sql |
CANCELA_MESTRA | CANCELA_MESTRA.sql |
CANCELA_NOTAFISCAL | CANCELA_NOTAFISCAL.sql |
GERA_INTEGRACAO | GERA_INTEGRACAO.sql |
GERA_INTEGRACAOFISCAL | GERA_INTEGRACAOFISCAL.sql |
GERA_CREDITO | GERA_CREDITO.sql |
GERA_CONTROLEENTREGAPEDIDO | GERA_CONTROLEENTREGAPEDIDO.sql |
GERA_MOVSALDOITEM | GERA_MOVSALDOITEM.sql |
CALCULA_JUROVENDA | CALCULA_JUROVENDA.sql |
CALCULA_CENTRORESULT | CALCULA_CENTRORESULT.sql |
CALCULA_CENTRORESULTITEM | CALCULA_CENTRORESULTITEM.sql |
CONSOME_LOTEMATERIAPRIMA | CONSOME_LOTEMATERIAPRIMA.sql |
CREDITOPERIODICO_AI0 | CREDITOPERIODICO_AI0.sql |
CREDITOPERIODICOGRUPO_AI0 | CREDITOPERIODICOGRUPO_AI0.sql |
ATUALIZA_PESSOA | ATUALIZA_PESSOA.sql |
Interação com outros parâmetros
| Parâmetro | Configurado em | Relação |
|---|---|---|
ST_PRECOVENDA | MFA001 — aba Operação 1 | Se <> 'N', torna CD_TABPRECO obrigatório ao salvar. Determina como os preços da tabela são atualizados |
ST_TABPRECO | MFA001 — aba Operação 1 | Controla o comportamento da tabela de preço nos pedidos/orçamentos (obrigatória, bloqueada, livre etc.) |
PC_MARGEMVENDA | MFA001 — aba Operação 1 | Margem aplicada sobre o custo para calcular o preço na tabela de venda |
CD_TABCOMPRA | MFA001 — aba Operação 1 | Tabela de compra padrão (usada para custo de reposição) |
CD_TABPRECO (PESSOA) | CFA001 | Tabela de preço específica do cliente — sobrepõe a padrão em pedidos/orçamentos |
CD_TABPRECOAVISTA (PERFILPORTAL) | ADM023/ADM024 — Perfil Portal | Tabela de preço avista no portal web |
Tabelas referenciadas
| Tabela | Relação |
|---|---|
TABPRECO | FK → TABPRECO.CD_TABPRECO — Cadastro de tabelas de preço |
ITEMTABPRECO | Itens da tabela de preço (preço por produto) |
ITEMNOTA | Registra qual tabela de preço foi usada em cada item da nota |
ITEMPEDIDO | Registra qual tabela de preço foi usada em cada item do pedido |
ITEMORCAMENTO | Registra qual tabela de preço foi usada em cada item do orçamento |
CONDPAGTO | Condição de pagamento pode ter tabela de preço vinculada |