Dúvida
Com as regras de registro de boletos, como fazer para não listar boletos que não estejam registrados?
Ambiente
TOTVS Educacional (Linha RM) - Educacional - A partir da versão 12.1.21
Solução
Para solucionar essa dúvida, realize os seguintes passos:
1. Para que o IPTE seja retornado nos Portais do aluno é necessário que a formula de IPTE seja vinculada nos Parâmetros do Portal
2. A formula precisa ser executada somente para lançamentos registrados. A validação pode ser feita através de consulta SQL na tabela FBOLETO.
DECL IPTE;
SE EXECSQL('TESTEIPTE') = VERDADE
ENTAO
SETVAR(IPTE, IPTEBOLETO(-1))
FIMSE
IPTE;
SQL Exemplo
SELECT FBOLETO.CODCOLIGADA, FBOLETO.IDBOLETO
FROM FBOLETO (NOLOCK)
WHERE FBOLETO.CODCOLIGADA = :FRM_TESTE1 AND
FBOLETO.IDBOLETO = :FRM_TESTE2 AND
FBOLETO.CNABSTATUS = 2
A consulta SQL precisa receber os dados do registro a ser executado, então é preciso criar duas formulas para o recebimento dos parâmetros necessários para a execução.
Parâmetro 1: TESTE1
Parâmetro 2: TESTE2
Teste de execução da Formula
2.1 - Clicar no contexto para seleção de uma consulta SQL que retorne o CODCOLIGADA, IDBOLETO e IPTE da tabela FBOLETO
2.2 - Selecionar a consulta utilizada para o teste.
Consulta Modelo
SELECT CODCOLIGADA, IDBOLETO, CNABSTATUS
FROM FBOLETO (NOLOCK)
WHERE IDBOLETO = 25243
2.3 - Marcar o parâmetro para testar fórmula automaticamente ao salvar
2.4 - Marcar o Parâmetro Acompanhar execução e salvar no arquivo, apara acompanhar a execução da formula
2.5 - Clicar no resultado
Log de execução
Iniciando execução de fórmula Testing às 09:45:15
Constante literal TESTEIPTE
Chamando função EXECSQL(TESTEIPTE)
Iniciando execução de fórmula TESTE1 às 09:45:15
Terminando execução de fórmula TESTE1 às 09:45:16
Iniciando execução de fórmula TESTE2 às 09:45:16
Constante literal IDBOLETO
Constante literal I
Chamando função TABBOLETO(IDBOLETO, I)
Retorno da função TABBOLETO 25243
Retorno Lancamento.CallFunction ( "TABBOLETO" , "CampoBoleto" , "IDBOLETO" , "I" )
Retorno TABBOLETO ( "TABBOLETO" , "CampoBoleto" , "IDBOLETO" , "I" )
Retorno 25243
Terminando execução de fórmula TESTE2 às 09:45:16
SQL TESTEIPTE retornou 1 registros. Tempo Gasto: 1,7343731 segundos.
Retorno da função EXECSQL 1
Chamando função VERDADE()
Retorno da função VERDADE 1
Condição EXECSQL ( TESTEIPTE ) = VERDADE aceita
Executa ENTAO
Chamando função IPTEBOLETO(-1)
Retorno da função IPTEBOLETO 10492.70240 95000.200048 00002.524379 9 77970000569200
Atribuído 10492.70240 95000.200048 00002.524379 9 77970000569200 a 0
Retorno Globais.SetVar ( IPTE , Lancamento.CallFunction ( "IPTEBOLETO" , "IpteBoleto" , - 1 ) )
Retorno SETVAR ( IPTE , IPTEBOLETO ( "IPTEBOLETO" , "IpteBoleto" , - 1 ) )
Retorno 10492.70240 95000.200048 00002.524379 9 77970000569200
Retorno IPTE
Retorno IPTE
Retorno 10492.70240 95000.200048 00002.524379 9 77970000569200
Terminando execução de fórmula Testing às 09:45:18
3. Portais do Aluno, Corpore.net, Novo Portal do Aluno e TOTVS Educa Mobile.
3.1 Extrato Financeiro no Portal do aluno
3.2 Financeiro no Novo Portal do Aluno
3.3 Financeiro TOTVS Educa Mobile
0 Comentários