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

# Миграция 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;
    }) ;