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 | Área | Uso |
|---|---|---|
| FNC001 | Parâmetros Financeiros | Configuração do valor |
| MFC023 | Financeiro → Duplicatas | Leitura para impressão ao gravar duplicata |
| LDP122 | Layout de Duplicata | Rotina Imprime_Duplicatas |
| MFC002 | Mov. Financeiro | Consulta de parâmetros financeiros |
| MNF002, MNF004, MNF008, MNF010, MNF013, MNF014, MNF017, MNF024 | Movimentação / Notas Fiscais | Imprime_Duplicatas após emissão |
| CPD008 | Comandas | Impressão de duplicata por comanda |
| MPD043, MPD046 | Pedidos | Impressão de duplicata após confirmação |
| MRC020 | Recebimento | Impressão de duplicata no recebimento |
| RFC016 | Relatórios Financeiros | Impressão de duplicata |
Campos envolvidos
| Campo | Tabela | Tipo | Descrição |
|---|---|---|---|
CD_LAYDUPLICATA | PARMFINANC | VARCHAR(6) | Código do layout de duplicata |
ST_IMPDUPLICATA | PARMFINANC | CHAR(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 faz | Detalhe |
|---|---|
| Campo editável livre | Digite 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
- Acesse FNC001 — Parâmetros Financeiros.
- Abra a aba
&Layouts/Relatórios. - No grupo Layouts, localize o campo Duplicata.
- Digite o código do layout de duplicata (ex.:
LAYOUT01), conforme cadastrado na tela LDP122 — Layout de Duplicata. - Salve os parâmetros.
- Acesse uma tela que gere duplicatas (ex.: MFC023).
- 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 comCD_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
- Acesse FNC001 — Parâmetros Financeiros.
- Abra a aba
&Layouts/Relatórios. - Deixe o campo Duplicata em branco.
- Salve os parâmetros.
- 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:
- O sistema verifica se
CD_LAYDUPLICATAnão está vazio. - Se vazio, encerra sem imprimir.
- Se preenchido, avalia
ST_IMPDUPLICATA:'P': comparaCD_FORMAPAGDUP(parâmetro) comCD_FORMAPAGTO(da conta); só imprime se forem iguais.- Outro valor: imprime sempre.
- Chama
CarregaLayoutpassando o código do layout (CD_LAYDUPLICATA) como primeiro parâmetro (iParametros[0]).
Tabela comparativa resumida
| Cenário | CD_LAYDUPLICATA | ST_IMPDUPLICATA | Forma pagto coincide? | Imprime duplicata? |
|---|---|---|---|---|
| Sem layout | (vazio) | Qualquer | — | Não |
| Layout configurado + sempre imprime | LAYOUT01 | 'S' (ou qualquer ≠ 'P') | — | Sim |
| Layout configurado + conforme pagto | LAYOUT01 | 'P' | Sim | Sim |
| Layout configurado + conforme pagto | LAYOUT01 | 'P' | Não | Não |
Procedures impactadas
Rotinas Delphi — referência direta ao campo
| Rotina | Arquivo | Uso |
|---|---|---|
TfrmCPD008.btnDuplicataClick | source/CPD008/UCPD008.pas:944 | Consulta CD_LAYDUPLICATA da PARMFINANC |
TfrmCPD008.btnBtnVendaClick | source/CPD008/UCPD008.pas:1038 | Consulta CD_LAYDUPLICATA da PARMFINANC |
TfrmCPD008.btnIMPRIME_AVARIAClick | source/CPD008/UCPD008.pas:1112 | Consulta CD_LAYDUPLICATA da PARMFINANC |
Imprime_Duplicatas | source/LDP122/ULDP122.pas:199 | Lê CD_LAYDUPLICATA para imprimir duplicata |
TfrmMFC002.btnSalvarClick | source/MFC002/UMFC002.pas:1542 | Consulta CD_LAYDUPLICATA da PARMFINANC |
TdmMFC019.gravaReparcelamento | source/MFC019/UdmMFC019.pas:1159 | Lê layout para impressão no reparcelamento |
TfrmMFC023.btnSalvarClick | source/MFC023/UMFC023.pas:675 | Condicional Trim(CD_LAYDUPLICATA) <> '' → imprime |
TfrmObras.GravaDuplicata | source/MFC023/UObrasMFC023.pas:457 | Condicional Trim(CD_LAYDUPLICATA) <> '' → imprime |
Imprime_Duplicatas | source/MNF002/UMNF002.pas:967 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF004/UMNF004.pas:178 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF008/UMNF008.pas:529 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF010/UdmMNF010.pas:195 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF013/UMNF013.pas:1266 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF014/UMNF014.pas:363 | Lê layout para impressão |
Imprime_Duplicatas | source/MNF017/uMNF017ConfPedido.pas:439 | Lê layout para impressão |
TdmMNF024.Imprime_Duplicatas | source/MNF024/UdmMNF024.pas:699 | Lê layout para impressão |
Imprime_Duplicatas | source/MPD011/UNFORDEM.pas:338 | Lê layout para impressão |
TfrmMPD043.btnGerarPedidoClick | source/MPD043/UMPD043.pas:2545 | Consulta CD_LAYDUPLICATA |
TfrmMPD043.btnConfirmaTrocaClick | source/MPD043/UMPD043.pas:5207 | Consulta CD_LAYDUPLICATA |
TfrmMPD046.Confirma | source/MPD046/UMPD046.pas:2909 | Consulta CD_LAYDUPLICATA |
Imprime_Duplicatas | source/MRC020/UMRC020NFORDEM.pas:407 | Lê layout para impressão |
TfrmRFC016.btnImprimirClick | source/RFC016/URFC016.pas:190 | Lê 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/View | Arquivo |
|---|---|
GERA_DUPLICATAS | Scripts/GERA_DUPLICATAS.sql |
GRAVA_CONTAS | Scripts/GRAVA_CONTAS.sql |
PROCESSA_FATURA | Scripts/PROCESSA_FATURA.sql |
CONTABILIZA_REPARCELAMENTO | Scripts/CONTABILIZA_REPARCELAMENTO.sql |
CANCELA_CONTAS | Scripts/CANCELA_CONTAS.sql |
Demais scripts que acessam PARMFINANC | Ver lista completa nas evidências |