LNF168 — Listagem LNF168
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 CONTAS, filtrada por CD_EMPRESA, NR_LANCTONOTA, TP_CONTAS, CD_SERIE, ST_CONTAS.
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
tabCondPagto
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
AND N.ST_CONTAS <> 'C'
ORDER BY N.DT_VENCIMENTO CD_EMPRESA 1 NR_LANCAMENTO TP_NOTA CD_SERIE
tabPRINCIPAL
SELECT {#10} CD_EMPRESA, NR_LANCAMENTO, CD_SERIE, TP_NOTA, ST_NOTA, NR_NOTAFISCAL, NR_NOTAFOR, {#10} VL_NOTAFISCAL, VL_CONTABIL, {#10} (
SELECT SUM(INO.VL_TOTAL) {#10}
FROM ITEMNOTA INO {#10}
WHERE (INO.CD_EMPRESA = R.CD_EMPRESA {#10}
AND INO.NR_LANCAMENTO = R.NR_LANCAMENTO {#10}
AND INO.CD_SERIE = R.CD_SERIE {#10}
AND INO.TP_NOTA = R.TP_NOTA)) VL_TOTPRODUTOS, VL_DESCONTO, VL_FRETE, VL_DESPESA, {#10} CD_CONDPAGTO, DS_CONDPAGTO, DT_EMISSAO, DT_VENCIMENTO, CD_FORMAPAGTO, {#10} DS_FORMAPAGTO, DS_OBSNOTA, DS_OBSFISCAL, NM_VENDEDORCABEC, {#10} CD_NM_VENDEDORCABEC, O_NM_VENDEDORES, DS_LOGOTIPO, DS_MENSAGEM, NR_PLACARECAP, NR_PLACA, {#10} E_NM_RAZAOSOCIAL, E_NM_FANTASIA, E_NR_CNPJCPF, E_DS_EMAIL, E_DS_SITE, {#10} E_DS_ENDERECO, E_DS_MUNICIPIO, E_NR_ENDERECO, E_DS_BAIRRO, {#10} E_DS_COMPLEMENTO, E_NR_CEP, E_NR_INSCEST, E_NR_FONE, E_NR_CELULAR, {#10} E_DS_ENDCOMPLETO, E_NR_FAX, C_CD_PESSOA, C_NM_CLIENTE, C_NM_FANTASIA, {#10} C_NR_CNPJCPF, C_DS_EMAIL, C_DS_SITE, C_DS_ENDERECO, C_DS_MUNICIPIO, {#10} C_NR_ENDERECO, C_DS_BAIRRO, C_DS_COMPLEMENTO, C_NR_CEP, C_NR_INSCEST, {#10} C_NR_FONE, C_NR_CELULAR, C_DS_ENDCOMPLETO, C_NR_INSCPRODUTOR, C_NR_FAX, {#10} DH_EMISSAO, O_NR_LINHA, (CAST(VL_NOTAFISCAL AS DOM_NUMERIC15_2) + CAST(VL_DESCONTO AS DOM_NUMERIC15_2)) VL_TOTNOTA, {#10} {SeSenao(stEnviaCampoDB,}IIF(DT_EMISSAO = DT_VENCIMENTO, FORMAT_MESSAGE('À Vista'), DS_CONDPAGTO) {, Nulo(dsCondPagto,}S{))}DS_MEMOCONDPAGTO,{#10} LPAD(CD_EMPRESA, 9, '0')||LPAD(C_CD_PESSOA, 9, '0')||LPAD(CD_SERIE, 5, '-')||LPAD(COALESCE(NR_NOTAFOR,NR_NOTAFISCAL), 9, '0') DS_CODBARRASCANHOTO{#10} {#10}
FROM RETORNA_CABECNF_RECAP({Nulo(iParametros[1],}I{)}, {Nulo(iParametros[2],}I{)}, { Nulo(iParametros[4],}S{)}, {Nulo(iParametros[3],}S{)}) R {#10}
LEFT JOIN RETORNA_LINHAS({Nulo(iQtCopias,}I{)} ) RL ON (1 = 1)
tabSUB1
SELECT P.IDORDEMPRODUCAORECAP, P.NRSERIE, P.NRDOT, P.NRFOGO, P.DTANOPNEU, P.VLUNITARIO, P.VLDESCONTO, P.DSMODELO, {#10} P.DSMARCA, P.DSMEDIDAPNEU, P.DSGARANTIA, P.DS_SITUACAO, P.QTCONSERTOS, P.QTDESCONTADA, P.QTCONSERTOLIQUIDO, {#10} COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)) QTDE, {#10} {#10} (COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)) * R.N_VL_UNITARIO) I_VL_TOT_CALC, {#10} (R.N_VL_DESCONTO / COALESCE(COALESCE(NULLIF(R.N_QTDE,0),1) , IIF(P.IDORDEMPRODUCAORECAP IS NULL , COALESCE(NULLIF(R.N_QTDE,0),1) , 1)) ) I_VL_DESC, {#10} coalesce( {#10} IIF(COALESCE(P.VL_DESCONTOPEDIDO, 0) <> COALESCE(R.N_VL_DESCONTO, 0)
AND (R.N_VL_DESCONTO = 0) , {#10} IIF(R.N_VL_LIQUIDO > 0
AND P.QTCONSERTOLIQUIDO <> P.QTCONSERTOS
AND r.N_VL_DESCONTO > 0, {#10} IIF(P.QTCONSERTOS > 0, /* VERIFICA SE É CONSERTO*/ {#10} IIF(COALESCE(N.ST_INTEGRADO, PF.ST_PEDVENDA) = 'S', /*VERIFICA Como foi faturado MFA001*/ {#10} ((R.N_VL_DESCONTO - (R.N_VL_TOTAL / COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL, R.N_QTDE, 1)))) / COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL, R.N_QTDE, 1))) + P.VL_DESCONTOPEDIDO, /*Calculo se for tipo S*/ {#10} P.VL_DESCONTOPEDIDO + COALESCE(R.N_VL_DESCONTO, 0)), /*Calculo se for tipo D*/ {#10} R.N_VL_DESCONTO / COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL, R.N_QTDE, 1))), {#10} R.N_VL_DESCONTO), {#10} R.N_VL_DESCONTO), {#10} 0) C_VL_DESC, /*Aqui caso não seja concerto*/ {#10} coalesce( {#10} IIF (P.QTCONSERTOS > 0, /* VERIFICA SE É CONSERTO*/ {#10} IIF (COALESCE(N.ST_INTEGRADO,PF.ST_PEDVENDA) = 'S', /*VERIFICA Como foi faturado MFA001*/ {#10} ((COALESCE( R.N_VL_DESCONTO,0)+R.N_VL_LIQUIDO)/P.QT_ITEMNOTA)* COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)), {#10} ( iif (p.QTDESCONTADA >0,(P.VLTOTAL / P.QTCONSERTOS)- P.VLDESCONTO,(P.VLTOTAL / P.QTCONSERTOS))* COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)))) {#10} ,r.N_VL_TOTAL /P.QT_ITEMNOTA ),0) C_VL_TOT_CALC, {#10} R.CD_EMPRESA, R.NR_LANCAMENTO, R.TP_NOTA, R.CD_SERIE, {#10} coalesce( {#10} IIF (P.QTCONSERTOS > 0, /* VERIFICA SE É CONSERTO*/ {#10} IIF (COALESCE(N.ST_INTEGRADO,PF.ST_PEDVENDA) = 'S', /*VERIFICA Como foi faturado MFA001*/ {#10} (COALESCE( R.N_VL_DESCONTO,0)+R.N_VL_LIQUIDO)/P.QT_ITEMNOTA, {#10} iif (p.QTDESCONTADA >0,(P.VLTOTAL / P.QTCONSERTOS)- P.VLDESCONTO,(P.VLTOTAL / P.QTCONSERTOS))) {#10} ,r.N_VL_TOTAL /P.QT_ITEMNOTA ),0) C_VL_UNITARIO, {#10} R.CD_ITEM, R.N_CD_ITEM, R.N_DS_ITEM, R.N_CD_DS_ITEM, R.N_DS_OBSITEM, {#10} COALESCE(P.SG_UNIDMED,R.N_SG_UNIDMED) N_SG_UNIDMED, {#10} R.N_SG_UNIDALT, R.N_VL_UNITARIO, R.N_VL_TOTAL, R.N_VL_DESCONTO, R.N_VL_DESPESA, R.N_VL_FRETE,{#10} ((R.N_VL_LIQUIDO / NULLIF(COALESCE(R.N_PS_ITEMNOTA,R.N_QT_ITEMNOTA),0)) * R.N_QTDE) N_VL_LIQUIDO,( COALESCE(R.N_VL_LIQUIDO, 0) - COALESCE(R.N_VL_FRETE,0) ) N_VL_LIQUIDOPROD, {#10} IIF (P.QTCONSERTOS > 0, /* VERIFICA SE É CONSERTO*/ {#10} ( COALESCE(R.N_VL_LIQUIDO, 0) - COALESCE(R.N_VL_FRETE,0) ),{#10} ( COALESCE(R.N_VL_LIQUIDO, 0) - COALESCE(R.N_VL_FRETE,0) )/P.QT_ITEMNOTA) C_VL_LIQUIDOPROD, {#10} R.N_QT_ITEMNOTA, R.N_PS_ITEMNOTA, R.N_QT_ITEM, R.N_CD_CFO, R.N_CD_CST, R.N_CD_CSOSN, R.N_NR_NCM, {#10} R.N_CD_FORNECEDOR1, R.N_CD_FORNECEDOR2, {#10} COALESCE(P.SG_UNIDMED,R.N_SG_QUANTIDADE)N_SG_QUANTIDADE, {#10} COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)) N_QTDE, {#10} N_SG_QUANTIDADE, {#10} (COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1)) * R.N_VL_UNITARIO - ( {#10} iif(R.N_VL_DESCONTO is not null ,R.N_VL_DESCONTO / COALESCE(COALESCE(NULLIF(R.N_QTDE,0),1) , IIF(P.IDORDEMPRODUCAORECAP IS NULL , COALESCE(NULLIF(R.N_QTDE,0),1) , 1)),0) ) ) R_VL_TOT_CALC, {#10} r.N_VL_UNITARIO * COALESCE(P.QTPNEU, IIF(P.IDORDEMPRODUCAORECAP IS NULL , R.N_QTDE , 1))- coalesce(R.N_VL_FRETE,0) -iif(R.N_VL_DESCONTO is not null ,R.N_VL_DESCONTO / COALESCE(COALESCE(NULLIF(R.N_QTDE,0),1) , IIF(P.IDORDEMPRODUCAORECAP IS NULL , COALESCE(NULLIF(R.N_QTDE,0),1) , 1)),0) {#10} R_VL_TOT_CALCS {#10}
FROM RETORNA_ITENSNF_RECAP(:CD_EMPRESA, :NR_LANCAMENTO, :CD_SERIE, :TP_NOTA) R {#10}
LEFT JOIN RETORNA_PNEUSNF_RECAP(R.CD_EMPRESA, R.NR_LANCAMENTO, R.CD_SERIE, R.TP_NOTA, R.CD_ITEM) P ON (1 = 1) {#10}
INNER JOIN NOTA N ON (N.CD_EMPRESA = R.CD_EMPRESA {#10}
AND N.NR_LANCAMENTO = R.NR_LANCAMENTO {#10}
AND N.CD_SERIE = R.CD_SERIE {#10}
AND N.TP_NOTA = R.TP_NOTA) {#10}
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = N.CD_PESSOA){#10}
INNER JOIN ITEM ITE ON (ITE.CD_ITEM = R.CD_ITEM){#10}
LEFT JOIN PARMFATUR PF ON (PF.CD_EMPRESA = :CD_EMPRESA){#10}
LEFT JOIN PARAMRECAP PR ON (PR.IDEMPRESA = :CD_EMPRESA){#10}
ORDER BY P.IDORDEMPRODUCAORECAP, P.NRSERIE, P.NRDOT, P.NRFOGO
tabSUB2
SELECT V_NR_LANCAMENTO, V_NR_DOCUMENTO||'/'||V_NR_PARCELA V_NR_DOCUMENTO, V_DS_PAGTO, {#10} V_VL_DOCUMENTO, V_DT_VENCIMENTO, V_NR_PARCELA||'/'||V_NR_TOTPARCELAS V_NR_PARCELAS {#10}
FROM RETORNA_CONTAS (:CD_EMPRESA, :NR_LANCAMENTO, {#10} :CD_SERIE, :TP_NOTA, :C_CD_PESSOA, {#10} 500, 'V')
parm
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
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 |
|---|---|
CONTAS | referenciada nas queries do layout |
ITEM | referenciada nas queries do layout |
ITEMNOTA | referenciada nas queries do layout |
NOTA | referenciada nas queries do layout |
PARAMRECAP | referenciada nas queries do layout |
PARMFATUR | referenciada nas queries do layout |
PARMNOTA | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
RETORNA_CABECNF_RECAP | referenciada nas queries do layout |
RETORNA_CONTAS | referenciada nas queries do layout |
RETORNA_ITENSNF_RECAP | referenciada nas queries do layout |
RETORNA_LINHAS | referenciada nas queries do layout |
RETORNA_PNEUSNF_RECAP | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LNF168/ULNF168.pas - DFM:
source/LNF168/ULNF168.dfm - Package:
source/LNF168/LNF168.dpk