LPD066 — Listagem LPD066
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, MUNICIPIO, FORMAPAGTO, ITEMPEDIDO, ITEM (+7), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_EMPRESA, NR_CONEXAO (+2).
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*/ PE.NM_PESSOA||coalesce(' - '||PE.NM_FANTASIA,'') NM_EMPRESA, EE.DS_ENDERECO||coalesce(', '||EE.NR_ENDERECO,' ')||coalesce(coalesce(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ')||' Fone: '||EE.NR_FONE DS_ENDEREMP, PE.DS_SITE DS_SITEEMP, PE.DS_EMAIL DS_EMAILEMP, EE.NR_FAX NR_FAXEMP, EE.NR_CEP NR_CEPEMP, /*CLIENTE*/ P.CD_PESSOA||' - '||P.NM_PESSOA||coalesce(' - '||P.NM_FANTASIA,'') NM_CLIENTE, EP.DS_ENDERECO||coalesce(', '||EP.NR_ENDERECO,' ') DS_ENDERCLIENTE, EP.DS_BAIRRO DS_BAIRROCLIENTE, coalesce(EP.NR_FONE, coalesce(EP.NR_CELULAR,EP.NR_FAX)) NR_FONECLIENTE, P.NR_CNPJCPF CNPJCPF_CLIENTE, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO MUNICIPIOCLIENTE, EP.NR_CEP CEPCLIENTE, COALESCE(EP.NR_INSCEST,'Isento') INCSCLIENTE, S.CD_USUARIO USUARIOS, /*VENDEDOR*/ V.CD_PESSOA||' - '||V.NM_PESSOA NM_VENDEDOR, /*PEDIDO*/ N.NR_PEDIDO, N.DT_PEDIDO, N.DS_OBSERVACAO, PARM.DS_MSGPEDIDO, CAST(COALESCE (RG.DT_ENTRADA,N.DT_REGISTRO) AS TIME) HR_ENTRADA, CAST(COALESCE (RG.DT_SAIDA,CURRENT_TIMESTAMP) AS TIME) HR_SAIDA, /*TRANSPORTADOR*/ T.CD_PESSOA||' - '||T.NM_PESSOA NM_TRANSPORTADORA, MO.NM_PESSOA NM_MOTORISTA, /*PRODUTO*/ IP.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, IP.VL_UNITARIO, COALESCE(IP.VL_DESCONTO,0) VL_DESCONTO, IP.VL_TOTAL, IP.DS_OBSERVACAO DS_OBSITEM, IP.VL_TOTAL - coalesce(IP.VL_DESCONTO,0) + coalesce(IP.VL_DESPESA,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(I.PS_LIQUIDO,0) DENSIDADE, COALESCE(N.PS_LIQUIDO,0) PS_LIQUIDO, COALESCE(N.PS_BRUTO,0) PS_BRUTO, COALESCE(IP.VL_DESCONTO,0) VL_DESCONTO, /*COND DE PAGTO*/ P.NR_CNPJCPF, EP.NR_CEP, case N.TP_PAGTOFRETE when '1' then 'CIF' when '2' then 'FOB' end TP_PAGTOFRETE, C.DS_CONDPAGTO, N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, RG.PS_ENTRADA PS_TARA, RG.NR_PLACA, CIP.V_VL_TOTAL VL_IMPOSTO, (IP.VL_TOTAL - coalesce(IP.VL_DESCONTO,0) + coalesce(IP.VL_DESPESA,0) + CIP.V_VL_TOTAL) VL_LIQUIDOIMPOSTO, 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 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 (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F on (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN PESSOA T on (T.CD_PESSOA = N.CD_TRANSPORTADOR)
LEFT JOIN PESSOA MO ON (N.CD_REDESPACHO = MO.CD_PESSOA)
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)
INNER JOIN ITEM I on (IP.CD_ITEM = I.CD_ITEM)
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)
INNER JOIN SESSAO s on (S.NR_CONEXAO = CURRENT_CONNECTION)
LEFT JOIN ROMANEIOGRAO RG ON (RG.CD_EMPRESA = N.CD_EMPRESA
AND RG.NR_PEDIDO = N.NR_PEDIDO
AND RG.TP_PEDIDO = N.TP_PEDIDO)
LEFT JOIN CALCULA_IMPOSTOPEDIDO(N.CD_EMPRESA, N.NR_PEDIDO,N.TP_PEDIDO,IP.CD_ITEM,NULL,IP.CD_EMPRESA)CIP 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 NR_PEDIDO TP_PEDIDO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CALCULA_IMPOSTOPEDIDO | 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 |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMPEDIDO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_VENCIMENTOS | referenciada nas queries do layout |
ROMANEIOGRAO | referenciada nas queries do layout |
SESSAO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD066/ULPD066.pas - DFM:
source/LPD066/ULPD066.dfm - Package:
source/LPD066/LPD066.dpk