Pular para o conteúdo principal

LDP018 — Layout LDP018

Visão Geral​

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

Descrição​

Consulta baseada em LOCACAOITEM, com junção em CONTAS, EMPRESA, PESSOA, RETORNA_DADOSCADASTRAIS, PEDIDO, RETORNA_LINHAS (+10), filtrada por CD_EMPRESA, NR_LOCACAO, ST_TROCADO, O_NR_L, JO, CD_PESSOA (+19).

Chamada​

ExecLayout(Connection, [
// 0 - Nome do Layout de Duplicata
// 1 - Empresa
// 2 - Locacao
// 3 - Pedido
// 4 - Duplicata
// 5 - Path Servidor
// 6 - Troca
// 7 - Venda
// 8 - Itens
// 9 - Parametro para imprimir varias vias quando a impressão vem da CPD008
// 10 - numero da troca, para imprimir o comprovante de credito corretamente
]);

SQL Base​

tabAvulsa #1​

/*VENDA*/
SELECT DISTINCT /*empresa*/ PE.NM_PESSOA NM_EMPRESA, PE.NR_CNPJCPF CNPJEMPRESA, EN.DS_ENDERECO||' - Nº '||EN.NR_ENDERECO||' - Bairro: '||EN.DS_BAIRRO ENDEMPRESA, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO MUNICIPIOEMPRESA, EN.NR_INSCEST INSCESTEMPRESA, coalesce(EN.NR_TELEFONE, EN.NR_FONE) FONEEMPRESA, EN.DS_EMAIL EMAILEMPRESA, EN.DS_SITE SITEEMPRESA, current_date DT_REGISTRO, P.NR_PEDIDO, (
SELECT sum(LI.VL_VENDA)
FROM LOCACAOITEM LI
WHERE LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO
AND LI.ST_TROCADO = 'N') VL_VENDA, LO.DT_DEVOLUCAO DT_VENCIMENTO, --C.NR_DOCUMENTO||'/'||C.NR_PARCELA NR_DUPLICATA, LO.DT_RETIRADA, /*cliente*/ PC.NM_PESSOA NMCLIENTE, EC.NR_CNPJCPF CNPJCLIENTE, EC.DS_ENDERECO ENDECLIENTE, EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO MUNICIPIOCLIENTE, EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO||coalesce(' Cep: '||EC.NR_CEP,'') DS_PRACAPAGTO, EC.DS_EMAIL EMAILCLIENTE, EC.NR_RG RGCLIENTE, EC.NR_CEP CEPCLIENTE, coalesce(EC.NR_TELEFONE, EC.NR_FONE) FONECLIENTE, EC.NR_CELULAR CELCLIENTE, '('||(
SELECT O_VALOR
FROM VALOR_EXTENSO((
SELECT sum(LI.VL_VENDA)
FROM LOCACAOITEM LI
WHERE LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO
AND LI.ST_TROCADO = 'N') ))||') * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *' DS_DUPLICATA, 'Reconheço a exatidão desta Duplicata Mercantil, e me comprometo com o pagamento da mesma.'||ASCII_CHAR(10)|| 'No caso de entregar os produtos danificados ou no caso da não devolução destes à: '||E.NM_EMPRESA DS_MENSAGEM, RL.O_NR_LINHA, U.NM_USUARIO, E.NM_EMPRESA RAZAO_SOCIAL, /*Avaria*/ LI.VL_AVARIA, LI.DS_AVARIA, LI.DT_VENCTOAV, LC.DS_CONDPAGTO, LF.DS_FORMAPAGTO
FROM LOCACAO LO
LEFT JOIN CONTAS C on (C.CD_EMPRESA = LO.CD_EMPRESA
AND C.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN EMPRESA E on (E.CD_EMPRESA = LO.CD_EMPRESA)
INNER JOIN PESSOA PE on (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, null) EN on (1=1)
INNER JOIN PEDIDO P on (P.CD_EMPRESA = LO.CD_EMPRESA
AND P.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN PESSOA PC on (PC.CD_PESSOA = LO.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, null) EC on (1=1)
LEFT JOIN RETORNA_LINHAS(1) RL on (1=1)
LEFT JOIN LOCACAOITEM LI on (LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO)
LEFT JOIN CONDPAGTO LC ON (LC.CD_CONDPAGTO = LI.CD_CONDPAGTOAV)
LEFT JOIN FORMAPAGTO LF ON (LF.CD_FORMAPAGTO = LI.CD_FORMAPAGTOAV) /*FINANCEIRA*/
SELECT C.NR_LANCAMENTO, /*EMPRESA*/ PE.NM_PESSOA NM_EMPRESA, PE.NR_CNPJCPF CNPJEMPRESA, EN.DS_ENDERECO ENDEMPRESA, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO MUNICIPIOEMPRESA, EN.NR_INSCEST INSCESTEMPRESA, COALESCE(EN.NR_TELEFONE, EN.NR_FONE) FONEEMPRESA, EN.DS_EMAIL EMAILEMPRESA, EN.DS_SITE SITEEMPRESA, CURRENT_DATE DT_EMISSAO, P.NR_PEDIDO, /*CONTAS*/ C.NR_DOCUMENTO, (
SELECT SUM(COALESCE(LC.VL_UNITARIO,0) - COALESCE(LC.VL_DESCONTO,0))
FROM LOCACAOITEM LC
WHERE LC.CD_EMPRESA = LO.CD_EMPRESA
AND LC.NR_LOCACAO = LO.NR_LOCACAO
AND LC.ST_LOCADO = 'S') VL_TOTAL, (
SELECT SUM(COALESCE(LC.VL_UNITARIO,0) - COALESCE(LC.VL_DESCONTO,0))
FROM LOCACAOITEM LC
WHERE LC.CD_EMPRESA = LO.CD_EMPRESA
AND LC.NR_LOCACAO = LO.NR_LOCACAO
AND LC.ST_LOCADO = 'S') VL_SALDO, (
SELECT SUM(COALESCE(LC.VL_UNITARIO,0) - COALESCE(LC.VL_DESCONTO,0))
FROM LOCACAOITEM LC
WHERE LC.CD_EMPRESA = LO.CD_EMPRESA
AND LC.NR_LOCACAO = LO.NR_LOCACAO
AND LC.ST_LOCADO = 'S') VL_RESTANTE, /*Origem da Conta*/ (CASE CH.CD_HISTORICO WHEN (
SELECT M.CD_HISTORICO
FROM MOVIMENTACAO M
WHERE M.CD_MOVIMENTACAO = (
SELECT PA.CD_MOVSAIDA
FROM PARMFATUR PA
WHERE PA.CD_EMPRESA = 1)) THEN 'LOCAÇÃO' WHEN (
SELECT M.CD_HISTORICO
FROM MOVIMENTACAO M
WHERE M.CD_MOVIMENTACAO = (
SELECT PA.CD_TROCAENT
FROM PARMFATUR PA
WHERE PA.CD_EMPRESA = 1)) THEN C.DS_OBSERVACAO WHEN (
SELECT M.CD_HISTORICO
FROM MOVIMENTACAO M
WHERE M.CD_MOVIMENTACAO = (
SELECT PA.CD_TROCASAI
FROM PARMFATUR PA
WHERE PA.CD_EMPRESA = 1)) THEN C.DS_OBSERVACAO WHEN (
SELECT M.CD_HISTORICO
FROM MOVIMENTACAO M
WHERE M.CD_MOVIMENTACAO = (
SELECT PA.CD_MOVSERVICO
FROM PARMFATUR PA
WHERE PA.CD_EMPRESA = 1)) THEN 'AVARIA' END) OR_NOTA, C.NR_PARCELA||'/'||(
SELECT max(CU.NR_PARCELA)
FROM CONTAS CU
WHERE CU.CD_EMPRESA = C.CD_EMPRESA
AND CU.CD_PESSOA = C.CD_PESSOA
AND CU.NR_LOCACAO = C.NR_LOCACAO
AND CU.CD_TIPOCONTA = C.CD_TIPOCONTA
AND CU.ST_CONTAS <> 'L') NR_DUPLICATA, C.VL_DOCUMENTO, C.DT_VENCIMENTO, '('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_DOCUMENTO))||')'||COPIA_TEXTO( '* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *', CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_DOCUMENTO))||')'), 155 - CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_DOCUMENTO))||')')) DS_DUPLICATA, /*CLIENTE*/ PC.NM_PESSOA NMCLIENTE, EC.NR_CNPJCPF CNPJCLIENTE, EC.DS_ENDERECO ENDECLIENTE, EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO MUNICIPIOCLIENTE, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO||coalesce(' Cep: '||en.NR_CEP,'') DS_PRACAPAGTO, EN.DS_EMAIL EMAILCLIENTE, EN.NR_RG RGCLIENTE, EN.NR_CEP CEPCLIENTE, coalesce(EN.NR_TELEFONE, EN.NR_FONE) FONECLIENTE, EN.NR_CELULAR CELCLIENTE, RL.o_nr_linha DS_QUEBRA
FROM LOCACAO LO
LEFT JOIN CONTAS C ON (C.CD_EMPRESA = LO.CD_EMPRESA
AND C.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = LO.CD_EMPRESA)
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, NULL) EN ON (1=1)
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = LO.CD_EMPRESA
AND P.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = LO.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, NULL) EC ON (1=1)
INNER JOIN CONTASHISTORICO CH ON (CH.NR_LANCAMENTO = C.NR_LANCAMENTO
AND CH.CD_EMPRESA = C.CD_EMPRESA)
LEFT JOIN retorna_linhas(1) RL ON (1 = 1)
SELECT P.NR_PARCELA, P.DT_VENCIMENTO, P.VL_PARCELA
FROM PARCELAPEDIDO P
INNER JOIN PEDIDO PE ON (PE.CD_EMPRESA = P.CD_EMPRESA
AND PE.NR_PEDIDO = P.NR_PEDIDO)
INNER JOIN LOCACAO L ON (L.CD_EMPRESA = PE.CD_EMPRESA
AND L.NR_LOCACAO = PE.NR_LOCACAO) /*VENDA*/
SELECT DISTINCT /*empresa*/ PE.NM_PESSOA NM_EMPRESA, PE.NR_CNPJCPF CNPJEMPRESA, EN.DS_ENDERECO ||' Nº' || COALESCE(EN.NR_ENDERECO,'')||' BAIRRO: '||Coalesce(EN.DS_BAIRRO,'') ENDEMPRESA, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO MUNICIPIOEMPRESA, EN.NR_INSCEST INSCESTEMPRESA, coalesce(EN.NR_TELEFONE, EN.NR_FONE) FONEEMPRESA, EN.DS_EMAIL EMAILEMPRESA, EN.DS_SITE SITEEMPRESA, current_date DT_REGISTRO, P.NR_PEDIDO, (
SELECT sum(LI.VL_VENDA)
FROM LOCACAOITEM LI
WHERE LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO
AND LI.ST_TROCADO = 'N') VL_VENDA, LO.DT_DEVOLUCAO DT_VENCIMENTO, --C.NR_DOCUMENTO||'/'||C.NR_PARCELA NR_DUPLICATA, LO.DT_RETIRADA, /*cliente*/ PC.NM_PESSOA NMCLIENTE, EC.NR_CNPJCPF CNPJCLIENTE, EC.DS_ENDERECO||' Nº'|| COALESCE(EC.NR_ENDERECO,'')||' Bairro:'||Coalesce(EC.DS_BAIRRO,'') ENDECLIENTE, EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO MUNICIPIOCLIENTE, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO||coalesce(' Cep: '||en.NR_CEP,'') DS_PRACAPAGTO, EC.DS_EMAIL EMAILCLIENTE, EC.NR_RG RGCLIENTE, EC.NR_CEP CEPCLIENTE, coalesce(EC.NR_TELEFONE, EC.NR_FONE) FONECLIENTE, EC.NR_CELULAR CELCLIENTE, '('||(
SELECT O_VALOR
FROM VALOR_EXTENSO((
SELECT sum(LI.VL_VENDA)
FROM LOCACAOITEM LI
WHERE LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO
AND LI.ST_TROCADO = 'N') ))||') * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *' DS_DUPLICATA, 'Reconheço a exatidão desta Duplicata Mercantil, e me comprometo com o pagamento da mesma.'||ASCII_CHAR(10)|| 'No caso de entregar os produtos danificados ou no caso da não devolução destes à: '||E.NM_EMPRESA DS_MENSAGEM, RL.O_NR_LINHA, E.NM_EMPRESA RAZAO_SOCIAL, PARM.DS_LOGOTIPO, /*Avaria*/ LI.VL_AVARIA, LI.DS_AVARIA, Li.DT_VENCTOAV, LC.DS_CONDPAGTO, LF.DS_FORMAPAGTO, /*ITEM*/ I.CD_GRUPO, I.CD_FORNECEDOR1, I.DS_ITEM
FROM LOCACAO LO
LEFT JOIN CONTAS C on (C.CD_EMPRESA = LO.CD_EMPRESA
AND C.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN EMPRESA E on (E.CD_EMPRESA = LO.CD_EMPRESA)
INNER JOIN PESSOA PE on (PE.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, null) EN on (1=1)
INNER JOIN PEDIDO P on (P.CD_EMPRESA = LO.CD_EMPRESA
AND P.NR_LOCACAO = LO.NR_LOCACAO)
INNER JOIN PESSOA PC on (PC.CD_PESSOA = LO.CD_PESSOA)
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, null) EC on (1=1)
LEFT JOIN RETORNA_LINHAS(1) RL on (1=1)
LEFT JOIN LOCACAOITEM LI on (LI.CD_EMPRESA = LO.CD_EMPRESA
AND LI.NR_LOCACAO = LO.NR_LOCACAO)
LEFT JOIN ITEM I ON (I.CD_ITEM = LI.CD_ITEM)
LEFT JOIN CONDPAGTO LC ON (LC.CD_CONDPAGTO = LI.CD_CONDPAGTOAV)
LEFT JOIN FORMAPAGTO LF ON (LF.CD_FORMAPAGTO = LI.CD_FORMAPAGTOAV)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = LO.CD_EMPRESA)
SELECT 'Concede-se a '||P.NM_PESSOA ||' um vale locação no valor de R$ ), para aluguel de produtos já existentes no estoque de produtos acabados e que só terá validade se apresentado no ato do fechamento da locação no caixa. O Credito é oriundo da troca do Pedido nº '||N.NR_PEDIDO ||' feita por produtos com valor menor dos produtos originais da referida locação. É valido apenas para locações emitidas após a presente data e de uso intransferível da cliente. ' DS_CONTRATO, MUN.DS_MUNICIPIO, LT.DT_REGISTRO, CURRENT_DATE DT_ATUAL, L.NR_LOCACAO, PARM.DS_LOGOTIPO,RL.o_nr_linha DS_QUEBRA
FROM PEDIDO N
INNER JOIN LOCACAO L ON (L.CD_EMPRESA = N.CD_EMPRESA
AND L.NR_LOCACAO = N.NR_LOCACAO)
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA)
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO
AND N.CD_EMPRESA = IP.CD_EMPRESA
AND N.TP_PEDIDO = IP.TP_PEDIDO)
INNER JOIN PESSOA P ON (P.CD_PESSOA = L.CD_PESSOA)
INNER JOIN LOCACAOITEM LI ON (LI.CD_EMPRESA = L.CD_EMPRESA
AND LI.NR_LOCACAO = L.NR_LOCACAO
AND LI.CD_ITEM = IP.CD_ITEM)
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = N.CD_EMPRESA)
LEFT JOIN ENDERECOPESSOA EN ON (EN.CD_PESSOA = E.CD_PESSOA)
LEFT JOIN MUNICIPIO MUN ON (MUN.CD_MUNICIPIO = EN.CD_MUNICIPIO)
INNER JOIN LOCACAOITEMTROCA LT ON (LT.CD_EMPRESA = N.CD_EMPRESA
AND LT.NR_LOCACAO = N.NR_LOCACAO
AND QT_TROCA = (
SELECT MAX(QT_TROCA)
FROM LOCACAOITEMTROCA
WHERE CD_EMPRESA = LI.CD_EMPRESA
AND NR_LOCACAO = LI.NR_LOCACAO))
LEFT JOIN retorna_linhas(1) RL ON (1 = 1)

