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