Pular para o conteúdo principal

CD_LAYDUPLICATA - Layout de Duplicata

Tela de configuração: FNC001 — Parâmetros Financeiros
Localização: Aba &Layouts/Relatórios
Tabela: PARMFINANC.CD_LAYDUPLICATA
Tipo: DOM_VARCHAR6 (VARCHAR(6))
Componente: editCD_LAYDUPLICATA (TDBEdit)
Valor padrão: (vazio)
Descrição: Código do layout de impressão de duplicata definido na tela LDP122 — Layout de Duplicata.

Telas impactadas​

TelaÁreaUso
FNC001Parâmetros FinanceirosConfiguração do valor
MFC023Financeiro → DuplicatasLeitura para impressão ao gravar duplicata
LDP122Layout de DuplicataRotina Imprime_Duplicatas
MFC002Mov. FinanceiroConsulta de parâmetros financeiros
MNF002, MNF004, MNF008, MNF010, MNF013, MNF014, MNF017, MNF024Movimentação / Notas FiscaisImprime_Duplicatas após emissão
CPD008ComandasImpressão de duplicata por comanda
MPD043, MPD046PedidosImpressão de duplicata após confirmação
MRC020RecebimentoImpressão de duplicata no recebimento
RFC016Relatórios FinanceirosImpressão de duplicata

Campos envolvidos​

CampoTabelaTipoDescrição
CD_LAYDUPLICATAPARMFINANCVARCHAR(6)Código do layout de duplicata
ST_IMPDUPLICATAPARMFINANCCHAR(1)Controle de impressão: P = conforme forma de pagamento; outro valor = imprime sempre (configurado na aba Geral da mesma tela FNC001)

Opções disponíveis​

O que fazDetalhe
Campo editável livreDigite o código de um layout cadastrado na tela LDP122. O campo aceita até 6 caracteres, forçado para maiúsculas.
Campo vazio (padrão)Nenhuma duplicata é impressa automaticamente ao gravar lançamentos.
Combinado com ST_IMPDUPLICATA = 'P'A duplicata só imprime se a forma de pagamento da conta (CD_FORMAPAGTO) coincidir com a forma de pagamento cadastrada no parâmetro (CD_FORMAPAGDUP).
Combinado com ST_IMPDUPLICATA <> 'P'A duplicata imprime sempre que CD_LAYDUPLICATA estiver preenchido, independente da forma de pagamento.

Preenchido (código de layout informado)​

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Abra a aba &Layouts/Relatórios.
  3. No grupo Layouts, localize o campo Duplicata.
  4. Digite o código do layout de duplicata (ex.: LAYOUT01), conforme cadastrado na tela LDP122 — Layout de Duplicata.
  5. Salve os parâmetros.
  6. Acesse uma tela que gere duplicatas (ex.: MFC023).
  7. Grave uma duplicata/adiantamento com lançamento válido.

Resultado esperado: Ao gravar a duplicata, o sistema lê o valor de CD_LAYDUPLICATA, carrega o layout configurado via CarregaLayout (procedimento LDP122.ExecLayout) e abre a pré-visualização ou envia à impressora configurada para o usuário (Retorna_ImpressoraUsuario com tipo 'P').

Exceção / Importante: Se ST_IMPDUPLICATA = 'P' (configurado em FNC001, aba Geral), a impressão só ocorrerá quando a forma de pagamento da conta coincidir com CD_FORMAPAGDUP (também em FNC001, aba Geral). Caso não coincida, a duplicata é gravada mas não é impressa.

Vazio (nenhum layout configurado)​

Simulação passo a passo​

  1. Acesse FNC001 — Parâmetros Financeiros.
  2. Abra a aba &Layouts/Relatórios.
  3. Deixe o campo Duplicata em branco.
  4. Salve os parâmetros.
  5. Acesse MFC023 e grave uma duplicata.

Resultado esperado: O sistema avalia Trim(ParmFinanc.Values['CD_LAYDUPLICATA']) <> '', retorna False e não executa a rotina CarregaLayout. Nenhuma duplicata é impressa automaticamente.

Regra geral de impressão​

O fluxo de impressão de duplicata segue esta lógica:

  1. O sistema verifica se CD_LAYDUPLICATA não está vazio.
  2. Se vazio, encerra sem imprimir.
  3. Se preenchido, avalia ST_IMPDUPLICATA:
    • 'P': compara CD_FORMAPAGDUP (parâmetro) com CD_FORMAPAGTO (da conta); só imprime se forem iguais.
    • Outro valor: imprime sempre.
  4. Chama CarregaLayout passando o código do layout (CD_LAYDUPLICATA) como primeiro parâmetro (iParametros[0]).

