Pular para o conteúdo principal

LPD127 — Listagem LPD127

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 PARMFATUR, com junção em PESSOA, ITEMPEDIDO, ITEM, MARCA, GRADE, ENDERECOPESSOA (+15), filtrada por CD_EMPRESA, CD_VENDEDOR, CD_TIPOCALCULO, NR_PEDIDO, TP_PEDIDO, ST_ITEMPEDIDO (+12).

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
// 8 - Numero Devolucao
// 9 - Data Devolucao
// 10 - Caminho e Nome para Gerar o PDF
]);

SQL Base​

tabPedido​

SELECT DISTINCT --EMPRESA-- N.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, ME.SG_ESTADO SG_ESTADOEMPRESA, PA.DS_LOGOTIPO, --CLIENTE-- P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, P.NM_FANTASIA NM_FANTASIACLIENTE, EP.DS_ENDERECO DS_ENDPESSOA, EP.NR_ENDERECO NR_ENDPESSOA, EP.NR_CEP NR_CEPPESSOA, EP.DS_BAIRRO DS_BAIRROPESSOA, EP.DS_COMPLEMENTO DS_COMPPESSOA, MP.DS_MUNICIPIO DS_MUNPESSOA, EP.NR_FONE, EP.NR_CELULAR, EP.NR_FAX, EP.DS_CONTATO, EP.NR_INSCEST NR_INSCESTPESSOA, MP.SG_ESTADO, (
SELECT CASE PFR.ST_OBSCLIENTE WHEN 'S' THEN P.DS_OBSERVACAO WHEN 'O' THEN P.DS_OBSFINANCEIRO ELSE NULL END
FROM PARMFATUR PFR
WHERE PFR.CD_EMPRESA = N.CD_EMPRESA) DS_OBSPESSOA, --NOTA-- N.NR_PEDIDO, N.DT_ENTREGA, N.NR_PEDIDOFOR, N.DT_PEDIDO DT_DOCUMENTO, N.DT_REGISTRO HR_DOCUMENTO, V.CD_PESSOA || ' - ' || V.NM_PESSOA NM_VENDEDOR, N.DS_OBSERVACAO DS_OBSPEDIDO, N.HR_PEDIDO, (
SELECT FIRST 1 DS_ROTA
FROM ROTA
WHERE CD_VENDEDOR = V.CD_PESSOA) DS_ROTA, --PRODUTO-- I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, RP1.O_VL_PRECO VL_PRECOTAB1, CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(ITP.QT_PEDIDA * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(ITP.PS_PEDIDO * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTPRAZO, /*vl_tot A Prazo*/ CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(ITP.QT_PEDIDA * RP.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(ITP.PS_PEDIDO * RP.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTAVISTA, /*vl_tot A Vista*/ COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA) QT_ITEM, RP.O_VL_PRECO VL_PRECO, ITP.VL_UNITARIO, ITP.VL_TOTAL, ITP.DS_OBSERVACAO DS_OBSERVACAOPROD, I.DS_ESPECIFICACAO DS_OBSERVACAO, I.CD_CODIGOBARRA, ITP.CD_TABPRECO, I.CD_FORNECEDOR1, (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA) PS_ITEMUNIT, (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) PS_ITEM, SUM(CI.V_VL_TOTAL) VL_IMPOSTO, ITP.VL_DESCONTO VL_DESCITEM, ITP.VL_TOTAL - COALESCE(ITP.VL_DESCONTO, 0) VL_LIQUIDOITEM, ITP.VL_UNITARIO - (COALESCE(ITP.VL_DESCONTO, 0) / COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA)) VL_LIQUIDOUNITITEM, QTDEITEM.O_VALOR QT_ITEMEXTENSO, CASE N.ST_PEDIDO WHEN 'A' THEN 'Faturado' WHEN 'P' THEN 'Faturado Parcial' WHEN 'N' THEN 'Pendente' WHEN 'C' THEN 'Cancelado' WHEN 'B' THEN 'Bloqueado' END ST_PEDIDO, CASE ITP.ST_ITEMPEDIDO WHEN 'A' THEN 'Atendido' WHEN 'B' THEN 'Bloqueado' WHEN 'C' THEN 'Cancelado' WHEN 'N' THEN 'Não Atendido' WHEN 'P' THEN 'Parcialmente Atendido' END ST_ITEMPEDIDO, COALESCE(NULLIF(TRIM(ITP.DS_OBSERVACAO), ''), I.DS_ITEM) DS_ITEMOBS, --RODAPÉ-- N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, SUM(ITP.VL_TOTAL) - SUM(COALESCE(ITP.VL_DESCONTO, 0)) + SUM(COALESCE(ITP.VL_DESPESA, 0)) VL_PEDIDOLIQUIDO, SUM(ITP.VL_TOTAL) - SUM(COALESCE(ITP.VL_DESCONTO, 0)) + SUM(COALESCE(ITP.VL_DESPESA, 0)) + SUM(COALESCE(ITP.VL_FRETE, 0)) VL_PEDIDOLIQCOMFRETE, SUM(COALESCE(ITP.VL_FRETE, 0)) VL_FRETE, SUM(ITP.VL_TOTAL) VL_PEDIDO, SUM(COALESCE(ITP.VL_DESCONTO, 0)) VL_DESCONTO, SUM(COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA)) QT_TOTAL, RDC.DS_ENDCOMPLETO DS_ENDCOBRANCA, RDE.DS_ENDCOMPLETO DS_ENDENTREGA, N.TP_PEDIDO, COALESCE(PU.NM_PESSOA, U.NM_USUARIO) NM_USUARIO, --Total das Parcelas-- COALESCE((
SELECT SUM(PRC.VL_PARCELA)
FROM PARCELAPEDIDO PRC
WHERE PRC.CD_EMPRESA = N.CD_EMPRESA
AND PRC.NR_PEDIDO = N.NR_PEDIDO
AND PRC.TP_PEDIDO = N.TP_PEDIDO), (
SELECT SUM(PRC.VL_TOTAL)
FROM ITEMPEDIDO PRC
WHERE PRC.CD_EMPRESA = N.CD_EMPRESA
AND PRC.NR_PEDIDO = N.NR_PEDIDO
AND PRC.TP_PEDIDO = N.TP_PEDIDO
AND PRC.ST_ITEMPEDIDO <> 'C')) VL_PRAZO, -- Transportador -- TR.CD_PESSOA CD_TRANSPORTADOR, TR.NM_PESSOA NM_TRANSPORTADOR, N.TP_PAGTOFRETE, TR.NR_CNPJCPF NR_CNPJCPFTRANSP, ET.NR_INSCEST NR_INSCESTTRANSP, ET.DS_ENDERECO DS_ENDERECOTRANSP, MT.DS_MUNICIPIO DS_MUNICIPIOTRANSP, MT.SG_ESTADO SG_ESTADOTRANSP
FROM PEDIDO N
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ITEMPEDIDO ITP ON (ITP.CD_EMPRESA = N.CD_EMPRESA
AND ITP.NR_PEDIDO = N.NR_PEDIDO
AND ITP.TP_PEDIDO = N.TP_PEDIDO
AND ITP.ST_ITEMPEDIDO <> 'C')
INNER JOIN ITEM I ON (I.CD_ITEM = ITP.CD_ITEM)
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE G ON (G.CD_GRADE = I.CD_GRADE)
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)
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA))
INNER JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN PARMFATUR PA ON (PA.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') RDC ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'E') RDE ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, ITP.CD_TABPRECO, ITP.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, 2, ITP.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP1 ON (1 = 1)
LEFT JOIN CALCULA_IMPOSTOPEDIDO(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, ITP.CD_ITEM, NULL, N.CD_EMPRESA) CI ON (1 = 1)
INNER JOIN USUARIO U ON (U.CD_USUARIO = N.CD_USUARIO)
LEFT JOIN PESSOA PU ON (PU.CD_PESSOA = U.CD_PESSOA)
LEFT JOIN QTDE_EXTENSO(COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA)) QTDEITEM ON (1 = 1)
LEFT JOIN PESSOA TR ON (TR.CD_PESSOA = N.CD_TRANSPORTADOR)
LEFT JOIN ENDERECOPESSOA ET ON (ET.CD_PESSOA = PE.CD_PESSOA
AND ET.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = ET.CD_PESSOA))
LEFT JOIN MUNICIPIO MT ON (MT.cd_municipio = ET.CD_MUNICIPIO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
GROUP BY N.CD_EMPRESA, PE.NM_PESSOA, PE.NM_FANTASIA, N.DS_OBSERVACAO, PE.NR_CNPJCPF, EE.NR_INSCEST, EE.NR_INSCMUN, PE.DS_SITE, PE.DS_EMAIL, EE.DS_ENDERECO, EE.NR_ENDERECO, EE.NR_CEP, EE.DS_BAIRRO, EE.DS_COMPLEMENTO, ME.DS_MUNICIPIO, P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, EP.DS_ENDERECO, EP.NR_ENDERECO, EP.NR_CEP, EP.DS_BAIRRO, EP.DS_COMPLEMENTO, MP.DS_MUNICIPIO, EP.NR_FONE, EP.NR_FAX, N.NR_PEDIDO, N.NR_PEDIDOFOR, N.DT_PEDIDO, N.DT_REGISTRO, V.CD_PESSOA,MP.SG_ESTADO, V.NM_PESSOA, I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, ITP.PS_PEDIDO, EP.NR_INSCEST , ITP.QT_PEDIDA, RP.O_VL_PRECO, ITP.VL_UNITARIO, ITP.VL_TOTAL, ITP.DS_OBSERVACAO, I.DS_ESPECIFICACAO, I.CD_CODIGOBARRA, I.CD_FORNECEDOR1, I.PS_LIQUIDOEMB, I.PS_EMBALAGEM, N.ST_PEDIDO, ITP.ST_ITEMPEDIDO, N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, RDC.DS_ENDCOMPLETO, RDE.DS_ENDCOMPLETO, EE.NR_FONE, ITP.CD_TABPRECO, EE.NR_FAX, N.TP_PEDIDO, ITP.VL_DESCONTO, PA.DS_LOGOTIPO, RP1.O_VL_PRECO, EP.DS_CONTATO, P.NM_FANTASIA, P.DS_OBSERVACAO, P.DS_OBSFINANCEIRO, NM_USUARIO, ITP.NR_SEQUENCIA, CD_TIPOCALCULO, MP.SG_ESTADO, EP.NR_CELULAR, QTDEITEM.O_VALOR, N.DT_ENTREGA, N.HR_PEDIDO, TR.CD_PESSOA, TR.NM_PESSOA, ME.SG_ESTADO , N.TP_PAGTOFRETE, TR.NR_CNPJCPF , ET.NR_INSCEST , ET.DS_ENDERECO , MT.DS_MUNICIPIO, MT.SG_ESTADO
ORDER BY ITP.NR_SEQUENCIA CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO CD_EMPRESA;NR_PEDIDO;TP_PEDIDO
SELECT CASE C.ST_CONDPAGTO WHEN 'P' THEN P.DT_VENCIMENTO ELSE COALESCE(PE.DT_VENCIMENTO,PE.DT_PEDIDO) END DT_VENCIMENTO , CASE C.ST_CONDPAGTO WHEN 'P' THEN P.VL_PARCELA ELSE SUM(IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0)) END VL_DOCUMENTO, CASE C.ST_CONDPAGTO WHEN 'P' THEN P.NR_PARCELA ELSE 1 END NR_PARCELA
FROM PEDIDO PE
LEFT JOIN PARCELAPEDIDO P ON (PE.CD_EMPRESA = P.CD_EMPRESA
AND PE.NR_PEDIDO = P.NR_PEDIDO
AND PE.TP_PEDIDO = P.TP_PEDIDO)
INNER JOIN CONDPAGTO C ON (C.CD_CONDPAGTO = PE.CD_CONDPAGTO)
INNER JOIN ITEMPEDIDO IP ON (IP.CD_EMPRESA = PE.CD_EMPRESA
AND IP.NR_PEDIDO = PE.NR_PEDIDO
AND IP.TP_PEDIDO = PE.TP_PEDIDO)
WHERE PE.CD_EMPRESA = :CD_EMPRESA
AND PE.NR_PEDIDO = :NR_PEDIDO
AND PE.TP_PEDIDO = :TP_PEDIDO
GROUP BY C.ST_CONDPAGTO, P.DT_VENCIMENTO,PE.DT_VENCIMENTO,PE.DT_PEDIDO , P.VL_PARCELA, P.NR_PARCELA
ORDER BY PE.DT_VENCIMENTO CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO CD_EMPRESA;NR_PEDIDO;TP_PEDIDO;CD_ITEM
SELECT L.DS_LINHA, C.DS_COLUNA, G.QT_GRADE, DG.QT_DEVOLUCAO, CASE WHEN DG.QT_DEVOLUCAO > 0
AND G.QT_GRADE = 0 THEN 'Dev. Total' WHEN DG.QT_DEVOLUCAO > 0
AND G.QT_GRADE > 0 THEN 'Dev. Parcial' ELSE CASE WHEN (G.QT_GRADE - COALESCE (G.QT_ATENDIDA,0)) = 0 THEN 'Faturado' WHEN COALESCE (G.QT_ATENDIDA,0) > 0 THEN 'Parcial' ELSE 'Pendente' END END ST_ITEMGRADE
FROM ITEMPEDIDOGRADE G
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = G.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = G.NR_COLUNA)
LEFT JOIN ITEMPEDIDODEVOLGRADE DG ON ( DG.CD_EMPRESA = G.CD_EMPRESA
AND DG.NR_PEDIDO = G.NR_PEDIDO
AND DG.TP_PEDIDO = G.TP_PEDIDO
AND DG.CD_ITEM = G.CD_ITEM
AND DG.CD_GRADE = G.CD_GRADE
AND DG.NR_LINHA = G.NR_LINHA
AND DG.NR_COLUNA = G.NR_COLUNA)
WHERE G.CD_EMPRESA = :CD_EMPRESA
AND G.NR_PEDIDO = :NR_PEDIDO
AND G.TP_PEDIDO = :TP_PEDIDO
AND G.CD_ITEM = :CD_ITEM CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO CD_ITEM
SELECT DISTINCT --EMPRESA-- N.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA, PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, ME.SG_ESTADO SG_ESTADOEMPRESA, PA.DS_LOGOTIPO, --CLIENTE-- P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, P.NM_FANTASIA NM_FANTASIACLIENTE, EP.DS_ENDERECO DS_ENDPESSOA, EP.NR_ENDERECO NR_ENDPESSOA, EP.NR_CEP NR_CEPPESSOA, EP.DS_BAIRRO DS_BAIRROPESSOA, EP.DS_COMPLEMENTO DS_COMPPESSOA, MP.DS_MUNICIPIO DS_MUNPESSOA, EP.NR_FONE, EP.NR_CELULAR, EP.NR_FAX, EP.DS_CONTATO, EP.NR_INSCEST NR_INSCESTPESSOA, MP.SG_ESTADO, (
SELECT CASE PFR.ST_OBSCLIENTE WHEN 'S' THEN P.DS_OBSERVACAO WHEN 'O' THEN P.DS_OBSFINANCEIRO ELSE NULL END
FROM PARMFATUR PFR
WHERE PFR.CD_EMPRESA = N.CD_EMPRESA) DS_OBSPESSOA, --NOTA-- N.NR_PEDIDO, N.DT_ENTREGA, N.NR_PEDIDOFOR, N.DT_PEDIDO DT_DOCUMENTO, N.DT_REGISTRO HR_DOCUMENTO, V.CD_PESSOA || ' - ' || V.NM_PESSOA NM_VENDEDOR, N.DS_OBSERVACAO DS_OBSPEDIDO, N.HR_PEDIDO, (
SELECT FIRST 1 DS_ROTA
FROM ROTA
WHERE CD_VENDEDOR = V.CD_PESSOA) DS_ROTA, --PRODUTO-- I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, RP1.O_VL_PRECO VL_PRECOTAB1, CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(IP.QT_DEVOLUCAO * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(IP.PS_DEVOLUCAO * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTPRAZO , /*vl_tot A Prazo*/ CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(IP.QT_DEVOLUCAO * RP.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(IP.PS_DEVOLUCAO * RP.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTAVISTA, /*vl_tot A Vista*/ /* ITP */ COALESCE(IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO) QT_ITEM, RP.O_VL_PRECO VL_PRECO, IP.VL_UNITARIO, IP.VL_UNITARIO * CASE WHEN IP.PS_DEVOLUCAO = 0 THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END VL_TOTAL , ITP.DS_OBSERVACAO DS_OBSERVACAOPROD, I.DS_ESPECIFICACAO DS_OBSERVACAO, I.CD_CODIGOBARRA, ITP.CD_TABPRECO, I.CD_FORNECEDOR1, (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA) PS_ITEMUNIT, (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) PS_ITEM, SUM(CI.V_VL_TOTAL) VL_IMPOSTO, ITP.VL_DESCONTO VL_DESCITEM, ITP.VL_TOTAL - COALESCE(ITP.VL_DESCONTO, 0) VL_LIQUIDOITEM, IP.VL_UNITARIO - COALESCE((ITP.VL_DESCONTO / COALESCE(IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO)),0) VL_LIQUIDOUNITITEM, QTDEITEM.O_VALOR QT_ITEMEXTENSO, CASE N.ST_PEDIDO WHEN 'A' THEN 'Faturado' WHEN 'P' THEN 'Faturado Parcial' WHEN 'N' THEN 'Pendente' WHEN 'C' THEN 'Cancelado' WHEN 'B' THEN 'Bloqueado' END ST_PEDIDO, CASE ITP.ST_ITEMPEDIDO WHEN 'A' THEN 'Atendido' WHEN 'B' THEN 'Bloqueado' WHEN 'C' THEN 'Cancelado' WHEN 'N' THEN 'Não Atendido' WHEN 'P' THEN 'Parcialmente Atendido' END ST_ITEMPEDIDO, COALESCE(NULLIF(TRIM(ITP.DS_OBSERVACAO), ''), I.DS_ITEM) DS_ITEMOBS, --RODAPÉ-- N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, SUM(IP.VL_UNITARIO * CASE WHEN IP.PS_DEVOLUCAO = 0 THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END) - SUM(COALESCE(ITP.VL_DESCONTO, 0)) + SUM(COALESCE(ITP.VL_DESPESA, 0)) VL_PEDIDOLIQUIDO, SUM(IP.VL_UNITARIO * CASE WHEN IP.PS_DEVOLUCAO = 0 THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END) - SUM(COALESCE(ITP.VL_DESCONTO, 0)) + SUM(COALESCE(ITP.VL_DESPESA, 0)) + SUM(COALESCE(ITP.VL_FRETE,0)) VL_PEDIDOLIQCOMFRETE, SUM(COALESCE(ITP.VL_FRETE,0)) VL_FRETE, SUM(IP.VL_UNITARIO * CASE WHEN IP.PS_DEVOLUCAO = 0 THEN IP.QT_DEVOLUCAO ELSE IP.PS_DEVOLUCAO END) VL_PEDIDO, SUM(COALESCE(ITP.VL_DESCONTO, 0)) VL_DESCONTO, SUM(COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA)) QT_TOTAL, RDC.DS_ENDCOMPLETO DS_ENDCOBRANCA, RDE.DS_ENDCOMPLETO DS_ENDENTREGA, N.TP_PEDIDO, COALESCE(PU.NM_PESSOA, U.NM_USUARIO) NM_USUARIO, --Total das Parcelas-- COALESCE((
SELECT SUM(PRC.VL_PARCELA)
FROM PARCELAPEDIDO PRC
WHERE PRC.CD_EMPRESA = N.CD_EMPRESA
AND PRC.NR_PEDIDO = N.NR_PEDIDO
AND PRC.TP_PEDIDO = N.TP_PEDIDO), (
SELECT SUM(PRC.VL_TOTAL)
FROM ITEMPEDIDO PRC
WHERE PRC.CD_EMPRESA = N.CD_EMPRESA
AND PRC.NR_PEDIDO = N.NR_PEDIDO
AND PRC.TP_PEDIDO = N.TP_PEDIDO
AND PRC.ST_ITEMPEDIDO <> 'C')) VL_PRAZO , -- Transportador -- TR.CD_PESSOA CD_TRANSPORTADOR, TR.NM_PESSOA NM_TRANSPORTADOR, N.TP_PAGTOFRETE, TR.NR_CNPJCPF NR_CNPJCPFTRANSP, ET.NR_INSCEST NR_INSCESTTRANSP, ET.DS_ENDERECO DS_ENDERECOTRANSP, MT.DS_MUNICIPIO DS_MUNICIPIOTRANSP, MT.SG_ESTADO SG_ESTADOTRANSP /**/
FROM PEDIDO N
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ITEMPEDIDODEVOL IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
INNER JOIN ITEMPEDIDO ITP ON (ITP.CD_EMPRESA = N.CD_EMPRESA
AND ITP.NR_PEDIDO = N.NR_PEDIDO
AND ITP.TP_PEDIDO = N.TP_PEDIDO
AND ITP.CD_ITEM = IP.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = ITP.CD_ITEM)
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE G ON (G.CD_GRADE = I.CD_GRADE)
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)
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA
AND EE.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA))
INNER JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN PARMFATUR PA ON (PA.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'B') RDC ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA, 'E') RDE ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, ITP.CD_TABPRECO, ITP.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, 2, ITP.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP1 ON (1 = 1)
LEFT JOIN CALCULA_IMPOSTOPEDIDO(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, ITP.CD_ITEM, NULL, N.CD_EMPRESA) CI ON (1 = 1)
INNER JOIN USUARIO U ON (U.CD_USUARIO = N.CD_USUARIO)
LEFT JOIN PESSOA PU ON (PU.CD_PESSOA = U.CD_PESSOA)
LEFT JOIN QTDE_EXTENSO(COALESCE(IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO)) QTDEITEM ON (1 = 1)
LEFT JOIN PESSOA TR ON (TR.CD_PESSOA = N.CD_TRANSPORTADOR)
LEFT JOIN ENDERECOPESSOA ET ON (ET.CD_PESSOA = PE.CD_PESSOA
AND ET.CD_ENDERECO = (
SELECT MIN(CD_ENDERECO)
FROM ENDERECOPESSOA ENDER
WHERE ENDER.CD_PESSOA = ET.CD_PESSOA))
LEFT JOIN MUNICIPIO MT ON (MT.cd_municipio = ET.CD_MUNICIPIO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.CD_PESSOA = :CD_PESSOA
AND N.TP_PEDIDO = 'S'
AND IP.NR_DEVOLUCAO = :NR_DEVOLUCAO
GROUP BY -- VL_UNITARIO VL_DESCONTO VL_DESPESA VL_FRETE N.CD_EMPRESA, PE.NM_PESSOA, PE.NM_FANTASIA, PE.NR_CNPJCPF, EE.NR_INSCEST , EE.NR_INSCMUN, PE.DS_SITE, PE.DS_EMAIL, EE.DS_ENDERECO, EE.NR_ENDERECO, EE.NR_CEP, EE.DS_BAIRRO, EE.DS_COMPLEMENTO, ME.DS_MUNICIPIO, EE.NR_FONE, EE.NR_FAX, ME.SG_ESTADO, PA.DS_LOGOTIPO, --CLIENTE-- P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, P.NM_FANTASIA, EP.DS_ENDERECO, EP.NR_ENDERECO, EP.NR_CEP, EP.DS_BAIRRO, EP.DS_COMPLEMENTO, MP.DS_MUNICIPIO, EP.NR_FONE, EP.NR_CELULAR, EP.NR_FAX, EP.DS_CONTATO, EP.NR_INSCEST, MP.SG_ESTADO, P.DS_OBSERVACAO, P.DS_OBSFINANCEIRO, N.CD_EMPRESA, N.NR_PEDIDO, N.DT_ENTREGA, N.NR_PEDIDOFOR, N.DT_PEDIDO, N.DT_REGISTRO, V.CD_PESSOA || ' - ' || V.NM_PESSOA, N.DS_OBSERVACAO, N.HR_PEDIDO, V.CD_PESSOA, --PRODUTO-- I.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, RP1.O_VL_PRECO, I.CD_TIPOCALCULO, IP.QT_DEVOLUCAO, RP1.O_VL_PRECO, IP.PS_DEVOLUCAO, RP.O_VL_PRECO, COALESCE(IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO), RP.O_VL_PRECO, IP.VL_UNITARIO, ITP.DS_OBSERVACAO , I.DS_ESPECIFICACAO, I.CD_CODIGOBARRA, ITP.CD_TABPRECO, I.CD_FORNECEDOR1, (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)) * COALESCE(ITP.PS_PEDIDO, ITP.QT_PEDIDA), (COALESCE(I.PS_LIQUIDOEMB, 0) + COALESCE(I.PS_EMBALAGEM, 0)), ITP.VL_DESCONTO, ITP.VL_TOTAL - COALESCE(ITP.VL_DESCONTO, 0), QTDEITEM.O_VALOR, CASE N.ST_PEDIDO WHEN 'A' THEN 'Faturado' WHEN 'P' THEN 'Faturado Parcial' WHEN 'N' THEN 'Pendente' WHEN 'C' THEN 'Cancelado' WHEN 'B' THEN 'Bloqueado' END, CASE ITP.ST_ITEMPEDIDO WHEN 'A' THEN 'Atendido' WHEN 'B' THEN 'Bloqueado' WHEN 'C' THEN 'Cancelado' WHEN 'N' THEN 'Não Atendido' WHEN 'P' THEN 'Parcialmente Atendido' END, COALESCE(NULLIF(TRIM(ITP.DS_OBSERVACAO), ''), I.DS_ITEM), N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, RDC.DS_ENDCOMPLETO, RDE.DS_ENDCOMPLETO, N.TP_PEDIDO, COALESCE(PU.NM_PESSOA, U.NM_USUARIO), -- Transportador -- TR.CD_PESSOA, TR.NM_PESSOA, N.TP_PAGTOFRETE, TR.NR_CNPJCPF, ET.NR_INSCEST, ET.DS_ENDERECO, MT.DS_MUNICIPIO, MT.SG_ESTADO
ORDER BY I.CD_ITEM CD_EMPRESA 1 CD_PESSOA NR_DEVOLUCAO

Consulta​

SELECT P.NR_PEDIDOPALM
FROM PEDIDO P
WHERE P.CD_EMPRESA ={Nulo(iParametros[1],}I{)}
AND P.NR_PEDIDO ={Nulo(iParametros[2],}I{)}
AND P.TP_PEDIDO = {Nulo(iParametros[3],}S{)}

Tabelas Utilizadas​

TabelaUso
CALCULA_IMPOSTOPEDIDOreferenciada nas queries do layout
COLUNAGRADEreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
GRADEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMPEDIDODEVOLreferenciada nas queries do layout
ITEMPEDIDODEVOLGRADEreferenciada nas queries do layout
ITEMPEDIDOGRADEreferenciada nas queries do layout
LINHAGRADEreferenciada nas queries do layout
MARCAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARCELAPEDIDOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PESSOAFISICAreferenciada nas queries do layout
QTDE_EXTENSOreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_PRECOITEMreferenciada nas queries do layout
ROTAreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD127/ULPD127.pas
  • DFM: source/LPD127/ULPD127.dfm
  • Package: source/LPD127/LPD127.dpk