Перейти к основному содержанию
`Ctrl`+`K`

# Jexl дата последнего изменения Qj Question c датой создания если пустые dmodifydate dz

Используется для массовой обработки набора записей, найденных запросом или обработанных по пачкам.

Место применения: `Сервис > Инструменты > Выполнить 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, qq.dcreatedate_dz, qf.dmodifydate_dz, qf.dcreatedate_dz, qa.dmodifydate_dz, qa.dcreatedate_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 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();
    }