Pular para o conteúdo principal

LNF040 — Listagem LNF040

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 PEDIDO, ORDEMSERVICO, RETORNA_VENCIMENTOSNOTA, PESSOA, FORMAPAGTO, ITEMNOTA (+6), filtrada por V_VL_IMPOSTO, RCP, JO, CD_EMPRESA, NR_PEDIDO, TP_PEDIDO (+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​

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, COALESCE(RV.O_DS_VENCIMENTO,FORMATA_DATA(N.DT_VENCIMENTO,'%d/%m/%Y')) 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 MAX(OS.NR_ORDEMBLOCO)
FROM RETORNA_CHAVEPEDIDO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE) RCP
INNER JOIN PEDIDO PD ON (PD.CD_EMPRESA = RCP.O_CD_EMPRESA
AND PD.NR_PEDIDO = RCP.O_NR_PEDIDO
AND PD.TP_PEDIDO = RCP.O_TP_PEDIDO)
INNER JOIN ORDEMSERVICO OS ON (OS.CD_EMPRESA = N.CD_EMPRESA
AND OS.NR_ORDEMSERVICO = PD.NR_ORDEMSERVICO)
WHERE IP.CD_ITEM = RCP.O_CD_ITEM) AS NR_ORDEMBLOCO, (
SELECT MAX(OS.NR_ORDEMSERVICO)
FROM RETORNA_CHAVEPEDIDO(N.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE) RCP
INNER JOIN PEDIDO PD ON (PD.CD_EMPRESA = RCP.O_CD_EMPRESA
AND PD.NR_PEDIDO = RCP.O_NR_PEDIDO
AND PD.TP_PEDIDO = RCP.O_TP_PEDIDO)
INNER JOIN ORDEMSERVICO OS ON (OS.CD_EMPRESA = N.CD_EMPRESA
AND OS.NR_ORDEMSERVICO = PD.NR_ORDEMSERVICO)
WHERE IP.CD_ITEM = RCP.O_CD_ITEM) AS NR_ORDEMSERVICO
FROM NOTA N
LEFT JOIN RETORNA_VENCIMENTOSNOTA(N.CD_EMPRESA, N.NR_LANCAMENTO,N.TP_NOTA, N.CD_SERIE ) RV ON (1=1)
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

Pedido #2​

{frmLNF040}

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
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
ORDEMSERVICOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PARMNOTAreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_CHAVEPEDIDOreferenciada nas queries do layout
RETORNA_VENCIMENTOSNOTAreferenciada nas queries do layout
VALOR_IMPOSTOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF040/ULNF040.pas
  • DFM: source/LNF040/ULNF040.dfm
  • Package: source/LNF040/LNF040.dpk