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
| Tabela | Uso |
|---|---|
AGENCIA | referenciada nas queries do layout |
BANCO | referenciada nas queries do layout |
CHEQUE | referenciada nas queries do layout |
CONTAS | referenciada nas queries do layout |
CONTASHISTORICO | referenciada nas queries do layout |
HISTORICO | referenciada nas queries do layout |
MOVTOCAIXA | referenciada nas queries do layout |
MOVTOPROCESSO | referenciada nas queries do layout |
PARMSALDO | referenciada nas queries do layout |
PESSOA | referenciada nas queries do layout |
PROCESSO | referenciada nas queries do layout |
VIEW_PARMSALDO | referenciada nas queries do layout |
VIEW_PLANOCONTAS | referenciada nas queries do layout |
Shared Units
- jCommon
- jPesquisa
Fonte
- Unit:
source/LPR003/ULPR003.pas - DFM:
source/LPR003/ULPR003.dfm - Package:
source/LPR003/LPR003.dpk