Jexl дата последнего изменения Qj Question#
Используется для массовой обработки набора записей, найденных запросом или обработанных по пачкам.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
Требует адаптации под конкретную базу и версию системы. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.
Тип: JEXL-скрипт
var nvCount = sql(`select count(*) as "nCount" from qj_question qq where qq.dmodifydate is null`).asSingle().nCount;
var nvIter = nvCount / 1000 + 1;
for (i : (1 .. nvIter)){
var ropList = sql(`
with t as (select distinct greatest(qq.dmodifydate_dz, qf.dmodifydate_dz, qa.dmodifydate_dz) as dd, qq.id
from qj_question qq
left join qj_questionfile qf on qf.idquestion = qq.id
left join qj_answer qa on qa.idquestion = qq.id
where coalesce(qq.dmodifydate_dz, qf.dmodifydate_dz, qa.dmodifydate_dz) is not null and qq.dmodifydate is null
order by dd desc)
select t.id, max(t.dd) date
from t
group by t.id
limit 1000
`);
ropList.batchObjLoad(Qj_QuestionApi, "id");
ropList.foreach(function (r){
var rop = Qj_QuestionApi.load(r.id);
Qj_QuestionApi.setdModifyDate(rop, r.date)
});
commit();
}