Tabela comparativa resumida​

CenárioCD_LAYDUPLICATAST_IMPDUPLICATAForma pagto coincide?Imprime duplicata?
Sem layout(vazio)Qualquer—Não
Layout configurado + sempre imprimeLAYOUT01'S' (ou qualquer ≠ 'P')—Sim
Layout configurado + conforme pagtoLAYOUT01'P'SimSim
Layout configurado + conforme pagtoLAYOUT01'P'NãoNão

Procedures impactadas​

Rotinas Delphi — referência direta ao campo​

RotinaArquivoUso
TfrmCPD008.btnDuplicataClicksource/CPD008/UCPD008.pas:944Consulta CD_LAYDUPLICATA da PARMFINANC
TfrmCPD008.btnBtnVendaClicksource/CPD008/UCPD008.pas:1038Consulta CD_LAYDUPLICATA da PARMFINANC
TfrmCPD008.btnIMPRIME_AVARIAClicksource/CPD008/UCPD008.pas:1112Consulta CD_LAYDUPLICATA da PARMFINANC
Imprime_Duplicatassource/LDP122/ULDP122.pas:199Lê CD_LAYDUPLICATA para imprimir duplicata
TfrmMFC002.btnSalvarClicksource/MFC002/UMFC002.pas:1542Consulta CD_LAYDUPLICATA da PARMFINANC
TdmMFC019.gravaReparcelamentosource/MFC019/UdmMFC019.pas:1159Lê layout para impressão no reparcelamento
TfrmMFC023.btnSalvarClicksource/MFC023/UMFC023.pas:675Condicional Trim(CD_LAYDUPLICATA) <> '' → imprime
TfrmObras.GravaDuplicatasource/MFC023/UObrasMFC023.pas:457Condicional Trim(CD_LAYDUPLICATA) <> '' → imprime
Imprime_Duplicatassource/MNF002/UMNF002.pas:967Lê layout para impressão
Imprime_Duplicatassource/MNF004/UMNF004.pas:178Lê layout para impressão
Imprime_Duplicatassource/MNF008/UMNF008.pas:529Lê layout para impressão
Imprime_Duplicatassource/MNF010/UdmMNF010.pas:195Lê layout para impressão
Imprime_Duplicatassource/MNF013/UMNF013.pas:1266Lê layout para impressão
Imprime_Duplicatassource/MNF014/UMNF014.pas:363Lê layout para impressão
Imprime_Duplicatassource/MNF017/uMNF017ConfPedido.pas:439Lê layout para impressão
TdmMNF024.Imprime_Duplicatassource/MNF024/UdmMNF024.pas:699Lê layout para impressão
Imprime_Duplicatassource/MPD011/UNFORDEM.pas:338Lê layout para impressão
TfrmMPD043.btnGerarPedidoClicksource/MPD043/UMPD043.pas:2545Consulta CD_LAYDUPLICATA
TfrmMPD043.btnConfirmaTrocaClicksource/MPD043/UMPD043.pas:5207Consulta CD_LAYDUPLICATA
TfrmMPD046.Confirmasource/MPD046/UMPD046.pas:2909Consulta CD_LAYDUPLICATA
Imprime_Duplicatassource/MRC020/UMRC020NFORDEM.pas:407Lê layout para impressão
TfrmRFC016.btnImprimirClicksource/RFC016/URFC016.pas:190Lê layout para impressão

Candidatas por uso da tabela PARMFINANC​

As scripts SQL abaixo fazem JOIN ou SELECT na tabela PARMFINANC, mas não referenciam diretamente o campo CD_LAYDUPLICATA. Não foi encontrada referência direta ao campo nos arquivos em Scripts/.

Procedure/ViewArquivo
GERA_DUPLICATASScripts/GERA_DUPLICATAS.sql
GRAVA_CONTASScripts/GRAVA_CONTAS.sql
PROCESSA_FATURAScripts/PROCESSA_FATURA.sql
CONTABILIZA_REPARCELAMENTOScripts/CONTABILIZA_REPARCELAMENTO.sql
CANCELA_CONTASScripts/CANCELA_CONTAS.sql
Demais scripts que acessam PARMFINANCVer lista completa nas evidências