Pular para o conteúdo principal

LNF165 — Listagem LNF165

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 NOTA, PESSOA, FORMAPAGTO, ITEMNOTA, ENDERECOPESSOA, MUNICIPIO (+5), filtrada por V_VL_IMPOSTO, CNT, JO, CD_EMPRESA, NR_LANCAMENTO, CD_SERIE (+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, PE.NR_CNPJCPF NR_CNPJEMP, EE.DS_ENDERECO||COALESCE(', '||EE.NR_ENDERECO,' ')||COALESCE(COALESCE(' - '||EE.DS_BAIRRO, EE.DS_COMPLEMENTO),' ')||'. '||ME.DS_MUNICIPIO||' - '||ME.SG_ESTADO DS_ENDEREMP, EE.NR_FAX NR_FAXEMP, EE.NR_CELULAR NR_CELULAREMP, COALESCE(EE.NR_FONE, EE.NR_FAX) NR_FONEEMP, EE.NR_CEP NR_CEPEMP, PE.DS_EMAIL, PE.DS_SITE, N.NR_NOTAFISCAL NR_PEDIDO, N.TP_NOTA, N.DT_EMISSAO DT_PEDIDO, N.CD_PESSOA, P.NM_PESSOA||COALESCE(' - '||P.NM_FANTASIA,'')||' - '||P.CD_PESSOA NM_PESSOA, P.NR_CNPJCPF, EP.NR_CEP, COALESCE(EP.NR_INCRA, EP.NR_INSCEST) NR_INSCEST, EP.NR_INSCPRODUTOR, EP.DS_ENDERECO||COALESCE(', '||EP.NR_ENDERECO,' ')||COALESCE(' - '||COALESCE(EP.DS_BAIRRO, EP.DS_COMPLEMENTO),' ')||'. '||MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_ENDERECO, COALESCE(EP.NR_FONE, EP.NR_FAX) NR_FONE, EP.NR_FAX, EP.NR_CELULAR, 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.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, COALESCE(I.CD_SUBGRUPO||' - '||IP.CD_ITEM, IP.CD_ITEM)CD_SUBGRUPOITEM, I.DS_ITEM, I.SG_UNIDMED, IP.VL_UNITARIO, I.SG_UNIDALT, IP.VL_DESCONTO, IP.VL_TOTAL, IP.DS_SERVICO DS_OBSITEM, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, CASE (
SELECT V_TIPO
FROM HABILITA_PESOQTDE (IP.CD_ITEM)) WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END PS_PEDIDO, IP.QT_ITEMNOTA, IP.PS_ITEMNOTA, N.VL_DESPESA, PARM.DS_LOGOTIPO, PARM.DS_MENSAGEM, COALESCE(N.DS_OBSERVACAO,'') DS_OBSERVACAO, REPLACE(COALESCE((
SELECT 'FUNRURAL '||V_PC_IMPOSTO||'% - '||V_VL_IMPOSTO
FROM VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, null, 'R', NULL, 'VI')
WHERE V_VL_IMPOSTO > 0),''),'.',',') DS_FUNRURAL, N.VL_DESCONTO VL_TOTDESCONTO, N.VL_NOTAFISCAL VL_TOTTOTAL, N.VL_CONTABIL VL_TOTLIQUIDO, N.NR_NOTAFOR, (
SELECT SUM(CNT.VL_COMPENSADO)
FROM CONTASNOTA CNT
INNER JOIN NOTA NT ON (NT.CD_EMPRESA = CNT.CD_EMPNOTA
AND NT.NR_LANCAMENTO = CNT.NR_LANCNOTA
AND NT.CD_SERIE = CNT.CD_SERIE
AND NT.TP_NOTA = CNT.TP_NOTA)
WHERE NT.CD_EMPRESA = N.CD_EMPRESA
AND NT.NR_LANCAMENTO = N.NR_LANCAMENTO
AND NT.CD_SERIE = N.CD_SERIE
AND NT.TP_NOTA = N.TP_NOTA )VL_COMPENSADO
FROM NOTA N
LEFT JOIN PESSOA V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN ITEMNOTA IP ON (N.CD_EMPRESA = IP.CD_EMPRESA
AND N.NR_LANCAMENTO = IP.NR_LANCAMENTO
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 PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
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 N.DT_VENCIMENTO, N.DT_LANCAMENTO, N.NR_PARCELA
FROM CONTAS N
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_LANCTONOTA = :NR_LANCAMENTO
AND N.TP_CONTAS = :TP_NOTA
AND N.CD_SERIE = :CD_SERIE
ORDER BY N.DT_VENCIMENTO
SELECT N.NR_LANCAMENTO, C.NR_DOCUMENTO, C.VL_DOCUMENTO, C.VL_SALDO, CN.VL_COMPENSADO, CN.NR_PARCELACONTAS
FROM CONTASNOTA CN
INNER JOIN NOTA N ON (N.CD_EMPRESA = CN.CD_EMPNOTA
AND N.NR_LANCAMENTO = CN.NR_LANCNOTA
AND N.CD_SERIE = CN.CD_SERIE
AND N.TP_NOTA = CN.TP_NOTA)
INNER JOIN CONTAS C ON (C.CD_EMPRESA = CN.CD_EMPCONTAS
AND C.NR_LANCAMENTO = CN.NR_LANCCONTAS
AND C.CD_PESSOA = CN.CD_PESSOACONTAS
AND C.CD_TIPOCONTA = CN.CD_TIPOCONTA
AND C.NR_PARCELA = CN.NR_PARCELACONTAS)
WHERE N.CD_EMPRESA = :1
AND N.NR_LANCAMENTO = :2
AND N.CD_SERIE = :3
AND N.TP_NOTA = :4 1 2 3 4

Pedido #2​

{frmLNF165}

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​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
CONTASNOTAreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
HABILITA_PESOQTDEreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMNOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
VALOR_IMPOSTOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF165/ULNF165.pas
  • DFM: source/LNF165/ULNF165.dfm
  • Package: source/LNF165/LNF165.dpk