Pular para o conteúdo principal

LPD052 — Listagem LPD052

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 (+5), filtrada por CD_EMPRESA, NR_PEDIDO, TP_PEDIDO.

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 E.NM_EMPRESA, 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, CASE I.DS_ITEM WHEN 'PRODUTO NAO CADASTRADO' THEN COPIA_TEXTO(SI.DS_OBSERVACAO,1,CHAR_LENGTH(SI.DS_OBSERVACAO)) ELSE I.DS_ITEM END DS_ITEM, SI.QT_PEDIDA QT_SERVICOITEM, SI.VL_UNITARIO, SI.VL_TOTAL, COALESCE(SI.VL_DESCONTO, 0) VL_DESCONTO, PFI.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
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)
INNER JOIN USUARIO U ON (U.CD_USUARIO = os.CD_USUARIO)
INNER JOIN ITEM I ON (I.CD_ITEM = SI.CD_ITEM)
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))
FROM ITEMPEDIDO IP
WHERE IP.CD_EMPRESA = OS.CD_EMPRESA
AND IP.NR_PEDIDO = OS.NR_PEDIDO
AND IP.TP_PEDIDO = OS.TP_PEDIDO), NULL) PFI ON (0=0)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_PEDIDO = :NR_PEDIDO
AND OS.TP_PEDIDO = :TP_PEDIDO
ORDER BY SI.CD_ITEM CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO
SELECT COALESCE(SUM(OSI.VL_TOTAL), 0) VL_TOTAL, COALESCE(SUM(OSI.VL_DESCONTO), 0) VL_TOTALDESCONTO, (COALESCE(SUM(OSI.VL_TOTAL), 0) - COALESCE(SUM(OSI.VL_DESCONTO), 0) + COALESCE(SUM(OSI.VL_DESPESA), 0) + COALESCE(SUM(OSI.VL_JURO), 0)) VL_LIQUIDO
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)
WHERE OS.CD_EMPRESA = :CD_EMPRESA
AND OS.NR_PEDIDO = :NR_PEDIDO
AND OS.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO

Tabelas Utilizadas​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARCELA_FINANCIAMENTOreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PESSOAFISICAreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD052/ULPD052.pas
  • DFM: source/LPD052/ULPD052.dfm
  • Package: source/LPD052/LPD052.dpk