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
| Tabela | Uso |
|---|---|
CONDPAGTO | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
EMPRESA | referenciada nas queries do layout |
ENDERECOPESSOA | referenciada nas queries do layout |
FORMAPAGTO | referenciada nas queries do layout |
HABILITA_PESOQTDE | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
MUNICIPIO | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
ORDEMSERVICO | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMNOTA | referenciada nas queries do layout |
PEDIDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_CHAVEPEDIDO | referenciada nas queries do layout |
RETORNA_VENCIMENTOSNOTA | referenciada nas queries do layout |
VALOR_IMPOSTO | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF040/ULNF040.pas - DFM:
source/LNF040/ULNF040.dfm - Package:
source/LNF040/LNF040.dpk