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
| Tabela | Uso |
|---|---|
CALCULA_VALOR | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
ITEMPEDIDODEVOL | 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 |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_IMPRESSORAUSUARIO | referenciada nas queries do layout |
RETORNA_LINHAS | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD122/ULPD122.pas - DFM:
source/LPD122/ULPD122.dfm - Package:
source/LPD122/LPD122.dpk