Pular para o conteúdo principal

ST_VARIOSITENSCONTRATO - Permite Vários Itens no Contrato

Tela de configuração: MFA001 — Parâmetros de Faturamento Localização: Parâmetros → Ambos → Opção 2 Tabela: PARMFATUR.ST_VARIOSITENSCONTRATO (CHAR(1), NOT NULL) Valor padrão: N (Desmarcado)

Controla se o módulo de Contratos (TFA015) permite cadastrar vários itens por contrato e como as Notas Fiscais geradas a partir desses contratos são montadas e observadas.


Telas impactadas​

TelaDescriçãoImpacto
TFA015 — ContratosCadastro de contratos de mensalidadeControla visibilidade das abas Itens e Histórico, validação de totais ao salvar
MNF010 — Geração de NF por MensalidadeGeração de NF a partir de mensalidades de contratoInclui coluna DS_SERVICO nos itens da NF; desabilita rateio de Centro de Resultado quando ativo
MNF007 — Nota FiscalEmissão de NF em geralAdiciona observação com número do contrato na NF
MNF019 — Nota Fiscal (Devolução/Remessa)Devolução e remessa de NFAdiciona observação com referência ao contrato na NF de devolução ou remessa

Campos envolvidos​

CampoTabelaObservação
ST_VARIOSITENSCONTRATOPARMFATURParâmetro principal
VL_MENSALIDADECONTRATOValor da mensalidade do contrato
VL_SUMCONTRATOITEMcdsTOTALIZADORSoma dos valores dos itens do contrato
DS_SERVICOITEMNOTADescrição do serviço no item da NF
DS_OBSNOTANOTAObservação da nota fiscal
DS_MSGCONTRATOPARMFATURDS_MSGCONTRATO (configurado em MFA001 — Parâmetros de Faturamento, aba Opção 2) — texto complementar exibido na geração de NF de mensalidade

Opções disponíveis​

N — Desmarcado (padrão) — Contrato com item único​

O que fazDetalhe
Abas Itens e Histórico ficam ocultas na TFA015Contrato aceita apenas um item (valor único em VL_MENSALIDADE)
NF gerada pela mensalidade não inclui DS_SERVICO no itemObservação da NF permanece padrão
Rateio de Centro de Resultado é executado normalmente na MNF010Contas de débito e crédito passam pela validação de rateio
NF em MNF007 e MNF019 não recebe referência ao contrato na observação—

Simulação passo a passo​

  1. Acesse TFA015 — Contratos.
  2. Abra ou crie um contrato para o cliente.
  3. Observe que as abas Itens e Histórico não aparecem — o contrato trabalha apenas com o campo VL_MENSALIDADE.
  4. Salve o contrato normalmente (sem validação de itens).
  5. Gere a NF da mensalidade pela tela MNF010.
  6. Verifique que a NF gerada contém um único item sem a coluna DS_SERVICO preenchida.
  7. Confirme que o rateio de Centro de Resultado foi executado para as contas envolvidas.

Resultado esperado: Contrato com valor único, NF simples sem referência contratual na observação.


S — Marcado — Contrato com vários itens​

O que fazDetalhe
Abas Itens e Histórico ficam visíveis na TFA015Permitem cadastrar múltiplos itens/produtos por contrato
Ao salvar, o sistema valida se a soma dos itens confere com VL_MENSALIDADESe divergir, exibe erro W-0771 e bloqueia o salvamento
NF gerada pela mensalidade inclui DS_SERVICO em cada itemPopula com DS_OBSERVACAO da duplicata
Rateio de Centro de Resultado é desabilitado na MNF010Itens de contrato não passam pela validação de rateio
NF em MNF007 recebe prefixo "Ref. Contrato Número: XXXX" na observaçãoConcatenado antes do texto padrão
NF em MNF019 (devolução) recebe prefixo "Devolução Ref. Contrato Número: XXXX"—
NF em MNF019 (remessa) recebe prefixo "Remessa Ref. Contrato Número: XXXX"—

