LNF148 — Listagem LNF148
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 (+4), filtrada por CD_PESSOA, JO, CD_MUNICIPIO, CD_CONDPAGTO, CD_ITEM, CD_GRUPO (+10).
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.CD_EMPRESA, E.NM_EMPRESA, 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, N.DS_OBSNOTA, CAST(N.DT_EMISSAO ||' '|| CURRENT_TIME AS TIMESTAMP) DT_EMISSAO, N.CD_PESSOA, COALESCE(P.NM_FANTASIA||' - ', '')||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, G.CD_GRUPO, G.DS_GRUPO, SG.CD_SUBGRUPO, SG.DS_SUBGRUPO, 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, COALESCE('OBSERVAÇÃO.: '||N.DS_OBSERVACAO,'') DS_OBSERVACAO, IP.CD_ITEM, COALESCE(I.CD_FORNECEDOR1||' - ','')||I.DS_ITEM DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, I.CD_CODIGOBARRA, IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) VL_LIQUIDO, IP.QT_ITEMNOTA, IP.PS_ITEMNOTA, (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) TIPO, I.DS_ITEM DS_ITEM2, P.NM_FANTASIA NM_FANTASIAPESSOA, PE.NM_FANTASIA NM_FANTASIAEMPRESA
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)
LEFT JOIN GRUPO G ON (G.CD_GRUPO = I.CD_GRUPO)
LEFT JOIN SUBGRUPO SG ON (SG.CD_GRUPO = G.CD_GRUPO
AND SG.CD_SUBGRUPO = I.CD_SUBGRUPO)
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
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 NR_LANCAMENTO TP_NOTA CD_SERIE
SELECT CONTAS.DT_VENCIMENTO, CONTAS.VL_DOCUMENTO, CONTAS.NR_PARCELA, F.DS_FORMAPAGTO
FROM CONTAS
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.DT_VENCIMENTO > CONTAS.DT_LANCAMENTO
AND CONTAS.ST_CONTAS <> 'C'
ORDER BY CONTAS.DT_VENCIMENTO CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE
Pedido #2
SELECT N.CD_EMPRESA, E.NM_EMPRESA, {#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, {#10} COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, {#10} N.NR_LANCAMENTO, N.TP_NOTA, N.DT_EMISSAO, N.NR_NOTAFISCAL, N.DS_OBSNOTA, {#10} CAST(N.DT_EMISSAO ||' '|| CURRENT_TIME AS TIMESTAMP) DT_EMISSAO, {#10} N.CD_PESSOA, COALESCE(P.NM_FANTASIA||' - ', '')||P.NM_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, {#10} EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, {#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, {#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, {#10} COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, {#10} G.CD_GRUPO, G.DS_GRUPO, SG.CD_SUBGRUPO, SG.DS_SUBGRUPO, {#10} CASE C.ST_CONDPAGTO {#10} WHEN 'D' THEN 'VENCTO.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%D/%M/%Y') {#10} ELSE C.DS_CONDPAGTO {#10} END DS_CONDPAGTO, N.CD_CONDPAGTO, {#10} '('||N.CD_VENDEDOR||') '||V.NM_PESSOA NM_VENDEDOR, {#10} COALESCE('OBSERVA��O.: '||N.DS_OBSERVACAO,'') DS_OBSERVACAO, {#10} IP.CD_ITEM, COALESCE(I.CD_FORNECEDOR1||' - ','')||I.DS_ITEM DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, I.CD_CODIGOBARRA, {#10} IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, {#10} IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) VL_LIQUIDO, {#10} IP.QT_ITEMNOTA, IP.PS_ITEMNOTA, {#10} (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) TIPO, {#10} I.DS_ITEM DS_ITEM2, {#10} P.NM_FANTASIA NM_FANTASIAPESSOA, {#10} PE.NM_FANTASIA NM_FANTASIAEMPRESA, {#10+ nulo}
Consulta #1
SELECT FIRST 1 CTC.NR_DOCUMENTO, CTC.DT_VENCIMENTO, C.NM_TITULAR, BC.DS_BANCO
FROM CONTAS CT
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRCONTAS = CT.CD_EMPRESA
AND MP.NR_LANCAMENTO = CT.NR_LANCAMENTO
AND MP.CD_PESSOA = CT.CD_PESSOA
AND MP.CD_TIPOCONTA = CT.CD_TIPOCONTA
AND MP.NR_PARCELA = CT.NR_PARCELA)
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = MP.CD_EMPRESA
AND MT.NR_PROCESSO = MP.NR_PROCESSO
AND MT.TP_DOCUMENTO = 'AV')
INNER JOIN CHEQUE C ON (C.CD_EMPRCAIXA = MT.CD_EMPRESA
AND C.NR_LANCCAIXA = MT.NR_LANCCAIXA)
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = C.CD_EMPRESA
AND CTC.NR_LANCAMENTO = C.NR_LANCAMENTO
AND CTC.CD_PESSOA = C.CD_PESSOA
AND CTC.CD_TIPOCONTA = C.CD_TIPOCONTA
AND CTC.NR_PARCELA = C.NR_PARCELA)
INNER JOIN BANCO BC ON (BC.CD_BANCO = CTC.CD_BANCO)
WHERE CT.CD_EMPRESA = {iParametros[1] }
AND CT.NR_LANCTONOTA = {iParametros[2] }
AND CT.TP_CONTAS = {nulo(iParametros[3],}S{) }
AND CT.CD_SERIE = {nulo(iParametros[4],}S{)}
Consulta #2
SELECT CONDPAGTO.ST_CONDPAGTO
FROM NOTA
INNER JOIN CONDPAGTO ON (CONDPAGTO.CD_CONDPAGTO = NOTA.CD_CONDPAGTO)
WHERE NOTA.CD_EMPRESA = {iParametros[1]}
AND NOTA.NR_LANCAMENTO = {iParametros[2]}
AND NOTA.TP_NOTA = {nulo(iParametros[3],}S{)}
AND NOTA.CD_SERIE = {nulo(iParametros[4],}S{)}
Consulta #3
SELECT COALESCE(SUM(CONTAS.VL_DOCUMENTO),0)
FROM CONTAS
WHERE CONTAS.CD_EMPRESA = {iParametros[1] }
AND CONTAS.NR_LANCTONOTA = {iParametros[2] }
AND CONTAS.TP_CONTAS = {nulo(iParametros[3],}S{) }
AND CONTAS.CD_SERIE = {nulo(iParametros[4],}S{) }
AND CONTAS.DT_VENCIMENTO = CONTAS.DT_LANCAMENTO
Text
SELECT N.CD_EMPRESA, E.NM_EMPRESA, {#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, {#10} COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, {#10} N.NR_LANCAMENTO, N.TP_NOTA, N.DT_EMISSAO, N.NR_NOTAFISCAL, N.DS_OBSNOTA, {#10} CAST(N.DT_EMISSAO ||' '|| CURRENT_TIME AS TIMESTAMP) DT_EMISSAO, {#10} N.CD_PESSOA, COALESCE(P.NM_FANTASIA||' - ', '')||P.NM_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, {#10} EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ') DS_ENDERECO, {#10} COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO) DS_BAIRRO, {#10} MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNICIPIO, EP.NR_INSCEST, {#10} COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, {#10} G.CD_GRUPO, G.DS_GRUPO, SG.CD_SUBGRUPO, SG.DS_SUBGRUPO, {#10} CASE C.ST_CONDPAGTO {#10} WHEN 'D' THEN 'VENCTO.: '||FORMATA_DATA(N.DT_VENCIMENTO,'%D/%M/%Y') {#10} ELSE C.DS_CONDPAGTO {#10} END DS_CONDPAGTO, N.CD_CONDPAGTO, {#10} '('||N.CD_VENDEDOR||') '||V.NM_PESSOA NM_VENDEDOR, {#10} COALESCE('OBSERVA��O.: '||N.DS_OBSERVACAO,'') DS_OBSERVACAO, {#10} IP.CD_ITEM, COALESCE(I.CD_FORNECEDOR1||' - ','')||I.DS_ITEM DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, I.CD_CODIGOBARRA, {#10} IP.VL_UNITARIO, IP.VL_DESCONTO, IP.VL_TOTAL, {#10} IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) VL_LIQUIDO, {#10} IP.QT_ITEMNOTA, IP.PS_ITEMNOTA, {#10} (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) TIPO, {#10} I.DS_ITEM DS_ITEM2, {#10} P.NM_FANTASIA NM_FANTASIAPESSOA, {#10} PE.NM_FANTASIA NM_FANTASIAEMPRESA, {#10+ nulo(cheque,}S{)} DS_CHEQUE,{#10+ nulo(entrada,}S{)} VL_ENTRADA,{#10+ nulo(entrada2,}S{)} VL_ENTRADA1{#10}
FROM NOTA N {#10}
INNER JOIN ITEMNOTA IP ON (N.NR_LANCAMENTO = IP.NR_LANCAMENTO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_NOTA = IP.TP_NOTA {#10}
AND N.CD_SERIE = IP.CD_SERIE) {#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 GRUPO G ON (G.CD_GRUPO = I.CD_GRUPO) {#10}
LEFT JOIN SUBGRUPO SG ON (SG.CD_GRUPO = G.CD_GRUPO {#10}
AND SG.CD_SUBGRUPO = I.CD_SUBGRUPO) {#10}
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR) {#10}
WHERE N.CD_EMPRESA = {nulo(iParametros[1],}I{) +#10}
AND N.NR_LANCAMENTO = {nulo(iParametros[2],}I{) +#10}
AND N.TP_NOTA = {nulo(iParametros[3],}S{) +#10}
AND N.CD_SERIE = {nulo(iParametros[4],}S{)}
Consulta #4
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 #5
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 |
|---|---|
BANCO | referenciada nas queries do layout |
CHEQUE | 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 |
GRUPO | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
MOVTOCAIXA | referenciada nas queries do layout |
MOVTOPROCESSO | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARMNOTA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
SUBGRUPO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF148/ULNF148.pas - DFM:
source/LNF148/ULNF148.dfm - Package:
source/LNF148/LNF148.dpk