LPD003 — Listagem LPD003
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 HABILITA_PESOQTDE, com junção em ITEMPEDIDO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+5), filtrada por NR_PEDIDO, CD_EMPRESA, TP_PEDIDO, O_NR_L, JO, CD_PESSOA (+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
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, EP.DS_COMPLEMENTO DS_COMPLEMENTO, CASE EP.TP_ENDERECO WHEN 'C' THEN 'Comercial' WHEN 'B' THEN 'Cobrança' WHEN 'R' THEN 'Residencial' ELSE 'Entrega' END TP_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, 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, I.SG_UNIDMED, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.DS_OBSERVACAO DS_OBSITEM, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END PS_PEDIDO, IP.VL_DESPESA, PARM.DS_LOGOTIPO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, (
SELECT SUM(CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IPED.CD_ITEM)) WHEN 'Q' THEN IPED.QT_PEDIDA ELSE IPED.PS_PEDIDO END)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) PS_TOTPEDIDO, (
SELECT SUM(IPED.VL_DESCONTO)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTDESCONTO, (
SELECT SUM(IPED.VL_TOTAL)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTTOTAL, (
SELECT SUM(IPED.VL_TOTAL - COALESCE(IPED.VL_DESCONTO,0) + COALESCE(IPED.VL_DESPESA,0))
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTLIQUIDO, RL.O_NR_LINHA
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)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN RETORNA_LINHAS(2) RL ON (1=1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY N.NR_PEDIDO, RL.O_NR_LINHA CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO CD_EMPRESA "PEDIDO"."CD_EMPRESA" NM_EMPRESA "EMPRESA"."NM_EMPRESA" DS_ENDEREMP DS_MUNICEMP NR_FONEEMP NR_CEPEMP "ENDERECOPESSOA"."NR_CEP" NR_PEDIDO "PEDIDO"."NR_PEDIDO" TP_PEDIDO "PEDIDO"."TP_PEDIDO" DT_PEDIDO "PEDIDO"."DT_PEDIDO" DT_ENTREGA "PEDIDO"."DT_ENTREGA" CD_PESSOA "PEDIDO"."CD_PESSOA" NM_PESSOA NR_CNPJCPF "PESSOA"."NR_CNPJCPF" NR_CEP "ENDERECOPESSOA"."NR_CEP" DS_ENDERECO DS_COMPLEMENTO "ENDERECOPESSOA"."DS_COMPLEMENTO" TP_ENDERECO DS_BAIRRO DS_MUNICIPIO NR_INSCEST "ENDERECOPESSOA"."NR_INSCEST" NR_FONE DS_CONDPAGTO CD_CONDPAGTO "PEDIDO"."CD_CONDPAGTO" DT_VENCIMENTO "PEDIDO"."DT_VENCIMENTO" CD_VENDEDOR "PEDIDO"."CD_VENDEDOR" NM_VENDEDOR CD_FORMAPAGTO "PEDIDO"."CD_FORMAPAGTO" DS_FORMAPAGTO "FORMAPAGTO"."DS_FORMAPAGTO" DS_MUNIC "MUNICIPIO"."DS_MUNICIPIO" SG_ESTADO "MUNICIPIO"."SG_ESTADO" CD_ITEM "ITEMPEDIDO"."CD_ITEM" DS_ITEM "ITEM"."DS_ITEM" SG_UNIDMED "ITEM"."SG_UNIDMED" VL_UNITARIO "ITEMPEDIDO"."VL_UNITARIO" VL_DESCONTO "ITEMPEDIDO"."VL_DESCONTO" VL_TOTAL "ITEMPEDIDO"."VL_TOTAL" DS_OBSITEM "ITEMPEDIDO"."DS_OBSERVACAO" VL_LIQUIDO PS_PEDIDO VL_DESPESA "ITEMPEDIDO"."VL_DESPESA" DS_LOGOTIPO "PARMFATUR"."DS_LOGOTIPO" DS_OBSERVACAO PS_TOTPEDIDO VL_TOTDESCONTO VL_TOTTOTAL VL_TOTLIQUIDO O_NR_LINHA "RETORNA_LINHAS"."O_NR_LINHA"
SELECT N.DT_PEDIDO + C.NR_DIAS DT_VENCTO, N.DT_VENCIMENTO, N.DT_PEDIDO
FROM PEDIDO N
LEFT JOIN CONDPARCELA C ON (C.CD_CONDPAGTO = N.CD_CONDPAGTO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO DB1
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, EP.DS_COMPLEMENTO DS_COMPLEMENTO, CASE EP.TP_ENDERECO WHEN 'C' THEN 'Comercial' WHEN 'B' THEN 'Cobrança' WHEN 'R' THEN 'Residencial' ELSE 'Entrega' END TP_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, 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, I.SG_UNIDMED, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.DS_OBSERVACAO DS_OBSITEM, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END PS_PEDIDO, IP.VL_DESPESA, PARM.DS_LOGOTIPO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, (
SELECT SUM(CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IPED.CD_ITEM)) WHEN 'Q' THEN IPED.QT_PEDIDA ELSE IPED.PS_PEDIDO END)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) PS_TOTPEDIDO, (
SELECT SUM(IPED.VL_DESCONTO)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTDESCONTO, (
SELECT SUM(IPED.VL_TOTAL)
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTTOTAL, (
SELECT SUM(IPED.VL_TOTAL - COALESCE(IPED.VL_DESCONTO,0) + COALESCE(IPED.VL_DESPESA,0))
FROM ITEMPEDIDO IPED
WHERE N.NR_PEDIDO = IPED.NR_PEDIDO
AND N.CD_EMPRESA = IPED.CD_EMPRESA
AND N.TP_PEDIDO = IPED.TP_PEDIDO) VL_TOTLIQUIDO, cast(null as dom_integer) O_NR_LINHA
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)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO) --
LEFT JOIN RETORNA_LINHAS(2) RL ON (1=1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY N.NR_PEDIDO--, RL.O_NR_LINHA CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
CONDPARCELA | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | 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 |
RETORNA_LINHAS | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD003/ULPD003.pas - DFM:
source/LPD003/ULPD003.dfm - Package:
source/LPD003/LPD003.dpk