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
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOPEDIDO | referenciada nas queries do layout |
COLUNAGRADE | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | 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 |
MARCA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARCELAPEDIDO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PESSOAFISICA | referenciada nas queries do layout |
QTDE_EXTENSO | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_PRECOITEM | referenciada nas queries do layout |
ROTA | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD127/ULPD127.pas - DFM:
source/LPD127/ULPD127.dfm - Package:
source/LPD127/LPD127.dpk