Миграция Change State

Миграция Change State#

Используется при подготовке, переносе или постобработке конфигурационных данных.

Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт

Внимание

Требует адаптации под конкретную базу и версию системы. Перед запуском проверьте идентификаторы, SQL-запросы, API-классы и условия обработки.

Тип: JEXL-скрипт

Btk_ObjectTypeDetApi.dataInstall();
sql(`
with cls as (
  select sc.idmasterclass
	from btk_ClassState sc
   group by sc.idmasterclass
)
select c.id as idClass, c.sname, c.scaption
  from btk_class c
	   join cls on cls.idmasterclass = c.id
 where exists (select 1 from btk_objecttype t where t.idrefclass = c.id)
 order by c.sname
 `).foreach(function(r){
@begin{
	println(r.sname);
	Btk_StateChangeApi.migrateClass(r.idClass);
	commit();
  }
@exception
function(exp){
	println("[JEXL Exception] " + exp.getCause());
}end;
}) ;