LPD041 — Listagem LPD041
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 PEDIDO, com junção em ITEMPEDIDO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+8), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_MARCA (+5).
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
Pedido
SELECT N.CD_EMPRESA, E.NM_EMPRESA, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, N.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, COALESCE(EP.NR_INSCEST,PF.NR_RG) NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, RG.DS_REGIAOCOMERCIAL DS_REGIAO, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_VENDEDOR, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM||COALESCE(' - '||S.DS_MARCA,'') DS_ITEM, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, COALESCE(I.CD_FORNECEDOR1, I.CD_FORNECEDOR2) CD_FORNECEDOR, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, COALESCE(IP.QT_PEDIDA, IP.PS_PEDIDO) PS_PEDIDO, I.SG_UNIDMED, I.CD_SUBGRUPO, IP.VL_DESPESA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO
FROM PEDIDO N
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA))
INNER JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN MARCA S ON (S.CD_MARCA = I.CD_MARCA)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN REGIAOCOMERCIAL RG ON (RG.CD_REGIAOCOMERCIAL = EP.CD_REGIAOCOMERCIAL)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY I.CD_GRUPO CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
SELECT I.CD_GRUPO||' '||I.CD_SUBGRUPO REFERENCIA, I.CD_ITEM,I.CD_FORNECEDOR1,I.CD_FORNECEDOR2, P.NM_PESSOA||coalesce(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA NM_PESSOA, EP.NR_CEP, P.NR_CNPJCPF, N.CD_EMPRESA, E.NM_EMPRESA, N.NR_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, IP.VL_TOTAL, IP.VL_UNITARIO, IP.QT_PEDIDA, COALESCE(IP.VL_DESCONTO,0) VL_DESCONTO, ((COALESCE(IP.VL_UNITARIO,0) * COALESCE(IP.QT_PEDIDA,0)) - COALESCE(IP.VL_DESCONTO,0)) VL_LIQUIDO, C.CD_CONDPAGTO, F.DS_FORMAPAGTO, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, coalesce(EP.DS_ENDERECO,'')||coalesce(', '||EP.NR_ENDERECO,'')|| coalesce(', '||EP.DS_BAIRRO,'')||coalesce(', '||EP.DS_COMPLEMENTO,'')|| coalesce(', '||MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO,'') DS_ENDERECO, coalesce(EP.NR_FONE, EP.NR_FAX) NR_FONE, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'P' then IP.QT_PEDIDA else 0 end),0),'') TAM_P, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'M' then IP.QT_PEDIDA else 0 end),0),'') TAM_M, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'G' then IP.QT_PEDIDA else 0 end),0),'') TAM_G, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'PP' then IP.QT_PEDIDA else 0 end),0),'') TAM_PP, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'GG' then IP.QT_PEDIDA else 0 end),0),'') TAM_GG, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'EG' then IP.QT_PEDIDA else 0 end),0),'') TAM_EG, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '2' then IP.QT_PEDIDA else 0 end),0),'') TAM_2, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '4' then IP.QT_PEDIDA else 0 end),0),'') TAM_4, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '6' then IP.QT_PEDIDA else 0 end),0),'') TAM_6, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '8' then IP.QT_PEDIDA else 0 end),0),'') TAM_8, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '10' then IP.QT_PEDIDA else 0 end),0),'') TAM_10, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '12' then IP.QT_PEDIDA else 0 end),0),'') TAM_12, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when '14' then IP.QT_PEDIDA else 0 end),0),'') TAM_14, COALESCE(NULLIF(sum(case I.CD_FORNECEDOR2 when 'U' then IP.QT_PEDIDA else 0 end),0),'') TAM_U, COALESCE(NULLIF(sum(case when I.CD_FORNECEDOR2 in ('P','M','G','PP','GG','EG','2','4','6','8','10','12','14','U') then 0 else IP.QT_PEDIDA end),0),'') TAM_OUTRO, VL.O_CD_QUEBRA
FROM PEDIDO N
INNER JOIN ITEMPEDIDO IP on (IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN ITEM I on (I.CD_ITEM = IP.CD_ITEM)
INNER JOIN EMPRESA E on (E.CD_EMPRESA = N.CD_EMPRESA)
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 = (
SELECT r.O_CD_ENDERECO
FROM RETORNA_ENDERECO(p.CD_PESSOA,NULL)r))
LEFT JOIN MUNICIPIO MP on (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
LEFT JOIN FORMAPAGTO F on (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN CONDPAGTO C on (C.CD_CONDPAGTO = N.CD_CONDPAGTO)
LEFT JOIN VIEW_LPD041(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, i.CD_ITEM) VL ON (1=1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
GROUP BY I.CD_GRUPO, I.CD_SUBGRUPO, I.CD_FORNECEDOR1, N.CD_EMPRESA, E.NM_EMPRESA, N.NR_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, IP.VL_TOTAL, I.CD_ITEM, I.CD_FORNECEDOR2, IP.VL_UNITARIO, IP.QT_ATENDIDA, IP.QT_PEDIDA, IP.VL_DESCONTO, IP.VL_DESPESA, P.NM_PESSOA, P.NM_FANTASIA, P.CD_PESSOA,I.CD_ITEM, EP.NR_CEP, P.NR_CNPJCPF, EP.DS_ENDERECO, EP.NR_ENDERECO, EP.DS_BAIRRO, EP.DS_COMPLEMENTO, MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_FONE, EP.NR_FAX, C.CD_CONDPAGTO, C.DS_CONDPAGTO, F.DS_FORMAPAGTO, C.ST_CONDPAGTO, N.DT_VENCIMENTO,VL.O_CD_QUEBRA
ORDER BY I.CD_GRUPO, I.CD_SUBGRUPO, vl.O_CD_QUEBRA CD_EMPRESA 1 NR_PEDIDO 19 TP_PEDIDO S
SELECT V.NR_PEDIDO, F.DS_FORMAPAGTO, C.DS_CONDPAGTO, V.DT_VENCIMENTO, V.VL_DOCUMENTO
FROM VIEW_CONTASPEDIDO(:CD_EMPRESA, :NR_PEDIDO, :TP_PEDIDO) V
INNER JOIN FORMAPAGTO F ON(F.CD_FORMAPAGTO = V.CD_FORMAPAGTO)
INNER JOIN CONDPAGTO C ON(C.CD_CONDPAGTO = V.CD_CONDPAGTO) CD_EMPRESA 1 NR_PEDIDO 19 TP_PEDIDO S
SELECT RM.O_CD_MATERIAPRIMA, RM.O_DS_ITEM, SUM(RM.O_QT_SALDOESTOQUE) O_QT_SALDOESTOQUE, SUM(RM.O_QT_CONSUMO) O_QT_CONSUMO, SUM(RM.O_QT_SALDO) O_QT_SALDO
FROM ITEMPEDIDO IP
LEFT JOIN RETORNA_MATERIAPRIMA(IP.CD_EMPRESA, IP.CD_ITEM, COALESCE(IP.QT_PEDIDA, IP.PS_PEDIDO)) RM ON 1=1
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_PEDIDO = :NR_PEDIDO
AND IP.TP_PEDIDO = :TP_PEDIDO
GROUP BY RM.O_CD_MATERIAPRIMA, RM.O_DS_ITEM
ORDER BY RM.O_CD_MATERIAPRIMA, RM.O_DS_ITEM CD_EMPRESA 1 NR_PEDIDO 19 TP_PEDIDO S
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
MARCA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PESSOAFISICA | referenciada nas queries do layout |
REGIAOCOMERCIAL | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
RETORNA_MATERIAPRIMA | referenciada nas queries do layout |
VIEW_CONTASPEDIDO | referenciada nas queries do layout |
| [[VIEW_LPD041]] | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD041/ULPD041.pas - DFM:
source/LPD041/ULPD041.dfm - Package:
source/LPD041/LPD041.dpk