/* Seleciona todos os títulos a pagar, lançados usando um evento contábil que faz lançamento do controle administrativo, que não tem lançamento.
Tabelas do Controle Administrativo t0515 e t0516 (Filha da t0515) */

Select  t0056.*,
  (
    select  top 1 convert(varchar, t0041.f0032ideventocontabil) + ' - ' + t0032.f0032nome + ' / ' + t0153.f0153descricao 
    from  t0041
      inner join t0032 on
        t0032.f0001idempresa = t0041.f0001idempresa and
        t0032.f0032ideventocontabil = t0041.f0032ideventocontabil

      inner join t0153 on
        t0153.f0001idempresa = t0041.f0001idempresa and
        t0153.f0153iddescricao = t0041.f0153iddescricao

    where  f0043idtransacao = t0056.f0043idtransacao

  ) as [cód Evento]
from  t0056
where not exists(
  select  top 1 1
  from  t0515
  where  t0515.f0043idtransacao = t0056.f0043idtransacao
)
and  t0056.f0056entrsai = 2 --saída
and exists(
  select  top 1 1
  from  t0041
    inner join t0032 on
      t0032.f0032ideventocontabil = t0041.f0032ideventocontabil

  where  t0041.f0043idtransacao = t0056.f0043idtransacao
  and  t0032.f0032fazlancamentomovimentocusto = 1
)

/* Seleciona todos os títulos a pagar, lançados usando um evento contábil que faz lançamento do controle administrativo, que não tem lançamento.
Tabelas do Controle Administrativo t0515 e t0516 (Filha da t0515) 
Agrpados por loja, cliente e data de vencimento
*/

Select  t0060.f0002idestab as [cód Loja],
  t0002.f0002nome as loja,
  t0060.f0050idclifor as [cód Cliente],
  t0050.f0050nome as cliente,
  t0060.f0060iddocumento as título,
  t0060.f0043idtransacao as transação,
  t0060.f0061idportador as [Cód Portador],
  (
    select  top 1 convert(varchar, t0041.f0032ideventocontabil) + ' - ' + t0032.f0032nome + ' / ' + t0153.f0153descricao 
    from  t0041
      inner join t0032 on
        t0032.f0001idempresa = t0041.f0001idempresa and
        t0032.f0032ideventocontabil = t0041.f0032ideventocontabil

      inner join t0153 on
        t0153.f0001idempresa = t0041.f0001idempresa and
        t0153.f0153iddescricao = t0041.f0153iddescricao

    where  f0043idtransacao = t0060.f0043idtransacao

  ) as [cód Evento],
  t0061.f0061nome as portador,
  t0060.f0060dtavencto as vencimento,
  sum(t0060.f0060valordocumento) as [valor Documento],
  sum(t0060.f0060valorsaldopagar) as [Saldo a Pagar]

from  t0060
  inner join t0002 on
    t0002.f0001idempresa = t0060.f0001idempresa and
    t0002.f0002idestab = t0060.f0002idestab
      
  inner join t0050 on
    t0050.f0001idempresa = t0060.f0001idempresa and
    t0050.f0050idclifor = t0060.f0050idclifor
    
  inner join t0061 on
    t0061.f0001idempresa = t0060.f0001idempresa and
    t0061.f0061idportador = t0060.f0061idportador

where not exists(
    select  top 1 1
    from  t0515
    where  t0515.f0043idtransacao = t0060.f0043idtransacao
)
and exists(
  select  top 1 1
  from  t0041
    inner join t0032 on
      t0032.f0032ideventocontabil = t0041.f0032ideventocontabil

  where  t0041.f0043idtransacao = t0060.f0043idtransacao
  and  t0032.f0032fazlancamentomovimentocusto = 1
)

group by t0060.f0002idestab,
  t0002.f0002nome,
  t0060.f0050idclifor,
  t0050.f0050nome,
  t0060.f0060iddocumento,
  t0060.f0043idtransacao,
  t0060.f0061idportador,
  t0061.f0061nome,
  t0060.f0060dtavencto


Estes scripts vão selecionar os títulos a pagar individuais e de forma agrupada sendo possível gerar uma planilha para informar em qual conta do controle administrativo deverá ser realizado o lançamento.



Dados necessários para geração do novo controle administrativo:


tabela t0515:

  • f0515historico (Histórico que aparecerá no controle admin)


tabela t0516:

  • f0513idplanocusto (conta)
  • f0514idconsumidor (consumidor)
  • f0516historico (histórico do detalhe)
  • f0622idunidadeconsumidora (unidade Consumidora)
  • f0516quantidade (quantidade)