LPD028 — Listagem LPD028
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 PEDIDO, com junção em ITEMPEDIDO, EMPRESA, PESSOA, ENDERECOPESSOA, MUNICIPIO, PESSOAFISICA (+9), filtrada por CD_EMPRESA, NR_PEDIDO, TP_PEDIDO, DT_VENCIMENTO.
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 PE.NM_PESSOA NM_EMPRESA, OS.CD_EMPRESA, OS.NR_PEDIDO, OS.TP_PEDIDO, EPE.DS_ENDERECO||', '||COALESCE(EPE.NR_ENDERECO, '')|| COALESCE(' - '||EPE.DS_BAIRRO, '')||' - '||ME.DS_MUNICIPIO||'-'||ME.SG_ESTADO DS_ENDERECOEMPRESA, EPE.NR_CEP NR_CEPEMPRESA, EPE.NR_FONE NR_FONEEMPRESA, EPE.NR_FAX NR_FAXEMPRESA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EPE.NR_INSCEST NR_IEEMPRESA, OS.DT_PEDIDO DT_EMISSAO, OS.NR_PEDIDO NR_ORDEMSERVICO, P.CD_PESSOA, P.NM_PESSOA, OS.CD_VENDEDOR, VEND.NM_PESSOA NM_VENDEDOR, EP.DS_ENDERECO||', '||COALESCE(EP.NR_ENDERECO, '')|| COALESCE(' - '||EP.DS_BAIRRO, '')||' - '||M.DS_MUNICIPIO||'-'||M.SG_ESTADO DS_ENDERECO, EP.NR_FONE, P.NR_CNPJCPF, PF.NR_RG, OS.DS_OBSERVACAO, U.NM_USUARIO, T.NM_PESSOA NM_TRANSPORTADOR, OS.CD_FORMAPAGTO, FP.DS_FORMAPAGTO, OS.CD_CONDPAGTO, CASE OS.TP_PEDIDO WHEN 'S' THEN COALESCE(PFI.O_DS_CONDICAO, CP.DS_CONDPAGTO) ELSE CP.DS_CONDPAGTO END DS_CONDPAGTO, SI.CD_ITEM, COALESCE(nullif(SI.DS_OBSERVACAO,''),I.DS_ITEM ) DS_ITEM, COALESCE(SI.PS_PEDIDO, SI.QT_PEDIDA) QT_SERVICOITEM, SI.VL_UNITARIO, SI.VL_TOTAL, COALESCE(SI.VL_DESCONTO, 0) VL_DESCONTO, COALESCE(PFI.O_VL_TOTALJURO,PFI.O_VL_TAXACONDICAO) O_VL_TOTALJURO, COALESCE(I.CD_FORNECEDOR1,'')||COALESCE('-'||I.CD_FORNECEDOR2,'') CD_FORNECEDOR, CASE OS.TP_PAGTOFRETE WHEN '2' THEN 'FOB' ELSE 'CIF' END TP_PAGTOFRETE, OS.DT_REGISTRO, OS.HR_PEDIDO, L.DS_LOCAL, CASE OS.ST_ENTREGAOFICINA WHEN 'N' THEN ' Não ' ELSE ' Sim ' END ST_ENTREGAOFICINA, CASE WHEN OS.DS_ENDENTREGAOF IS NOT NULL THEN 'Endereço Entrega.: '||OS.DS_ENDENTREGAOF ELSE '' END DS_ENDENTREGAOF, VE.DS_OBSVIAGEMENTREGA
FROM PEDIDO OS
INNER JOIN ITEMPEDIDO SI ON (SI.CD_EMPRESA = OS.CD_EMPRESA
AND SI.NR_PEDIDO = OS.NR_PEDIDO
AND SI.TP_PEDIDO = OS.TP_PEDIDO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = OS.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EPE ON (EPE.CD_PESSOA = PE.CD_PESSOA
AND EPE.CD_ENDERECO = 1)
INNER JOIN MUNICIPIO ME ON (ME.CD_MUNICIPIO = EPE.CD_MUNICIPIO)
INNER JOIN PESSOA P ON (P.CD_PESSOA = OS.CD_PESSOA)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = P.CD_PESSOA
AND EP.CD_ENDERECO = OS.CD_ENDERECO)
INNER JOIN MUNICIPIO M ON (M.CD_MUNICIPIO = EP.CD_MUNICIPIO)
LEFT JOIN FORMAPAGTO FP ON (FP.CD_FORMAPAGTO = OS.CD_FORMAPAGTO)
LEFT JOIN PESSOA VEND ON (VEND.CD_PESSOA = OS.CD_VENDEDOR)
INNER JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = OS.CD_CONDPAGTO)
LEFT JOIN VIAGEMENTREGA VE ON (VE.CD_EMPPEDIDO = OS.CD_EMPRESA
AND VE.TP_PEDIDO = OS.TP_PEDIDO
AND VE.NR_PEDIDO = OS.NR_PEDIDO)
INNER JOIN USUARIO U ON (U.CD_USUARIO = OS.CD_USUARIO)
INNER JOIN ITEM I ON (I.CD_ITEM = SI.CD_ITEM)
LEFT JOIN ITEMEMPRESA IE ON (IE.CD_EMPRESA = OS.CD_EMPRESA
AND IE.CD_ITEM = I.CD_ITEM)
LEFT JOIN LOCALESTOQUE L ON (L.CD_TIPOLOCAL = IE.CD_TIPOLOCAL
AND L.CD_LOCAL = IE.CD_LOCAL)
LEFT JOIN PESSOA T ON (T.CD_PESSOA = OS.CD_TRANSPORTADOR)
LEFT JOIN PARCELA_FINANCIAMENTO(OS.CD_CONDPAGTO, (
SELECT SUM(IP.VL_TOTAL + COALESCE(IP.VL_DESPESA,0) - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_FRETE,0))
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = OS.CD_EMPRESA
AND IP.NR_PEDIDO = OS.NR_PEDIDO
AND IP.TP_PEDIDO = OS.TP_PEDIDO), (
SELECT PP.VL_PARCELA
FROM PARCELAPEDIDO PP
WHERE PP.CD_EMPRESA = OS.CD_EMPRESA
AND PP.NR_PEDIDO = OS.NR_PEDIDO
AND PP.TP_PEDIDO = OS.TP_PEDIDO
AND PP.DT_VENCIMENTO = OS.DT_PEDIDO)) PFI ON (0=0)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_PEDIDO = :NR_PEDIDO
AND OS.TP_PEDIDO = :TP_PEDIDO
AND COALESCE(SI.PS_PEDIDO, SI.QT_PEDIDA) > 0
ORDER BY SI.CD_ITEM CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO
SELECT VL_TOTAL, VL_TOTALDESCONTO, VL_FRETE, VL_DESPESA, VL_JURO, VL_IMPOSTO, VL_TOTAL + VL_FRETE + VL_DESPESA + VL_JURO + VL_IMPOSTO - VL_TOTALDESCONTO VL_LIQUIDO
FROM(
SELECT COALESCE(SUM(OSI.VL_TOTAL),0) VL_TOTAL, COALESCE(SUM(OSI.VL_DESCONTO),0) VL_TOTALDESCONTO, COALESCE(SUM(OSI.VL_FRETE),0) VL_FRETE, COALESCE(SUM(OSI.VL_DESPESA),0) VL_DESPESA, COALESCE(MAX(PFI.O_VL_TOTALJURO), MAX(PFI.O_VL_TAXACONDICAO),0) VL_JURO, COALESCE(SUM(CASE P.ST_IMPOSTOPEDIDO WHEN 'N' THEN 0 ELSE (
SELECT V_VL_TOTAL
FROM CALCULA_IMPOSTOPEDIDO(OSI.CD_EMPRESA, OSI.NR_PEDIDO, OSI.TP_PEDIDO, OSI.CD_ITEM, NULL, OSI.CD_EMPRESA)) END),0) VL_IMPOSTO
FROM PEDIDO OS
INNER JOIN ITEMPEDIDO OSI ON (OSI.CD_EMPRESA = OS.CD_EMPRESA
AND OSI.NR_PEDIDO = OS.NR_PEDIDO
AND OSI.TP_PEDIDO = OS.TP_PEDIDO)
INNER JOIN PARMFATUR P ON (P.CD_EMPRESA = OS.CD_EMPRESA)
LEFT JOIN PARCELA_FINANCIAMENTO(OS.CD_CONDPAGTO, (
SELECT SUM(IP.VL_TOTAL + COALESCE(IP.VL_DESPESA,0) - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_FRETE,0))
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = OS.CD_EMPRESA
AND IP.NR_PEDIDO = OS.NR_PEDIDO
AND IP.TP_PEDIDO = OS.TP_PEDIDO), (
SELECT PP.VL_PARCELA
FROM PARCELAPEDIDO PP
WHERE PP.CD_EMPRESA = OS.CD_EMPRESA
AND PP.NR_PEDIDO = OS.NR_PEDIDO
AND PP.TP_PEDIDO = OS.TP_PEDIDO
AND PP.DT_VENCIMENTO = OS.DT_PEDIDO) ) PFI ON (0=0)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_PEDIDO = :NR_PEDIDO
AND OS.TP_PEDIDO = :TP_PEDIDO
AND COALESCE(OSI.PS_PEDIDO, OSI.QT_PEDIDA) > 0
GROUP BY OS.CD_EMPRESA, OS.NR_PEDIDO, OS.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 |
ITEM | referenciada nas queries do layout |
ITEMEMPRESA | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
LOCALESTOQUE | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARCELAPEDIDO | referenciada nas queries do layout |
PARCELA_FINANCIAMENTO | 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 |
USUARIO | referenciada nas queries do layout |
VIAGEMENTREGA | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD028/ULPD028.pas - DFM:
source/LPD028/ULPD028.dfm - Package:
source/LPD028/LPD028.dpk