LPD059 — Listagem LPD059
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 (+2), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_FORMAPAGTO (+3).
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, PE.NR_CNPJCPF NR_CNPJEMP, PE.DS_EMAIL DS_EMAILEMP, 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, EE.NR_INSCEST NR_INSCESTEMP, coalesce(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO DT_EMISSAO, N.NR_PEDIDO, N.DT_ENTREGA, N.CD_PESSOA, '('||cast(N.CD_PESSOA as varchar(10))||') '||P.NM_PESSOA||COALESCE(' - '||P.nm_fantasia,'') NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||coalesce(', '||EP.NR_ENDERECO,' ')||coalesce(coalesce(' - '||EP.DS_BAIRRO, EP.DS_COMPLEMENTO),' ') DS_ENDERECO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, EP.NR_FONE, EP.NR_FAX, P.NM_PESSOA NM_CLIENTE, P.DS_EMAIL, 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.CD_VENDEDOR||') '||V.NM_PESSOA NM_VENDEDOR, coalesce('Observação.: '||N.DS_OBSERVACAO,'') DS_OBSERVACAO, IP.CD_ITEM, I.SG_UNIDMED, CASE WHEN CHAR_LENGTH(IP.DS_OBSERVACAO) <= 0 THEN I.DS_ITEM ELSE COPIA_TEXTO(IP.DS_OBSERVACAO,1,CHAR_LENGTH(IP.DS_OBSERVACAO)) END DS_ITEM , I.SG_UNIDALT, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.VL_DESPESA, IP.VL_TOTAL - coalesce(IP.VL_DESCONTO,0) + coalesce(IP.VL_DESPESA,0) VL_LIQUIDO, IP.QT_PEDIDA QT_ITEMNOTA, IP.PS_PEDIDO PS_ITEMNOTA, (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) TIPO, N.NR_PEDIDO DS_QUEBRA, fp.ds_formapagto, Ip.st_itempedido, n.ps_liquido, i.ps_liquidoemb, (i.ps_liquidoemb * IP.QT_PEDIDA) Pesoliquidototal
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 PESSOA V on (V.CD_PESSOA = N.CD_VENDEDOR)
INNER JOIN formapagto fp on (n.cd_formapagto = fp.cd_formapagto)
WHERE N.CD_EMPRESA = :CD_PESSOA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY N.NR_PEDIDO CD_PESSOA NR_PEDIDO TP_PEDIDO
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 |
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 |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD059/ULPD059.pas - DFM:
source/LPD059/ULPD059.dfm - Package:
source/LPD059/LPD059.dpk