LPD038 — Listagem LPD038
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 PESSOA, FORMAPAGTO, ITEMPEDIDO, ITEMTABPRECO, ENDERECOPESSOA, MUNICIPIO (+8), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_EMPRESA (+9).
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_TRANSPORTADOR||' - '|| T.NM_PESSOA CD_TRANSPORTADORA, I.CD_FORNECEDOR1, N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFEMP, EE.NR_INSCEST NR_INSCESTEMP, 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, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FONE NR_FONEEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, N.NR_DIASENTREGA, N.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' [ '||P.CD_PESSOA||' ]' NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'Remente - CIF' WHEN '2' THEN 'Destinatário - FOB' END TP_PAGTOFRETE, 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, EP.NR_INSCEST, EP.NR_FONE, EP.NR_FAX, N.NR_PEDIDOFOR, 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.DT_VENCIMENTO, N.CD_VENDEDOR, COALESCE(V.NM_FANTASIA,V.NM_PESSOA)||COALESCE(' FONE: '||EV.NR_FONE,'')||' - '||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, EP.NR_INCRA, EP.NR_INSCPRODUTOR, CASE WHEN I.TP_ITEM = 'S' THEN NULL ELSE IP.DS_OBSERVACAO END DS_OBSITEM, IP.DS_OBSERVACAO DS_OBSPRODUTO, CASE WHEN I.TP_ITEM = 'Q' THEN I.SG_UNIDALT ELSE I.SG_UNIDMED END SG_UNIDMED, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_JURO,0) + COALESCE(IMP.V_VL_TOTAL,0) VL_LIQUIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END QTDE, COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_JURO,0) VL_DESPESA, IP.PS_PEDIDO, IP.QT_PEDIDA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, IMP.V_VL_IPI, COALESCE(IMP.V_VL_IPI,0) + COALESCE(IMP.V_VL_SUBSTITUICAO,0) VL_PEDIDOIMPOSTO, IMP.V_VL_SUBSTITUICAO, (COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0)) * COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) PS_ITEMUNIT, (COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0)) PS_ITEM, PF.DS_LOGOTIPO, EP.DS_COMPLEMENTO, N.NR_LOTEPRODUCAO, U.CD_USUARIO, U.NM_USUARIO, COALESCE(ITB.VL_PRECO, 0) VL_TABPRECO, CASE WHEN ITB.VL_PRECO > 0 THEN ITB.VL_PRECO * COALESCE(IP.QT_PEDIDA, IP.PS_PEDIDO) ELSE 0 END VL_PRECOTOTALTABPRECO
FROM PEDIDO N
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN PESSOA T ON (T.CD_PESSOA = N.CD_TRANSPORTADOR)
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)
LEFT JOIN ITEMTABPRECO ITB ON(ITB.CD_TABPRECO = IP.CD_TABPRECO
AND ITB.CD_ITEM = IP.CD_ITEM)
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 PARMFATUR PF ON(PF.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 ENDERECOPESSOA EV ON (EV.CD_PESSOA = V.CD_PESSOA
AND EV.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(V.CD_PESSOA, NULL)))
LEFT JOIN CALCULA_IMPOSTOPEDIDO(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, I.CD_ITEM, ME.SG_ESTADO, E.CD_EMPRESA)IMP ON (1=1)
LEFT JOIN USUARIO U ON(U.CD_USUARIO = P.CD_USUARIOCAD)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
SELECT N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFEMP, EE.NR_INSCEST NR_INSCESTEMP, 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, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FONE NR_FONEEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, N.NR_DIASENTREGA, N.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' [ '||P.CD_PESSOA||' ]' NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'CIF' WHEN '2' THEN 'FOB' END TP_PAGTOFRETE, 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, EP.NR_INSCEST, EP.NR_FONE, EP.NR_FAX, N.NR_PEDIDOFOR, P.DS_EMAIL, V.NM_PESSOA NM_VENDEDOR, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM, EP.NR_INCRA, EP.NR_INSCPRODUTOR, CASE WHEN CHAR_LENGTH(IP.DS_OBSERVACAO) > 0 THEN COPIA_TEXTO(IP.DS_OBSERVACAO,1,CHAR_LENGTH(IP.DS_OBSERVACAO)) ELSE I.DS_ITEM END DS_OBSITEM, ITB.VL_PRECO VL_TABPRECO, (COALESCE(IP.QT_PEDIDA, IP.PS_PEDIDO) * ITB.VL_PRECO) VL_PRECOTOTALTABPRECO
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)
LEFT JOIN ITEMTABPRECO ITB ON (ITB.CD_TABPRECO = IP.CD_TABPRECO
AND ITB.CD_ITEM = IP.CD_ITEM)
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 ITEM I ON (IP.CD_ITEM = I.CD_ITEM
AND I.TP_ITEM = 'S')
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
SELECT F.CD_FORMAPAGTO, P.NR_PARCELA, P.DT_VENCIMENTO, P.VL_PARCELA, F.DS_FORMAPAGTO
FROM PARCELAPEDIDO P
LEFT JOIN FORMAPAGTO F ON(F.CD_FORMAPAGTO = P.CD_FORMAPAGTO)
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO
ORDER BY P.DT_VENCIMENTO CD_EMPRESA NR_PEDIDO TP_PEDIDO
SELECT LS.NR_LOTE, IPS.QT_LOTE, LS.DT_VALIDADE, P.CD_USUARIO
FROM PEDIDO P
INNER JOIN ITEMPEDIDO IT ON(IT.CD_EMPRESA = P.CD_EMPRESA
AND IT.NR_PEDIDO = P.NR_PEDIDO
AND IT.TP_PEDIDO = P.TP_PEDIDO)
INNER JOIN ITEMPEDIDOSEMENTE IPS ON (IPS.CD_EMPRESA = IT.CD_EMPRESA
AND IPS.NR_PEDIDO = IT.NR_PEDIDO
AND IPS.TP_PEDIDO = IT.TP_PEDIDO
AND IPS.CD_ITEM = IT.CD_ITEM)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = IPS.CD_EMPRESA
AND LS.NR_LOTE = IPS.NR_LOTE
AND LS.CD_ITEM = IPS.CD_ITEM)
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOPEDIDO | referenciada nas queries do layout |
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 |
ITEMPEDIDOSEMENTE | referenciada nas queries do layout |
ITEMTABPRECO | referenciada nas queries do layout |
LOTESEMENTE | referenciada nas queries do layout |
MUNICIPIO | 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 |
RETORNA_ENDERECO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD038/ULPD038.pas - DFM:
source/LPD038/ULPD038.dfm - Package:
source/LPD038/LPD038.dpk