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
| Tela | Descrição |
|---|---|
| TFA001 | Cadastro de Pessoa — validação de CD_CONDPAGTO por endereço e destaque visual do rótulo |
Opções disponíveis
| O que faz | Detalhe |
|---|---|
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
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, desmarque o checkbox "Condição de Pagamento por Endereço".
- Salve os parâmetros.
- Acesse TFA001 — Cadastro de Pessoa.
- Abra ou crie um registro de pessoa.
- Vá até a aba Endereço e adicione um novo endereço (ou edite um existente).
- Não preencha o campo "Condição de Pagto".
- 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
- Acesse ADM010 — Parâmetros do Sistema.
- Na aba Bloqueio/Cadastro Pessoa, marque o checkbox "Condição de Pagamento por Endereço".
- Salve os parâmetros.
- Acesse TFA001 — Cadastro de Pessoa.
- Abra ou crie um registro de pessoa.
- Vá até a aba Endereço e adicione um novo endereço (ou edite um existente).
- Preencha os demais campos do endereço, mas deixe "Condição de Pagto" em branco.
- 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 semCD_CONDPAGTO, o erro é disparado e o foco vai para o campo do primeiro endereço sem condição preenchida.- O label do campo
CD_CONDPAGTOna 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) eST_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
| Rotina | Arquivo | Linha | Impacto |
|---|---|---|---|
iniciar | source/TFA001/UTFA001.pas | 1020 | Define o label CD_CONDPAGTO em negrito quando 'S' |
TfrmTFA001.btnSalvarClick | source/TFA001/UTFA001.pas | 2092 | Percorre todos os endereços da pessoa e valida CD_CONDPAGTO em cada um |
TdmTFA001.validacoesADM010 | source/TFA001/UdmTFA001.pas | 3779 | Valida 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':
- Ao abrir a TFA001, o campo
CD_CONDPAGTOna aba Endereço fica com rótulo em negrito. - No fluxo de salvamento (
btnSalvarClick), todos os endereços são verificados:CD_CONDPAGTO <> vazioem cadaENDERECOPESSOA. - No fluxo de validação interna (
validacoesADM010), o endereço atual é verificado durante navegação por registro.
Tabela comparativa resumida
| Critério | N (Desmarcado) | S (Marcado) |
|---|---|---|
CD_CONDPAGTO no endereço | Opcional | Obrigatório |
| Validação no salvamento | Não há | Percorre todos os endereços; bloqueia se qualquer um estiver vazio |
| Validação por registro | Não há | Verifica CD_CONDPAGTO no endereço atual (validacoesADM010) |
| Indicador visual | Rótulo normal | Rótulo em negrito |
| Mensagem de erro | Nenhuma | "É Obrigatório Informar a Condição de Pagamento! Verifique! [TFA001/ADM010]" |