Pular para o conteúdo principal

LNF204 — Listagem LNF204

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 ITEMNOTA, com junção em VALOR_IMPOSTO, NFSE, PESSOA, EMPRESA, CONFIGNFSE, ENDERECOPESSOA (+7), filtrada por CD_EMPRESA, NR_LANCAMENTO, TP_NOTA, OS, VL, COF (+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​

Nota​

SELECT DISTINCT RE.O_NR_LINHA, EM.NR_INSCMUNICIPAL, RPE.NR_FONE FONEEMPRESA, N.CD_CONDPAGTO, N.CD_FORMAPAGTO, CP.DS_CONDPAGTO, FP.DS_FORMAPAGTO, /*TOMADOR*/ COALESCE(NF.NR_RPS, NF.NR_LANCAMENTO) NR_RPS , N.DT_EMISSAO DT_RPS, P.NR_CNPJCPF, N.CD_PESSOA, PE.NR_CNPJCPF CNPJTOMADOR, PE.NM_PESSOA NM_TOMADOR, RPE.DS_ENDERECO||' - '||RPE.DS_BAIRRO||' - '||MC.DS_MUNICIPIO||'\'||MC.SG_ESTADO ENDERECOTOMADOR, PE.DS_EMAIL, PE.DS_SITE, (
SELECT SUM(((COALESCE(P.PS_ITEMNOTA, P.QT_ITEMNOTA) * P.VL_UNITARIO)))
FROM ITEMNOTA P
WHERE P.CD_EMPRESA = N.CD_EMPRESA
AND P.NR_LANCAMENTO = N.NR_LANCAMENTO
AND P.TP_NOTA = N.TP_NOTA) VL_TOTALNOTA, (
SELECT SUM(COALESCE(P.VL_DESCONTO,0))
FROM ITEMNOTA P
WHERE P.CD_EMPRESA = N.CD_EMPRESA
AND P.NR_LANCAMENTO = N.NR_LANCAMENTO
AND P.TP_NOTA = N.TP_NOTA) VL_DESCONTO, /*VIA PRESTADOR*/ P.NR_CNPJCPF CNPJPRESTADOR, P.CD_PESSOA||' - '||P.NM_PESSOA NM_PRESTADOR, EP.NR_FONE NR_FONEPRESTADOR, EP.DS_ENDERECO||COALESCE(' - '||EP.NR_ENDERECO,'')||COALESCE(' - '||EP.DS_BAIRRO,'')||' - '||MP.DS_MUNICIPIO||'/'||MP.SG_ESTADO DS_ENDERECOPRESTADOR, P.DS_EMAIL EMAIL_PRESTADOR, N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE, PV.NM_PESSOA NM_VENDEDOR, N.DS_OBSNOTA DS_OBSERVACAO, CN.DS_LOGOTIPO, 'Recebemos de '||PE.NM_PESSOA||' os Serviços Constantes do Recibo Provisório de Serviços Indicados Abaixo: ' DS_RECEBIMENTO, N.VL_CONTABIL, INSS.V_VL_IMPOSTO VLINSS, IRRF.V_VL_IMPOSTO VLIRRF, ISS.V_VL_IMPOSTO VLISS, (
SELECT SUM(PIS.V_VL_IMPOSTO) + SUM(COFINS.V_VL_IMPOSTO) + SUM(CSLL.V_VL_IMPOSTO)
FROM VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'F' ,'S', 'VI') COFINS
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'L' ,'S', 'VI') CSLL ON (1=1)
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'S' ,'S', 'VI') PIS ON (1=1)) PISCOFINS, COALESCE( NULLIF(TRIM(RNV.O_NM_VENDEDORES), ''), PV.NM_PESSOA) NM_VENDEDORES
FROM NOTA N
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'N' ,'S', 'VI') INSS ON (1=1)
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'J' ,'S', 'VI') IRRF ON (1=1)
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, NULL, 'Q' ,'S', 'VI') ISS ON (1=1)
INNER JOIN NFSE NF ON (NF.CD_EMPRESA = N.CD_EMPRESA
AND NF.NR_LANCAMENTO = N.NR_LANCAMENTO
AND NF.TP_NOTA = N.TP_NOTA
AND NF.CD_SERIE = N.CD_SERIE)
LEFT JOIN PESSOA PV ON (PV.CD_PESSOA = N.CD_VENDEDOR)
INNER JOIN PESSOA P ON (N.CD_PESSOA = P.CD_PESSOA)
INNER JOIN EMPRESA EM ON (EM.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN CONFIGNFSE CN ON (CN.CD_EMPRESA = EM.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = EM.CD_PESSOA)
LEFT JOIN ENDERECOPESSOA RPE ON (RPE.CD_PESSOA = PE.CD_PESSOA
AND RPE.CD_ENDERECO = (
SELECT O_CD_ENDERECO
FROM RETORNA_ENDERECO(PE.CD_PESSOA, NULL)))
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)
LEFT JOIN MUNICIPIO MC ON (RPE.CD_MUNICIPIO = MC.CD_MUNICIPIO)
LEFT JOIN RETORNA_LINHAS(:NR_LINHAS) RE ON (1=1)
INNER JOIN FORMAPAGTO FP ON (FP.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
INNER JOIN CONDPAGTO CP ON (CP.CD_CONDPAGTO = N.CD_CONDPAGTO)
LEFT JOIN RETORNA_VENDEDORESNOTA(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA) RNV 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 NR_LINHAS CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE CD_EMPRESA;NR_LANCAMENTO;TP_NOTA;CD_SERIE
SELECT SA.O_CD_ITEM, SA.O_DS_ITEM, SA.O_QTDE, SA.O_VL_UNITARIO, SA.O_VL_TOTAL, SA.O_VL_DESCONTO, SA.O_VL_DESPESA, (SA.O_VL_LIQUIDO / SA.O_QTDE) O_VL_LIQUIDO, CAST(COALESCE(SA.O_VL_LIQUIDO_UNIT,0) * SA.O_QTDE AS DOM_NUMERIC15_2) O_VL_TOT, SA.O_DS_OBSITEM, SA.O_NR_SERIE, SA.O_DS_DESENHO, SA.O_DS_MARCAPNEU, SA.O_NR_FOGO, SA.O_NR_DOT, SA.O_ID_ORDEMPROD, SA.O_NRINDICEVELOCIDADE, O_NR_LINHAS, SA.O_CD_ITEM||' - '||SA.O_DS_ITEM DS_ITEM, SA.O_QT_PNEU, 1 O_NR_LINHA, SA.O_NR_ORDERBY, COALESCE(SA.O_NR_DOT,'')||COALESCE(SA.O_NR_SERIE, '')||COALESCE(SA.O_DS_MARCAPNEU, '')||COALESCE(SA.O_NRINDICEVELOCIDADE, '')|| COALESCE(SA.O_ID_ORDEMPROD, '') DS_QUEBRA, O_VL_TOTALLIQUIDO
FROM NOTA N
LEFT JOIN RETORNA_SERVICONOTA_LNF204(N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE,'1') SA ON (1=1)
INNER JOIN ITEM I ON (I.CD_ITEM = SA.O_CD_ITEM)
WHERE N.CD_EMPRESA = :CD_EMPRESA
AND N.NR_LANCAMENTO = :NR_LANCAMENTO
AND N.TP_NOTA = :TP_NOTA
AND N.CD_SERIE = :CD_SERIE
ORDER BY COALESCE(SA.O_NR_DOT,'')||COALESCE(SA.O_NR_SERIE, '')||COALESCE(SA.O_DS_MARCAPNEU, '')||COALESCE(SA.O_NRINDICEVELOCIDADE, '')|| COALESCE(SA.O_ID_ORDEMPROD, '') , SA.O_NR_DOT CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE CD_EMPRESA;NR_LANCAMENTO;CD_SERIE;TP_NOTA;CD_PESSOA
SELECT V_NR_LANCAMENTO, V_NR_DOCUMENTO, V_NR_PARCELA, V_VL_DOCUMENTO, V_DT_VENCIMENTO
FROM RETORNA_CONTAS (:CD_EMPRESA, :NR_LANCAMENTO, :CD_SERIE, :TP_NOTA, :CD_PESSOA, 12, '1') CD_EMPRESA NR_LANCAMENTO CD_SERIE TP_NOTA CD_PESSOA

Produto​

{frmLNF204}

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
CONFIGNFSEreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NFSEreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PARMNOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_CONTASreferenciada nas queries do layout
RETORNA_ENDERECOreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
[[RETORNA_SERVICONOTA_LNF204]]referenciada nas queries do layout
RETORNA_VENDEDORESNOTAreferenciada nas queries do layout
VALOR_IMPOSTOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF204/ULNF204.pas
  • DFM: source/LNF204/ULNF204.dfm
  • Package: source/LNF204/LNF204.dpk