Pular para o conteúdo principal

LPD079 — Listagem LPD079

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 HABILITA_PESOQTDE, com junção em PESSOA, ENDERECOPESSOA, FORMAPAGTO, ITEMPEDIDO, MUNICIPIO, EMPRESA (+12), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_TIPOCALCULO (+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
]);

SQL Base​

Pedido​

SELECT N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJCPFEMP, EE.NR_INSCEST NR_INSCESTEMP, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FONE NR_FONEEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.HR_PEDIDO, N.DT_ENTREGA, N.NR_DIASENTREGA, N.CD_PESSOA, '[ '||P.CD_PESSOA||' ] '||P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'') NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'CIF' WHEN '2' THEN 'FOB' END TP_PAGTOFRETE, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,'')||COALESCE(' ('||EP.DS_COMPLEMENTO||') ',' ') DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, EP.NR_FONE,EP.NR_CELULAR NR_CELULAR, EP.NR_FAX, N.NR_PEDIDOFOR, P.DS_EMAIL, C.DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_VENDEDOR, COALESCE(V.NM_FANTASIA,V.NM_PESSOA)||COALESCE(' FONE: '||EV.NR_FONE,'')||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, i.cd_grade, IP.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.DS_OBSERVACAO DS_OBSITEM, P.DS_OBSFINANCEIRO, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_FRETE,0) VL_LIQUIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END QTDE, IP.VL_DESPESA, IP.PS_PEDIDO, IP.QT_PEDIDA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, coalesce ('Transportador.: '||N.cd_transportador || ' - '||COALESCE (PT.NM_FANTASIA, PT.NM_PESSOA),'') DS_TRANSPORTADOR, coalesce ('Redespacho.: '||N.CD_REDESPACHO || ' - '||COALESCE (PR.NM_FANTASIA, PR.NM_PESSOA),'') DS_REDESPACHO, COALESCE(IP.VL_FRETE,0) VL_FRETE, G.DS_GRUPO, S.DS_SUBGRUPO, IP.CD_TABPRECO, CASE IP.ST_ITEMPEDIDO WHEN 'A' THEN 'Atendido' WHEN 'C' THEN 'Cancelado' WHEN 'P' THEN 'Parcialmente Atendido' WHEN 'B' THEN 'Bloqueado' ELSE 'Não Atendido' END ST_ITEMPEDIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN (IP.QT_PEDIDA - IP.QT_ATENDIDA) ELSE (IP.PS_PEDIDO - IP.PS_ATENDIDO) END QT_SALDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN (IP.QT_PEDIDA - IP.QT_ATENDIDA) * IP.VL_UNITARIO ELSE (IP.QT_PEDIDA - IP.QT_ATENDIDA) * IP.VL_UNITARIO END VL_SALDOTOT, CAST( CASE TC.TP_UNIDADE WHEN 'Q' THEN CASE WHEN COALESCE(IP.QT_ATENDIDA, 0) > 0 THEN IP.QT_PEDIDA - COALESCE(IP.QT_ATENDIDA, 0) ELSE IP.QT_PEDIDA END ELSE CASE WHEN COALESCE(IP.PS_ATENDIDO, 0) > 0 THEN IP.PS_PEDIDO - COALESCE(IP.PS_ATENDIDO, 0) ELSE IP.PS_PEDIDO END END * ((IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO, 0) + COALESCE(IP.VL_DESPESA, 0)) / CASE TC.TP_UNIDADE WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END) AS DOM_NUMERIC15_2) VL_SALDOLIQ, CASE N.TP_PEDIDO WHEN 'O' THEN 'Orçamento ' ELSE 'Pedido ' END || N.NR_PEDIDO DS_PEDIDO, VENC.O_DS_VENCIMENTO
FROM PEDIDO N
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN ENDERECOPESSOA EV ON (EV.CD_PESSOA = V.CD_PESSOA
AND EV.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(V.CD_PESSOA, NULL)))
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN PESSOA T ON (T.CD_PESSOA = N.CD_TRANSPORTADOR)
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO
AND IP.ST_ITEMPEDIDO <> 'C')
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)
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA)
LEFT JOIN PESSOA PT ON (N.cd_transportador = PT.CD_PESSOA)
LEFT JOIN PESSOA PR ON (N.CD_REDESPACHO = PR.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 ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO TC ON (TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN GRUPO G ON (G.CD_GRUPO = I.CD_GRUPO)
LEFT JOIN SUBGRUPO S ON (S.CD_SUBGRUPO = I.CD_SUBGRUPO)
LEFT JOIN RETORNA_VENCIMENTOS(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.CD_CONDPAGTO, N.DT_PEDIDO, N.DT_VENCIMENTO) VENC ON (1 = 1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO
SELECT COALESCE(L.DS_LINHA,'')||' '||COALESCE(C.DS_COLUNA,'') DS_LINHA, N.QT_GRADE, COALESCE(L.DS_LINHA,'') Modelo , COALESCE(C.DS_COLUNA,'') Cor, N.QT_GRADE - COALESCE(N.QT_ATENDIDA,0) QT_SALDOGRADE
FROM ITEMPEDIDOGRADE N
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = N.CD_GRADE
AND L.NR_LINHA = N.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = N.CD_GRADE
AND C.NR_COLUNA = N.NR_COLUNA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM
AND N.QT_GRADE > 0
ORDER BY L.NR_LINHA, C.NR_COLUNA CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO CD_ITEM
SELECT PP.NR_PEDIDO, PP.NR_PARCELA, PP.DT_VENCIMENTO, PP.VL_PARCELA
FROM PARCELAPEDIDO PP
INNER JOIN PEDIDO N ON ( PP.CD_EMPRESA = N.CD_EMPRESA
AND PP.NR_PEDIDO = N.NR_PEDIDO
AND PP.TP_PEDIDO = N.TP_PEDIDO)
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_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNFJCPFEMP, COALESCE( EE.NR_INSCEST,'ISENTO') NR_INSCEST, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, N.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, COALESCE(EP.NR_INSCEST,PF.NR_RG) NR_INSCESTCLI, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, C.DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, CASE N.TP_PAGTOFRETE WHEN '1' THEN 'CIF' ELSE 'FOB' END DS_PAGTOFRETE, N.CD_VENDEDOR, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM, I.CD_CODIGOBARRA, PARM.DS_LOGOTIPO, CASE WHEN (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) <> 'Q' THEN I.SG_UNIDMED END SG_UNIDMED, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN I.SG_UNIDMED ELSE I.SG_UNIDALT END SG_UNIDALT, coalesce ('Obs.: '||COALESCE(N.DS_OBSERVACAO,'')||COALESCE(CHR(10)||PARM.DS_MSGPEDIDO,''),'') DS_OBSERVACAO, IP.VL_UNITARIO, IP.NR_DEVOLUCAO, IP.DT_DEVOLUCAO, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.CD_USUARIO, (
SELECT V_VL_TOTAL
FROM CALCULA_VALOR(IP.CD_ITEM, IP.PS_DEVOLUCAO, IP.QT_DEVOLUCAO, IP.VL_UNITARIO, 'T')) VL_DEVOLUCAO, PARMFATUR.DS_LOGOTIPO, CASE N.TP_PEDIDO WHEN 'O' THEN 'Orçamento ' ELSE 'Pedido ' END || N.NR_PEDIDO DS_PEDIDO, VENC.O_DS_VENCIMENTO
FROM PEDIDO N
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 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)
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 ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
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)
LEFT JOIN PARMFATUR ON(PARMFATUR.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_VENCIMENTOS(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.CD_CONDPAGTO, N.DT_PEDIDO, N.DT_VENCIMENTO) VENC ON (1 = 1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.CD_PESSOA = :CD_PESSOA
AND N.TP_PEDIDO = 'S'
AND IP.NR_DEVOLUCAO = :NR_DEVOLUCAO
ORDER BY I.DS_ITEM CD_EMPRESA CD_PESSOA NR_DEVOLUCAO
SELECT COALESCE(L.DS_LINHA,'')||' '||COALESCE(C.DS_COLUNA,'') DS_LINHA, N.QT_DEVOLUCAO, COALESCE(L.DS_LINHA,'') Modelo , COALESCE(C.DS_COLUNA,'') Cor
FROM ITEMPEDIDODEVOLGRADE N
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = N.CD_GRADE
AND L.NR_LINHA = N.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = N.CD_GRADE
AND C.NR_COLUNA = N.NR_COLUNA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM
AND N.NR_DEVOLUCAO = :NR_DEVOLUCAO
AND N.QT_DEVOLUCAO > 0
ORDER BY L.NR_LINHA, C.NR_COLUNA CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO CD_ITEM NR_DEVOLUCAO

Tabelas Utilizadas​

TabelaUso
CALCULA_VALORreferenciada 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
GRUPOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada 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
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
RETORNA_ENDERECOreferenciada nas queries do layout
RETORNA_VENCIMENTOSreferenciada nas queries do layout
SUBGRUPOreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD079/ULPD079.pas
  • DFM: source/LPD079/ULPD079.dfm
  • Package: source/LPD079/LPD079.dpk