LPD073 — Listagem LPD073
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 (+10), filtrada por TP_NOTA, ST_NOTA, CD_EMPRESA, CD_PESSOA, AS, NR_PEDIDO (+13).
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||' - '||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, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, CASE I.ST_UNIDADEFECHADA WHEN 'S' THEN '( '||CAST((IP.PS_PEDIDO / I.PS_LIQUIDO)AS DOM_NUMERIC15_2)||' '||UN.DS_UNIDMED||' de '||I.PS_LIQUIDO||' '||COALESCE(IP.DS_OBSERVACAO,'')||' )' ELSE IP.DS_OBSERVACAO END DS_OBSITEM, IP.PS_PEDIDO, IP.QT_PEDIDA, IP.VL_DESPESA, IP.VL_FRETE, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, CASE WHEN (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) <> 'Q' THEN I.SG_UNIDMED END SG_UNIDMED, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN I.SG_UNIDMED ELSE I.SG_UNIDALT END SG_UNIDALT, CAST((
SELECT COUNT(X.NR_LANCAMENTO)
FROM NOTA X
WHERE X.TP_NOTA = 'S'
AND X.ST_NOTA = 'V'
AND X.CD_EMPRESA = N.CD_EMPRESA
AND X.CD_PESSOA = N.CD_PESSOA) AS INTEGER) QT_NOTA, I.CD_FORNECEDOR1, N.DT_PEDIDO, N.HR_PEDIDO, COALESCE(CAST(((IP.VL_DESCONTO / IP.VL_TOTAL ) * 100) AS DOM_NUMERIC15_4),0) PC_DESCONTO, PARM.DS_LOGOTIPO, PE.DS_EMAIL DS_EMAILEMP, PE.NR_CNPJCPF NR_CNPJCPFEMP, P.DS_EMAIL DS_EMAILCLI, 1 NR_SEQ, COALESCE(CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA END, CASE WHEN(
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) <> 'Q' THEN IP.PS_PEDIDO END) QTPS_PED, COALESCE(CASE WHEN (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) <> 'Q' THEN I.SG_UNIDMED END, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN I.SG_UNIDMED ELSE I.SG_UNIDALT END) SG_UN, CASE TC.TP_UNIDADE WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END QTDE, CASE HPQ.V_TIPO WHEN 'T' THEN CASE TC.TP_UNIDADE WHEN 'Q' THEN HPQ.SG_QTDE ELSE HPQ.SG_PESO END ELSE CASE TC.TP_UNIDADE WHEN 'Q' THEN HPQ.SG_QTDE ELSE HPQ.SG_PESO END END SG_QTDE, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_FRETE,0) VL_LIQUIDO, IP.VL_UNITARIO - (COALESCE(IP.VL_UNITARIO,0) * COALESCE(CAST(((IP.VL_DESCONTO / IP.VL_TOTAL)) AS DOM_NUMERIC15_4),0)) VL_LIQUIDOUN, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) VL_LIQUIDODESCONTO, M.CD_MARCA, M.DS_MARCA, CASE C.ST_CONDPAGTO WHEN 'D' THEN FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') ELSE (
SELECT CAST(LIST(FORMATA_DATA(PP.DT_VENCIMENTO,'%d/%m/%Y'),', ') AS VARCHAR(1000))
FROM PARCELAPEDIDO PP
WHERE PP.CD_EMPRESA = N.CD_EMPRESA
AND PP.NR_PEDIDO = N.NR_PEDIDO
AND PP.TP_PEDIDO = N.TP_PEDIDO) END DS_VENCTO
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)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
LEFT JOIN HABILITA_PESOQTDE(IP.CD_ITEM) HPQ ON (1=1)
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)
LEFT JOIN UNIDMED UN ON (UN.SG_UNIDMED = I.SG_UNIDALT)
LEFT JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.ST_PEDIDO not in ('B','C')
GROUP BY N.CD_EMPRESA, E.NM_EMPRESA, HPQ.V_TIPO, HPQ.SG_PESO, HPQ.SG_QTDE, EE.DS_ENDERECO,EE.NR_ENDERECO,EE.DS_BAIRRO, EE.DS_COMPLEMENTO , ME.DS_MUNICIPIO,ME.SG_ESTADO ,EE.NR_FONE, EE.NR_FAX , EE.NR_CEP , N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, N.CD_PESSOA, P.NM_PESSOA,P.CD_PESSOA , P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO,EP.NR_ENDERECO, EP.DS_BAIRRO, EP.DS_COMPLEMENTO , MP.DS_MUNICIPIO,MP.SG_ESTADO, EP.NR_INSCEST,PF.NR_RG, EP.NR_FONE, EP.NR_FAX, RG.DS_REGIAOCOMERCIAL, C.ST_CONDPAGTO, N.DT_VENCIMENTO, C.DS_CONDPAGTO, N.CD_CONDPAGTO, N.CD_VENDEDOR, V.NM_PESSOA,IP.VL_DESCONTO, IP.VL_TOTAL, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, I.DS_ITEM, IP.VL_UNITARIO, I.ST_UNIDADEFECHADA, I.PS_LIQUIDO, UN.DS_UNIDMED, I.PS_LIQUIDO, IP.DS_OBSERVACAO ,IP.PS_PEDIDO, IP.VL_DESPESA, IP.VL_FRETE, N.DS_OBSERVACAO, PARM.DS_MSGPEDIDO, I.CD_FORNECEDOR1, N.HR_PEDIDO, PARM.DS_LOGOTIPO, PE.DS_EMAIL , PE.NR_CNPJCPF , P.DS_EMAIL , 1 , V_TIPO ,IP.CD_ITEM, IP.QT_PEDIDA , I.SG_UNIDMED, I.SG_UNIDALT ,TC.TP_UNIDADE, IP.NR_SEQUENCIA, CAST((
SELECT COUNT(X.NR_LANCAMENTO)
FROM NOTA X
WHERE X.TP_NOTA = 'S'
AND X.ST_NOTA = 'V'
AND X.CD_EMPRESA = N.CD_EMPRESA
AND X.CD_PESSOA = N.CD_PESSOA) AS INTEGER), M.CD_MARCA, M.DS_MARCA
ORDER BY IP.NR_SEQUENCIA CD_EMPRESA 1 NR_PEDIDO 1 TP_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||' - '||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, IP.CD_ITEM, CE.PS_ENTREGUE, CE.QT_ENTREGUE, I.DS_ITEM, CE.DT_ENTREGA DT_ENTREGA_CE, CASE I.ST_UNIDADEFECHADA WHEN 'S' THEN '( '||CAST((IP.PS_PEDIDO / I.PS_LIQUIDO)AS DOM_NUMERIC15_2)||' '||UN.DS_UNIDMED||' de '||I.PS_LIQUIDO||' '||COALESCE(IP.DS_OBSERVACAO,'')||' )' ELSE IP.DS_OBSERVACAO END DS_OBSITEM, CASE WHEN (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) <> 'Q' THEN I.SG_UNIDMED END SG_UNIDMED, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN I.SG_UNIDMED ELSE I.SG_UNIDALT END SG_UNIDALT, M.CD_MARCA, M.DS_MARCA, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.HR_PEDIDO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO
FROM ITEMPEDIDO IP
INNER JOIN CONTROLEENTREGA CE ON (IP.CD_EMPRESA = CE.CD_EMPRPEDIDO
AND IP.NR_PEDIDO = CE.NR_PEDIDO
AND IP.TP_PEDIDO = CE.TP_PEDIDO
AND IP.CD_ITEM = CE.CD_ITEM)
LEFT JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN UNIDMED UN ON (UN.SG_UNIDMED = I.SG_UNIDALT)
LEFT JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
LEFT JOIN PEDIDO N ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA
AND N.CD_ENDERECO = EP.CD_ENDERECO)
LEFT JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO)
LEFT JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
LEFT JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
LEFT 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))
LEFT JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN REGIAOCOMERCIAL RG ON (RG.CD_REGIAOCOMERCIAL = EP.CD_REGIAOCOMERCIAL)
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_PEDIDO = :NR_PEDIDO
AND IP.TP_PEDIDO = :TP_PEDIDO
AND IP.ST_ENTREGA = 'G'
ORDER BY IP.NR_SEQUENCIA CD_EMPRESA NR_PEDIDO TP_PEDIDO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
CONTROLEENTREGA | 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 |
MARCA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARCELAPEDIDO | 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 |
TIPOCALCULO | referenciada nas queries do layout |
UNIDMED | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD073/ULPD073.pas - DFM:
source/LPD073/ULPD073.dfm - Package:
source/LPD073/LPD073.dpk