ST_CONSUMIDORFIN - Consumidor Final (Comportamento)
Tela de configuração: ADM010 — Parâmetros do Sistema
Localização: Aba Bloqueio/Cadastro Pessoa
Tabela:PARMSISTEMA.ST_CONSUMIDORFIN
Componente:cmbST_CONSUMIDORFIN(TwwDBComboBox)
Valor padrão:N(Não)
Este parâmetro define se, ao criar uma nova pessoa na tela de cadastro de pessoas (TFA001), o endereço dela será marcado automaticamente como Consumidor Final (ST_CONSUMIDOR = '1').
Quando Sim, toda pessoa criada recebe classificação de Consumidor Final, com CPF/CNPJ configurado como "Não Contribuinte" (ST_CONTRIBUINTE = '9').
Telas impactadas
| Tela | Descrição | Impacto |
|---|---|---|
| ADM010 | Parâmetros do Sistema — configuração | Define o valor do parâmetro |
| TFA001 | Cadastro de Pessoas | Marca automaticamente ST_CONSUMIDOR = '1' quando ST_CONSUMIDORFIN = 'S' |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
ST_CONSUMIDORFIN | PARMSISTEMA | CHAR(1) | Parâmetro: 'S' ou 'N' |
ST_CONSUMIDOR | ENDERECOPESSOA | Texto | Status do consumidor no endereço: '1' = Consumidor Final, '0' = Não |
ST_CONTRIBUINTE | ENDERECOPESSOA | CHAR(1) | Contribuinte: '9' = Não Contribuinte (quando ST_CONSUMIDORFIN = 'S') |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
| S — Sim | Ao criar pessoa/endereço em TFA001, define automaticamente ST_CONSUMIDOR = '1' (Consumidor Final) e ST_CONTRIBUINTE = '9' (Não Contribuinte). |
| N — Não | O campo ST_CONSUMIDOR é definido como '0' (Não Consumidor Final) nos novos endereços. |
N — Não (Padrão)
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, localize o campo Consumidor Final [TFA001].
- Verifique que o valor está "N".
- Abra TFA001 — Cadastro de Pessoas e clique em Novo.
- Preencha os dados da pessoa e salve.
- Abra o endereço cadastrado.
Resultado esperado: O campo ST_CONSUMIDOR no endereço receberá valor '0' (Não Consumidor Final).
S — Sim
Simulação passo a passo
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, localize o campo Consumidor Final [TFA001].
- Altere o valor para "S".
- Clique em Salvar.
- Abra TFA001 — Cadastro de Pessoas e clique em Novo.
- Preencha os dados da pessoa e salve.
- Abra o endereço cadastrado.
Resultado esperado: O campo ST_CONSUMIDOR no endereço receberá valor '1' (Consumidor Final). O campo ST_CONTRIBUINTE será definido como '9' (Não Contribuinte) automaticamente.
Exceção / Importante: Esse parâmetro é lido apenas uma vez ao inicializar a tela TFA001 (procedure
iniciar). Para que uma mudança feita em ADM010 tenha efeito imediato em TFA001, é necessário fechar e reabrir a tela TFA001.
Regra geral em TFA001
| Momento | O que acontece |
|---|---|
TFA001 inicializada — iniciar() | Lê ST_CONSUMIDORFIN de PARMSISTEMA e armazena em memória (iST_CONSUMIDORFIN). |
Novo endereço criado — AfterInsert do endereço | Se iST_CONSUMIDORFIN = 'S' → ST_CONSUMIDOR = '1', senão → ST_CONSUMIDOR = '0'. |
Salvar pessoa nova — btnSalvarClick | Se iST_CONSUMIDORFIN = 'S' → ST_CONSUMIDOR = '1' e ST_CONTRIBUINTE = '9'. |
Preencher endereço padrão — PreencheEnderecoPadrao | Se iST_CONSUMIDORFIN = 'S' → ST_CONSUMIDOR = '1', senão → ST_CONSUMIDOR = '0'. |
Procedures impactadas
Rotinas Delphi (referência direta ao campo)
| Rotina | Arquivo | Impacto |
|---|---|---|
iniciar (UTFA001) | source/TFA001/UTFA001.pas:965 | Carrega o parâmetro de PARMSISTEMA para iST_CONSUMIDORFIN no início da tela TFA001. |
TfrmTFA001.btnSalvarClick | source/TFA001/UTFA001.pas:2003 | Ao salvar pessoa nova, define ST_CONSUMIDOR = '1' se parâmetro = 'S'. |
TdmTFA001.tabENDERECOPESSOAAfterInsert | source/TFA001/UdmTFA001.pas:856 | Ao inserir novo endereço, define ST_CONSUMIDOR = '1' se parâmetro = 'S'. |
TdmTFA001.PreencheEnderecoPadrao | source/TFA001/UdmTFA001.pas:3912 | Ao preencher endereço padrão, define ST_CONSUMIDOR = '1' se parâmetro = 'S'. |
TdmADM010.tabPARMSISTEMAAfterInsert | source/ADM010/UdmADM010.pas:211 | Define valor padrão 'N' ao inserir novo registro de parâmetro. |
Referências SQL diretas ao campo
| Procedure/View | Arquivo | Impacto |
|---|---|---|
PROCESSA_PESSOAEZ | Scripts/PROCESSA_PESSOAEZ.sql:47 | Usa variável V_ST_CONSUMIDORFINAL (relacionada a ST_CONTRIBUINTE). Não faz referência direta a ST_CONSUMIDORFIN de PARMSISTEMA, mas usa a variável local V_ST_CONSUMIDORFINAL para definir status de consumidor ao processar dados de pessoa externa (EZ). |
Nota:
PROCESSA_PESSOAEZnão referencia diretamenteST_CONSUMIDORFINdePARMSISTEMA. A variávelV_ST_CONSUMIDORFINALé alimentada externamente e usada para definirST_CONSUMIDORemENDERECOPESSOA, mas não há vínculo direto no código entre o parâmetro dePARMSISTEMAe essa variável.
Candidatas por uso da tabela PARMSISTEMA
As seguintes procedures usam PARMSISTEMA mas não referenciam ST_CONSUMIDORFIN literalmente. Não há impacto direto identificado:
ARRUMA_MASCARACONTA, ATUALIZA_CONTACONTABIL, CALCULA_TEMPOPERMANENCIA, CONTABILIZA_CUPOMFISCAL, ENDERECOPESSOA_BI0, GERA_CONTACLIFOR, GERA_DARF, GERA_PLANOFILIAL, GERA_SPEDBLOCOL, GERA_SPEDCONTABIL, GERA_SPEDCONTABIL_0000, GERA_SPEDECF, GERA_SPEDECFBLOCOJ, GERA_SPEDECFBLOCOK155, GERA_SPEDECFBLOCOK355, GERA_SPEDECFBLOCOL210, GERA_SPEDECFBLOCOY, GRAVA_REGISTROSPED0500, IMPORTA_ARQUIVOMAGNETICO, INCLUI_IMPOSTONOTACTB.
Parametros relacionados
| Parâmetro | Tela | Descrição |
|---|---|---|
ST_OBRIGADADOS | ADM010 | Obrigação de dados (CNPJ/CPF, RG, IE) — controla validações adicionais de campo. |