LPD032 — Listagem LPD032
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, ENDERECOPESSOA, MUNICIPIO, EMPRESA (+9), filtrada por CD_EMPRESA, TP_PEDIDO, CD_PESSOA, DT_PEDIDO, NR_PEDIDO, JO (+6).
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
// 8 - Numero Devolucao
// 9 - Data Devolucao
]);
SQL Base
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, C.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 QTDE, IP.VL_DESPESA, IP.PS_PEDIDO, IP.QT_PEDIDA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, ET.DS_ENDERECO||COALESCE(', '||ET.NR_ENDERECO,'')||COALESCE(' '||ET.DS_COMPLEMENTO,'')||COALESCE(' '||ET.DS_BAIRRO,'')||' '||MT.DS_MUNICIPIO||' - '||MT.SG_ESTADO DS_ENDENTREGA, EC.DS_ENDERECO||COALESCE(', '||EC.NR_ENDERECO,'')||COALESCE(' '||EC.DS_COMPLEMENTO,'')||COALESCE(' '||EC.DS_BAIRRO,'')||' '||MC.DS_MUNICIPIO||' - '||MC.SG_ESTADO DS_ENDCOBRANCA, T.NM_PESSOA||' - '||T.CD_PESSOA NM_TRANSPORTADOR, (
SELECT count(x.nr_pedido)
FROM pedido x
WHERE x.cd_empresa = N.CD_EMPRESA
AND x.tp_pedido = N.TP_PEDIDO
AND x.cd_pessoa = N.CD_PESSOA
AND x.dt_pedido <= N.DT_PEDIDO
AND X.NR_PEDIDO <= N.NR_PEDIDO) QT_PEDIDOPESSOA, p.CD_PESSOA ||' - '|| (
SELECT count(x.nr_pedido)
FROM pedido x
WHERE x.cd_empresa = N.CD_EMPRESA
AND x.tp_pedido = N.TP_PEDIDO
AND x.cd_pessoa = N.CD_PESSOA
AND x.dt_pedido <= N.DT_PEDIDO
AND X.NR_PEDIDO <= N.NR_PEDIDO) NR_PEDPESSOA, IP.CD_TABPRECO, CASE N.TP_PEDIDO WHEN 'O' THEN 'Orçamento ' ELSE 'Pedido ' END || N.NR_PEDIDO DS_PEDIDO, VENC.O_DS_VENCIMENTO
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)
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 ENDERECOPESSOA ET ON (ET.CD_PESSOA = N.CD_PESSOA
AND ET.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(N.CD_PESSOA, 'E')))
INNER JOIN MUNICIPIO MT ON (MT.CD_MUNICIPIO = ET.CD_MUNICIPIO)
INNER JOIN ENDERECOPESSOA EC ON (EC.CD_PESSOA = N.CD_PESSOA
AND EC.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(N.CD_PESSOA, 'B')))
INNER JOIN MUNICIPIO MC ON (MC.CD_MUNICIPIO = EC.CD_MUNICIPIO)
LEFT JOIN RETORNA_VENCIMENTOS(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.CD_CONDPAGTO, N.DT_PEDIDO, N.DT_VENCIMENTO) VENC ON (1 = 1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY I.CD_ITEM CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
SELECT DISTINCT L.DS_LINHA||' '||C.DS_COLUNA DS_LINHA, N.QT_GRADE
FROM ITEMPEDIDOGRADE N
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = N.CD_GRADE
AND L.NR_LINHA = N.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = N.CD_GRADE
AND C.NR_COLUNA = N.NR_COLUNA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM
ORDER BY L.NR_LINHA, C.NR_COLUNA CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO CD_ITEM
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.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||N.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, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM, I.NR_NCM, COALESCE(I.CD_FORNECEDOR1, I.CD_FORNECEDOR2) CD_FORNECEDOR, I.SG_UNIDMED, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, ELE.NM_PESSOA NM_REDESPACHO, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, IP.VL_UNITARIO, IP.DT_DEVOLUCAO, IP.NR_DEVOLUCAO, N.NR_PEDIDO, IT.CD_TABPRECO, CASE WHEN IP.QT_DEVOLUCAO > 0 THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END PS_DEVOLUCAO, (
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(IP.CD_ITEM, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.VL_UNITARIO, 'T')) VL_DEVOLUCAO, IT.VL_DESCONTODEVOL VL_DESCONTO, ((
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(IP.CD_ITEM, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.VL_UNITARIO, 'T')) - COALESCE(IT.VL_DESCONTODEVOL,0)) VL_LIQUIDO
FROM PEDIDO N
INNER JOIN ITEMPEDIDODEVOL IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
INNER JOIN ITEMPEDIDO IT ON (N.NR_PEDIDO = IT.NR_PEDIDO
AND N.CD_EMPRESA = IT.CD_EMPRESA
AND N.TP_PEDIDO = IT.TP_PEDIDO
AND IT.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)
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 PESSOA ELE ON (ELE.CD_PESSOA = N.CD_REDESPACHO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.CD_PESSOA = :CD_PESSOA
AND N.TP_PEDIDO = 'S'
AND IP.NR_DEVOLUCAO = :NR_DEVOLUCAO
ORDER BY I.CD_ITEM, N.NR_PEDIDO CD_EMPRESA 1 CD_PESSOA NR_DEVOLUCAO
Consulta
SELECT O_DS_IMPRESSORA
FROM RETORNA_IMPRESSORAUSUARIO({IntToStr(sessao.empresa.cd_Empresa)},'{sessao.usuario.cd_Usuario}', 'D', 'W') R
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_VALOR | referenciada nas queries do layout |
COLUNAGRADE | 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 |
ITEMPEDIDODEVOL | referenciada nas queries do layout |
ITEMPEDIDOGRADE | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
MARCA | 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 |
PESSOAFISICA | referenciada nas queries do layout |
RETORNA_ENDERECO | referenciada nas queries do layout |
RETORNA_IMPRESSORAUSUARIO | referenciada nas queries do layout |
RETORNA_VENCIMENTOS | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD032/ULPD032.pas - DFM:
source/LPD032/ULPD032.dfm - Package:
source/LPD032/LPD032.dpk