Pular para o conteúdo principal

LPD122 — Listagem LPD122

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 RETORNA_IMPRESSORAUSUARIO.

Chamada​

ExecLayout(Connection, [
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
// 6 - Usuario
// 8 - Nr Devolução
]);

SQL Base​

Consulta​

SELECT O_DS_IMPRESSORA {#10}
FROM RETORNA_IMPRESSORAUSUARIO({IntToStr(sessao.empresa.cd_Empresa)}, { QuotedStr(sessao.usuario.cd_Usuario)}, { QuotedStr(}D{)}

tabPRINCIPAL #1​

SELECT DISTINCT{#10} N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.NR_PEDIDOFOR,{#10} CAST(N.DT_PEDIDO||' '||CURRENT_TIME AS TIMESTAMP) DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, P.NM_FANTASIA,{#10} V.NM_PESSOA NM_VENDEDOR,{#10} P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO,{#10} EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO,'')) DS_ENDERECO,{#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO,{#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST,{#10} COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, B.DS_ENDCOMPLETO DS_ENDCOBRANCA,{#10} ' ' DS_MSGPEDIDO, P.DS_OBSERVACAO DS_OBSCLIENTE,{#10} CASE G.ST_CONDPAGTO WHEN 'D' THEN 'VENCTO '||FORMATA_DATA(N.DT_VENCIMENTO,'%D/%M/%Y') ELSE G.DS_CONDPAGTO END DS_CONDPAGTO,{#10} (
SELECT SUM(NI.VL_TOTAL - COALESCE(NI.VL_DESCONTO,0)){#10}
FROM ITEMPEDIDO NI{#10}
WHERE NI.CD_EMPRESA = N.CD_EMPRESA{#10}
AND NI.NR_PEDIDO = N.NR_PEDIDO{#10}
AND NI.TP_PEDIDO = N.TP_PEDIDO) VL_PEDIDO,{#10} N.DS_OBSERVACAO DS_OBSERVACAOPEDIDO,{#10} IP.NR_DEVOLUCAO{#10}
FROM PEDIDO N{#10}
INNER JOIN ITEMPEDIDODEVOL IP ON (N.NR_PEDIDO = IP.NR_PEDIDO{#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA{#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO){#10}
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA){#10}
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA{#10}
AND N.CD_ENDERECO = EP.CD_ENDERECO){#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') B ON (1 = 1){#10}
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO){#10}
INNER JOIN CONDPAGTO G ON (G.CD_CONDPAGTO = N.CD_CONDPAGTO){#10}
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR){#10}
WHERE N.CD_EMPRESA = {Nulo(iParametros[1],}I{) + #10}
AND N.CD_PESSOA = {Nulo(iParametros[2],}I{) + #10}
AND N.TP_PEDIDO = 'S'{#10}
AND IP.NR_DEVOLUCAO = {Nulo(iParametros[8],}S{)}

tabSUB1 #1​

SELECT DISTINCT{#10} N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT,{#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END QTDE, IP.VL_UNITARIO,{#10} (
SELECT V_VL_TOTAL{#10}
FROM CALCULA_VALOR(IP.CD_ITEM, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.VL_UNITARIO, 'T')) VL_TOTAL,{#10} ((
SELECT V_VL_TOTAL{#10}
FROM CALCULA_VALOR(IP.CD_ITEM, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.VL_UNITARIO, 'T')) - COALESCE(IT.VL_DESCONTODEVOL, 0)) VL_LIQUIDO,{#10} IT.VL_DESCONTODEVOL VL_DESCONTO, NULL DS_OBSERVACAO, I.NR_NCM{#10}
FROM ITEMPEDIDO N{#10}
INNER JOIN ITEMPEDIDODEVOL IP ON (IP.NR_PEDIDO = N.NR_PEDIDO{#10}
AND IP.CD_EMPRESA = N.CD_EMPRESA{#10}
AND IP.TP_PEDIDO = N.TP_PEDIDO{#10}
AND IP.CD_ITEM = N.CD_ITEM){#10}
INNER JOIN ITEMPEDIDO IT ON (N.NR_PEDIDO = IT.NR_PEDIDO{#10}
AND N.CD_EMPRESA = IT.CD_EMPRESA{#10}
AND N.TP_PEDIDO = IT.TP_PEDIDO{#10}
AND IT.CD_ITEM = IP.CD_ITEM){#10}
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_ITEM){#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO){#10}
LEFT JOIN RETORNA_LINHAS(1) RE ON (1 = 1){#10}
WHERE N.CD_EMPRESA = :CD_EMPRESA{#10}
AND N.NR_PEDIDO = :NR_PEDIDO{#10}
AND N.TP_PEDIDO = :TP_PEDIDO{#10}
ORDER BY N.NR_SEQUENCIA

tabPRINCIPAL #2​

SELECT {#10} N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_ENTREGA, N.NR_PEDIDOFOR, {#10} CAST(N.DT_PEDIDO||' '||CURRENT_TIME AS TIMESTAMP) DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, {#10} P.NM_FANTASIA, V.NM_PESSOA NM_VENDEDOR, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, {#10} EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO, '')) DS_ENDERECO, {#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, {#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, {#10} COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, B.DS_ENDCOMPLETO DS_ENDCOBRANCA, {#10} PF.DS_MSGPEDIDO, P.DS_OBSERVACAO DS_OBSCLIENTE, {#10} CASE G.ST_CONDPAGTO WHEN 'D' THEN 'Vencto '||FORMATA_DATA(N.DT_VENCIMENTO, '%d/%m/%Y') ELSE G.DS_CONDPAGTO END DS_CONDPAGTO, {#10} (
SELECT SUM(NI.VL_TOTAL - COALESCE(NI.VL_DESCONTO, 0)) {#10}
FROM ITEMPEDIDO NI {#10}
WHERE NI.CD_EMPRESA = N.CD_EMPRESA {#10}
AND NI.NR_PEDIDO = N.NR_PEDIDO {#10}
AND NI.TP_PEDIDO = N.TP_PEDIDO) VL_PEDIDO, {#10} N.DS_OBSERVACAO DS_OBSERVACAOPEDIDO, RE.O_NR_LINHA {#10}
FROM PEDIDO N {#10}
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA {#10}
AND N.CD_ENDERECO = EP.CD_ENDERECO) {#10}
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO) {#10}
INNER JOIN PARMFATUR PF ON (PF.CD_EMPRESA = N.CD_EMPRESA) {#10}
INNER JOIN CONDPAGTO G ON (G.CD_CONDPAGTO = N.CD_CONDPAGTO) {#10}
LEFT JOIN PESSOA V ON (N.CD_VENDEDOR = V.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') B ON (1 = 1) {#10}
LEFT JOIN RETORNA_LINHAS({Nulo(QtVias,}S{)}) RE ON (1 = 1) {#10}
WHERE N.CD_EMPRESA = {Nulo(iParametros[1],}I{) + #10}
AND N.NR_PEDIDO = {Nulo(iParametros[2],}I{) +#10}
AND N.TP_PEDIDO = {Nulo(iParametros[3],}S{)}

tabSUB1 #2​

SELECT{#10} N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO,{#10} I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT,{#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN N.QT_PEDIDA ELSE N.PS_PEDIDO END QTDE,{#10} N.VL_UNITARIO, N.VL_TOTAL, (N.VL_TOTAL - COALESCE(N.VL_DESCONTO, 0)) VL_LIQUIDO,{#10} N.VL_DESCONTO, N.DS_OBSERVACAO, I.NR_NCM{#10}
FROM ITEMPEDIDO N{#10}
INNER JOIN ITEM I ON (N.CD_ITEM = I.CD_ITEM){#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO){#10}
WHERE N.CD_EMPRESA = :CD_EMPRESA{#10}
AND N.NR_PEDIDO = :NR_PEDIDO{#10}
AND N.TP_PEDIDO = :TP_PEDIDO{#10}
ORDER BY N.NR_SEQUENCIA

tabSUB2​

SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO,{#10} I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT,{#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN N.QT_PEDIDA ELSE N.PS_PEDIDO END QTDE,{#10} N.VL_UNITARIO, N.VL_TOTAL, (N.VL_TOTAL - COALESCE(N.VL_DESCONTO,0)) VL_LIQUIDO,{#10} N.VL_DESCONTO,{#10} N.DS_OBSERVACAO{#10}
FROM ITEMPEDIDO N{#10}
INNER JOIN ITEM I ON (N.CD_ITEM = I.CD_ITEM){#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO){#10}
WHERE N.CD_EMPRESA = :CD_EMPRESA{#10}
AND N.NR_PEDIDO = :NR_PEDIDO{#10}
AND N.TP_PEDIDO = :TP_PEDIDO{#10}
AND I.TP_ITEM IN('S'){#10}
ORDER BY N.NR_SEQUENCIA

tabSUB3​

SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, {#10} I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, {#10} CASE TC.TP_UNIDADE WHEN 'Q' THEN N.QT_PEDIDA ELSE N.PS_PEDIDO END QTDE, {#10} N.VL_UNITARIO, N.VL_TOTAL, (N.VL_TOTAL - COALESCE(N.VL_DESCONTO,0)) VL_LIQUIDO, {#10} N.VL_DESCONTO, {#10} N.DS_OBSERVACAO {#10}
FROM ITEMPEDIDO N {#10}
INNER JOIN ITEM I ON (N.CD_ITEM = I.CD_ITEM) {#10}
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) {#10}
WHERE N.CD_EMPRESA = :CD_EMPRESA {#10}
AND N.NR_PEDIDO = :NR_PEDIDO {#10}
AND N.TP_PEDIDO = :TP_PEDIDO {#10}
AND I.TP_ITEM NOT IN('S') {#10}
ORDER BY N.NR_SEQUENCIA

Tabelas Utilizadas​

TabelaUso
CALCULA_VALORreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMPEDIDODEVOLreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_IMPRESSORAUSUARIOreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD122/ULPD122.pas
  • DFM: source/LPD122/ULPD122.dfm
  • Package: source/LPD122/LPD122.dpk