Pular para o conteúdo principal

ST_OBRIGAREGCOMCONDPAGTO - Condição de Pagamento por Endereço (Comportamento)

Tela de configuração: ADM010 — Parâmetros do Sistema
Localização: Aba "Bloqueio/Cadastro Pessoa" → Checkbox "Condição de Pagamento por Endereço"
Tabela: PARMSISTEMA.ST_OBRIGAREGCOMCONDPAGTO
Componente: chkCondPagtoEndereco (checkbox)
Valor padrão: N (Desmarcado — não obrigatório)
Tipo: CHAR(1) — 'S' ou 'N'

Quando habilitado, exige que todo endereço cadastrado para uma pessoa (física ou jurídica) possua uma Condição de Pagamento (CD_CONDPAGTO) preenchida. Os campos CD_CONDPAGTO sem valor são rejeitados no salvamento na tela TFA001 (Cadastro de Pessoa).

Telas impactadas​

TelaDescrição
TFA001Cadastro de Pessoa — validação de CD_CONDPAGTO por endereço e destaque visual do rótulo

Opções disponíveis​

O que fazDetalhe
N (Desmarcado)Comportamento padrão. O campo "Condição de Pagto" no endereço da pessoa fica livre — não há validação obrigatória.
S (Marcado)Exige Condição de Pagamento em cada endereço. No salvamento da tela TFA001, o sistema percorre todos os registros de ENDERECOPESSOA e rejeita qualquer endereço com CD_CONDPAGTO vazio. O rótulo do campo fica em negrito como indicativo visual.

N — Não Obrigatório (livre)​

Simulação passo a passo​

  1. Acesse ADM010 — Parâmetros do Sistema.
  2. Na aba Bloqueio/Cadastro Pessoa, desmarque o checkbox "Condição de Pagamento por Endereço".
  3. Salve os parâmetros.
  4. Acesse TFA001 — Cadastro de Pessoa.
  5. Abra ou crie um registro de pessoa.
  6. Vá até a aba Endereço e adicione um novo endereço (ou edite um existente).
  7. Não preencha o campo "Condição de Pagto".
  8. Salve o cadastro.

Resultado esperado: O salvamento é realizado com sucesso. O endereço fica sem condição de pagamento associada.

S — Obrigatório por Endereço​

Simulação passo a passo​

  1. Acesse ADM010 — Parâmetros do Sistema.
  2. Na aba Bloqueio/Cadastro Pessoa, marque o checkbox "Condição de Pagamento por Endereço".
  3. Salve os parâmetros.
  4. Acesse TFA001 — Cadastro de Pessoa.
  5. Abra ou crie um registro de pessoa.
  6. Vá até a aba Endereço e adicione um novo endereço (ou edite um existente).
  7. Preencha os demais campos do endereço, mas deixe "Condição de Pagto" em branco.
  8. Clique em Salvar.

Resultado esperado: O sistema bloqueia o salvamento, posiciona o cursor no campo "Condição de Pagto" e exibe a mensagem:

"É Obrigatório Informar a Condição de Pagamento! Verifique! [TFA001/ADM010]"

Para concluir o cadastro, o usuário deve selecionar uma condição de pagamento válida (ex.: 30DD, VISTA, etc.) e salvar novamente.

Exceção / Importante:

  • A validação também roda ao salvar o cadastro como um todo (btnSalvarClick). Nesse cenário, todos os endereços da pessoa são percorridos um a um. Se qualquer endereço estiver sem CD_CONDPAGTO, o erro é disparado e o foco vai para o campo do primeiro endereço sem condição preenchida.
  • O label do campo CD_CONDPAGTO na aba Endereço fica em negrito (Font.Style := [fsBold]) quando o parâmetro está 'S', servindo como indicativo visual de obrigatoriedade para o operador.
  • Este parâmetro é análogo a outros parâmetros de obrigatoriedade por endereço configurados na mesma aba, como ST_REGIAOCOMERCIALENDERECO (configurado em ADM010 — mesma aba) e ST_VENDEDORENDERECO (configurado em ADM010 — mesma aba), que seguem a mesma mecânica de validação e destaque visual.

Procedures impactadas​

Rotinas Delphi com referência direta ao parâmetro​

RotinaArquivoLinhaImpacto
iniciarsource/TFA001/UTFA001.pas1020Define o label CD_CONDPAGTO em negrito quando 'S'
TfrmTFA001.btnSalvarClicksource/TFA001/UTFA001.pas2092Percorre todos os endereços da pessoa e valida CD_CONDPAGTO em cada um
TdmTFA001.validacoesADM010source/TFA001/UdmTFA001.pas3779Valida CD_CONDPAGTO no endereço atual durante iteracao

Candidatas por uso da tabela​

As procedimentos/views abaixo usam a tabela PARMSISTEMA, mas não citam o campo ST_OBRIGAREGCOMCONDPAGTO literalmente — sem impacto funcional direto identificado.

  • ARRUMA_MASCARACONTA (Scripts/ARRUMA_MASCARACONTA.sql:22)
  • ATUALIZA_CONTACONTABIL (Scripts/ATUALIZA_CONTACONTABIL.sql:25)
  • CALCULA_TEMPOPERMANENCIA (Scripts/CALCULA_TEMPOPERMANENCIA.sql:24)
  • CONTABILIZA_CUPOMFISCAL (Scripts/CONTABILIZA_CUPOMFISCAL.sql:58)
  • ENDERECOPESSOA_BI0 (Scripts/ENDERECOPESSOA_BI0.sql:14)
  • GERA_CONTACLIFOR (Scripts/GERA_CONTACLIFOR.sql:105)
  • GERA_DARF (Scripts/GERA_DARF.sql:139)
  • GERA_PLANOFILIAL (Scripts/GERA_PLANOFILIAL.sql:15)
  • GERA_SPEDBLOCOL (Scripts/GERA_SPEDBLOCOL.sql:36)
  • GERA_SPEDCONTABIL (Scripts/GERA_SPEDCONTABIL.sql:156)
  • GERA_SPEDCONTABIL_0000 (Scripts/GERA_SPEDCONTABIL_0000.sql:60)
  • Demais rotinas listadas em procedures impactadas no pre-flight.

Regra geral de validação​

Quando ST_OBRIGAREGCOMCONDPAGTO = 'S':

  1. Ao abrir a TFA001, o campo CD_CONDPAGTO na aba Endereço fica com rótulo em negrito.
  2. No fluxo de salvamento (btnSalvarClick), todos os endereços são verificados: CD_CONDPAGTO <> vazio em cada ENDERECOPESSOA.
  3. No fluxo de validação interna (validacoesADM010), o endereço atual é verificado durante navegação por registro.

Tabela comparativa resumida​

CritérioN (Desmarcado)S (Marcado)
CD_CONDPAGTO no endereçoOpcionalObrigatório
Validação no salvamentoNão háPercorre todos os endereços; bloqueia se qualquer um estiver vazio
Validação por registroNão háVerifica CD_CONDPAGTO no endereço atual (validacoesADM010)
Indicador visualRótulo normalRótulo em negrito
Mensagem de erroNenhuma"É Obrigatório Informar a Condição de Pagamento! Verifique! [TFA001/ADM010]"