Pular para o conteúdo principal

LPD096 — Listagem LPD096

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 ITEMPEDIDO, com junção em ORCAMENTO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+9), filtrada por CD_EMPRESA, NR_PEDIDO, TP_PEDIDO, NR_, JO, NR_ORCAMENTO (+11).

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 /*Empresa*/ N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, PE.NM_FANTASIA, 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, EE.NR_INSCEST NR_INSCEMP, PE.DS_EMAIL, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, EE.NR_FAX NR_FAXEMP, PARM.DS_LOGOTIPO, ME.DS_MUNICIPIO||'/'||ME.SG_ESTADO||', '||DE.O_DS_DATA DS_DATA, /*Pedido*/ N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.DT_ENTREGA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, C.DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_VENDEDOR, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, N.VL_TRANSPORTADOR, N.TP_PAGTOFRETE, (
SELECT Sum(coalesce(VL_FRETE,0))
FROM ITEMPEDIDO
WHERE CD_EMPRESA = N.CD_EMPRESA
AND NR_PEDIDO = N.NR_PEDIDO
AND TP_PEDIDO = N.TP_PEDIDO) VL_FRETE, O.DS_COMPLEMENTAR, /*Cliente*/ 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, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_CELULAR) NR_FONE, EP.NR_FAX, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, /*Produtos*/ I.NR_NCM, I.QT_ALTURA, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_PEDIDA ELSE IP.PS_PEDIDO END PS_PEDIDO, I.SG_UNIDMED, IP.CD_ITEM||' - '||I.DS_ITEM||' '||I.DS_ESPECIFICACAO DS_ITEM, IP.DS_OBSERVACAO DS_OBSITEM, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, IP.VL_DESPESA, COALESCE(ICMS.V_PC_IMPOSTO,0) PC_ICMS , COALESCE(IPI.V_PC_IMPOSTO,0) PC_IPI, 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 ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
LEFT JOIN ORCAMENTO O ON (O.CD_EMPRESA = N.CD_EMPRESA
AND O.NR_ORCAMENTO = N.NR_ORCAMENTO)
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 PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN IMPOSTO IM ON (IM.CD_IMPOSTO = (
SELECT FIRST 1 CD_IMPOSTO
FROM IMPOSTO
WHERE IMPOSTO.TP_IMPOSTO = 'I'))
LEFT JOIN CALCULA_IMPOSTOS(N.CD_EMPRESA, N.DT_PEDIDO, 'S', P.ST_REVENDAIPI, ME.SG_ESTADO, MP.SG_ESTADO, N.CD_PESSOA, EP.CD_CONDFISCAL,0, IP.CD_ITEM, IP.CD_MOVIMENTACAO, I.CD_CONDFISCAL, IM.CD_IMPOSTO, IM.TP_IMPOSTO, IM.TP_CALCULO, IM.TP_RECEITABRUTA, IM.ST_RETIDO, IP.VL_TOTAL, IM.PC_BASE, IM.PC_ALIQUOTA, IP.VL_TOTAL, IP.VL_DESPESA, IP.PS_PEDIDO, IP.QT_PEDIDA, ip.VL_TOTAL, NULL) ICMS ON (1=1)
INNER JOIN IMPOSTO II ON (II.CD_IMPOSTO = (
SELECT FIRST 1 CD_IMPOSTO
FROM IMPOSTO
WHERE IMPOSTO.TP_IMPOSTO = 'P'))
LEFT JOIN CALCULA_IMPOSTOS(N.CD_EMPRESA, N.DT_PEDIDO, 'S', P.ST_REVENDAIPI, ME.SG_ESTADO, MP.SG_ESTADO, N.CD_PESSOA, EP.CD_CONDFISCAL,0, IP.CD_ITEM, IP.CD_MOVIMENTACAO, I.CD_CONDFISCAL, II.CD_IMPOSTO, II.TP_IMPOSTO, II.TP_CALCULO, II.TP_RECEITABRUTA, II.ST_RETIDO, IP.VL_TOTAL, II.PC_BASE, II.PC_ALIQUOTA, IP.VL_TOTAL, IP.VL_DESPESA, IP.PS_PEDIDO, IP.QT_PEDIDA, IP.VL_TOTAL, NULL) IPI ON (1=1)
LEFT JOIN DATA_EXTENSO(N.DT_PEDIDO) DE ON (1=1)
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 I.DS_ITEM, MO.DS_ESPECIFICACAO DS_APLICACAO
FROM ITEMPEDIDO IP
INNER JOIN PEDIDO P ON (IP.CD_EMPRESA = P.CD_EMPRESA
AND IP.NR_PEDIDO = P.NR_PEDIDO
AND IP.TP_PEDIDO = P.TP_PEDIDO)
LEFT JOIN ORCAMENTO O ON (O.CD_EMPRESA = P.CD_EMPRESA
AND O.NR_ORCAMENTO = P.NR_ORCAMENTO)
LEFT JOIN MAQUINAORCAMENTO MO ON (MO.CD_EMPRESA = O.CD_EMPRESA
AND MO.NR_ORCAMENTO = O.NR_ORCAMENTO
AND MO.CD_ITEM = IP.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = IP.CD_ITEM)
WHERE IP.CD_EMPRESA = :CD_EMPRESA
AND IP.NR_PEDIDO = :NR_PEDIDO
AND IP.TP_PEDIDO = :TP_PEDIDO
AND MO.DS_ESPECIFICACAO IS NOT NULL CD_EMPRESA 1 NR_PEDIDO 1 TP_PEDIDO

Tabelas Utilizadas​

TabelaUso
CALCULA_IMPOSTOSreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
DATA_EXTENSOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
IMPOSTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
MAQUINAORCAMENTOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
ORCAMENTOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_VENCIMENTOSreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD096/ULPD096.pas
  • DFM: source/LPD096/ULPD096.dfm
  • Package: source/LPD096/LPD096.dpk