LPD002 — Listagem LPD002
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 (+3), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_EMPRESA (+8).
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, PR.NM_PESSOA NM_PESSOAPR, P.NR_CNPJCPF, PR.NR_CNPJCPF NR_CNPJCPFPR, EP.NR_CEP, EPR.NR_CEP NR_CEPPR, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, EPR.DS_ENDERECO||COALESCE(', '||EPR.NR_ENDERECO,' ') DS_ENDERECOPR, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, COALESCE(EPR.DS_BAIRRO, EPR.DS_COMPLEMENTO) DS_BAIRROPR, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, MPR.DS_MUNICIPIO||' - '||MPR.SG_ESTADO DS_MUNICIPIOPR, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, COALESCE(EPR.NR_FONE, EPR.NR_FAX) NR_FONEPR, 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, N.DS_OBSERVACAO, IP.CD_ITEM, I.DS_ITEM, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,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, PR.CD_PESSOA CD_PESSOAPR
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 MATRICULA MT ON (MT.CD_EMPRESA = N.CD_EMPRESA
AND MT.CD_ALUNO = P.CD_PESSOA
AND MT.ST_ATIVO = 'S'
AND MT.NR_CONTRATO = (
SELECT MAX(MA.NR_CONTRATO)
FROM MATRICULA MA
WHERE MA.CD_EMPRESA = N.CD_EMPRESA
AND MA.CD_ALUNO = P.CD_PESSOA
AND MA.ST_ATIVO = 'S'))
INNER JOIN CONTRATO CT ON (CT.CD_EMPRESA = N.CD_EMPRESA
AND CT.NR_CONTRATO = MT.NR_CONTRATO)
INNER JOIN PESSOA PR ON (PR.CD_PESSOA = CT.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EPR ON (EPR.CD_PESSOA = PR.CD_PESSOA
AND EPR.CD_ENDERECO = (
SELECT MIN(ENDERPR.CD_ENDERECO)
FROM ENDERECOPESSOA ENDERPR
WHERE ENDERPR.CD_PESSOA = EPR.CD_PESSOA))
INNER JOIN MUNICIPIO MPR ON (MPR.CD_MUNICIPIO = EPR.CD_MUNICIPIO)
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 coalesce((
SELECT '0'
FROM PEDIDO P
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO
AND F.CD_FORMAPAGTO = P.CD_FORMAPAGTO),'0') CD_CHECK, case WHEN (POSITION('VENCTO',UPPER(F.DS_FORMAPAGTO)) > 0)
AND ((
SELECT P.DT_VENCIMENTO
FROM PEDIDO P
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO) is not null) THEN F.DS_FORMAPAGTO||' Vencimento.: '||(
SELECT FORMATA_DATA(P.DT_VENCIMENTO,'%d/%m/%Y')
FROM PEDIDO P
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO) else F.DS_FORMAPAGTO end DS_FORMAPAGTO
FROM FORMAPAGTO F CD_EMPRESA NR_PEDIDO TP_PEDIDO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
CONTRATO | 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 |
MATRICULA | 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/LPD002/ULPD002.pas - DFM:
source/LPD002/ULPD002.dfm - Package:
source/LPD002/LPD002.dpk