Pular para o conteúdo principal

LDP010 — Layout LDP010

Visão Geral​

Layout de impressão da família LDP (Duplicata). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em VALOR_EXTENSO, com junção em NOTA, PARMFINANC, JURO, PESSOA, PARMFATUR, EMPRESA (+5), filtrada por CD_EMPRESA, CD_PESSOA, CD_TIPOCONTA, JO, NR_LANCAMENTO, CD_SERIE (+8).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout de Duplicata
// 1 - Empresa
// 2 - Lancamento (Nota ou Duplicata)
// 3 - Serie (Nota)
// 4 - Tipo Nota (E/S)
// 5 - Path Servidor
// 6 - Visualiza -> V ou Imprime -> I
// 7 - Impressora do Parametro
// 8 - Data de lançamento
// 9 - Data de Emissão de Fatura de
// 10 - Data de Emissão de Fatura até
// 11 - Código da Pessoa
// 12 - Tipo da Duplicata
]);

SQL Base​

Contas #1​

SELECT CONTAS.NR_DOCUMENTO NR_DUPLICATA, CONTAS.VL_DOCUMENTO, CONTAS.DT_VENCIMENTO, CONTAS.NR_DOCUMENTO||CONTAS.NR_PARCELA NR_QUEBRA, CONTAS.NR_DOCUMENTO||'-'||CONTAS.NR_PARCELA NR_DOCTO, (
SELECT O_VALOR
FROM VALOR_EXTENSO(CONTAS.VL_DOCUMENTO))||'.' DS_DUPLICATA, CONTAS.CD_PESSOA, P.NM_PESSOA||' - '||P.CD_PESSOA NM_PESSOA, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO, '')|| COALESCE(' '||EP.DS_COMPLEMENTO, '') DS_ENDERECO, MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO DS_MUNICIPIO, MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO||COALESCE(' CEP: '||EP.NR_CEP,'') DS_PRACAPAGTO, P.NR_CNPJCPF, COALESCE(EP.NR_FONE,EP.NR_CELULAR) NR_FONE, EP.NR_FAX, CONTAS.DT_LANCAMENTO DT_EMISSAO, CONTAS.CD_VENDEDOR, PV.NM_FANTASIA NM_VENDEDOR, EP.DS_BAIRRO, EP.NR_CEP, EMPRESA.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFE, EP.NR_INSCEST, EPE.NR_INSCEST NR_INSCESTE, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICIPIOE, COALESCE(EPE.NR_FONE,EPE.NR_CELULAR) NR_FONEE, EPE.NR_FAX NR_FAXE, COALESCE(EPE.DS_COMPLEMENTO||' - ', '')||COALESCE('CEP: '||EPE.NR_CEP,'') DS_COMPLEMENTOE, EPE.DS_ENDERECO||COALESCE(', '||EPE.NR_ENDERECO, '')||COALESCE(' - '||EPE.DS_BAIRRO,'') DS_ENDERECOE, CONTAS.NR_PARCELA, PARMFATUR.DS_LOGOTIPO, '1º VIA CLIENTE' DS_VIA, CONTAS.VL_DOCUMENTO * (COALESCE(JURO.PC_MULTA,0)/100) PC_MULTA, (
SELECT O_VL_JURO
FROM CALCULA_JURO(CONTAS.CD_EMPRESA, CONTAS.DT_VENCIMENTO + 1, CONTAS.DT_VENCIMENTO, CONTAS.CD_JURO, CONTAS.VL_DOCUMENTO)) VL_JURO, NOTA.CD_EMPRESA, NOTA.NR_LANCAMENTO, NOTA.CD_SERIE, NOTA.TP_NOTA, CONTAS.NR_DOCUMENTO ||' - '|| CONTAS.NR_PARCELA ||'/'|| (
SELECT MAX(C.NR_PARCELA)
FROM CONTAS C
WHERE C.CD_EMPRESA = CONTAS.CD_EMPRESA
AND COALESCE(C.NR_LANCTONOTA, C.NR_LANCAMENTO) = COALESCE(CONTAS.NR_LANCTONOTA,CONTAS.NR_LANCAMENTO)
AND C.CD_PESSOA = CONTAS.CD_PESSOA
AND C.CD_TIPOCONTA = CONTAS.CD_TIPOCONTA) NR_DOCPARC
FROM CONTAS
LEFT JOIN NOTA ON (NOTA.CD_EMPRESA = CONTAS.CD_EMPRESA
AND NOTA.NR_LANCAMENTO = CONTAS.NR_LANCTONOTA
AND NOTA.CD_SERIE = CONTAS.CD_SERIE
AND NOTA.TP_NOTA = CONTAS.TP_CONTAS)
LEFT JOIN PARMFINANC ON (PARMFINANC.CD_EMPRESA = CONTAS.CD_EMPRESA)
LEFT JOIN JURO ON (PARMFINANC.CD_JURO = JURO.CD_JURO)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = CONTAS.CD_VENDEDOR)
LEFT JOIN PARMFATUR ON (PARMFATUR.CD_EMPRESA = CONTAS.CD_EMPRESA)
INNER JOIN EMPRESA ON (EMPRESA.CD_EMPRESA = CONTAS.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = EMPRESA.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EPE ON (EPE.CD_PESSOA = PE.CD_PESSOA
AND EPE.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(PE.CD_PESSOA,NULL)))
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EPE.CD_MUNICIPIO)
INNER JOIN PESSOA P ON (P.CD_PESSOA = CONTAS.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = CONTAS.CD_PESSOA
AND EP.CD_ENDERECO = COALESCE(NOTA.CD_ENDERECO, (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(P.CD_PESSOA, NULL))))
INNER JOIN MUNICIPIO ON (MUNICIPIO.CD_MUNICIPIO = EP.CD_MUNICIPIO)
SELECT I.CD_ITEM, ITEM.DS_ITEM, CASE WHEN T.TP_UNIDADE = 'Q' THEN I.QT_ITEMNOTA ELSE I.PS_ITEMNOTA END QT_ITEMNOTA, I.VL_UNITARIO, I.VL_TOTAL, I.VL_DESCONTO, I.VL_LIQUIDO, CAST(I.VL_DESCONTO / I.VL_TOTAL * 100 AS DOM_NUMERIC15_3)PC_DESCONTO
FROM NOTA N
INNER JOIN ITEMNOTA I ON (I.CD_EMPRESA = N.CD_EMPRESA
AND I.NR_LANCAMENTO = N.NR_LANCAMENTO
AND I.TP_NOTA = N.TP_NOTA
AND I.CD_SERIE = N.CD_SERIE)
INNER JOIN ITEM ON (ITEM.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO T ON (T.CD_TIPOCALCULO = ITEM.CD_TIPOCALCULO)
WHERE I.CD_EMPRESA = :CD_EMPRESA
AND I.NR_LANCAMENTO = :NR_LANCAMENTO
AND I.TP_NOTA = :TP_NOTA
AND I.CD_SERIE = :CD_SERIE CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE

Contas #2​

SELECT C.NR_DOCUMENTO NR_DUPLICATA, C.VL_DOCUMENTO, C.DT_VENCIMENTO, {#10} C.NR_DOCUMENTO||C.NR_PARCELA NR_QUEBRA, {#10} C.NR_DOCUMENTO||'-'||C.NR_PARCELA NR_DOCTO, {#10} (
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_DOCUMENTO))||'.' DS_DUPLICATA, {#10} C.CD_PESSOA, P.NM_PESSOA||' - '||P.CD_PESSOA NM_PESSOA, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO, '')|| {#10} COALESCE(' '||EP.DS_COMPLEMENTO, '') DS_ENDERECO, {#10} MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO DS_MUNICIPIO, {#10} MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO||COALESCE(' CEP: '||EP.NR_CEP,'') DS_PRACAPAGTO, {#10} P.NR_CNPJCPF, COALESCE(EP.NR_FONE,EP.NR_CELULAR) NR_FONE, EP.NR_FAX, {#10} C.DT_LANCAMENTO DT_EMISSAO, C.CD_VENDEDOR, PV.NM_FANTASIA NM_VENDEDOR, {#10} EP.DS_BAIRRO, EP.NR_CEP, EMPRESA.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFE, {#10} EP.NR_INSCEST, EPE.NR_INSCEST NR_INSCESTE, {#10} ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICIPIOE, {#10} COALESCE(EPE.NR_FONE,EPE.NR_CELULAR) NR_FONEE, EPE.NR_FAX NR_FAXE, {#10} COALESCE(EPE.DS_COMPLEMENTO||' - ', '')||COALESCE('CEP: '||EPE.NR_CEP,'') DS_COMPLEMENTOE, {#10} EPE.DS_ENDERECO||COALESCE(', '||EPE.NR_ENDERECO, '')||COALESCE(' - '||EPE.DS_BAIRRO,'') DS_ENDERECOE, {#10} C.NR_PARCELA, PARMFATUR.DS_LOGOTIPO, '1º VIA CLIENTE' DS_VIA, C.VL_DOCUMENTO * (COALESCE(JURO.PC_MULTA,0)/100) PC_MULTA, {#10} (
SELECT O_VL_JURO
FROM CALCULA_JURO(C.CD_EMPRESA, C.DT_VENCIMENTO + 1, C.DT_VENCIMENTO, C.CD_JURO, C.VL_DOCUMENTO)) VL_JURO, {#10} N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, {#10} C.NR_DOCUMENTO ||' - '|| C.NR_PARCELA ||'/'||

Contas #3​

{frmLDP010}

Contas #4​

{frmLDP010}

Contas #5​

{frmLDP010}

Contas #6​

{frmLDP010}

Contas #7​

{frmLDP010}

Contas #8​

{frmLDP010}

Contas #9​

{Format}

Contas #10​

{frmLDP010}

Contas #11​

{frmLDP010}

Contas #12​

{frmLDP010}

Contas #13​

{frmLDP010}

Contas #14​

{frmLDP010}

tabProduto​

SELECT I.CD_ITEM, ITEM.DS_ITEM, {#10} CASE WHEN T.TP_UNIDADE = 'Q' THEN I.QT_ITEMNOTA ELSE I.PS_ITEMNOTA END QT_ITEMNOTA, {#10} I.VL_UNITARIO, I.VL_TOTAL, I.VL_DESCONTO, I.VL_LIQUIDO, {#10} CAST(I.VL_DESCONTO / COALESCE(NULLIF(I.VL_TOTAL,0),1) * 100 AS DOM_NUMERIC15_3)PC_DESCONTO {#10}
FROM NOTA N {#10}
INNER JOIN ITEMNOTA I ON (I.CD_EMPRESA = N.CD_EMPRESA{#10}
AND I.NR_LANCAMENTO = N.NR_LANCAMENTO {#10}
AND I.TP_NOTA = N.TP_NOTA {#10}
AND I.CD_SERIE = N.CD_SERIE) {#10}
INNER JOIN ITEM ON (ITEM.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO T ON (T.CD_TIPOCALCULO = ITEM.CD_TIPOCALCULO) {#10}
WHERE I.CD_EMPRESA = :CD_EMPRESA {#10}
AND I.NR_LANCAMENTO = :NR_LANCAMENTO {#10}
AND I.TP_NOTA = :TP_NOTA {#10}
AND I.CD_SERIE = :CD_SERIE

Text #1​

SELECT C.NR_DOCUMENTO NR_DUPLICATA, C.VL_DOCUMENTO, C.DT_VENCIMENTO, {#10} C.NR_DOCUMENTO||C.NR_PARCELA NR_QUEBRA, {#10} C.NR_DOCUMENTO||'-'||C.NR_PARCELA NR_DOCTO, {#10} (
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_DOCUMENTO))||'.' DS_DUPLICATA, {#10} C.CD_PESSOA, P.NM_PESSOA||' - '||P.CD_PESSOA NM_PESSOA, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO, '')|| {#10} COALESCE(' '||EP.DS_COMPLEMENTO, '') DS_ENDERECO, {#10} MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO DS_MUNICIPIO, {#10} MUNICIPIO.DS_MUNICIPIO||' - '||MUNICIPIO.SG_ESTADO||COALESCE(' CEP: '||EP.NR_CEP,'') DS_PRACAPAGTO, {#10} P.NR_CNPJCPF, COALESCE(EP.NR_FONE,EP.NR_CELULAR) NR_FONE, EP.NR_FAX, {#10} C.DT_LANCAMENTO DT_EMISSAO, C.CD_VENDEDOR, PV.NM_FANTASIA NM_VENDEDOR, {#10} EP.DS_BAIRRO, EP.NR_CEP, EMPRESA.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFE, {#10} EP.NR_INSCEST, EPE.NR_INSCEST NR_INSCESTE, {#10} ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICIPIOE, {#10} COALESCE(EPE.NR_FONE,EPE.NR_CELULAR) NR_FONEE, EPE.NR_FAX NR_FAXE, {#10} COALESCE(EPE.DS_COMPLEMENTO||' - ', '')||COALESCE('CEP: '||EPE.NR_CEP,'') DS_COMPLEMENTOE, {#10} EPE.DS_ENDERECO||COALESCE(', '||EPE.NR_ENDERECO, '')||COALESCE(' - '||EPE.DS_BAIRRO,'') DS_ENDERECOE, {#10} C.NR_PARCELA, PARMFATUR.DS_LOGOTIPO, '1º VIA CLIENTE' DS_VIA, C.VL_DOCUMENTO * (COALESCE(JURO.PC_MULTA,0)/100) PC_MULTA, {#10} (
SELECT O_VL_JURO
FROM CALCULA_JURO(C.CD_EMPRESA, C.DT_VENCIMENTO + 1, C.DT_VENCIMENTO, C.CD_JURO, C.VL_DOCUMENTO)) VL_JURO, {#10} N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, {#10} C.NR_DOCUMENTO ||' - '|| C.NR_PARCELA ||'/'||

Text #2​

SELECT I.CD_ITEM, ITEM.DS_ITEM, {#10} CASE WHEN T.TP_UNIDADE = 'Q' THEN I.QT_ITEMNOTA ELSE I.PS_ITEMNOTA END QT_ITEMNOTA, {#10} I.VL_UNITARIO, I.VL_TOTAL, I.VL_DESCONTO, I.VL_LIQUIDO, {#10} CAST(I.VL_DESCONTO / COALESCE(NULLIF(I.VL_TOTAL,0),1) * 100 AS DOM_NUMERIC15_3)PC_DESCONTO {#10}
FROM NOTA N {#10}
INNER JOIN ITEMNOTA I ON (I.CD_EMPRESA = N.CD_EMPRESA{#10}
AND I.NR_LANCAMENTO = N.NR_LANCAMENTO {#10}
AND I.TP_NOTA = N.TP_NOTA {#10}
AND I.CD_SERIE = N.CD_SERIE) {#10}
INNER JOIN ITEM ON (ITEM.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO T ON (T.CD_TIPOCALCULO = ITEM.CD_TIPOCALCULO) {#10}
WHERE I.CD_EMPRESA = :CD_EMPRESA {#10}
AND I.NR_LANCAMENTO = :NR_LANCAMENTO {#10}
AND I.TP_NOTA = :TP_NOTA {#10}
AND I.CD_SERIE = :CD_SERIE

Tabelas Utilizadas​

TabelaUso
CALCULA_JUROreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
JUROreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMFINANCreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout
VALOR_EXTENSOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LDP010/ULDP010.pas
  • DFM: source/LDP010/ULDP010.dfm
  • Package: source/LDP010/LDP010.dpk