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

# 01.author Group

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

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

Внимание

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

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

    var sClassName = "Lbr_Author"
    	var list = [["Group1807", "Зарубежная литература", null], ["Group1902", "Отечественная литература", null], ["Group1806", "Русская литература советского периода", "Group1902"], ["Group1803", "Русская литература 18 века", "Group1902"], ["Group1805", "Русская литература серебряного века (конец 19 - начало 20)", "Group1902"], ["Group1804", "Русская литература золотого века  (19 ВЕК)", "Group1902"], ["Top1**", "1** лучших зарубежных автора", "Group1807"]]
    	var api = Btk_ClassApi.getApiBySimpleClassName(sClassName);
    	var idvRootGroup = Btk_ClassApi.load(api.idClass()).copyAro().idGroupRoot();
    	for (t : list){
    		var svCode = "Lbr_" + t.0;
    		var idv = Btk_GroupApi.findByMnemoCode(svCode);
    		if(idv == null){
    			var rop = Btk_GroupApi.insert();
    			Btk_GroupApi.setsSystemName(rop, svCode);
    			Btk_GroupApi.setsCaption(rop, t.1);
    		}
    	}
    	commit();
    	for (t : list){
    		var svCode = "Lbr_" + t.0;
    		var svParentCode = "Lbr_" + t.2;
    		var idv = Btk_GroupApi.findByMnemoCode(svCode);
    		var idvParent = Btk_GroupApi.findByMnemoCode(svParentCode);
    		if(idv != null){
    			var rop = Btk_GroupApi.load(idv);
    			if(idvParent != null){
    				Btk_GroupApi.setidParentGroup(rop, idvParent);
    			} else {
    				Btk_GroupApi.setidParentGroup(rop, idvRootGroup);
    			}
    		}
    	}
    	commit();