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_CONDFISCALTipo: 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
| Tela | Descrição |
|---|---|
| MFA006 | Cadastro/manutenção dos parâmetros de tabela de preço (tela de configuração do campo) |
Campos envolvidos
| Tabela | Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|---|
PARMTABPRECO | CD_CONDFISCAL | INTEGER | Não | Código da condição fiscal filtrante na regra de preço |
CONDFISCAL | CD_CONDFISCAL | INTEGER | Sim (PK) | Código da condição fiscal (tabela de referência) |
CONDFISCAL | DS_CONDFISCAL | VARCHAR(60) | Sim | Descrição da condição fiscal |
ITEM | CD_CONDFISCAL | INTEGER | Sim | Condiçã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:
- Deixar em branco — a regra aceita qualquer condição fiscal.
- 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 faz | Detalhe |
|---|---|
| Aceita qualquer condição fiscal | A regra de preço é aplicável a itens de qualquer condição fiscal |
Simulação passo a passo
- Acesse MFA006 — Parâmetros de Tabela de Preço.
- Cadastre ou edite uma linha de parâmetro.
- Preencha os demais filtros desejados (empresa, tabela de preço, etc.).
- Não informe nada no campo Condição Fiscal (
CD_CONDFISCAL). Deixe-o vazio. - 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 faz | Detalhe |
|---|---|
| Restringe a regra a uma condição fiscal | Somente itens com a condição fiscal informada utilizam esta regra |
| Edição | Digite o código diretamente ou pressione <F9> para pesquisar |
Simulação passo a passo
- Acesse MFA006 — Parâmetros de Tabela de Preço.
- Cadastre ou edite uma linha de parâmetro.
- No campo Condição Fiscal, pressione
<F9>para abrir a pesquisa. - A tela exibe a lista de condições fiscais cadastradas (colunas: Descrição e Código, provenientes da tabela
CONDFISCAL). - Selecione a condição fiscal desejada (ex.: código
1— "Tributado"). - O campo é preenchido automaticamente com o código selecionado.
- 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_CONDFISCALcadastrado 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 oCD_CONDFISCALdo 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_TABPRECOpreenchido → 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
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
CD_CONDFISCAL | INTEGER | Sim (PK) | Código da condição fiscal |
DS_CONDFISCAL | VARCHAR(60) | Sim | Descrição da condição fiscal |
DT_REGISTRO | TIMESTAMP | Sim | Data/hora de gravação |
CD_INDICEMARKUP | INTEGER | Não | Índice de markup associado |
CD_CST | INTEGER | Não | CST (Código de Situação Tributária) |
CD_ORIGEM | INTEGER | Não | Origem 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
| Rotina | Arquivo | Linha | Contexto |
|---|---|---|---|
TfrmMFA006.edtCD_CONDFISCALKeyDown | source/MFA006/UMFA006.pas | 570 | Pesquisa <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/View | Arquivo | Linha | Evidência |
|---|---|---|---|
RETORNA_TABPRECO | Scripts/RETORNA_TABPRECO.sql | 94 | Filtra PARMTABPRECO por CD_CONDFISCAL do item |
ATUALIZA_PESSOA | Scripts/ATUALIZA_PESSOA.sql | 302 | UPDATE em PARMTABPRECO |
ATUALIZA_PRECOVENDA | Scripts/ATUALIZA_PRECOVENDA.sql | 79 | SELECT em PARMTABPRECO |
CALCULA_MAQUINA | Scripts/CALCULA_MAQUINA.sql | 81 | SELECT em PARMTABPRECO |
CALCULA_MAQUINAFICHA | Scripts/CALCULA_MAQUINAFICHA.sql | 79 | SELECT em PARMTABPRECO |
GERA_COMISSAOTABPRECO | Scripts/GERA_COMISSAOTABPRECO.sql | 84 | SELECT em PARMTABPRECO |
RETORNA_PRECOITEM | Scripts/RETORNA_PRECOITEM.sql | 104 | SELECT em PARMTABPRECO |
VERIFICA_BLOQUEIO | Scripts/VERIFICA_BLOQUEIO.sql | 1115 | SELECT em PARMTABPRECO |
VIEW_TFA006 | Scripts/VIEW_TFA006.sql | 84 | JOIN em PARMTABPRECO |
TRGAD_PARMTABPRECO | Scripts/TRGAD_PARMTABPRECO.sql | 5 | Trigger DELETE em PARMTABPRECO |