Pular para o conteúdo principal

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​

TabelaUso
BANCOreferenciada nas queries do layout
CHEQUEreferenciada nas queries do layout
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
GRUPOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
MOVTOCAIXAreferenciada nas queries do layout
MOVTOPROCESSOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PARMNOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
SUBGRUPOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF148/ULNF148.pas
  • DFM: source/LNF148/ULNF148.dfm
  • Package: source/LNF148/LNF148.dpk