Pular para o conteúdo principal

CD_CONDFISCAL — Condição Fiscal (Parâmetro de Tabela de Preço)

Tela de configuração: MFA006 — Parâmetros de Tabela de Preço Tabela: PARMTABPRECO.CD_CONDFISCAL Tipo: INTEGER (opcional, nullable) Valor padrão: Nenhum (campo fica vazio até que o usuário selecione)

Finalidade​

O campo CD_CONDFISCAL é um filtro opcional dentro dos parâmetros de tabela de preço (PARMTABPRECO). Ele permite restringir uma regra de preço a uma condição fiscal específica — por exemplo, "tributado", "substituição tributária", "isento", etc.

Quando preenchido, a regra de preço só se aplica a itens cuja condição fiscal cadastrada no cadastro de itens (ITEM.CD_CONDFISCAL) corresponda ao valor informado. Quando deixado em branco, a regra aceita qualquer condição fiscal.

Telas impactadas​

TelaDescrição
MFA006Cadastro/manutenção dos parâmetros de tabela de preço (tela de configuração do campo)

Campos envolvidos​

TabelaCampoTipoObrigatórioDescrição
PARMTABPRECOCD_CONDFISCALINTEGERNãoCódigo da condição fiscal filtrante na regra de preço
CONDFISCALCD_CONDFISCALINTEGERSim (PK)Código da condição fiscal (tabela de referência)
CONDFISCALDS_CONDFISCALVARCHAR(60)SimDescrição da condição fiscal
ITEMCD_CONDFISCALINTEGERSimCondição fiscal cadastrada no item (usada na resolução de preço)

Opções disponíveis​

O campo não possui valores fixos pré-definidos. O usuário pode:

  1. Deixar em branco — a regra aceita qualquer condição fiscal.
  2. Informar um código válido — a regra só se aplica àquela condição fiscal específica.

Deixar em branco (qualquer condição fiscal)​

O que fazDetalhe
Aceita qualquer condição fiscalA regra de preço é aplicável a itens de qualquer condição fiscal

Simulação passo a passo​

  1. Acesse MFA006 — Parâmetros de Tabela de Preço.
  2. Cadastre ou edite uma linha de parâmetro.
  3. Preencha os demais filtros desejados (empresa, tabela de preço, etc.).
  4. Não informe nada no campo Condição Fiscal (CD_CONDFISCAL). Deixe-o vazio.
  5. Salve o registro.

Resultado esperado: A regra de preço será considerada para itens de qualquer condição fiscal durante a resolução de preço (função RETORNA_TABPRECO).


Informar uma condição fiscal específica​

O que fazDetalhe
Restringe a regra a uma condição fiscalSomente itens com a condição fiscal informada utilizam esta regra
EdiçãoDigite o código diretamente ou pressione <F9> para pesquisar

Simulação passo a passo​

  1. Acesse MFA006 — Parâmetros de Tabela de Preço.
  2. Cadastre ou edite uma linha de parâmetro.
  3. No campo Condição Fiscal, pressione <F9> para abrir a pesquisa.
  4. A tela exibe a lista de condições fiscais cadastradas (colunas: Descrição e Código, provenientes da tabela CONDFISCAL).
  5. Selecione a condição fiscal desejada (ex.: código 1 — "Tributado").
  6. O campo é preenchido automaticamente com o código selecionado.
  7. Salve o registro.

Resultado esperado: A regra de preço só será aplicada a itens cujo ITEM.CD_CONDFISCAL corresponda ao valor informado (ex.: apenas itens com condição fiscal "Tributado").

Excecao / Importante: Se o item não possui CD_CONDFISCAL cadastrado no cadastro de itens (ITEM), a regra com filtro de condição fiscal não será aplicada a esse item. A resolução de preço (RETORNA_TABPRECO) utiliza o CD_CONDFISCAL do item como parâmetro de busca — se o item não tiver condição fiscal, o campo é tratado como nulo e não casa com o filtro preenchido.

Regra de resolução de preço​

