Pular para o conteúdo principal

LDP122 — Layout LDP122

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 NUMERO_EXTENSO, com junção em EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, ENDERECOPESSOA, DATA_EXTENSO, NOTA (+4), filtrada por CD_EMPRESA, NR_LANCAMENTO, CD_PESSOA, CD_TIPOCONTA.

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​

tabCONTAS​

SELECT C.CD_EMPRESA, C.NR_LANCAMENTO, C.CD_PESSOA, C.CD_TIPOCONTA, E.NM_EMPRESA||', com sede à '||UPPER(RDC.DS_ENDERECO)||', '||RDC.NR_ENDERECO||', '||RDC.DS_MUNICIPIO||', '|| ' Estado do '||RDC.SG_ESTADO||', inscrita no CNPJ: '||RDC.NR_CNPJCPF|| ' por seu representante abaixo assinado, neste ato denominado simplesmente VENDEDORA'|| ' e de outro lado, conforme qualificação abaixo:' CABECALHO, P.NM_PESSOA , P.NR_CNPJCPF NR_CNPJ, EDP.DS_ENDERECO||', '||EDP.NR_ENDERECO ENDERECOCLI, EDP.DS_ENDERECO||', '||EDP.NR_ENDERECO||' - '||EDP.DS_MUNICIPIO||'/'||EDP.SG_ESTADO ENDERECOCLIUF, EDP.DS_MUNICIPIO||' - '||EDP.SG_ESTADO CIDADEUF, RDC.DS_MUNICIPIO||' ,'||DTHJ.O_DS_DATA DATALOCAL, MAX(C.DT_VENCIMENTO) DT_VENCIMENTO, min(c.DT_LANCAMENTO) DT_LANCAMENTO, C.NR_LANCTONOTA DOCORIGEM, SUM(C.VL_DOCUMENTO) VL_TOTALDUPLICATAS, 'Aos '||(
SELECT SUBSTRING(D.O_NUMERO
FROM 1 FOR 1)||LOWER(SUBSTRING(D.O_NUMERO
FROM 2 FOR CHAR_LENGTH(D.O_NUMERO)))
FROM NUMERO_EXTENSO(EXTRACT(DAY
FROM MAX(C.DT_VENCIMENTO)))D)||' dias do mês de '|| (
SELECT M.O_DS_MES
FROM MES_EXTENSO(MAX(C.DT_VENCIMENTO))M)||' de '|| (
SELECT SUBSTRING(A.O_NUMERO
FROM 1 FOR 1)||LOWER(SUBSTRING(A.O_NUMERO
FROM 2 FOR CHAR_LENGTH(A.O_NUMERO)))
FROM NUMERO_EXTENSO(EXTRACT(YEAR
FROM MAX(C.DT_VENCIMENTO)))A)||',pagarei por esta Nota Promissória à '|| E.NM_EMPRESA||' CNPJ:'||RDC.NR_CNPJCPF||' ou a sua ordem, a quantia de:'||ASCII_CHAR(10)|| (
SELECT NE.O_VALOR
FROM VALOR_EXTENSO(SUM(C.VL_DOCUMENTO))NE) DADOSSUMARIO, EDP.DS_MUNICIPIO||', '||(
SELECT DE.O_DS_DATA
FROM DATA_EXTENSO(CURRENT_DATE) DE)LOCALEDATA, PV.NM_PESSOA NM_VENDEDOR, COALESCE(RDCV.NR_CELULAR,RDCV.NR_TELEFONE, RDCV.NR_FONE, RDCV.NR_FAX)NR_TELEFONE, 'N'||ASCII_CHAR(10)|| 'O'||ASCII_CHAR(10)|| 'T'||ASCII_CHAR(10)|| 'A'||ASCII_CHAR(10)|| ' '||ASCII_CHAR(10)|| 'P'||ASCII_CHAR(10)|| 'R'||ASCII_CHAR(10)|| 'O'||ASCII_CHAR(10)|| 'M'||ASCII_CHAR(10)|| 'I'||ASCII_CHAR(10)|| 'S'||ASCII_CHAR(10)|| 'S'||ASCII_CHAR(10)|| 'Ó'||ASCII_CHAR(10)|| 'R'||ASCII_CHAR(10)|| 'I'||ASCII_CHAR(10)|| 'A' DS_NOTA, C.CD_FORMAPAGTO, AV.CD_PESSOA CD_AVALISTA, AV.NM_PESSOA NM_AVALISTA
FROM CONTAS C
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = C.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA,NULL) RDC ON (1=1)
INNER JOIN PESSOA P ON (P.CD_PESSOA = C.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(P.CD_PESSOA, NULL) EDP ON (1=1)
LEFT JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = C.CD_PESSOA
AND EP.CD_ENDERECO = EDP.CD_ENDERECO)
LEFT JOIN PESSOA AV ON(AV.CD_PESSOA = EP.CD_AVALISTA)
LEFT JOIN DATA_EXTENSO(C.DT_LANCAMENTO) DT ON (1=1)
LEFT JOIN DATA_EXTENSO(CURRENT_DATE) DTHJ ON (1=1)
LEFT JOIN PESSOA PV ON(PV.CD_PESSOA = C.CD_VENDEDOR)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PV.CD_PESSOA,NULL) RDCV ON (1=1)
SELECT CP.DS_CONDPAGTO, 'Parc. '||COALESCE(C.NR_PARCELA,1) NR_PARCELAS, C.DT_VENCIMENTO, C.VL_DOCUMENTO, F.DS_FORMAPAGTO
FROM CONTAS C
LEFT JOIN NOTA N ON(N.CD_EMPRESA = C.CD_EMPRESA
AND N.NR_LANCAMENTO = C.NR_LANCTONOTA
AND N.CD_SERIE = C.CD_SERIE
AND N.TP_NOTA = C.TP_CONTAS)
LEFT JOIN CONDPAGTO CP ON(CP.CD_CONDPAGTO = COALESCE(C.CD_CONDPAGTO,N.CD_CONDPAGTO))
LEFT JOIN FORMAPAGTO F ON(F.CD_FORMAPAGTO = COALESCE(C.CD_FORMAPAGTO,N.CD_FORMAPAGTO))
WHERE C.CD_EMPRESA = :CD_EMPRESA
AND C.NR_LANCAMENTO = :NR_LANCAMENTO
AND C.CD_PESSOA = :CD_PESSOA
AND C.CD_TIPOCONTA = :CD_TIPOCONTA
GROUP BY CP.DS_CONDPAGTO, 'Parc. '||COALESCE(C.NR_PARCELA,1) , C.DT_VENCIMENTO, C.VL_DOCUMENTO, F.DS_FORMAPAGTO
ORDER BY C.DT_VENCIMENTO CD_EMPRESA NR_LANCAMENTO CD_PESSOA CD_TIPOCONTA
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, (
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
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 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)

Contas​

{frmLDP122}

tabContas #1​

{frmLDP122}

tabContas #2​

{frmLDP122}

tabContas #3​

{frmLDP122}

tabContas #4​

{frmLDP122}

tabContas #5​

{frmLDP122}

tabContas #6​

{frmLDP122}

Consulta​

SELECT CD_FORMAPAGDUP, CD_LAYDUPLICATA, ST_IMPDUPLICATA {#10}
FROM PARMFINANC {#10}
WHERE CD_EMPRESA = {IntToStr(cdEmpresa)}

Tabelas Utilizadas​

TabelaUso
CALCULA_JUROreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
DATA_EXTENSOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
MAXreferenciada nas queries do layout
MES_EXTENSOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
NUMERO_EXTENSOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMFINANCreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
VALOR_EXTENSOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LDP122/ULDP122.pas
  • DFM: source/LDP122/ULDP122.dfm
  • Package: source/LDP122/LDP122.dpk