Pular para o conteúdo principal

LNF141 — Listagem LNF141

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 VALOR_IMPOSTO, com junção em PESSOA, FORMAPAGTO, ENDERECOPESSOA, MUNICIPIO, EMPRESA, CONDPAGTO (+9), filtrada por V_VL_IMPOSTO, O_NR_L, JO, CD_PESSOA, CD_FORMAPAGTO, CD_ENDERECO (+16).

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​

tabNota​

SELECT N.CD_EMPRESA, E.NM_EMPRESA, PE.NR_CNPJCPF NR_CNPJEMP, N.NR_LANCAMENTO, N.CD_SERIE, 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, 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, RL.O_NR_LINHA, N.DS_OBSNOTA
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 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 PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN RETORNA_LINHAS(2) RL 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 TP_NOTA CD_SERIE
SELECT n.CD_EMPRESA, N.NR_LANCAMENTO, N.TP_NOTA, N.CD_SERIE, IP.CD_ITEM, I.DS_ITEM, I.SG_UNIDMED, I.SG_UNIDALT, IP.VL_UNITARIO, ---IP.VL_TOTAL, IP.VL_DESCONTO, IP.DS_SERVICO DS_OBSITEM, IP.VL_TOTAL - COALESCE(IP.VL_DESCONTO,0) + COALESCE(IP.VL_DESPESA,0) VL_LIQUIDO, CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END PS_PEDIDO, IP.QT_ITEMNOTA, IP.PS_ITEMNOTA, N.CD_FORMAPAGTO, F.DS_FORMAPAGTO, N.VL_DESPESA, 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, aa.NRSERIE, AA.NRDOT NR_DOT, AA.NRFOGO, AA.DTANOPNEU, AA.VLUNITARIO, AA.VLDESCONTO, AA.DSMODELO, AA.DSMARCA, AA.DSMEDIDAPNEU, AA.DSGARANTIA, AA.DS_SITUACAO, AA.IDORDEMPRODUCAORECAP, (aa.NRSERIE || AA.NRDOT || AA.NRFOGO || AA.DSMARCA) QUEBRA, CAST( IP.VL_TOTAL / COALESCE(NULLIF(AA.QTTOTCONSERTO, 0), CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END ) as DOM_NUMERIC15_2) VL_UNIT, COALESCE(NULLIF(AA.QTCONSERTOLIQUIDO, 0), CASE WHEN (coalesce(AA.DS_SITUACAO, 'xxx') = 'Aprovado')
OR (coalesce(AA.DS_SITUACAO, 'xxx') = 'Recusado') THEN 1 ELSE CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END END) QTPNEU, COALESCE(NULLIF(AA.QTTOTCONSERTO, 0), CASE WHEN (coalesce(AA.DS_SITUACAO, 'xxx') = 'Aprovado')
OR (coalesce(AA.DS_SITUACAO, 'xxx') = 'Recusado') THEN 1 ELSE CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END END) * IP.VL_UNITARIO VLR, cast( IP.VL_TOTAL / COALESCE(NULLIF(AA.QTTOTCONSERTO, 0), CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END ) * COALESCE(NULLIF(AA.QTCONSERTOLIQUIDO, 0), CASE WHEN (coalesce(AA.DS_SITUACAO, 'xxx') = 'Aprovado')
OR (coalesce(AA.DS_SITUACAO, 'xxx') = 'Recusado') THEN 1 ELSE CASE TP.TP_UNIDADE WHEN 'Q' THEN IP.QT_ITEMNOTA ELSE IP.PS_ITEMNOTA END END) as DOM_NUMERIC15_2) VL_TOTAL
FROM NOTA N
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 ITEM I ON (IP.CD_ITEM = I.CD_ITEM)
INNER JOIN TIPOCALCULO TP ON (TP.CD_TIPOCALCULO = IP.CD_TIPOCALCULO)
LEFT JOIN RETORNA_PNEUSNF_RECAP(IP.CD_EMPRESA, IP.NR_LANCAMENTO, IP.CD_SERIE, IP.TP_NOTA, IP.CD_ITEM) AA ON (1=1)
LEFT JOIN FORMAPAGTO F ON (F.CD_FORMAPAGTO = N.CD_FORMAPAGTO)
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 L.DS_LINHA, C.DS_COLUNA, G.QT_GRADE, IG.CD_CODIGOBARRA
FROM ITEMNOTAGRADE G
LEFT JOIN ITEMGRADE IG ON (IG.CD_ITEM = G.CD_ITEM
AND IG.CD_GRADE = G.CD_GRADE
AND IG.NR_LINHA = G.NR_LINHA
AND IG.NR_COLUNA = G.NR_COLUNA)
INNER JOIN LINHAGRADE L ON (L.CD_GRADE = G.CD_GRADE
AND L.NR_LINHA = G.NR_LINHA)
INNER JOIN COLUNAGRADE C ON (C.CD_GRADE = G.CD_GRADE
AND C.NR_COLUNA = G.NR_COLUNA)
WHERE G.CD_EMPRESA = :CD_EMPRESA
AND G.NR_LANCAMENTO = :NR_LANCAMENTO
AND G.TP_NOTA = :TP_NOTA
AND G.CD_SERIE = :CD_SERIE
AND G.CD_ITEM = :CD_ITEM CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE CD_ITEM

tabProdutos​

{frmLNF141}

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
COLUNAGRADEreferenciada nas queries do layout
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
ITEMreferenciada nas queries do layout
ITEMGRADEreferenciada nas queries do layout
ITEMNOTAreferenciada nas queries do layout
ITEMNOTAGRADEreferenciada nas queries do layout
LINHAGRADEreferenciada 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
RETORNA_LINHASreferenciada nas queries do layout
RETORNA_PNEUSNF_RECAPreferenciada nas queries do layout
TIPOCALCULOreferenciada nas queries do layout
VALOR_IMPOSTOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LNF141/ULNF141.pas
  • DFM: source/LNF141/ULNF141.dfm
  • Package: source/LNF141/LNF141.dpk