A função RETORNA_TABPRECO (em Scripts/RETORNA_TABPRECO.sql) é responsável por localizar a tabela de preço aplicável. O campo CD_CONDFISCAL participa da lógica de matching com a seguinte regra:

-- Se PARMTABPRECO.CD_CONDFISCAL estiver nulo, aceita qualquer condição fiscal do item
-- Se preenchido, só aceita o item com a mesma condição fiscal
COALESCE(P.CD_CONDFISCAL, -1) = CASE COALESCE(P.CD_CONDFISCAL, -1)
WHEN -1 THEN -1
ELSE V_CD_CONDFISCAL -- condição fiscal do item (ITEM.CD_CONDFISCAL)
END

Pontuação de especificidade​

Na ordenação das regras candidatas, o campo CD_CONDFISCAL contribui com +1 ponto na pontuação de especificidade quando preenchido. Quanto mais filtros preenchidos, mais específica é a regra — e regras mais específicas têm prioridade sobre regras genéricas.

Exemplo de pontuação:

  • Regra A: somente CD_TABPRECO preenchido → pontuação baixa (genérica)
  • Regra B: CD_TABPRECO + CD_CONDFISCAL + CD_PESSOA → pontuação alta (específica)

O sistema seleciona a regra com maior pontuação que satisfaça todos os critérios.

Tabela de referência: CONDFISCAL​

CampoTipoObrigatórioDescrição
CD_CONDFISCALINTEGERSim (PK)Código da condição fiscal
DS_CONDFISCALVARCHAR(60)SimDescrição da condição fiscal
DT_REGISTROTIMESTAMPSimData/hora de gravação
CD_INDICEMARKUPINTEGERNãoÍndice de markup associado
CD_CSTINTEGERNãoCST (Código de Situação Tributária)
CD_ORIGEMINTEGERNãoOrigem da mercadoria

A tabela CONDFISCAL é o cadastro mestre de condições fiscais do sistema. Não possui constraint de FK direta com PARMTABPRECO no DDL, mas a integridade referencial é garantida pela aplicação Delphi (lookup via <F9>).

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaContexto
TfrmMFA006.edtCD_CONDFISCALKeyDownsource/MFA006/UMFA006.pas570Pesquisa <F9> de condições fiscais na tela MFA006

Scripts SQL com referência direta ao campo​

Não foram encontradas referências literais a PARMTABPRECO.CD_CONDFISCAL em procedures SQL. O campo é utilizado indiretamente pela função RETORNA_TABPRECO que monta query dinâmica incluindo P.CD_CONDFISCAL no filtro.

Candidatas por uso da tabela​

Procedure/ViewArquivoLinhaEvidência
RETORNA_TABPRECOScripts/RETORNA_TABPRECO.sql94Filtra PARMTABPRECO por CD_CONDFISCAL do item
ATUALIZA_PESSOAScripts/ATUALIZA_PESSOA.sql302UPDATE em PARMTABPRECO
ATUALIZA_PRECOVENDAScripts/ATUALIZA_PRECOVENDA.sql79SELECT em PARMTABPRECO
CALCULA_MAQUINAScripts/CALCULA_MAQUINA.sql81SELECT em PARMTABPRECO
CALCULA_MAQUINAFICHAScripts/CALCULA_MAQUINAFICHA.sql79SELECT em PARMTABPRECO
GERA_COMISSAOTABPRECOScripts/GERA_COMISSAOTABPRECO.sql84SELECT em PARMTABPRECO
RETORNA_PRECOITEMScripts/RETORNA_PRECOITEM.sql104SELECT em PARMTABPRECO
VERIFICA_BLOQUEIOScripts/VERIFICA_BLOQUEIO.sql1115SELECT em PARMTABPRECO
VIEW_TFA006Scripts/VIEW_TFA006.sql84JOIN em PARMTABPRECO
TRGAD_PARMTABPRECOScripts/TRGAD_PARMTABPRECO.sql5Trigger DELETE em PARMTABPRECO