Pular para o conteúdo principal

LPD070 — Listagem LPD070

Visão Geral​

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

Descrição​

Consulta baseada em ITEMPEDIDO, com junção em PARCELAPEDIDO, PARMFINANC, JURO, PESSOA, PARMFATUR, EMPRESA (+4), filtrada por CD_EMPRESA, NR_PEDIDO, TP_PEDIDO, NR_, JO, PARMF (+7).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
]);

SQL Base​

Contas​

SELECT N.NR_PEDIDO NR_DUPLICATA, COALESCE(PP.VL_PARCELA,(
SELECT SUM(IP.VL_TOTAL)
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO)) VL_PARCELA, COALESCE(PP.DT_VENCIMENTO,N.DT_VENCIMENTO) DT_VENCIMENTO, N.NR_PEDIDO||COALESCE(PP.NR_PARCELA,'') NR_QUEBRA, N.NR_PEDIDO||COALESCE('-'||PP.NR_PARCELA,'') NR_DOCTO, (
SELECT O_VALOR
FROM VALOR_EXTENSO(COALESCE(PP.VL_PARCELA,(
SELECT SUM(IP.VL_TOTAL)
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO))))||'.' DS_PARCELA, N.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, N.DT_PEDIDO DT_EMISSAO, N.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, PP.NR_PARCELA, PARMFATUR.DS_LOGOTIPO, '1º VIA CLIENTE' DS_VIA, COALESCE(PP.VL_PARCELA,(
SELECT SUM(IP.VL_TOTAL)
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO)) * (COALESCE(JURO.PC_MULTA,0)/100) PC_MULTA, (
SELECT O_VL_JURO
FROM CALCULA_JURO(N.CD_EMPRESA, PP.DT_VENCIMENTO + 1, PP.DT_VENCIMENTO, N.CD_JURO, COALESCE(PP.VL_PARCELA,(
SELECT SUM(IP.VL_TOTAL)
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO)))) VL_JURO, N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO
FROM PEDIDO N
LEFT JOIN PARCELAPEDIDO PP on (PP.CD_EMPRESA = N.CD_EMPRESA
AND PP.NR_PEDIDO = N.NR_PEDIDO
AND PP.TP_PEDIDO = N.TP_PEDIDO)
LEFT JOIN PARMFINANC ON (PARMFINANC.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN JURO on (PARMFINANC.CD_JURO = JURO.CD_JURO)
LEFT JOIN PESSOA PV on (PV.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN PARMFATUR on (PARMFATUR.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN EMPRESA on (EMPRESA.CD_EMPRESA = N.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 = N.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP on (EP.CD_PESSOA = P.CD_PESSOA
AND EP.CD_ENDERECO = coalesce(N.CD_ENDERECO, (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(P.CD_PESSOA, null))))
INNER JOIN MUNICIPIO on (MUNICIPIO.CD_MUNICIPIO = EP.CD_MUNICIPIO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO
SELECT I.CD_ITEM, ITEM.DS_ITEM, CASE WHEN T.TP_UNIDADE = 'Q' THEN I.QT_PEDIDA ELSE I.PS_PEDIDO END QT_ITEMNOTA, I.VL_UNITARIO, I.VL_TOTAL, COALESCE(I.VL_DESCONTO,0) VL_DESCONTO, I.VL_TOTAL-COALESCE(I.VL_DESCONTO,0) VL_LIQUIDO, CAST(I.VL_DESCONTO / I.VL_TOTAL * 100 AS DOM_NUMERIC15_3)PC_DESCONTO
FROM PEDIDO N
INNER JOIN ITEMPEDIDO I ON (I.CD_EMPRESA = N.CD_EMPRESA
AND I.NR_PEDIDO = N.NR_PEDIDO
AND I.TP_PEDIDO = N.TP_PEDIDO)
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_PEDIDO = :NR_PEDIDO
AND I.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO

Tabelas Utilizadas​

TabelaUso
CALCULA_JUROreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
JUROreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARCELAPEDIDOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMFINANCreferenciada nas queries do layout
PEDIDOreferenciada 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/LPD070/ULPD070.pas
  • DFM: source/LPD070/ULPD070.dfm
  • Package: source/LPD070/LPD070.dpk