LPD048 — Listagem LPD048
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 CAIXAEMBARQUE, com junção em ITEMPEDIDO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CALCULA_IMPOSTOPEDIDO (+5), filtrada por NR_CAIXA, TP_PEDIDO, PS_M, AS, NR_, JO (+9).
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
// 6 - Usuario
// 7 - Modelo: Pedido/Orçamento -> 1 ou Romaneio produção -> 2
]);
SQL Base
Pedido
SELECT I.NR_NCM, CI.V_VL_SUBSTITUICAO, N.ST_PEDIDO, N.CD_EMPRESA, E.NM_EMPRESA, LPAD(N.NR_PEDIDO,7,'0') CODBARRA, 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, EP.NR_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, 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, TRA.NM_PESSOA NM_TRANSPORTADOR, CASE N.CD_FORMAPAGTO WHEN 'DB' THEN 'BANCO DO BRASIL, Agência: 587-8, Conta: 26430-X' END DS_CONTABANCARIA, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, RED.NM_PESSOA NM_REDESPACHANTE, IP.CD_ITEM, I.DS_ITEM, I.CD_CODIGOBARRA, I.CD_CODBARRAEMB, I.CD_CODBARRASCOM, I.CD_CODBARRASTRIB, IP.VL_UNITARIO + ((IP.VL_UNITARIO * COALESCE(EP.NR_DISTANCIA,0)) / 100) VL_PRECOSUGERIDO, IP.VL_TOTAL + ((IP.VL_TOTAL * COALESCE(EP.NR_DISTANCIA,0)) / 100) VL_TOTALSUGERIDO, COALESCE(EP.NR_DISTANCIA,0) PC_MARGEMSUGERIDA, COALESCE( IP.QT_CAIXAMASTER||' Caixa(s) com '||CAST(I.PS_MINIMO AS INTEGER)||' unidades'||' - '|| I.NR_CAIXAMASTER||' - '|| (
SELECT CEM.DS_CAIXA|| CEM.QT_COMPRIMENTO||'x'||CEM.QT_LARGURA||'x'||CEM.QT_ALTURA
FROM CAIXAEMBARQUE CEM
WHERE CEM.NR_CAIXA = I.NR_CAIXAMASTER)||' ', '')||COALESCE(IP.DS_OBSERVACAO,'') DS_OBSITEM, IP.VL_DESCONTO, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) VL_TOTAL, IP.VL_TOTAL VL_TOTALBRUTO, (IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0)) / COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) VL_UNITARIO, COALESCE(I.CD_FORNECEDOR1, I.CD_FORNECEDOR2) CD_FORNECEDOR, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(CI.V_VL_SUBSTITUICAO,0) + COALESCE(CI.V_VL_IPI,0) VL_LIQUIDO, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(CI.V_VL_SUBSTITUICAO,0) + COALESCE(CI.V_VL_IPI,0) VL_LIQUIDO_SEM_DESP, COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) PS_PEDIDO, I.SG_UNIDMED, CAST((COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * (I.QT_ALTURA * I.QT_LARGURA * I.QT_COMPRIMENTO)) AS DOM_NUMERIC15_4) QT_VOLUME, (COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * COALESCE(I.PS_LIQUIDOEMB,1)) PS_LIQUIDO, (COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA) * (COALESCE(I.PS_LIQUIDOEMB,1) + COALESCE(I.PS_EMBALAGEM,0))) PS_BRUTO, IP.VL_DESPESA, CASE WHEN N.TP_PEDIDO = 'S' THEN COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') WHEN N.TP_PEDIDO = 'O' THEN COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGORCAMENTO,'') END DS_OBSERVACAO, CI.V_VL_IPI, n.QT_DIASVALIDADE, CASE WHEN N.QT_DIASVALIDADE IS NOT NULL THEN CASE WHEN N.TP_PEDIDO = 'S' THEN 'Este Pedido é Válido por '||N.QT_DIASVALIDADE||' Dias.' WHEN N.TP_PEDIDO = 'O' THEN 'Este Orçamento é Válido por '||N.QT_DIASVALIDADE||' Dias.' END ELSE NULL END DS_VALIDADE, ((COALESCE(IP.VL_DESCONTO,0) * 100.00) / COALESCE(NULLIF(IP.VL_TOTAL,0),1)) PC_DESC_ITEM, N.DS_OBSALTERACAO, IP.VL_UNITARIO VL_UNITARIOBRUTO, (IP.VL_DESCONTO / COALESCE(IP.PS_PEDIDO, IP.QT_PEDIDA)) VL_DESCBRUTO, NULLIF(COALESCE( CASE WHEN I.NR_CAIXAMASTER IS NOT NULL THEN IP.QT_CAIXAMASTER||' Caixa(s) com '||CAST(I.PS_MINIMO AS INTEGER)||' unidades' ELSE '' END, '')||' '||IP.DS_OBSERVACAO, '') DS_OBSMASTER, CASE N.TP_PEDIDO WHEN 'O' THEN 'Orçamento ' ELSE 'Pedido ' END || N.NR_PEDIDO DS_PEDIDO, VENC.O_DS_VENCIMENTO, N.QT_VOLUMEADIC, PE.NR_CNPJCPF NR_CNPJCPFEMITENTE, EE.NR_INSCEST NR_INSCESTEMITENTE, PARM.DS_LOGOTIPO
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)
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)
LEFT JOIN CALCULA_IMPOSTOPEDIDO(N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO, IP.CD_ITEM, ME.SG_ESTADO, N.CD_EMPRESA) CI ON (1 = 1)
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)
LEFT JOIN PESSOA TRA ON (TRA.CD_PESSOA = N.CD_TRANSPORTADOR)
LEFT JOIN PESSOA RED ON (RED.CD_PESSOA = N.CD_REDESPACHO)
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
Consulta
SELECT ST_PEDIDO
FROM PEDIDO
WHERE CD_EMPRESA = {iParametros[1]}
AND NR_PEDIDO = {iParametros[2]}
AND TP_PEDIDO = {Nulo(iParametros[3],}S{)}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
CAIXAEMBARQUE | referenciada nas queries do layout |
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 |
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 |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD048/ULPD048.pas - DFM:
source/LPD048/ULPD048.dfm - Package:
source/LPD048/LPD048.dpk