LNF140 — Listagem LNF140
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 PARMFATUR, com junção em PESSOA, ITEMNOTA, IMPOSTONOTA, ITEM, MARCA, GRADE (+15), filtrada por CD_EMPRESA, NR_, CD_VENDEDOR, ST_NOTA, TP_UNIDADE, V_TIPO (+17).
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
tabNOTA #1
SELECT DISTINCT --EMPRESA-- N.CD_EMPRESA, PE.NM_PESSOA NM_EMPRESA, PE.NM_FANTASIA , PE.NR_CNPJCPF NR_CNPJEMPRESA, EE.NR_INSCEST NR_INSCESTEMPRESA, EE.NR_INSCMUN NR_INSCMUNEMPRESA, PE.DS_SITE DS_SITEEMPRESA, PE.DS_EMAIL DS_EMAILEMPRESA, EE.DS_ENDERECO DS_ENDEMPRESA, EE.NR_ENDERECO NR_ENDEMPRESA, EE.NR_CEP NR_CEPEMPRESA, EE.DS_BAIRRO DS_BAIRROEMPRESA, EE.DS_COMPLEMENTO DS_COMPEMPRESA, ME.DS_MUNICIPIO DS_MUNEMPRESA, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, PA.DS_LOGOTIPO, COALESCE(PU.NM_PESSOA,U.NM_USUARIO) NM_USUARIO, EE.DS_ENDERECO||COALESCE(', Nº '|| EE.NR_ENDERECO,' ')||COALESCE(', Cep: '||EE.NR_CEP,' ') || COALESCE(', Bairro: '|| EE.DS_BAIRRO,' ')||Coalesce(', '||EE.DS_COMPLEMENTO,' ')|| COALESCE(' - '||ME.DS_MUNICIPIO||' , '||ESE.DS_ESTADO,' ') DS_ENDCOMPLETOEMPRESA, '('||N.CD_EMPRESA||') '||COALESCE(PE.NM_FANTASIA, '') NM_FANTCOD, COALESCE(PE.NM_FANTASIA||' - ', '')||COALESCE(PE.NM_PESSOA, '') NM_FANTEMPRESA, '('||N.CD_EMPRESA||') '||COALESCE(PE.NM_FANTASIA||' - ', '')||COALESCE(PE.NM_PESSOA, '') NM_FANTEMPRESACOD, '('||N.CD_EMPRESA||') '||COALESCE(PE.NM_PESSOA, '')||COALESCE(' - '||PE.NM_FANTASIA, '') NM_EMPRESAFANTCOD, --CLIENTE-- P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, P.NM_FANTASIA NM_FANTASIAPESSOA, EP.DS_ENDERECO DS_ENDPESSOA, EP.NR_ENDERECO NR_ENDPESSOA, EP.NR_CEP NR_CEPPESSOA, EP.DS_BAIRRO DS_BAIRROPESSOA, EP.DS_COMPLEMENTO DS_COMPPESSOA, MP.DS_MUNICIPIO DS_MUNPESSOA, EP.NR_FONE, EP.NR_FAX, EP.DS_CONTATO, EP.NR_CELULAR, EP.DS_ENDERECO||COALESCE(', Nº '|| EP.NR_ENDERECO,' ')||COALESCE(', Cep: '||EP.NR_CEP,' ') || COALESCE(', Bairro: '|| EP.DS_BAIRRO,' ')||Coalesce(', '||EP.DS_COMPLEMENTO,' ')|| COALESCE(' - '||MP.DS_MUNICIPIO||' , '||ESP.DS_ESTADO,' ') DS_ENDCOMPLETOPESSOA, (
SELECT CASE PFR.ST_OBSCLIENTE WHEN 'S' THEN P.DS_OBSERVACAO WHEN 'O' THEN P.DS_OBSFINANCEIRO ELSE NULL END
FROM PARMFATUR PFR
WHERE PFR.CD_EMPRESA = N.CD_EMPRESA ) DS_OBSPESSOA, '('||P.CD_PESSOA||') '||COALESCE(P.NM_FANTASIA, '') NM_FANTPESSOACOD, COALESCE(P.NM_FANTASIA||' - ', '')||COALESCE(P.NM_PESSOA, '') NM_FANTPESSOA, '('||P.CD_PESSOA||') '||COALESCE(P.NM_FANTASIA||' - ', '')||COALESCE(P.NM_PESSOA, '') NM_CODFANTPESSOA, '('||P.CD_PESSOA||') '||COALESCE(P.NM_PESSOA, '')||COALESCE(' - '||P.NM_FANTASIA, '') NM_PESSOAFANTCOD, EP.NR_INSCEST, --NOTA-- COALESCE(N.NR_NOTAFOR,N.NR_NOTAFISCAL) NR_DOCUMENTO, N.DT_EMISSAO DT_DOCUMENTO, N.DT_REGISTRO HR_DOCUMENTO, FORMATA_DATA(N.DT_EMISSAO,'%d/%m/%y')||' - '||FORMATA_DATA(N.DT_REGISTRO,'%H:%M:%S') DT_DOCUMENTOHORA, V.CD_PESSOA||' - '||V.NM_PESSOA NM_VENDEDOR, (
SELECT FIRST 1 DS_ROTA
FROM ROTA
WHERE CD_VENDEDOR = V.CD_PESSOA) DS_ROTA, pc.CD_PESSOA||' - '||PC.NM_PESSOA NM_COMPRADOR, IIF(N.ST_NOTA = 'C', 'Nota Fiscal Cancelada', iif(N.ST_NOTA = 'E', 'Nota Fiscal Excluida', Null)) DS_ST_NOTA, --PRODUTO-- I.CD_ITEM, I.DS_ITEM, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE, ITN.CD_TABPRECO, RP.O_VL_PRECO VL_PRECO, ITN.VL_UNITARIO, ITN.VL_TOTAL, ITN.VL_TOTAL - SUM(IPN.VL_IMPOSTO) VL_LIQIMPTOT, ITN.VL_UNITARIO - (SUM(IPN.VL_IMPOSTO) * ITN.VL_UNITARIO / ITN.VL_TOTAL)VL_LIQIMPUNIT, ITN.DS_SERVICO DS_OBSERVACAOPROD, I.DS_ESPECIFICACAO DS_OBSERVACAO, I.CD_CODIGOBARRA, N.DS_OBSERVACAO DS_OBSNOTA, I.CD_FORNECEDOR1, COALESCE(I.PS_LIQUIDOEMB,0) + COALESCE(I.PS_EMBALAGEM,0) PS_ITEM, SUM(IPN.VL_IMPOSTO) VL_IMPOSTO, ITN.VL_DESCONTO VL_DESCITEM, ITN.VL_TOTAL - COALESCE(ITN.VL_DESCONTO,0) VL_LIQUIDOITEM, RP1.O_VL_PRECO VL_PRECOTAB1, ITN.VL_FRETE, I.SG_UNIDMED SG_UNIDMED, IIF(HPQ.TP_UNIDADE <> 'T', HPQ.SG_QTDE, '') SG_UNIDALT, ITN.QT_ITEMNOTA, ITN.PS_ITEMNOTA, IIF(HPQ.V_TIPO = 'Q', ITN.QT_ITEMNOTA, ITN.PS_ITEMNOTA) QTDE, IIF(HPQ.V_TIPO = 'Q', COALESCE(I.SG_UNIDALT,I.SG_UNIDMED), I.SG_UNIDMED) SIGLA_UNIDADE, CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(ITN.QT_ITEMNOTA * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(ITN.PS_ITEMNOTA * RP1.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTPRAZO, /*vl_tot A Prazo*/ CASE WHEN (
SELECT TC.TP_UNIDADE
FROM TIPOCALCULO TC
WHERE TC.CD_TIPOCALCULO = I.CD_TIPOCALCULO) = 'Q' THEN CAST(ITN.QT_ITEMNOTA * RP.O_VL_PRECO AS DOM_NUMERIC15_2) ELSE CAST(ITN.PS_ITEMNOTA * RP.O_VL_PRECO AS DOM_NUMERIC15_2) END VL_TOTAVISTA, /*vl_tot A Vista*/ CASE WHEN I.TP_ITEM = 'S'
AND ITN.DS_SERVICO IS NOT NULL THEN ITN.DS_SERVICO ELSE I.DS_ITEM END DS_ITEM_SERVICO, CASE WHEN I.TP_ITEM = 'S' THEN 1 ELSE 2 END NR_ORDER, CASE WHEN I.TP_ITEM = 'P' THEN 'Produtivo (Industrializado)' WHEN I.TP_ITEM = 'I' THEN 'Improdutivo (Revenda)' WHEN I.TP_ITEM = 'S' THEN 'Serviço' ELSE 'Aplicação Imediata' END DS_TP_ITEM, --RODAPÉ-- N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, N.VL_NOTAFISCAL VL_LIQUIDO, N.VL_NOTAFISCAL + COALESCE(N.VL_DESCONTO,0) - COALESCE(N.VL_DESPESA,0) VL_NOTAFISCAL, N.VL_DESPESA, N.VL_DESCONTO, SUM(COALESCE(ITN.PS_ITEMNOTA,ITN.QT_ITEMNOTA)) QT_TOTAL, RDC.DS_ENDCOMPLETO DS_ENDCOBRANCA, RDE.DS_ENDCOMPLETO DS_ENDENTREGA , i.tp_item, N.TP_NOTA, N.CD_SERIE, N.NR_LANCAMENTO, N.DS_OBSNOTA DS_OBSERVACAONOTA
FROM NOTA N
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = N.CD_EMPRESA
AND ITN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND ITN.TP_NOTA = N.TP_NOTA
AND ITN.CD_SERIE = N.CD_SERIE)
LEFT JOIN IMPOSTONOTA IPN ON (IPN.CD_EMPRESA = N.CD_EMPRESA
AND IPN.NR_LANCAMENTO = N.NR_LANCAMENTO
AND IPN.TP_NOTA = N.TP_NOTA
AND IPN.CD_SERIE = N.CD_SERIE
AND IPN.CD_ITEM = ITN.CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = ITN.CD_ITEM)
INNER JOIN MARCA M ON (M.CD_MARCA = I.CD_MARCA)
LEFT JOIN GRADE G ON (G.CD_GRADE = I.CD_GRADE)
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 ESTADO ESP ON (ESP.SG_ESTADO = MP.SG_ESTADO)
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 ESTADO ESE ON (ESE.SG_ESTADO = ME.SG_ESTADO)
INNER JOIN CONDPAGTO C ON (N.CD_CONDPAGTO = C.CD_CONDPAGTO)
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)
INNER JOIN PARMFATUR PA ON (PA.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA,'B') RDC ON (1 = 1)
LEFT JOIN RETORNA_DADOSCADASTRAIS(N.CD_PESSOA,'E') RDE ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, ITN.CD_TABPRECO, ITN.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP ON (1 = 1)
LEFT JOIN RETORNA_PRECOITEM(N.CD_EMPRESA, 2, ITN.CD_ITEM, CURRENT_DATE, N.CD_CONDPAGTO, N.DT_VENCIMENTO) RP1 ON (1 = 1)
INNER JOIN USUARIO U ON (U.CD_USUARIO = N.CD_USUARIO)
LEFT JOIN PESSOA PU ON (PU.CD_PESSOA = U.CD_PESSOA)
LEFT JOIN PESSOA PC ON (PC.CD_PESSOA = N.CD_COMPRADOR)
LEFT JOIN HABILITA_PESOQTDE(I.CD_ITEM) HPQ ON(1=1)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_LANCAMENTO = :NR_LANCAMENTO
AND N.TP_NOTA = :TP_NOTA
AND N.CD_SERIE = :CD_SERIE
GROUP BY I.TP_ITEM, DS_TP_ITEM, N.CD_EMPRESA, PE.NM_PESSOA , PE.NM_FANTASIA , PE.NR_CNPJCPF , EE.NR_INSCEST ,EE.NR_INSCMUN , PE.DS_SITE , PE.DS_EMAIL , EE.DS_ENDERECO , EE.NR_ENDERECO , EE.NR_CEP, EE.DS_BAIRRO , EE.DS_COMPLEMENTO , ME.DS_MUNICIPIO ,P.NM_PESSOA, P.CD_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, EP.DS_ENDERECO , EP.NR_ENDERECO , EP.NR_CEP , P.NM_FANTASIA, EP.DS_BAIRRO , EP.DS_COMPLEMENTO , MP.DS_MUNICIPIO , EP.NR_FONE , EP.NR_FAX, EP.NR_CELULAR, EP.NR_INSCEST, N.NR_NOTAFOR,N.NR_NOTAFISCAL, N.DT_EMISSAO , N.DT_REGISTRO , V.CD_PESSOA,V.NM_PESSOA,I.CD_ITEM,I.DS_ITEM, SG_UNIDMED, SG_UNIDALT, M.DS_MARCA, I.CD_GRADE, G.DS_GRADE,ITN.PS_ITEMNOTA,ITN.QT_ITEMNOTA, RP.O_VL_PRECO ,ITN.VL_UNITARIO, ITN.VL_TOTAL, ITN.DS_SERVICO , I.DS_ESPECIFICACAO , I.CD_CODIGOBARRA, I.CD_FORNECEDOR1, I.PS_LIQUIDOEMB, I.PS_EMBALAGEM,N.CD_CONDPAGTO, C.DS_CONDPAGTO, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, PA.DS_MENSAGEM, N.VL_NOTAFISCAL, N.VL_DESCONTO,N.VL_DESPESA, N.VL_NOTAFISCAL, N.VL_DESCONTO,RDC.DS_ENDCOMPLETO, RDE.DS_ENDCOMPLETO,EE.NR_FONE, EE.NR_FAX, PA.DS_LOGOTIPO, ITN.VL_DESCONTO, N.DS_OBSNOTA, N.DS_OBSERVACAO, EP.DS_CONTATO, P.DS_OBSERVACAO, P.DS_OBSFINANCEIRO, NM_USUARIO, ITN.NR_SEQUENCIA, I.CD_TIPOCALCULO, RP1.O_VL_PRECO, ITN.CD_TABPRECO, ESP.DS_ESTADO ,ESE.DS_ESTADO, ITN.VL_FRETE, NM_COMPRADOR, N.TP_NOTA, N.CD_SERIE, N.NR_LANCAMENTO, DS_ST_NOTA, IIF(HPQ.V_TIPO = 'Q', ITN.QT_ITEMNOTA, ITN.PS_ITEMNOTA), IIF(HPQ.V_TIPO = 'Q', COALESCE(I.SG_UNIDALT,I.SG_UNIDMED), I.SG_UNIDMED) CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE CD_EMPRESA;NR_LANCAMENTO;TP_NOTA;CD_SERIE
SELECT C.DT_VENCIMENTO, C.VL_DOCUMENTO, C.NR_PARCELA
FROM CONTAS C
WHERE C.CD_EMPRESA = :CD_EMPRESA
AND C.NR_LANCTONOTA = :NR_LANCAMENTO
AND C.TP_CONTAS = :TP_NOTA
AND C.CD_SERIE = :CD_SERIE
ORDER BY C.DT_VENCIMENTO CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE 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;CD_ITEM;TP_NOTA;NR_LANCAMENTO;CD_SERIE
SELECT ITS.QT_LOTE, ITS.NR_LOTE, LS.DT_FABRICACAO, LS.DT_VALIDADE, LS.NR_DOCUMENTO
FROM ITEMNOTASEMENTE ITS
INNER JOIN ITEMNOTA ITN ON (ITN.CD_EMPRESA = ITS.CD_EMPRESA
AND ITN.CD_SERIE = ITS.CD_SERIE
AND ITN.CD_ITEM = ITS.CD_ITEM
AND ITN.NR_LANCAMENTO = ITS.NR_LANCAMENTO
AND ITN.TP_NOTA = ITS.TP_NOTA)
INNER JOIN LOTESEMENTE LS ON (LS.CD_EMPRESA = ITS.CD_EMPRESA
AND LS.NR_LOTE = ITS.NR_LOTE
AND LS.CD_ITEM = ITS.CD_ITEM)
WHERE ITN.CD_EMPRESA = :CD_EMPRESA
AND ITN.CD_ITEM = :CD_ITEM
AND ITN.TP_NOTA = :TP_NOTA
AND ITN.NR_LANCAMENTO = :NR_LANCAMENTO
AND ITN.CD_SERIE = :CD_SERIE CD_EMPRESA CD_ITEM TP_NOTA NR_LANCAMENTO CD_SERIE
tabNOTA #2
{frmLNF140}
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 |
ESTADO | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
GRADE | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
IMPOSTONOTA | 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 |
LINHAGRADE | referenciada nas queries do layout |
LOTESEMENTE | referenciada nas queries do layout |
MARCA | 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 |
PESSOAFISICA | referenciada nas queries do layout |
RETORNA_DADOSCADASTRAIS | referenciada nas queries do layout |
RETORNA_PRECOITEM | referenciada nas queries do layout |
ROTA | referenciada nas queries do layout |
TIPOCALCULO | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF140/ULNF140.pas - DFM:
source/LNF140/ULNF140.dfm - Package:
source/LNF140/LNF140.dpk