Simulação passo a passo​

  1. Acesse MFA001 — Parâmetros de Faturamento, aba Opção 2.
  2. Marque o checkbox "Permite Vários Itens no Contrato [TFA015]" e salve.
  3. Acesse TFA015 — Contratos.
  4. Crie um contrato para o cliente A com VL_MENSALIDADE = R$ 100,00.
  5. Acesse a aba Itens (agora visível) e adicione dois itens: Produto X — R$ 60,00 e Produto Y — R$ 40,00.
  6. Clique em Salvar — a soma (R$ 100,00) confere com a mensalidade, o contrato é salvo com sucesso e os itens são gravados via salvaMovimentoContratoNF.
  7. Gere a NF da mensalidade pela tela MNF010.
  8. Verifique que a NF contém dois itens com DS_SERVICO preenchido para cada um.
  9. Verifique que a observação da NF não passou pela validação de rateio de Centro de Resultado.
  10. Abra a NF gerada em MNF007 ou MNF019 e confira que DS_OBSNOTA exibe "Ref. Contrato Número: 1234" (ou "Devolução Ref. Contrato Número: 1234" / "Remessa Ref. Contrato Número: 1234").

Resultado esperado: Contrato com múltiplos itens validados, NF com descrição de serviço por item e referência ao contrato na observação.

Exceção / Importante:

  • Se a soma dos itens não conferir com VL_MENSALIDADE, o sistema exibe o erro W-0771 com os valores divergentes (ex: "R$ 90,00 ≠ R$ 100,00") e bloqueia o salvamento do contrato.
  • Quando este parâmetro está ativo, o rateio de Centro de Resultado é ignorado na geração da NF de mensalidade (MNF010). Isso afeta tanto a conta de débito quanto a conta de crédito.
  • O parâmetro DS_MSGCONTRATO (configurado em MFA001 — Parâmetros de Faturamento, aba Opção 2) é lido em conjunto com este parâmetro na tela MNF010, populando o campo de complemento/mensagem da NF.

Procedures impactadas​

Rotinas Delphi com referência direta ao campo​

RotinaArquivoLinhaEfeito
TfrmTFA015.iniciarsource/TFA015/UTFA015.pas366Exibe/oculta abas Itens e Histórico conforme valor
TfrmTFA015.btnSalvarClicksource/TFA015/UTFA015.pas566Valida soma dos itens vs mensalidade antes de salvar
TfrmMSGMNF010.FormShowsource/MNF010/UMSGMNF010.pas873Lê parâmetro e armazena em variável booleana paramVariosItensContrato
Geração de itens da NF (MNF010)source/MNF010/UMSGMNF010.pas317, 331, 398, 413Inclui DS_SERVICO no INSERT de ITEMNOTA quando ativo
Rateio Centro de Resultado (MNF010)source/MNF010/UMSGMNF010.pas422, 463Pula rateio de débito e crédito quando ativo
TdmMNF007.RetornaObsNotasource/MNF007/UdmMNF007.pas4977Prefixa observação da NF com referência ao contrato
TdmMNF007.retornaObsContratosource/MNF007/UdmMNF007.pas5697Monta texto "Ref. Contrato Número: XXXX"
Grava_NotaFiscalsource/MNF019/UdmMNF019.pas1401Prefixa observação da NF com referência ao contrato
retornaContratoNotaObservacaosource/MNF019/UMNF019.pas3701Monta texto de devolução/remessa com referência ao contrato

Referências SQL diretas ao campo​

Nenhuma procedure SQL em Scripts/ referencia diretamente ST_VARIOSITENSCONTRATO. O campo é consumido exclusivamente por rotinas Delphi.


Tabela comparativa resumida​

AspectoN (padrão)S (marcado)
Aba Itens visível (TFA015)✗✓
Aba Histórico visível (TFA015)✗✓
Validação soma itens = mensalidade—✓ (erro W-0771 se divergir)
DS_SERVICO preenchido no item da NF✗✓
Rateio Centro de Resultado na MNF010✓✗
Referência ao contrato na obs. da NF (MNF007)✗✓
Referência ao contrato na devolução/remessa (MNF019)✗✓