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
| Tabela | Uso |
|---|---|
CALCULA_JURO | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
JURO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMFINANC | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
VALOR_EXTENSO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LDP010/ULDP010.pas - DFM:
source/LDP010/ULDP010.dfm - Package:
source/LDP010/LDP010.dpk