Pular para o conteúdo principal

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​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PESSOAFISICAreferenciada nas queries do layout
REGIAOCOMERCIALreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
RETORNA_MATERIAPRIMAreferenciada nas queries do layout
VIEW_CONTASPEDIDOreferenciada 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