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
| Tabela | Uso |
|---|---|
CNAE | referenciada nas queries do layout |
CONDPAGTO | referenciada nas queries do layout |
CONFIGNFSE | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
ESTADO | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
IMPOSTO | referenciada nas queries do layout |
IMPOSTONOTA | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMEMPRESA | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NFSE | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMNOTA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PROVEDOREMPRESA | referenciada nas queries do layout |
RETORNA_CONTAS | referenciada nas queries do layout |
RETORNA_LINHAS | referenciada nas queries do layout |
RETORNA_OBSNOTA | referenciada nas queries do layout |
| [[RETORNA_SERVICONOTA_LNF211]] | referenciada nas queries do layout |
SERVICONFSE | referenciada nas queries do layout |
USUARIO | referenciada nas queries do layout |
VALOR_IMPOSTO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF211/ULNF211.pas - DFM:
source/LNF211/ULNF211.dfm - Package:
source/LNF211/LNF211.dpk