Pular para o conteúdo principal

LPR003 — Layout LPR003

Visão Geral​

Layout de impressão da família LPR (Produto). Acionado via ExecLayout a partir das telas que imprimem este tipo de documento.

Descrição​

Consulta baseada em MOVTOPROCESSO, com junção em HISTORICO, CONTAS, PESSOA, CONTASHISTORICO, MOVTOCAIXA, PARMSALDO, filtrada por CD_EMPRESA, NR_PROCESSO, NOT, P, JO, NR_LANCAMENTO (+4).

Chamada​

ExecLayout(Connection, [
// parametros nao documentados no .pas
]);

SQL Base​

Processo​

SELECT CP.NR_DOCUMENTO ||'-'|| CP.NR_PARCELA NR_DOCUMENTO, CP.DT_VENCIMENTO, CAST(CP.CD_PESSOA AS DOM_VARCHAR10)||' - '|| PS.NM_PESSOA NM_PESSOA, IIF(CP.TP_CONTAS = 'E', MP.VL_DOCUMENTO * -1, MP.VL_DOCUMENTO) VL_DOCUMENTO, COALESCE(MP.VL_JURO, 0) VL_JURO, COALESCE(MP.VL_DESCONTO, 0) VL_DESCONTO, CASE CP.TP_CONTAS WHEN 'E' THEN (MP.VL_DOCUMENTO + COALESCE(MP.VL_JURO, 0) - COALESCE(MP.VL_DESCONTO, 0)) * -1 ELSE (MP.VL_DOCUMENTO + COALESCE(MP.VL_JURO, 0) - COALESCE(MP.VL_DESCONTO, 0)) END VL_TOTAL, CH.CD_HISTORICO, H.DS_HISTORICO, SUM(CASE CP.TP_CONTAS WHEN 'E' THEN MP.VL_DOCUMENTO * -1 ELSE MP.VL_DOCUMENTO END) VL_TOTDOCUMENTO, (
SELECT SUM(CASE CO.TP_CONTAS WHEN 'E' THEN (MOV.VL_DOCUMENTO + COALESCE(MOV.VL_JURO, 0) - COALESCE(MOV.VL_DESCONTO, 0)) * -1 ELSE (MOV.VL_DOCUMENTO + COALESCE(MOV.VL_JURO, 0) - COALESCE(MOV.VL_DESCONTO, 0)) END)
FROM MOVTOPROCESSO MOV
INNER JOIN HISTORICO HIST ON (HIST.CD_HISTORICO = MOV.CD_HISTORICO)
INNER JOIN CONTAS CO ON (CO.CD_EMPRESA = MOV.CD_EMPRCONTAS
AND CO.NR_LANCAMENTO = MOV.NR_LANCAMENTO
AND CO.CD_PESSOA = MOV.CD_PESSOA
AND CO.CD_TIPOCONTA = MOV.CD_TIPOCONTA
AND CO.NR_PARCELA = MOV.NR_PARCELA)
WHERE MOV.CD_EMPRESA = P.CD_EMPRESA
AND MOV.NR_PROCESSO = P.NR_PROCESSO
AND HIST.TP_HISTORICO NOT IN ('J','D')) VL_TOTTOTAL, COALESCE('Observação: '||CAST(CP.DS_OBSERVACAO AS DOM_VARCHAR500),'') DS_OBSERVACAO
FROM PROCESSO P
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = P.CD_EMPRESA
AND MP.NR_PROCESSO = P.NR_PROCESSO)
INNER JOIN CONTAS CP ON (CP.CD_EMPRESA = MP.CD_EMPRCONTAS
AND CP.NR_LANCAMENTO = MP.NR_LANCAMENTO
AND CP.CD_PESSOA = MP.CD_PESSOA
AND CP.CD_TIPOCONTA = MP.CD_TIPOCONTA
AND CP.NR_PARCELA = MP.NR_PARCELA)
INNER JOIN PESSOA PS ON (PS.CD_PESSOA = CP.CD_PESSOA)
INNER JOIN CONTASHISTORICO CH ON (CH.CD_EMPRESA = CP.CD_EMPRESA
AND CH.NR_LANCAMENTO = CP.NR_LANCAMENTO
AND CH.CD_PESSOA = CP.CD_PESSOA
AND CH.CD_TIPOCONTA = CP.CD_TIPOCONTA
AND CH.NR_PARCELA = CP.NR_PARCELA
AND CH.CD_HISTORICO = MP.CD_HISTORICO)
INNER JOIN HISTORICO H ON (H.CD_HISTORICO = CH.CD_HISTORICO)
INNER JOIN HISTORICO HP ON (HP.CD_HISTORICO = MP.CD_HISTORICO)
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PROCESSO = :NR_PROCESSO
AND HP.TP_HISTORICO NOT IN ('J','D')
GROUP BY CP.NR_DOCUMENTO, CP.NR_PARCELA, CP.DT_VENCIMENTO, CP.CD_PESSOA, PS.NM_PESSOA, MP.VL_DOCUMENTO, MP.VL_JURO, MP.VL_DESCONTO, CH.CD_HISTORICO, H.DS_HISTORICO, P.CD_EMPRESA, P.NR_PROCESSO, CP.DS_OBSERVACAO, CP.TP_CONTAS
ORDER BY H.DS_HISTORICO, PS.NM_PESSOA CD_EMPRESA 1 NR_PROCESSO
SELECT CAST('Dinheiro' AS DOM_VARCHAR240) DS_BANCO, CAST(NULL AS DOM_VARCHAR60) DS_AGENCIA, CAST(NULL AS DOM_INTEGER) NR_DOCUMENTO, CAST(NULL AS DOM_VARCHAR60) NM_TITULAR, MT.VL_DOCUMENTO, CAST(NULL AS DOM_DATE) DT_VENCIMENTO
FROM PROCESSO P
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = P.CD_EMPRESA
AND MP.NR_PROCESSO = P.NR_PROCESSO)
INNER JOIN CONTAS CP ON (CP.CD_EMPRESA = MP.CD_EMPRCONTAS
AND CP.NR_LANCAMENTO = MP.NR_LANCAMENTO
AND CP.CD_PESSOA = MP.CD_PESSOA
AND CP.CD_TIPOCONTA = MP.CD_TIPOCONTA
AND CP.NR_PARCELA = MP.NR_PARCELA)
INNER JOIN PESSOA PS ON (PS.CD_PESSOA = CP.CD_PESSOA)
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = MP.CD_EMPRESA
AND MT.NR_PROCESSO = MP.NR_PROCESSO
AND MT.TP_DOCUMENTO = 'AV')
INNER JOIN PARMSALDO PM ON (PM.CD_EMPRESA = P.CD_EMPRESA
AND PM.CD_CONTA = COALESCE(MT.CD_CONTADEBITO,MT.CD_CONTACREDITO)
AND PM.TP_SALDO = 'X')
WHERE P.CD_EMPRESA = :CD_EMPRESA
AND P.NR_PROCESSO = :NR_PROCESSO CD_EMPRESA 1 nr_processo

