Pular para o conteúdo principal

LNF211 — Listagem LNF211

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, ITEM, SERVICONFSE, NFSE, IMPOSTO, PESSOA (+14), filtrada por CD_EMPRESA, NR_LANCAMENTO, TP_NOTA, CD_SERIE, JO, M (+24).

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 N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE, -- 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_MUNICIPIOEMP, EE.NR_FONE NR_FONEEMPRESA, EE.NR_FAX NR_FAXEMPRESA, COALESCE(CF.DS_LOGOTIPO, PA.DS_LOGOTIPO) DS_LOGOTIPO, COALESCE(PU.NM_PESSOA,U.NM_USUARIO) NM_USUARIO, EE.DS_ENDERECO||COALESCE(', Nº '|| EE.NR_ENDERECO,' ')||COALESCE(', Bairro: '|| EE.DS_BAIRRO,' ')||COALESCE(', '||EE.DS_COMPLEMENTO,' ')DS_ENDERECOEMP, ME.DS_MUNICIPIO||' - '||ESE.SG_ESTADO DS_MUNEMPRESA, --NOTA-- COALESCE(NFSE.NR_RPS, NFSE.NR_NOTASERVICO, N.NR_NOTAFISCAL) NR_NOTA, N.DT_EMISSAO DT_EMISSAONOTA, NFSE.CD_AUTENTICACAO, N.DT_EMISSAO DT_EMISSAORPS, NFSE.NR_LOTE NR_LOTERPS, NFSE.NR_RPS, N.NR_NOTAFISCAL NR_DOCUMENTO, N.DT_REGISTRO HR_DOCUMENTO, NFSE.NR_NOTASERVICO, --CLIENTE-- P.CD_PESSOA, P.NM_PESSOA, P.NR_CNPJCPF, P.DS_EMAIL, P.NM_FANTASIA NM_FANTASIAPESSOA, EP.NR_ENDERECO NR_ENDPESSOA, EP.NR_INSCMUN, EP.NR_CEP NR_CEPPESSOA, EP.DS_BAIRRO DS_BAIRROPESSOA, EP.DS_COMPLEMENTO DS_COMPPESSOA, MP.DS_MUNICIPIO||' - '||MP.SG_ESTADO DS_MUNPESSOA, EP.NR_FONE, EP.NR_FAX, EP.DS_CONTATO, EP.NR_CELULAR, EP.DS_ENDERECO||COALESCE(', Nº '|| EP.NR_ENDERECO,' ')||COALESCE(', Bairro: '|| EP.DS_BAIRRO,' ')|| COALESCE(' - '||MP.DS_MUNICIPIO||' , '||ESP.DS_ESTADO,' ') DS_ENDPESSOA, EP.NR_INSCEST NR_INSCESTPESSOA, 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, CNAE.DS_CNAE, TRIM(OBS.V_DS_OBSNOTA) DS_OBSNOTA, TRIM(CAST(OBS.V_DS_OBSFISCAL AS VARCHAR(1000)))DS_OBSFISCAL, V.CD_PESSOA||'-'||V.NM_PESSOA NM_VENDEDOR, C.CD_CONDPAGTO, C.DS_CONDPAGTO, --TOTAIS-- N.VL_DESCONTO, N.VL_CONTABIL VL_LIQUIDO, N.VL_CONTABIL + COALESCE(N.VL_DESCONTO, 0) - COALESCE(N.VL_DESPESA, 0) - COALESCE(N.VL_FRETE, 0) VL_BRUTO, N.VL_NOTAFISCAL + COALESCE(N.VL_DESCONTO, 0) - COALESCE(N.VL_DESPESA, 0) - COALESCE(N.VL_FRETE, 0) VL_BRUTONOTA, (
SELECT SUM(V_VL_IMPOSTO)
FROM ITEMNOTA ITN
LEFT JOIN VALOR_IMPOSTO(ITN.CD_EMPRESA, ITN.NR_LANCAMENTO, ITN.CD_SERIE, ITN.TP_NOTA, ITN.CD_ITEM, 'Q', 'N', 'BI') ON (1=1)
WHERE 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) VL_BASEISS, (
SELECT SUM(V_VL_IMPOSTO)
FROM ITEMNOTA ITN
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, ITN.CD_ITEM, 'Q', 'N', 'VI') ON (1=1)
WHERE 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) VL_ISS, (
SELECT SUM(V_VL_IMPOSTO)
FROM ITEMNOTA ITN
LEFT JOIN VALOR_IMPOSTO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, ITN.CD_ITEM, 'Q', 'S', 'VI') ON (1=1)
WHERE 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) VL_ISSRET, (
SELECT MIN(ITNF.DS_SERVICO)
FROM ITEMNOTA ITN
INNER JOIN ITEM I ON(I.CD_ITEM = ITN.CD_ITEM)
INNER JOIN SERVICONFSE ITNF ON (ITNF.CD_SERVICO = I.CD_SERVICO)
INNER JOIN NFSE ON (NFSE.CD_EMPRESA = ITN.CD_EMPRESA
AND NFSE.NR_LANCAMENTO = ITN.NR_LANCAMENTO
AND NFSE.CD_SERIE = ITN.CD_SERIE
AND NFSE.TP_NOTA = ITN.TP_NOTA)
WHERE 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) DS_SERVICO, F.DS_FORMAPAGTO, (
SELECT MAX(IMP.PC_IMPOSTO)
FROM IMPOSTONOTA IMP
INNER JOIN IMPOSTO P ON (P.CD_IMPOSTO = IMP.CD_IMPOSTO)
WHERE IMP.CD_EMPRESA = N.CD_EMPRESA
AND IMP.NR_LANCAMENTO = N.NR_LANCAMENTO
AND IMP.TP_NOTA = N.TP_NOTA
AND IMP.CD_SERIE = N.CD_SERIE
AND P.TP_IMPOSTO = 'Q') PC_ALIQUOTAISS, IIF ( (
SELECT COUNT(IMP.CD_EMPRESA)
FROM IMPOSTONOTA IMP
INNER JOIN IMPOSTO P ON (P.CD_IMPOSTO = IMP.CD_IMPOSTO)
WHERE IMP.CD_EMPRESA = N.CD_EMPRESA
AND IMP.NR_LANCAMENTO = N.NR_LANCAMENTO
AND IMP.TP_NOTA = N.TP_NOTA
AND IMP.CD_SERIE = N.CD_SERIE
AND P.TP_IMPOSTO = 'Q'
AND P.ST_RETIDO = 'S') = 0, 'Não', 'Sim') DS_ST_RETIDO, TRIM(N.DS_OBSNOTA) DS_OBSNOTAMANUAL
FROM NOTA N
INNER JOIN PESSOA P ON (P.CD_PESSOA = N.CD_PESSOA)
INNER JOIN ENDERECOPESSOA EP ON (EP.CD_PESSOA = N.CD_PESSOA
AND EP.CD_ENDERECO = N.CD_ENDERECO)
INNER JOIN MUNICIPIO MP ON (MP.CD_MUNICIPIO = EP.CD_MUNICIPIO)
INNER JOIN ESTADO ESP ON (ESP.SG_ESTADO = MP.SG_ESTADO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.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)
LEFT JOIN CNAE ON (CNAE.CD_CNAE = E.CD_CNAEPRIN)
INNER JOIN CONDPAGTO C ON (C.CD_CONDPAGTO = N.CD_CONDPAGTO)
INNER JOIN PARMFATUR PA ON (PA.CD_EMPRESA = N.CD_EMPRESA)
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 V ON (V.CD_PESSOA = N.CD_VENDEDOR)
LEFT JOIN CONFIGNFSE CF ON (CF.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN NFSE ON (NFSE.CD_EMPRESA = N.CD_EMPRESA
AND NFSE.NR_LANCAMENTO = N.NR_LANCAMENTO
AND NFSE.CD_SERIE = N.CD_SERIE
AND NFSE.TP_NOTA = N.TP_NOTA)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
LEFT JOIN RETORNA_OBSNOTA(N.CD_EMPRESA, N.NR_LANCAMENTO, N.CD_SERIE, N.TP_NOTA, N.DS_OBSERVACAO, N.CD_VENDEDOR, N.CD_USUARIO, '4', 80) OBS 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 CD_EMPRESA 1 NR_LANCAMENTO 1429 TP_NOTA S CD_SERIE 1
SELECT *
FROM (
SELECT DISTINCT SA.O_CD_ITEM CD_TEM, SA.O_DS_ITEM, CASE PVE.TP_DESCSERVICO WHEN '0' THEN SA.O_DS_ITEM WHEN '1' THEN SA.O_DS_ITEM||COALESCE(' - '||SA.O_DS_OBSITEM,'') WHEN '2' THEN COALESCE(SA.O_DS_OBSITEM, SA.O_DS_ITEM) WHEN '3' THEN SA.O_DS_OBSITEM END || IIF(PVE.ST_IMPSERIEPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_SERIE,''),''),'')|| IIF(PVE.ST_IMPDOTPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_DOT,''),''),'')|| IIF(PVE.ST_IMPFOGOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_FOGO,''),''),'')|| IIF(PVE.ST_IMPMEDIDAPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MEDIDA,''),''),'')|| IIF(PVE.ST_IMPMODELOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MODELO,''),''),'')|| IIF(PVE.ST_IMPDESENHOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_DESENHO,''),''),'')|| IIF(PVE.ST_IMPMARCAPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MARCAPNEU,''),''),'') DS_ITEM, I.SG_UNIDMED, SA.O_QTDE QT_ITEMNOTA, SA.O_VL_UNITARIO VL_UNITARIO, SA.O_VL_DESCONTO * SA.O_QTDE VL_DESCONTO, SA.O_VL_LIQUIDO VL_LIQUIDO, SA.O_VL_UNITARIO * SA.O_QTDE VL_TOTAL, SA.O_VL_DESPESA VL_DESPESA, SA.O_DS_DESENHO, SA.O_DS_MARCAPNEU, SA.O_NR_FOGO, SA.O_NR_DOT, SA.O_ID_ORDEMPROD, SA.O_NR_SERIE, COALESCE(IE.CD_CNAENFSE, I.CD_CNAENFSE, E.CD_CNAESEC, E.CD_CNAEPRIN) CD_CNAE, CNAE.DS_CNAE, SA.O_NR_PEDIDO
FROM NOTA N
INNER JOIN EMPRESA E ON (N.CD_EMPRESA = E.CD_EMPRESA)
LEFT JOIN CONFIGNFSE CF ON (CF.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PROVEDOREMPRESA PVE ON (PVE.CD_EMPRESA = CF.CD_EMPRESA)
LEFT JOIN RETORNA_SERVICONOTA_LNF211(N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE,'1') SA ON (1=1)
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
AND ITN.CD_ITEM = SA.O_CD_ITEM)
INNER JOIN ITEM I ON (I.CD_ITEM = SA.O_CD_ITEM)
LEFT JOIN ITEMEMPRESA IE ON (IE.CD_EMPRESA = ITN.CD_EMPRESA
AND IE.CD_ITEM = ITN.CD_ITEM)
LEFT JOIN CNAE ON (CNAE.CD_CNAE = COALESCE(IE.CD_CNAENFSE, I.CD_CNAENFSE, E.CD_CNAESEC, E.CD_CNAEPRIN))
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 SA.O_NR_ORDERBY)
UNION ALL
SELECT NULL CD_TEM, NULL O_DS_ITEM, NULL DS_ITEM, NULL SG_UNIDMED, NULL QT_ITEMNOTA, NULL VL_UNITARIO, NULL VL_DESCONTO, NULL VL_LIQUIDO, NULL VL_TOTAL, NULL VL_DESPESA, NULL O_DS_DESENHO, NULL O_DS_MARCAPNEU, NULL O_NR_FOGO, NULL O_NR_DOT, NULL O_ID_ORDEMPROD, NULL O_NR_SERIE, NULL CD_CNAE, NULL DS_CNAE, NULL O_NR_PEDIDO
FROM RETORNA_LINHAS(30 - mod ((
SELECT COUNT(*)
FROM(
SELECT DISTINCT SA.O_CD_ITEM CD_TEM, SA.O_DS_ITEM, CASE PVE.TP_DESCSERVICO WHEN '0' THEN SA.O_DS_ITEM WHEN '1' THEN SA.O_DS_ITEM||COALESCE('-'||SA.O_DS_OBSITEM,'') WHEN '2' THEN COALESCE(SA.O_DS_OBSITEM, SA.O_DS_ITEM) WHEN '3' THEN SA.O_DS_OBSITEM END || IIF(PVE.ST_IMPSERIEPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_SERIE,''),''),'')|| IIF(PVE.ST_IMPDOTPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_DOT,''),''),'')|| IIF(PVE.ST_IMPFOGOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_NR_FOGO,''),''),'')|| IIF(PVE.ST_IMPMEDIDAPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MEDIDA,''),''),'')|| IIF(PVE.ST_IMPMODELOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MODELO,''),''),'')|| IIF(PVE.ST_IMPDESENHOPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_DESENHO,''),''),'')|| IIF(PVE.ST_IMPMARCAPNEU = 'S', COALESCE('|'||NULLIF(SA.O_DS_MARCAPNEU,''),''),'')DS_ITEM, I.SG_UNIDMED, SA.O_QTDE QT_ITEMNOTA, SA.O_VL_UNITARIO VL_UNITARIO, SA.O_VL_DESCONTO VL_DESCONTO, (SA.O_VL_LIQUIDO * SA.O_QTDE) VL_LIQUIDO, SA.O_VL_UNITARIO * SA.O_QTDE VL_TOTAL, SA.O_VL_DESPESA VL_DESPESA, SA.O_DS_DESENHO, SA.O_DS_MARCAPNEU, SA.O_NR_FOGO, SA.O_NR_DOT, SA.O_ID_ORDEMPROD, SA.O_NR_SERIE, SA.O_NR_PEDIDO
FROM NOTA N
LEFT JOIN CONFIGNFSE CF ON (CF.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN PROVEDOREMPRESA PVE ON (PVE.CD_EMPRESA = CF.CD_EMPRESA)
LEFT JOIN RETORNA_SERVICONOTA_LNF211(N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE,'1') SA ON (1=1)
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
AND ITN.CD_ITEM = SA.O_CD_ITEM)
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)), 30)) CD_EMPRESA NR_LANCAMENTO TP_NOTA CD_SERIE
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, 6, '1') CD_EMPRESA NR_LANCAMENTO CD_SERIE TP_NOTA CD_PESSOA

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
CNAEreferenciada nas queries do layout
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
ESTADOreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
IMPOSTOreferenciada nas queries do layout
IMPOSTONOTAreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMEMPRESAreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
NFSEreferenciada nas queries do layout
NOTAreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMNOTAreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PROVEDOREMPRESAreferenciada nas queries do layout
RETORNA_CONTASreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
RETORNA_OBSNOTAreferenciada nas queries do layout
[[RETORNA_SERVICONOTA_LNF211]]referenciada nas queries do layout
SERVICONFSEreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VALOR_IMPOSTOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF211/ULNF211.pas
  • DFM: source/LNF211/ULNF211.dfm
  • Package: source/LNF211/LNF211.dpk