LPD117 — Listagem LPD117
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, ITEMPEDIDODEVOL, ITEM, TIPOCALCULO, PESSOA, ENDERECOPESSOA (+5), filtrada por CD_EMPRESA, NR_DEVOLUCAO.
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout da Nota Fiscal
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
// 6 - Usuario
// 8 - Nr_devolucao
]);
SQL Base
tabPEDIDODEVOL
SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, P.NM_FANTASIA, V.NM_PESSOA NM_VENDEDOR, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO,'')) DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, SUM(IPD.VL_UNITARIO * (CASE WHEN TP.TP_UNIDADE = 'P' THEN IPD.PS_DEVOLUCAO ELSE IPD.QT_DEVOLUCAO END)) VL_PEDIDO/*VL_DEVOL*/
FROM PEDIDO N
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO)
INNER JOIN ITEMPEDIDODEVOL IPD ON (IPD.CD_EMPRESA = IP.CD_EMPRESA
AND IPD.NR_PEDIDO = IP.NR_PEDIDO
AND IPD.TP_PEDIDO = IP.TP_PEDIDO
AND IPD.CD_ITEM = IP.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = IPD.CD_ITEM)
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
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)
LEFT JOIN PESSOA V ON (N.CD_VENDEDOR = V.CD_PESSOA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND IPD.NR_DEVOLUCAO = :NR_DEVOLUCAO
GROUP BY N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, P.NM_FANTASIA, V.NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO,'')), COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO), MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) CD_EMPRESA NR_DEVOLUCAO
SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, I.CD_ITEM, I.DS_ITEM , I.SG_UNIDMED, I.SG_UNIDALT, CASE WHEN TP.TP_UNIDADE = 'P' THEN N.PS_DEVOLUCAO ELSE N.QT_DEVOLUCAO END QTDE, CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end QT_pedido, ip.VL_DESCONTO dSEC_pedido, ip.VL_DESCONTODEVOL, (ip.VL_DESCONTO+ip.VL_DESCONTODEVOL)GERALDESCONTO, (
SELECT SUM( ITD.VL_UNITARIO * CASE WHEN TP.TP_UNIDADE = 'P' THEN ITD.PS_DEVOLUCAO ELSE ITD.QT_DEVOLUCAO END)
FROM itempedidodevol ITD
WHERE ITD.CD_EMPRESA = N.CD_EMPRESA
AND ITD.NR_PEDIDO = N.NR_PEDIDO
AND ITD.TP_PEDIDO = N.TP_PEDIDO
AND ITD.CD_ITEM = N.CD_ITEM) + (IP.VL_UNITARIO * CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end ) totalgeral, (
SELECT SUM(CASE WHEN TP.TP_UNIDADE = 'P' THEN ITD.PS_DEVOLUCAO ELSE ITD.QT_DEVOLUCAO END)
FROM itempedidodevol ITD
WHERE ITD.CD_EMPRESA = N.CD_EMPRESA
AND ITD.NR_PEDIDO = N.NR_PEDIDO
AND ITD.TP_PEDIDO = N.TP_PEDIDO
AND ITD.CD_ITEM = N.CD_ITEM) + CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end QTtotalgeral, (CASE WHEN TP.TP_UNIDADE = 'P' THEN N.PS_DEVOLUCAO ELSE N.QT_DEVOLUCAO END * (ip.VL_DESCONTO+ip.VL_DESCONTODEVOL)) / ((
SELECT SUM(CASE WHEN TP.TP_UNIDADE = 'P' THEN ITD.PS_DEVOLUCAO ELSE ITD.QT_DEVOLUCAO END)
FROM itempedidodevol ITD
WHERE ITD.CD_EMPRESA = N.CD_EMPRESA
AND ITD.NR_PEDIDO = N.NR_PEDIDO
AND ITD.TP_PEDIDO = N.TP_PEDIDO
AND ITD.CD_ITEM = N.CD_ITEM) + CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end) VL_DESCONTO, (CASE WHEN TP.TP_UNIDADE = 'P' THEN N.PS_DEVOLUCAO ELSE N.QT_DEVOLUCAO END * ip.VL_DESCONTO) / CASE WHEN CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end = 0 THEN 1 ELSE CASE WHEN TP.TP_UNIDADE = 'P' THEN ip.PS_PEDIDO ELSE ip.QT_PEDIDA end END vl_DESCONTO, N.VL_UNITARIO, N.VL_UNITARIO * (CASE WHEN TP.TP_UNIDADE = 'P' THEN N.PS_DEVOLUCAO ELSE N.QT_DEVOLUCAO END)VL_LIQUIDO
FROM ITEMPEDIDODEVOL N
LEFT JOIN ITEMPEDIDO IP on (IP.CD_EMPRESA = N.CD_EMPRESA
AND IP.NR_PEDIDO = N.NR_PEDIDO
AND IP.TP_PEDIDO = N.TP_PEDIDO
AND IP.CD_ITEM = N.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = N.CD_ITEM)
INNER JOIN TIPOCALCULO TP on (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_DEVOLUCAO = :NR_DEVOLUCAO CD_EMPRESA NR_DEVOLUCAO
SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, I.CD_ITEM, I.DS_ITEM , I.SG_UNIDMED, I.SG_UNIDALT, COALESCE(N.QT_PEDIDA, N.PS_PEDIDO) QTDE, N.VL_UNITARIO, N.VL_DESCONTO, N.VL_TOTAL, (N.VL_TOTAL - COALESCE(N.VL_DESCONTO,0)) VL_LIQUIDO
FROM ITEMPEDIDO N
INNER JOIN ITEM I ON (N.CD_ITEM = I.CD_ITEM)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO
SELECT C.NR_PEDIDO, C.DT_EMISSAO, C.VL_DOCUMENTO, C.DT_VENCIMENTO
FROM VIEW_CONTASPEDIDO(:V_CD_EMPRESA, :V_NR_PEDIDO, :V_TP_PEDIDO) C CD_EMPRESA NR_PEDIDO TP_PEDIDO
SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, P.NM_FANTASIA, V.NM_PESSOA NM_VENDEDOR, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO,'')) DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, (
SELECT SUM(NI.VL_TOTAL - COALESCE(NI.VL_DESCONTO,0))
FROM ITEMPEDIDO NI
WHERE NI.CD_EMPRESA = N.CD_EMPRESA
AND NI.NR_PEDIDO = N.NR_PEDIDO
AND NI.TP_PEDIDO = N.TP_PEDIDO) VL_PEDIDO
FROM PEDIDO N
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)
LEFT JOIN PESSOA V ON (N.CD_VENDEDOR = V.CD_PESSOA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA NR_PEDIDO TP_PEDIDO
SELECT N.CD_ITEM, CG.DS_COLUNA, LG.DS_LINHA, IPG.QT_GRADE
FROM ITEMPEDIDO N
LEFT JOIN ITEMPEDIDOGRADE IPG ON (IPG.CD_EMPRESA = N.CD_EMPRESA
AND IPG.CD_ITEM = N.CD_ITEM
AND IPG.NR_PEDIDO = N.NR_PEDIDO
AND IPG.TP_PEDIDO = N.TP_PEDIDO)
LEFT JOIN COLUNAGRADE CG ON (CG.CD_GRADE = IPG.CD_GRADE
AND CG.NR_COLUNA = IPG.NR_COLUNA)
LEFT JOIN LINHAGRADE LG ON (LG.CD_GRADE = IPG.CD_GRADE
AND LG.NR_LINHA = IPG.NR_LINHA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM CD_EMPRESA NR_PEDIDO TP_PEDIDO CD_ITEM
SELECT N.CD_ITEM, CG.DS_COLUNA, LG.DS_LINHA, IPG.QT_DEVOLUCAO QT_GRADE
FROM ITEMPEDIDO N
LEFT JOIN ITEMPEDIDODEVOLGRADE IPG ON (IPG.CD_EMPRESA = N.CD_EMPRESA
AND IPG.CD_ITEM = N.CD_ITEM
AND IPG.NR_PEDIDO = N.NR_PEDIDO
AND IPG.TP_PEDIDO = N.TP_PEDIDO)
LEFT JOIN COLUNAGRADE CG ON (CG.CD_GRADE = IPG.CD_GRADE
AND CG.NR_COLUNA = IPG.NR_COLUNA)
LEFT JOIN LINHAGRADE LG ON (LG.CD_GRADE = IPG.CD_GRADE
AND LG.NR_LINHA = IPG.NR_LINHA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM CD_EMPRESA NR_PEDIDO TP_PEDIDO CD_ITEM
Consulta
SELECT O_CD_EMPRESA, O_DS_IMPRESSORA, O_CD_IMPRESSORA
FROM RETORNA_IMPRESSORAUSUARIO({ IntToStr(sessao.empresa.cd_Empresa)}, {QuotedStr(sessao.usuario.cd_Usuario)}, 'D', 'D' )
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | 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 |
ITEMPEDIDODEVOLGRADE | referenciada nas queries do layout |
ITEMPEDIDOGRADE | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_IMPRESSORAUSUARIO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
VIEW_CONTASPEDIDO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD117/ULPD117.pas - DFM:
source/LPD117/ULPD117.dfm - Package:
source/LPD117/LPD117.dpk