Criação de Relatórios

Bom dia,
Sabem me dizer se existe alguma maneira de gerar relatórios através de um gatilho ou se é possível apenas por horário programado. Estou com um projeto que uso o ScadaBR para execução de Ordens de Serviços com vários dados, e precisava que após receber um gatilho do CLP (bit) confirmando que a OS foi finalizada ele gerasse um relatório automático com os dados adquiridos daquela respectiva OS. Imaginei que seja possível essa geração através de um tratador de eventos que detecta o valor do bit e executa um Script que execute a geração do relatório.
Alguém sabe me informar se é possível?

Você pode usar este script para executar um relatório a partir dos modelos já criados na página de relatórios:

// Tem que descobrir o id do relatório
var id_relatorio = 1;

var reportDao = com.serotonin.mango.db.dao.ReportDao();
var reportWorkItem = com.serotonin.mango.rt.maint.work.ReportWorkItem;
var report = reportDao.getReport(id_relatorio);

// Executar relatório
reportWorkItem.queueReport(report);

Para saber qual o id do seu relatório, você pode adicionar este script para servidor na Representação Gráfica:

var userId = com.serotonin.mango.Common().getUser().getId();
var reportDao = com.serotonin.mango.db.dao.ReportDao();
var reports = reportDao.getReports(userId);

var s = "";
for (var i = 0; i < reports.size(); i++) {    
    var report = reports.get(i);
    s += "Relatório: " + report.getName();
    s += " - Id: " + report.getId();
    s += "<br>";
}

return s;

Obs.: scripts testados no ScadaBR 1.2.

Bom dia,
Muito obrigado pela ajuda, a empresa já estava pensando em migrar pra um software pago. Funcionou perfeitamente.

1 curtida