LNF028 — Listagem LNF028
Visão Geral
Layout de impressão da família LNF (Nota Fiscal). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.
Descrição
Consulta baseada em HABILITA_PESOQTDE, com junção em ITEMNOTA, PESSOA, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+12), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_TIPOCALCULO (+13).
Chamada
ExecLayout(Connection, [
// 0 - Nome do Layout da Nota Fiscal
// 1 - Cod Empresa
// 2 - Nr Lancamento
// 3 - Tp Nota
// 4 - Cod Serie
// 5 - Path Servidor
// 6 - Visualiza -> V ou Imprime -> I
// 7 - Impressora do Parametro
]);
SQL Base
Pedido #1
SELECT N.ST_NOTA, N.CD_EMPRESA, E.NM_EMPRESA, PARMFATUR.DS_LOGOTIPO, N.CD_SERIE, 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_LANCAMENTO, N.TP_NOTA, N.DT_EMISSAO, N.NR_NOTAFISCAL, CAST(N.DT_EMISSAO ||' '|| CURRENT_TIME AS TIMESTAMP) DT_EMISSAO, N.CD_PESSOA, '('||CAST(N.CD_PESSOA AS VARCHAR(10))||') '||P.NM_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, EP.NR_CELULAR NR_CELCLIENTE, EP.DS_COMPLEMENTO DS_COMPLEMENTO, MOV.DS_NATUREZA, CASE C.ST_CONDPAGTO WHEN 'D' THEN 'Vencto.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y') ELSE C.DS_CONDPAGTO END DS_CONDPAGTO, N.CD_CONDPAGTO, '('||N.CD_VENDEDOR||') '||V.NM_PESSOA NM_VENDEDOR, IP.CD_ITEM, I.DS_ITEM, --I.SG_UNIDMED, I.SG_UNIDALT, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_DESPESA, IP.VL_FRETE, IP.VL_TOTAL, IP.VL_TOTAL + COALESCE(IP.VL_FRETE,0) + COALESCE(IP.VL_DESPESA,0) - COALESCE(IP.VL_DESCONTO,0) VL_LIQUIDO, IP.DS_SERVICO, IP.QT_ITEMNOTA , HPQ.SG_QTDE, IP.PS_ITEMNOTA, HPQ.SG_PESO, T.VL_PRECO VL_PRECOVENDA, (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) TIPO, 'Observação.: '||N.DS_OBSERVACAO DS_OBSERVACAO, P.NM_FANTASIA, F.DS_FORMAPAGTO, G.DS_GRADE, CAST(NULL AS VARCHAR(30))DS_DESCRICAO,CAST(NULL AS NUMERIC(18,2))VL_DIFERENCA, IIF(N.ST_NOTA = 'C', 'Nota Fiscal Cancelada', iif(N.ST_NOTA = 'E', 'Nota Fiscal Excluida', Null)) DS_ST_NOTA, C.ST_CONDPAGTO
FROM NOTA N
INNER JOIN ITEMNOTA IP ON (N.NR_LANCAMENTO = IP.NR_LANCAMENTO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_NOTA = IP.TP_NOTA
AND N.CD_SERIE = IP.CD_SERIE)
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 TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = I.CD_TIPOCALCULO)
INNER JOIN MOVIMENTACAO MOV ON (MOV.CD_MOVIMENTACAO = IP.CD_MOVIMENTACAO)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN PARMFATUR ON (PARMFATUR.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN ITEMTABPRECO T ON (T.CD_TABPRECO = PARMFATUR.CD_TABPRECO
AND T.CD_ITEM = IP.CD_ITEM)
INNER JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN HABILITA_PESOQTDE(IP.CD_ITEM) HPQ ON (1=1)
LEFT JOIN GRADE G ON (G.CD_GRADE = I.CD_GRADE)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_LANCAMENTO = :NR_LANCAMENTO
AND N.TP_NOTA = :TP_NOTA
AND N.CD_SERIE = :CD_SERIE CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE
SELECT CONTAS.DT_VENCIMENTO, CONTAS.VL_DOCUMENTO, CONTAS.NR_PARCELA, F.DS_FORMAPAGTO, LNF.O_VL_CHEQUE, LNF.O_VL_ENTRADA
FROM CONTAS
INNER JOIN VIEW_LNF028(CONTAS.CD_EMPRESA,CONTAS.NR_LANCTONOTA, CONTAS.TP_CONTAS, CONTAS.CD_SERIE) LNF ON(1=1)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = CONTAS.CD_FORMAPAGTO)
WHERE CONTAS.CD_EMPRESA = :CD_EMPRESA
AND CONTAS.NR_LANCTONOTA = :NR_LANCAMENTO
AND CONTAS.TP_CONTAS = :TP_NOTA
AND CONTAS.CD_SERIE = :CD_SERIE
AND CONTAS.ST_CONTAS IN ('T', 'P', 'L')
AND CONTAS.DT_VENCIMENTO > CONTAS.DT_LANCAMENTO
ORDER BY CONTAS.DT_VENCIMENTO CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE
SELECT N.*
FROM ITEMNOTASEMENTE N
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_LANCAMENTO = :NR_LANCAMENTO
AND N.TP_NOTA = :TP_NOTA
AND N.CD_SERIE = :CD_SERIE
AND N.CD_ITEM = :CD_ITEM CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE CD_ITEM CD_EMPRESA;NR_LANCAMENTO;TP_NOTA;CD_SERIE;CD_ITEM
SELECT L.DS_LINHA, C.DS_COLUNA, G.QT_GRADE, IG.CD_CODIGOBARRA
FROM ITEMNOTAGRADE G
LEFT JOIN ITEMGRADE IG ON (IG.CD_ITEM = G.CD_ITEM
AND IG.CD_GRADE = G.CD_GRADE
AND IG.NR_LINHA = G.NR_LINHA
AND IG.NR_COLUNA = G.NR_COLUNA)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = G.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = G.NR_COLUNA)
WHERE G.CD_EMPRESA = :CD_EMPRESA
AND G.NR_LANCAMENTO = :NR_LANCAMENTO
AND G.TP_NOTA = :TP_NOTA
AND G.CD_SERIE = :CD_SERIE
AND G.CD_ITEM = :CD_ITEM CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE CD_ITEM CD_EMPRESA;NR_LANCAMENTO;TP_NOTA;CD_SERIE;CD_EMPRESA;NR_LANCAMENTO;TP_NOTA;CD_SERIE
SELECT IIF(SUM(X.VL_SALDOCLIENTE) <> 0, 'NOTA FISCAL DE TROCA','') DS_LABEL, IIF(SUM(X.VL_SALDOCLIENTE) > 0, 'Valor a Receber (Diferença): ', IIF(SUM(X.VL_SALDOCLIENTE) < 0, 'Valor a Pagar (Diferença): ','')) DS_DESCRICAO, IIF(SUM(X.VL_SALDOCLIENTE) < 0, SUM(X.VL_SALDOEMPRESA),SUM(X.VL_SALDOCLIENTE))VL_VALOR
FROM (
SELECT DISTINCT N.CD_EMPRESA,N.NR_LANCAMENTO,N.DT_EMISSAO, COALESCE(N.NR_NOTAFISCAL,N.NR_NOTAFOR) NR_NOTA, COALESCE(N.CD_SERIEFOR, N.CD_SERIE) CD_SERIENF, ITN.VL_LIQUIDO * CASE N.TP_NOTA WHEN 'E' THEN -1 ELSE 1 END VL_SALDOEMPRESA, ITN.VL_LIQUIDO * CASE N.TP_NOTA WHEN 'E' THEN 1 ELSE -1 END VL_SALDOCLIENTE
FROM NOTA N
INNER JOIN TROCANF TNF ON (TNF.CD_EMPRESADEVOL = N.CD_EMPRESA
AND TNF.NR_LANCTODEVOL = N.NR_LANCAMENTO
AND TNF.CD_SERIEDEVOL = N.CD_SERIE
AND TNF.TP_NOTADEVOL = N.TP_NOTA )
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.CD_SERIE = N.CD_SERIE
AND ITN.TP_NOTA = N.TP_NOTA)
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA)
WHERE TNF.CD_EMPRESA = :CD_EMPRESA
AND TNF.NR_LANCAMENTO = :NR_LANCAMENTO
AND TNF.TP_NOTA = :TP_NOTA
AND TNF.CD_SERIE = :CD_SERIE
UNION ALL
SELECT DISTINCT N.CD_EMPRESA,N.NR_LANCAMENTO,N.DT_EMISSAO, COALESCE(N.NR_NOTAFISCAL,N.NR_NOTAFOR) NR_NOTA, COALESCE(N.CD_SERIEFOR, N.CD_SERIE) CD_SERIENF, ITN.VL_LIQUIDO * CASE N.TP_NOTA WHEN 'E' THEN -1 ELSE 1 END VL_SALDOEMPRESA, ITN.VL_LIQUIDO * CASE N.TP_NOTA WHEN 'E' THEN 1 ELSE -1 END VL_SALDOCLIENTE
FROM NOTA N
INNER JOIN TROCANF TNF ON (TNF.CD_EMPRESA = N.CD_EMPRESA
AND TNF.NR_LANCAMENTO = N.NR_LANCAMENTO
AND TNF.CD_SERIE = N.CD_SERIE
AND TNF.TP_NOTA = N.TP_NOTA )
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.CD_SERIE = N.CD_SERIE
AND ITN.TP_NOTA = N.TP_NOTA)
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA)
WHERE TNF.CD_EMPRESA = :CD_EMPRESA
AND TNF.NR_LANCAMENTO = :NR_LANCAMENTO
AND TNF.TP_NOTA = :TP_NOTA
AND TNF.CD_SERIE = :CD_SERIE) X CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE
Pedido #2
{frmLNF028}
Consulta #1
SELECT PARM.ST_GERABOLETO
FROM PARMNOTA PARM
WHERE PARM.CD_EMPRESA = {iParametros[1]}
AND PARM.TP_NOTA = {Nulo(iParametros[3],}S{)}
AND PARM.CD_SERIE = {Nulo(iParametros[4],}S{)}
Consulta #2
SELECT C.NR_NOSSONUMEROAPI {#10}
FROM CONTAS C {#10}
WHERE C.CD_EMPRESA = {nulo(iParametros[1],}I{) +#10}
AND C.NR_LANCTONOTA = {nulo(iParametros[2],}I{) +#10}
AND C.TP_CONTAS = {nulo(iParametros[3],}S{) +#10}
AND C.CD_SERIE ={nulo(iParametros[4],}S{)}
Tabelas Utilizadas
| Tabela | Uso |
|---|---|
COLUNAGRADE | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMGRADE | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
ITEMNOTAGRADE | referenciada nas queries do layout |
ITEMNOTASEMENTE | referenciada nas queries do layout |
ITEMTABPRECO | referenciada nas queries do layout |
LINHAGRADE | referenciada nas queries do layout |
MOVIMENTACAO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMNOTA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
TROCANF | referenciada nas queries do layout |
| [[VIEW_LNF028]] | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF028/ULNF028.pas - DFM:
source/LNF028/ULNF028.dfm - Package:
source/LNF028/LNF028.dpk