LPD030 — Listagem LPD030
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 PEDIDO, com junção em ITEMPEDIDO, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+7), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_MARCA (+7).
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, TP.TP_UNIDADE, N.DT_PEDIDO, 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_INSCEST, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') ELSE FIN.DS_CONDPAGTO END 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, MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, I.SG_UNIDMED, I.SG_UNIDALT, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_JURO,0) VL_LIQUIDO, IP.PS_PEDIDO, IP.QT_PEDIDA, COALESCE(IP.VL_DESPESA,0) + COALESCE(IP.VL_JURO,0) VL_DESPESA, COALESCE(N.DS_OBSERVACAO,'')||COALESCE(' '||PARM.DS_MSGPEDIDO,'') DS_OBSERVACAO, M.DS_MARCA, I.CD_CODIGOBARRA, N.HR_PEDIDO, N.CD_USUARIO, US.NM_USUARIO
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)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
LEFT JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
INNER JOIN TIPOCALCULO TP ON (TP.cd_tipocalculo = I.CD_TIPOCALCULO)
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 CONDPAGTO FIN ON (FIN.CD_CONDPAGTO = N.CD_CONDPAGTO)
LEFT JOIN USUARIO US ON (US.CD_USUARIO = N.CD_USUARIO)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_PEDIDO = :NR_PEDIDO
AND N.TP_PEDIDO = :TP_PEDIDO
ORDER BY IP.NR_SEQUENCIA CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO
SELECT P.DT_VENCIMENTO, P.VL_PARCELA, P.NR_PARCELA
FROM PARCELAPEDIDO P
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PEDIDO = :NR_PEDIDO
AND P.TP_PEDIDO = :TP_PEDIDO
ORDER BY P.DT_VENCIMENTO CD_EMPRESA 1 NR_PEDIDO TP_PEDIDO
tabContas
SELECT P.DT_VENCIMENTO, (SS.V_VL_SALDOTOTAL / ( {#10}
SELECT COUNT(PP.NR_PARCELA) {#10}
FROM PARCELAPEDIDO PP {#10}
WHERE PP.CD_EMPRESA = N.CD_EMPRESA {#10}
AND PP.NR_PEDIDO = N.NR_PEDIDO {#10}
AND PP.TP_PEDIDO = N.TP_PEDIDO)) VL_PARCELA, {#10}P.NR_PARCELA {#10}
FROM PEDIDO N {#10}
INNER JOIN PARCELAPEDIDO P ON (P.CD_EMPRESA = N.CD_EMPRESA {#10}
AND P.NR_PEDIDO = N.NR_PEDIDO {#10}
AND P.TP_PEDIDO = N.TP_PEDIDO) {#10}
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO) {#10}
LEFT JOIN RETORNA_SALDOPEDIDO (IP.CD_EMPRESA, IP.NR_PEDIDO, IP.TP_PEDIDO, IP.CD_ITEM, IP.PS_PEDIDO, {#10} IP.QT_PEDIDA, IP.PS_ATENDIDO, IP.QT_ATENDIDA, IP.VL_UNITARIO, IP.VL_DESCONTO, {#10} IP.VL_DESPESA, IP.VL_TOTAL) SS ON (1=1) {#10}
WHERE P.CD_EMPRESA = :CD_EMPRESA {#10}
AND P.NR_PEDIDO = :NR_PEDIDO {#10}
AND P.TP_PEDIDO = :TP_PEDIDO {#10}
GROUP BY P.NR_PARCELA, P.DT_VENCIMENTO, SS.V_VL_SALDOTOTAL, P.CD_FORMAPAGTO, {#10}N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO {#10}
ORDER BY P.DT_VENCIMENTO
Consulta
SELECT COUNT(I.ST_ITEMPEDIDO)
FROM ITEMPEDIDO I
WHERE I.CD_EMPRESA = {iParametros[1]}
AND I.NR_PEDIDO = {iParametros[2]}
AND I.TP_PEDIDO = {Nulo(iParametros[3],}S{)}
AND I.ST_ITEMPEDIDO IN ('P','A')
text
SELECT N.CD_EMPRESA, E.NM_EMPRESA, TP.TP_UNIDADE, N.DT_PEDIDO, {#10}EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ') DS_ENDEREMP, {#10}ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_MUNICEMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, {#10}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, {#10}P.NR_CNPJCPF, EP.NR_CEP, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, {#10}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_INSCEST, {#10}COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, CASE C.ST_CONDPAGTO {#10} WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') {#10} ELSE FIN.DS_CONDPAGTO {#10}END DS_CONDPAGTO, {#10}N.CD_CONDPAGTO, N.DT_VENCIMENTO, N.CD_VENDEDOR, V.NM_PESSOA||' - '||N.CD_VENDEDOR NM_VENDEDOR, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, {#10}MP.DS_MUNICIPIO DS_MUNIC, MP.SG_ESTADO, IP.CD_ITEM, I.DS_ITEM, IP.VL_UNITARIO, SS.V_VL_SALDODESC VL_DESCONTO, {#10+//IP.VL_TOTAL,} I.SG_UNIDMED, I.SG_UNIDALT, {#10}CASE TP.TP_UNIDADE WHEN 'Q' THEN ((SS.V_QT_SALDO * IP.VL_UNITARIO) - COALESCE(SS.V_VL_SALDODESC,0) + COALESCE(SS.V_VL_SALDODESP,0) + COALESCE(IP.VL_JURO,0)) {#10} ELSE ((SS.V_PS_SALDO * IP.VL_UNITARIO) - COALESCE(SS.V_VL_SALDODESC,0) + COALESCE(SS.V_VL_SALDODESP,0) + COALESCE(IP.VL_JURO,0)) END VL_LIQUIDO, {#10}COALESCE(SS.V_VL_SALDODESP,0) + COALESCE(IP.VL_JURO,0) VL_DESPESA, COALESCE(N.DS_OBSERVACAO,' ')||COALESCE(' '||PARM.DS_MSGPEDIDO,' ') DS_OBSERVACAO, {#10}M.DS_MARCA, SS.V_QT_SALDO QT_PEDIDA, SS.V_PS_SALDO PS_PEDIDO, SS.V_VL_SALDOTOTAL VL_TOTAL, N.HR_PEDIDO {#10}
FROM PEDIDO N {#10}
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO) {#10}
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EP ON (N.CD_PESSOA = EP.CD_PESSOA {#10}
AND N.CD_ENDERECO = EP.CD_ENDERECO) {#10}
INNER JOIN MUNICIPIO MP ON (EP.CD_MUNICIPIO = MP.CD_MUNICIPIO) {#10}
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (E.CD_PESSOA = PE.CD_PESSOA) {#10}
INNER JOIN ENDERECOPESSOA EE ON (EE.CD_PESSOA = PE.CD_PESSOA {#10}
AND EE.CD_ENDERECO = {#10} (
SELECT MIN(CD_ENDERECO) {#10}
FROM ENDERECOPESSOA ENDER {#10}
WHERE ENDER.CD_PESSOA = EE.CD_PESSOA)) {#10}
INNER JOIN MUNICIPIO ME ON (EE.CD_MUNICIPIO = ME.CD_MUNICIPIO) {#10}
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO) {#10}
INNER JOIN ITEM I ON (IP.CD_ITEM = I.CD_ITEM) {#10}
LEFT JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA) {#10}
INNER JOIN TIPOCALCULO TP ON (TP.cd_tipocalculo = I.CD_TIPOCALCULO) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA) {#10}
LEFT JOIN PESSOAFISICA PF ON (PF.CD_PESSOA = P.CD_PESSOA) {#10}
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR) {#10}
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO) {#10}
LEFT JOIN CONDPAGTO FIN ON (FIN.CD_CONDPAGTO = N.CD_CONDPAGTO) {#10}
LEFT JOIN RETORNA_SALDOPEDIDO (IP.CD_EMPRESA, IP.NR_PEDIDO, IP.TP_PEDIDO, IP.CD_ITEM, IP.PS_PEDIDO, {#10} IP.QT_PEDIDA, IP.PS_ATENDIDO, IP.QT_ATENDIDA, IP.VL_UNITARIO, IP.VL_DESCONTO, {#10} IP.VL_DESPESA, IP.VL_TOTAL) SS ON (1=1){#10}
WHERE N.CD_EMPRESA = :CD_EMPRESA {#10}
AND N.NR_PEDIDO = :NR_PEDIDO {#10}
AND N.TP_PEDIDO = :TP_PEDIDO {#10}
AND IP.ST_ITEMPEDIDO IN ('N', 'P') {#10}
AND ((COALESCE(SS.V_PS_SALDO,0) >= 0 )
OR (COALESCE(SS.V_PS_SALDO,0) >= 0) ) {#10}
ORDER BY IP.NR_SEQUENCIA
Text
SELECT P.DT_VENCIMENTO, (SS.V_VL_SALDOTOTAL / ( {#10}
SELECT COUNT(PP.NR_PARCELA) {#10}
FROM PARCELAPEDIDO PP {#10}
WHERE PP.CD_EMPRESA = N.CD_EMPRESA {#10}
AND PP.NR_PEDIDO = N.NR_PEDIDO {#10}
AND PP.TP_PEDIDO = N.TP_PEDIDO)) VL_PARCELA, {#10}P.NR_PARCELA {#10}
FROM PEDIDO N {#10}
INNER JOIN PARCELAPEDIDO P ON (P.CD_EMPRESA = N.CD_EMPRESA {#10}
AND P.NR_PEDIDO = N.NR_PEDIDO {#10}
AND P.TP_PEDIDO = N.TP_PEDIDO) {#10}
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO) {#10}
LEFT JOIN RETORNA_SALDOPEDIDO (IP.CD_EMPRESA, IP.NR_PEDIDO, IP.TP_PEDIDO, IP.CD_ITEM, IP.PS_PEDIDO, {#10} IP.QT_PEDIDA, IP.PS_ATENDIDO, IP.QT_ATENDIDA, IP.VL_UNITARIO, IP.VL_DESCONTO, {#10} IP.VL_DESPESA, IP.VL_TOTAL) SS ON (1=1) {#10}
WHERE P.CD_EMPRESA = :CD_EMPRESA {#10}
AND P.NR_PEDIDO = :NR_PEDIDO {#10}
AND P.TP_PEDIDO = :TP_PEDIDO {#10}
GROUP BY P.NR_PARCELA, P.DT_VENCIMENTO, SS.V_VL_SALDOTOTAL, P.CD_FORMAPAGTO, {#10}N.CD_EMPRESA, N.NR_PEDIDO, N.TP_PEDIDO {#10}
ORDER BY P.DT_VENCIMENTO
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
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 |
MARCA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
PARCELAPEDIDO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PESSOAFISICA | referenciada nas queries do layout |
RETORNA_SALDOPEDIDO | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPD030/ULPD030.pas - DFM:
source/LPD030/ULPD030.dfm - Package:
source/LPD030/LPD030.dpk