tabDuplicata​

SELECT {#10}(
SELECT SUM(CV.VL_DOCUMENTO) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_TROCA = C.NR_TROCA) VL_TOTAL, {#10}(
SELECT SUM(CV.VL_SALDO) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias})) VL_SALDO, {#10}(
SELECT COALESCE(SUM(CV.VL_DOCUMENTO),0) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias}))- {#10}(
SELECT COALESCE(SUM(CV.VL_SALDO),0) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias})) VL_RESTANTE, {#10}C.NR_LANCAMENTO, {#10}/*Origem da Conta*/{#10}(CASE CH.CD_HISTORICO {#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ( {#10}
SELECT PA.CD_MOVSAIDA{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN CASE LO.TP_LOCACAO WHEN 'V' THEN 'VENDA' ELSE 'LOCAÇÃO' END{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_TROCAENT{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN C.DS_OBSERVACAO{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_TROCASAI{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN C.DS_OBSERVACAO{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_MOVSERVICO{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN 'AVARIA'{#10} END) OR_NOTA,{#10}/*EMPRESA*/ {#10}PE.NM_PESSOA NM_EMPRESA, PE.NR_CNPJCPF CNPJEMPRESA, {#10}EN.DS_ENDERECO ||' Nº'|| COALESCE(EN.NR_ENDERECO,'')||' Bairro:'||Coalesce(EN.DS_BAIRRO,'') ENDEMPRESA, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO MUNICIPIOEMPRESA, {#10}EN.NR_INSCEST INSCESTEMPRESA, COALESCE(EN.NR_TELEFONE, EN.NR_FONE) FONEEMPRESA, {#10}EN.DS_EMAIL EMAILEMPRESA, EN.DS_SITE SITEEMPRESA, CURRENT_DATE DT_EMISSAO, {#10}P.NR_PEDIDO, {#10}/*CONTAS*/ {#10}C.NR_DOCUMENTO, {#10}C.NR_PARCELA||'/'||(
SELECT MAX(CO.NR_PARCELA){#10}
FROM CONTAS CO{#10}
WHERE CO.NR_TROCA = (
SELECT NR_TROCA {#10}
FROM CONTAS {#10}
WHERE NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CD_EMPRESA = C.CD_EMPRESA {#10}
AND CD_PESSOA = PE.CD_PESSOA {#10}
AND CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND NR_PARCELA = CO.NR_PARCELA) {#10}AND CO.CD_EMPRESA = CD_EMPRESA {#10}AND CO.NR_LOCACAO = (
SELECT NR_LOCACAO {#10}
FROM CONTAS {#10}
WHERE NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CD_EMPRESA = C.CD_EMPRESA {#10}
AND CD_PESSOA = PE.CD_PESSOA {#10}
AND CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND NR_PARCELA = CO.NR_PARCELA)) NR_DUPLICATA, {#10}C.VL_DOCUMENTO, C.DT_VENCIMENTO, {#10}'('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')'||COPIA_TEXTO( {#10}'* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *', {#10}CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')'), 155 - CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')')) DS_DUPLICATA, {#10}/*CLIENTE*/ {#10}PC.NM_PESSOA NMCLIENTE, {#10}EC.NR_CNPJCPF CNPJCLIENTE, {#10}EC.DS_ENDERECO||' Nº'|| COALESCE(EC.NR_ENDERECO,'')||' Bairro:'||Coalesce(EC.DS_BAIRRO,'') ENDECLIENTE, {#10}EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO MUNICIPIOCLIENTE, {#10}EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO||coalesce(' Cep: '||en.NR_CEP,'') DS_PRACAPAGTO, {#10}EC.DS_EMAIL EMAILCLIENTE, EC.NR_RG RGCLIENTE, EC.NR_CEP CEPCLIENTE, {#10}coalesce(EC.NR_TELEFONE, EC.NR_FONE) FONECLIENTE, {#10}EC.NR_CELULAR CELCLIENTE, U.NM_USUARIO, E.NM_EMPRESA RAZAO_SOCIAL, RL.o_nr_linha DS_QUEBRA {#10}
FROM LOCACAO LO {#10}
LEFT JOIN CONTAS C ON (C.CD_EMPRESA = LO.CD_EMPRESA {#10}
AND C.NR_LOCACAO = LO.NR_LOCACAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = LO.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, NULL) EN ON (1=1) {#10}
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = LO.CD_EMPRESA {#10}
AND P.NR_LOCACAO = LO.NR_LOCACAO) {#10}
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = LO.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, NULL) EC ON (1=1) {#10}
LEFT JOIN USUARIO U ON (U.CD_USUARIO = '{sessao}

tabAvulsa #2​

{frmLDP018}

tabAvaria​

{frmLDP018}

tabContas​

{frmLDP018}

tabCredito​

SELECT DISTINCT {#10}'Concede-se a '||P.NM_PESSOA ||' um vale locação no valor de R$'||COALESCE(C.VL_SALDO,((
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA{#10}
WHERE CD_EMPRESA = L.CD_EMPRESA{#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'S'{#10} {qttroca}){#10} - {#10}(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'E'{#10} {qttroca})))|| {#10}'('||{#10}(
SELECT *
FROM VALOR_EXTENSO {#10}(COALESCE(C.VL_SALDO,(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'S'{#10} {qttroca}) {#10} - {#10}(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'E'{#10} {qttroca})))) {#10}||'), para aluguel de produtos já existentes no estoque de produtos acabados e que só terá validade se apresentado no ato do fechamento da locação no caixa. O Credito é oriundo da troca do Pedido nº'||N.NR_PEDIDO ||' feita por produtos com valor menor dos produtos originais da referida locação. É valido apenas para locações emitidas após a presente data e de uso intransferível da cliente. ' DS_CONTRATO,{#10}MUN.DS_MUNICIPIO || ',' DS_MUNICIPIO ,MAX(LT.DT_REGISTRO) DT_REGISTRO, {#10}L.NR_LOCACAO,PARM.DS_LOGOTIPO, RL.o_nr_linha DS_QUEBRA {#10}
FROM PEDIDO N {#10}
INNER JOIN LOCACAO L ON (L.CD_EMPRESA = N.CD_EMPRESA {#10}
AND L.NR_LOCACAO = N.NR_LOCACAO) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA) {#10}
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO){#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = L.CD_PESSOA){#10}
INNER JOIN LOCACAOITEM LI ON (LI.CD_EMPRESA = L.CD_EMPRESA {#10}
AND LI.NR_LOCACAO = L.NR_LOCACAO {#10}
AND LI.CD_ITEM = IP.CD_ITEM){#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = N.CD_EMPRESA) {#10}
LEFT JOIN ENDERECOPESSOA EN ON (EN.CD_PESSOA = E.CD_PESSOA {#10}
AND EN.CD_ENDERECO = (
SELECT MAX(CD_ENDERECO)
FROM ENDERECOPESSOA
WHERE CD_PESSOA = E.CD_PESSOA)){#10}
LEFT JOIN MUNICIPIO MUN ON (MUN.CD_MUNICIPIO = EN.CD_MUNICIPIO){#10}
INNER JOIN LOCACAOITEMTROCA LT ON (LT.CD_EMPRESA = N.CD_EMPRESA {#10}
AND LT.NR_LOCACAO = N.NR_LOCACAO {#10} {qttroca}){#10}
LEFT JOIN retorna_linhas(1) RL ON (1 = 1) {#10}
LEFT JOIN CONTAS C ON (C.NR_LOCACAO = L.NR_LOCACAO{#10}
AND C.CD_EMPRESA = L.CD_EMPRESA{#10}
AND C.NR_TROCA = {QuotedStr}

Text #1​

SELECT {#10}(
SELECT SUM(CV.VL_DOCUMENTO) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_TROCA = C.NR_TROCA) VL_TOTAL, {#10}(
SELECT SUM(CV.VL_SALDO) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias})) VL_SALDO, {#10}(
SELECT COALESCE(SUM(CV.VL_DOCUMENTO),0) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias}))- {#10}(
SELECT COALESCE(SUM(CV.VL_SALDO),0) {#10}
FROM CONTAS CV {#10}
WHERE CV.CD_EMPRESA = C.CD_EMPRESA {#10}
AND CV.NR_LOCACAO = C.NR_LOCACAO {#10}
AND CV.NR_LANCAMENTO IN ({vias})) VL_RESTANTE, {#10}C.NR_LANCAMENTO, {#10}/*Origem da Conta*/{#10}(CASE CH.CD_HISTORICO {#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ( {#10}
SELECT PA.CD_MOVSAIDA{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN CASE LO.TP_LOCACAO WHEN 'V' THEN 'VENDA' ELSE 'LOCAÇÃO' END{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_TROCAENT{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN C.DS_OBSERVACAO{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_TROCASAI{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN C.DS_OBSERVACAO{#10}WHEN ({#10}
SELECT M.CD_HISTORICO{#10}
FROM MOVIMENTACAO M{#10}
WHERE M.CD_MOVIMENTACAO = ({#10}
SELECT PA.CD_MOVSERVICO{#10}
FROM PARMFATUR PA{#10}
WHERE PA.CD_EMPRESA = LO.CD_EMPRESA)) THEN 'AVARIA'{#10} END) OR_NOTA,{#10}/*EMPRESA*/ {#10}PE.NM_PESSOA NM_EMPRESA, PE.NR_CNPJCPF CNPJEMPRESA, {#10}EN.DS_ENDERECO ||' Nº'|| COALESCE(EN.NR_ENDERECO,'')||' Bairro:'||Coalesce(EN.DS_BAIRRO,'') ENDEMPRESA, EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO MUNICIPIOEMPRESA, {#10}EN.NR_INSCEST INSCESTEMPRESA, COALESCE(EN.NR_TELEFONE, EN.NR_FONE) FONEEMPRESA, {#10}EN.DS_EMAIL EMAILEMPRESA, EN.DS_SITE SITEEMPRESA, CURRENT_DATE DT_EMISSAO, {#10}P.NR_PEDIDO, {#10}/*CONTAS*/ {#10}C.NR_DOCUMENTO, {#10}C.NR_PARCELA||'/'||(
SELECT MAX(CO.NR_PARCELA){#10}
FROM CONTAS CO{#10}
WHERE CO.NR_TROCA = (
SELECT NR_TROCA {#10}
FROM CONTAS {#10}
WHERE NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CD_EMPRESA = C.CD_EMPRESA {#10}
AND CD_PESSOA = PE.CD_PESSOA {#10}
AND CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND NR_PARCELA = CO.NR_PARCELA) {#10}AND CO.CD_EMPRESA = CD_EMPRESA {#10}AND CO.NR_LOCACAO = (
SELECT NR_LOCACAO {#10}
FROM CONTAS {#10}
WHERE NR_LANCAMENTO = C.NR_LANCAMENTO {#10}
AND CD_EMPRESA = C.CD_EMPRESA {#10}
AND CD_PESSOA = PE.CD_PESSOA {#10}
AND CD_TIPOCONTA = C.CD_TIPOCONTA {#10}
AND NR_PARCELA = CO.NR_PARCELA)) NR_DUPLICATA, {#10}C.VL_DOCUMENTO, C.DT_VENCIMENTO, {#10}'('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')'||COPIA_TEXTO( {#10}'* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *', {#10}CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')'), 155 - CHAR_LENGTH('('||(
SELECT O_VALOR
FROM VALOR_EXTENSO(C.VL_SALDO))||')')) DS_DUPLICATA, {#10}/*CLIENTE*/ {#10}PC.NM_PESSOA NMCLIENTE, {#10}EC.NR_CNPJCPF CNPJCLIENTE, {#10}EC.DS_ENDERECO||' Nº'|| COALESCE(EC.NR_ENDERECO,'')||' Bairro:'||Coalesce(EC.DS_BAIRRO,'') ENDECLIENTE, {#10}EC.DS_MUNICIPIO||'/'||EC.SG_ESTADO MUNICIPIOCLIENTE, {#10}EN.DS_MUNICIPIO||'/'||EN.SG_ESTADO||coalesce(' Cep: '||en.NR_CEP,'') DS_PRACAPAGTO, {#10}EC.DS_EMAIL EMAILCLIENTE, EC.NR_RG RGCLIENTE, EC.NR_CEP CEPCLIENTE, {#10}coalesce(EC.NR_TELEFONE, EC.NR_FONE) FONECLIENTE, {#10}EC.NR_CELULAR CELCLIENTE, U.NM_USUARIO, E.NM_EMPRESA RAZAO_SOCIAL, RL.o_nr_linha DS_QUEBRA {#10}
FROM LOCACAO LO {#10}
LEFT JOIN CONTAS C ON (C.CD_EMPRESA = LO.CD_EMPRESA {#10}
AND C.NR_LOCACAO = LO.NR_LOCACAO) {#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = LO.CD_EMPRESA) {#10}
INNER JOIN PESSOA PE ON (PE.CD_PESSOA = E.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PE.CD_PESSOA, NULL) EN ON (1=1) {#10}
INNER JOIN PEDIDO P ON (P.CD_EMPRESA = LO.CD_EMPRESA {#10}
AND P.NR_LOCACAO = LO.NR_LOCACAO) {#10}
INNER JOIN PESSOA PC ON (PC.CD_PESSOA = LO.CD_PESSOA) {#10}
LEFT JOIN RETORNA_DADOSCADASTRAIS(PC.CD_PESSOA, NULL) EC ON (1=1) {#10}
LEFT JOIN USUARIO U ON (U.CD_USUARIO = '{sessao.usuario.cd_Usuario}' ) {#10}
INNER JOIN CONTASHISTORICO CH ON (CH.NR_LANCAMENTO = C.NR_LANCAMENTO{#10}
AND CH.CD_EMPRESA = C.CD_EMPRESA){#10}
LEFT JOIN retorna_linhas(1) RL ON (1 = 1) {#10}
WHERE LO.CD_EMPRESA = {iParametros[1] +#10}
AND LO.NR_LOCACAO in({iParametros[2]}){#10}
AND C.NR_LANCAMENTO IN ({iParametros[4]}){#10}
AND C.DT_VENCIMENTO > CURRENT_DATE

Text #2​

SELECT DISTINCT {#10}'Concede-se a '||P.NM_PESSOA ||' um vale locação no valor de R$'||COALESCE(C.VL_SALDO,((
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA{#10}
WHERE CD_EMPRESA = L.CD_EMPRESA{#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'S'{#10} {qttroca}){#10} - {#10}(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'E'{#10} {qttroca})))|| {#10}'('||{#10}(
SELECT *
FROM VALOR_EXTENSO {#10}(COALESCE(C.VL_SALDO,(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'S'{#10} {qttroca}) {#10} - {#10}(
SELECT COALESCE(SUM(VL_UNITARIO - COALESCE(VL_DESCONTO,0)),0){#10}
FROM LOCACAOITEMTROCA {#10}
WHERE CD_EMPRESA = L.CD_EMPRESA {#10}
AND NR_LOCACAO = L.NR_LOCACAO {#10}
AND TP_TROCA = 'E'{#10} {qttroca})))) {#10}||'), para aluguel de produtos já existentes no estoque de produtos acabados e que só terá validade se apresentado no ato do fechamento da locação no caixa. O Credito é oriundo da troca do Pedido nº'||N.NR_PEDIDO ||' feita por produtos com valor menor dos produtos originais da referida locação. É valido apenas para locações emitidas após a presente data e de uso intransferível da cliente. ' DS_CONTRATO,{#10}MUN.DS_MUNICIPIO || ',' DS_MUNICIPIO ,MAX(LT.DT_REGISTRO) DT_REGISTRO, {#10}L.NR_LOCACAO,PARM.DS_LOGOTIPO, RL.o_nr_linha DS_QUEBRA {#10}
FROM PEDIDO N {#10}
INNER JOIN LOCACAO L ON (L.CD_EMPRESA = N.CD_EMPRESA {#10}
AND L.NR_LOCACAO = N.NR_LOCACAO) {#10}
INNER JOIN PARMFATUR PARM ON (PARM.CD_EMPRESA = N.CD_EMPRESA) {#10}
INNER JOIN ITEMPEDIDO IP ON (N.NR_PEDIDO = IP.NR_PEDIDO {#10}
AND N.CD_EMPRESA = IP.CD_EMPRESA {#10}
AND N.TP_PEDIDO = IP.TP_PEDIDO){#10}
INNER JOIN PESSOA P ON (P.CD_PESSOA = L.CD_PESSOA){#10}
INNER JOIN LOCACAOITEM LI ON (LI.CD_EMPRESA = L.CD_EMPRESA {#10}
AND LI.NR_LOCACAO = L.NR_LOCACAO {#10}
AND LI.CD_ITEM = IP.CD_ITEM){#10}
INNER JOIN EMPRESA E ON (E.CD_EMPRESA = N.CD_EMPRESA) {#10}
LEFT JOIN ENDERECOPESSOA EN ON (EN.CD_PESSOA = E.CD_PESSOA {#10}
AND EN.CD_ENDERECO = (
SELECT MAX(CD_ENDERECO)
FROM ENDERECOPESSOA
WHERE CD_PESSOA = E.CD_PESSOA)){#10}
LEFT JOIN MUNICIPIO MUN ON (MUN.CD_MUNICIPIO = EN.CD_MUNICIPIO){#10}
INNER JOIN LOCACAOITEMTROCA LT ON (LT.CD_EMPRESA = N.CD_EMPRESA {#10}
AND LT.NR_LOCACAO = N.NR_LOCACAO {#10} {qttroca}){#10}
LEFT JOIN retorna_linhas(1) RL ON (1 = 1) {#10}
LEFT JOIN CONTAS C ON (C.NR_LOCACAO = L.NR_LOCACAO{#10}
AND C.CD_EMPRESA = L.CD_EMPRESA{#10}
AND C.NR_TROCA = {QuotedStr(iParametros[10])}){#10}
WHERE L.NR_LOCACAO = {iParametros[2] + #10}
GROUP BY P.NM_PESSOA, L.CD_EMPRESA, L.NR_LOCACAO, MUN.DS_MUNICIPIO, {#10}DS_CONTRATO, PARM.DS_LOGOTIPO, DS_QUEBRA,N.NR_PEDIDO, C.VL_SALDO

Tabelas Utilizadas​

TabelaUso
CONDPAGTOreferenciada nas queries do layout
CONTASreferenciada nas queries do layout
CONTASHISTORICOreferenciada nas queries do layout
EMPRESAreferenciada nas queries do layout
ENDERECOPESSOAreferenciada nas queries do layout
FORMAPAGTOreferenciada nas queries do layout
ITEMreferenciada nas queries do layout
ITEMPEDIDOreferenciada nas queries do layout
LOCACAOreferenciada nas queries do layout
LOCACAOITEMreferenciada nas queries do layout
LOCACAOITEMTROCAreferenciada nas queries do layout
MOVIMENTACAOreferenciada nas queries do layout
MUNICIPIOreferenciada nas queries do layout
PARCELAPEDIDOreferenciada nas queries do layout
PARMFATURreferenciada nas queries do layout
PEDIDOreferenciada nas queries do layout
PESSOAreferenciada nas queries do layout
RETORNA_DADOSCADASTRAISreferenciada nas queries do layout
RETORNA_LINHASreferenciada nas queries do layout
USUARIOreferenciada nas queries do layout
VALOR_EXTENSOreferenciada nas queries do layout

Shared Units​

  • jCommon
  • jPesquisa

Fonte​

  • Unit: source/LDP018/ULDP018.pas
  • DFM: source/LDP018/ULDP018.dfm
  • Package: source/LDP018/LDP018.dpk