tabPagamento​

SELECT DISTINCT {#10} BC.DS_BANCO, AG.DS_AGENCIA, CTC.NR_DOCUMENTO, C.NM_TITULAR, {#10} IIF(CTC.TP_CONTAS = 'E', CTC.VL_DOCUMENTO * -1, CTC.VL_DOCUMENTO) VL_DOCUMENTO,{#10} CTC.DT_VENCIMENTO {#10}
FROM MOVTOPROCESSO MPCH {#10}
INNER JOIN PROCESSO P ON (P.CD_EMPRESA = MPCH.CD_EMPRESA {#10}
AND P.NR_PROCESSO = MPCH.NR_PROCESSO) {#10}
INNER JOIN CHEQUE C ON (C.CD_EMPRESA = MPCH.CD_EMPRCONTAS {#10}
AND C.NR_LANCAMENTO = MPCH.NR_LANCAMENTO {#10}
AND C.CD_PESSOA = MPCH.CD_PESSOA {#10}
AND C.CD_TIPOCONTA = MPCH.CD_TIPOCONTA {#10}
AND C.NR_PARCELA = MPCH.NR_PARCELA) {#10}
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CTC.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = C.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = C.NR_PARCELA) {#10}
INNER JOIN BANCO BC ON (BC.CD_BANCO = CTC.CD_BANCO) {#10}
INNER JOIN AGENCIA AG ON (AG.CD_BANCO = CTC.CD_BANCO {#10}
AND AG.CD_AGENCIA = CTC.CD_AGENCIA) {#10}
INNER JOIN MOVTOCAIXA MXCH ON (MXCH.CD_EMPRESA = C.CD_EMPRCAIXA {#10}
AND MXCH.NR_LANCCAIXA = C.NR_LANCCAIXA) {#10}
WHERE MPCH.CD_EMPRESA = {iParametros}

Text​

SELECT DISTINCT {#10} BC.DS_BANCO, AG.DS_AGENCIA, CTC.NR_DOCUMENTO, C.NM_TITULAR, {#10} IIF(CTC.TP_CONTAS = 'E', CTC.VL_DOCUMENTO * -1, CTC.VL_DOCUMENTO) VL_DOCUMENTO,{#10} CTC.DT_VENCIMENTO {#10}
FROM MOVTOPROCESSO MPCH {#10}
INNER JOIN PROCESSO P ON (P.CD_EMPRESA = MPCH.CD_EMPRESA {#10}
AND P.NR_PROCESSO = MPCH.NR_PROCESSO) {#10}
INNER JOIN CHEQUE C ON (C.CD_EMPRESA = MPCH.CD_EMPRCONTAS {#10}
AND C.NR_LANCAMENTO = MPCH.NR_LANCAMENTO {#10}
AND C.CD_PESSOA = MPCH.CD_PESSOA {#10}
AND C.CD_TIPOCONTA = MPCH.CD_TIPOCONTA {#10}
AND C.NR_PARCELA = MPCH.NR_PARCELA) {#10}
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CTC.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = C.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = C.NR_PARCELA) {#10}
INNER JOIN BANCO BC ON (BC.CD_BANCO = CTC.CD_BANCO) {#10}
INNER JOIN AGENCIA AG ON (AG.CD_BANCO = CTC.CD_BANCO {#10}
AND AG.CD_AGENCIA = CTC.CD_AGENCIA) {#10}
INNER JOIN MOVTOCAIXA MXCH ON (MXCH.CD_EMPRESA = C.CD_EMPRCAIXA {#10}
AND MXCH.NR_LANCCAIXA = C.NR_LANCCAIXA) {#10}
WHERE MPCH.CD_EMPRESA = {iParametros[1] +#10}
AND MPCH.NR_PROCESSO = {iParametros[2] +#10}
AND MPCH.CD_HISTORICO IN (
SELECT H.CD_HISTORICO {#10}
FROM HISTORICO H {#10}
WHERE H.CD_HISTORICO = MPCH.CD_HISTORICO {#10}
AND H.TP_HISTORICO = 'H' {#10}
AND H.TP_NATUREZA <> P.TP_PROCESSO) {#10}
AND MPCH.NR_LANCAMENTO NOT IN (
SELECT MC.NR_LANCAMENTO {#10}
FROM MOVTOCAIXA MC {#10}
LEFT JOIN VIEW_PARMSALDO(MC.CD_EMPRESA, COALESCE(MC.CD_CONTADEBITO, MC.CD_CONTACREDITO), NULL, NULL) PMC ON (1 = 1){#10}
INNER JOIN PROCESSO P ON (P.CD_EMPRESA = MC.CD_EMPRESA {#10}
AND P.NR_PROCESSO = MC.NR_PROCESSO) {#10}
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = MC.CD_EMPRESA {#10}
AND MP.NR_PROCESSO = MC.NR_PROCESSO {#10}
AND MP.NR_LANCAMENTO <> MC.NR_LANCAMENTO {#10}
AND MP.CD_HISTORICO IN (
SELECT H.CD_HISTORICO {#10}
FROM HISTORICO H {#10}
WHERE H.CD_HISTORICO = MP.CD_HISTORICO {#10}
AND H.TP_HISTORICO = 'H' {#10}
AND H.TP_NATUREZA <> P.TP_PROCESSO)) {#10}
WHERE MC.CD_EMPRESA = {iParametros[1] +#10}
AND MC.NR_PROCESSO = {iParametros[2] +#10}
AND PMC.TP_SALDO IN ('B', 'C', 'X')) {#10+ #10}
UNION ALL {#10+ #10}
SELECT DISTINCT {#10} BC.DS_BANCO, AG.DS_AGENCIA, {#10} MT.NR_DOCUMENTO, C.NM_TITULAR, {#10} IIF(CTC.TP_CONTAS = 'E', MT.VL_DOCUMENTO * -1, MT.VL_DOCUMENTO) VL_DOCUMENTO, {#10} CTC.DT_VENCIMENTO {#10}
FROM PROCESSO P {#10}
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = P.CD_EMPRESA {#10}
AND MT.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MT.TP_DOCUMENTO = 'AV') {#10}
LEFT JOIN VIEW_PARMSALDO(P.CD_EMPRESA, COALESCE(MT.CD_CONTADEBITO,MT.CD_CONTACREDITO), NULL, NULL) PM ON (1 = 1) {#10}
INNER JOIN BANCO BC ON (BC.CD_BANCO = MT.CD_BANCO) {#10}
INNER JOIN AGENCIA AG ON (AG.CD_BANCO = MT.CD_BANCO {#10}
AND AG.CD_AGENCIA = MT.CD_AGENCIA) {#10}
INNER JOIN CHEQUE C ON (C.CD_EMPRESA = MT.CD_EMPRESA {#10}
AND C.NR_LANCCAIXA = MT.NR_LANCCAIXA) {#10}
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CTC.NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = C.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = C.NR_PARCELA) {#10}
WHERE PM.TP_SALDO IN ('R','P') {#10}
AND P.CD_EMPRESA = {iParametros[1] +#10}
AND P.NR_PROCESSO = {iParametros[2] +#10+ #10}
UNION ALL {#10+ #10}
SELECT DISTINCT {#10} BC.DS_BANCO, AG.DS_AGENCIA, {#10} CAST(NULL AS DOM_INTEGER) NR_DOCUMENTO, {#10} CAST(NULL AS DOM_VARCHAR60) NM_TITULAR, {#10} IIF(CTC.TP_CONTAS = 'E', MT.VL_DOCUMENTO * -1, MT.VL_DOCUMENTO) VL_DOCUMENTO, {#10} CAST(NULL AS DATE) DT_VENCIMENTO {#10}
FROM PROCESSO P {#10}
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = P.CD_EMPRESA {#10}
AND MT.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MT.TP_DOCUMENTO = 'AV') {#10}
LEFT JOIN VIEW_PARMSALDO(P.CD_EMPRESA, COALESCE(MT.CD_CONTADEBITO,MT.CD_CONTACREDITO), 'B', NULL) PM ON (1 = 1) {#10}
INNER JOIN BANCO BC ON (BC.CD_BANCO = PM.CD_BANCO) {#10}
INNER JOIN AGENCIA AG ON (AG.CD_BANCO = PM.CD_BANCO {#10}
AND AG.CD_AGENCIA = PM.CD_AGENCIA) {#10}
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = MT.CD_EMPRCONTAS {#10}
AND CTC.NR_LANCAMENTO = MT.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = MT.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = MT.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = MT.NR_PARCELA) {#10}
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND MP.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MP.NR_LANCAMENTO <> MT.NR_LANCAMENTO {#10}
AND MP.CD_HISTORICO IN (
SELECT H.CD_HISTORICO {#10}
FROM HISTORICO H {#10}
WHERE H.CD_HISTORICO = MP.CD_HISTORICO {#10}
AND H.TP_HISTORICO = 'H' {#10}
AND H.TP_NATUREZA <> P.TP_PROCESSO)) {#10}
WHERE PM.TP_SALDO = 'B' {#10}
AND P.CD_EMPRESA = {iParametros[1] +#10}
AND P.NR_PROCESSO = {iParametros[2] +#10+ #10}
UNION ALL {#10+ #10}
SELECT DISTINCT {#10} IIF(MT.DS_COMPLEMENTO = '',VPC.DS_CONTA,CAST(MT.DS_COMPLEMENTO AS DOM_VARCHAR240)) DS_BANCO, {#10} CAST(NULL AS DOM_VARCHAR60) DS_AGENCIA, {#10} CAST(NULL AS DOM_INTEGER) NR_DOCUMENTO, {#10} CAST(NULL AS DOM_VARCHAR60) NM_TITULAR, {#10} IIF(CTC.TP_CONTAS = 'E', MT.VL_DOCUMENTO * -1, MT.VL_DOCUMENTO) VL_DOCUMENTO, {#10} CAST(NULL AS DATE) DT_VENCIMENTO {#10}
FROM PROCESSO P {#10}
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = P.CD_EMPRESA {#10}
AND MT.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MT.TP_DOCUMENTO = 'AV') {#10}
LEFT JOIN VIEW_PARMSALDO(P.CD_EMPRESA, COALESCE(MT.CD_CONTADEBITO,MT.CD_CONTACREDITO), 'X', NULL) PM ON (1 = 1) {#10}
LEFT JOIN VIEW_PLANOCONTAS(MT.CD_EMPRESA, 'AND P.CD_CONTA = ' || COALESCE(MT.CD_CONTACREDITO, -1)) VPC ON (1 = 1){#10}
INNER JOIN CONTAS CTC ON (CTC.CD_EMPRESA = MT.CD_EMPRCONTAS {#10}
AND CTC.NR_LANCAMENTO = MT.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = MT.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = MT.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = MT.NR_PARCELA) {#10}
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND MP.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MP.NR_LANCAMENTO <> MT.NR_LANCAMENTO {#10}
AND MP.CD_HISTORICO IN (
SELECT H.CD_HISTORICO {#10}
FROM HISTORICO H {#10}
WHERE H.CD_HISTORICO = MP.CD_HISTORICO {#10}
AND H.TP_HISTORICO = 'H' {#10}
AND H.TP_NATUREZA <> P.TP_PROCESSO)) {#10}
WHERE PM.TP_SALDO = 'X' {#10}
AND P.CD_EMPRESA = {iParametros[1] +#10}
AND P.NR_PROCESSO = {iParametros[2] +#10}
UNION ALL{#10}
SELECT DISTINCT CAST(COALESCE(VP.DS_CONTA, 'Dinheiro') AS DOM_VARCHAR240) DS_BANCO, CAST(NULL AS DOM_VARCHAR60) DS_AGENCIA,{#10} CAST(NULL AS DOM_INTEGER) NR_DOCUMENTO, CAST(NULL AS DOM_VARCHAR60) NM_TITULAR,{#10} IIF(MT.TP_MOVTOCAIXA = 'P', MT.VL_DOCUMENTO * -1, MT.VL_DOCUMENTO) VL_DOCUMENTO, CAST(NULL AS DATE) DT_VENCIMENTO{#10}
FROM PROCESSO P{#10}
INNER JOIN MOVTOCAIXA MT ON (MT.CD_EMPRPROC = P.CD_EMPRESA {#10}
AND MT.NR_PROCESSO = P.NR_PROCESSO {#10}
AND MT.nr_lancamento is null){#10}
LEFT JOIN CONTAS CTC ON (CTC.CD_EMPRESA = MT.CD_EMPRCONTAS {#10}
AND CTC.NR_LANCAMENTO = MT.NR_LANCAMENTO {#10}
AND CTC.CD_PESSOA = MT.CD_PESSOA {#10}
AND CTC.CD_TIPOCONTA = MT.CD_TIPOCONTA {#10}
AND CTC.NR_PARCELA = MT.NR_PARCELA){#10}
INNER JOIN MOVTOPROCESSO MP ON (MP.CD_EMPRESA = P.CD_EMPRESA {#10}
AND MP.NR_PROCESSO = P.NR_PROCESSO){#10}
LEFT JOIN VIEW_PLANOCONTAS(MT.CD_EMPRESA, 'AND P.CD_CONTA = ' || COALESCE(MT.CD_CONTACREDITO, -1)) VP ON (1 = 1) {#10}
LEFT JOIN VIEW_PARMSALDO(P.CD_EMPRESA, COALESCE(MT.CD_CONTADEBITO, MT.CD_CONTACREDITO), NULL, NULL) PM ON (1 = 1){#10}
WHERE P.CD_EMPRESA = {iParametros[1] +#10}
AND MT.NR_PROCESSO = {iParametros[2] +#10}
AND PM.tp_saldo IN ('B','C', 'X'){#10}
GROUP BY COALESCE(VP.DS_CONTA, 'Dinheiro'), IIF(MT.TP_MOVTOCAIXA = 'P', MT.VL_DOCUMENTO * -1, MT.VL_DOCUMENTO)

Tabelas Utilizadas​

TabelaUso
AGENCIAreferenciada nas queries do layout
BANCOreferenciada nas queries do layout
CHEQUEreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
CONTASHISTORICOreferenciada nas queries do layout
HISTORICOreferenciada nas queries do layout
MOVTOCAIXAreferenciada nas queries do layout
MOVTOPROCESSOreferenciada nas queries do layout
PARMSALDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
PROCESSOreferenciada nas queries do layout
VIEW_PARMSALDOreferenciada nas queries do layout
VIEW_PLANOCONTASreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LPR003/ULPR003.pas
  • DFM: source/LPR003/ULPR003.dfm
  • Package: source/LPR003/LPR003.dpk