Pular para o conteúdo principal

LPD015 — Listagem LPD015

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 PESSOA, ENDERECOPESSOA, MUNICIPIO, PARMFATUR, ITEM, ITEMPEDIDOGRADE (+2), filtrada por CD_EMPRESA, NR_PEDIDO, TP_PEDIDO, JO, CD_PESSOA, CD_ENDERECO (+9).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout da Nota Fiscal
// 1 - Cod Empresa
// 2 - Nr Pedido
// 3 - Tp Pedido
// 4 - Path Servidor
// 5 - Visualiza -> V ou Imprime -> I
// 6 - Usuario
]);

SQL Base​

tabNota​

SELECT N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, N.DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA, P.NM_FANTASIA, V.NM_PESSOA NM_VENDEDOR, P.NR_CNPJCPF, EP.NR_CEP, N.CD_FORMAPAGTO, EP.DS_ENDERECO||TRIM(COALESCE(', '||EP.NR_ENDERECO,'')) DS_ENDERECO, COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, MP.DS_MUNICIPIO, MP.SG_ESTADO, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, Coalesce( 'OBS.: ' || PF.DS_MSGPEDIDO, ' ')DS_MSGPEDIDO, (
SELECT SUM(NI.VL_TOTAL - COALESCE(NI.VL_DESCONTO,0))
FROM ITEMPEDIDO NI
WHERE NI.CD_EMPRESA = N.CD_EMPRESA
AND NI.NR_PEDIDO = N.NR_PEDIDO
AND NI.TP_PEDIDO = N.TP_PEDIDO) VL_PEDIDO
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)
INNER JOIN PARMFATUR PF ON (PF.CD_EMPRESA = N.CD_EMPRESA )
LEFT JOIN PESSOA V ON (N.CD_VENDEDOR = V.CD_PESSOA)
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, N.NR_PEDIDO, N.TP_PEDIDO, I.CD_ITEM, I.DS_ITEM , I.SG_UNIDMED, I.SG_UNIDALT, COALESCE(N.QT_PEDIDA, N.PS_PEDIDO) QTDE, N.VL_UNITARIO, N.VL_DESCONTO, N.VL_TOTAL, (N.VL_TOTAL - COALESCE(N.VL_DESCONTO,0)) VL_LIQUIDO
FROM ITEMPEDIDO N
INNER JOIN ITEM I ON (N.CD_ITEM = I.CD_ITEM)
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 C.NR_PEDIDO, C.DT_EMISSAO, C.VL_DOCUMENTO, C.DT_VENCIMENTO
FROM VIEW_CONTASPEDIDO(:V_CD_EMPRESA, :V_NR_PEDIDO, :V_TP_PEDIDO) C V_CD_EMPRESA V_NR_PEDIDO V_TP_PEDIDO
SELECT N.CD_ITEM, CG.DS_COLUNA, LG.DS_LINHA, IPG.QT_GRADE
FROM ITEMPEDIDO N
LEFT JOIN ITEMPEDIDOGRADE IPG ON (IPG.CD_EMPRESA = N.CD_EMPRESA
AND IPG.CD_ITEM = N.CD_ITEM
AND IPG.NR_PEDIDO = N.NR_PEDIDO
AND IPG.TP_PEDIDO = N.TP_PEDIDO)
LEFT JOIN COLUNAGRADE CG ON (CG.CD_GRADE = IPG.CD_GRADE
AND CG.NR_COLUNA = IPG.NR_COLUNA)
LEFT JOIN LINHAGRADE LG ON (LG.CD_GRADE = IPG.CD_GRADE
AND LG.NR_LINHA = IPG.NR_LINHA)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
AND N.CD_ITEM = :CD_ITEM CD_EMPRESA NR_PEDIDO TP_PEDIDO CD_ITEM

Consulta​

SELECT O_CD_EMPRESA, O_DS_IMPRESSORA, O_CD_IMPRESSORA
FROM RETORNA_IMPRESSORAUSUARIO({ IntToStr(sessao.empresa.cd_Empresa)}, {QuotedStr(sessao.usuario.cd_Usuario)}, 'N', 'D' )

Tabelas Utilizadas​

TabelaUso
COLUNAGRADEreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
ITEMPEDIDOGRADEreferenciada nas queries do layout
LINHAGRADEreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_IMPRESSORAUSUARIOreferenciada nas queries do layout
VIEW_CONTASPEDIDOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPD015/ULPD015.pas
  • DFM: source/LPD015/ULPD015.dfm
  • Package: source/LPD015/LPD015.dpk