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
| Tabela | Uso |
|---|---|
CALCULA_JURO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
JURO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARCELAPEDIDO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMFINANC | referenciada nas queries do layout |
PEDIDO | 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/LPD070/ULPD070.pas - DFM:
source/LPD070/ULPD070.dfm - Package:
source/LPD070/LPD070.dpk