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

# Создание издателей для библиотечных модулей

Создает записи издателей для всех найденных библиотечных модулей `lbr__`.

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

Внимание

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

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

    sql(`
    	select regexp_replace(ssystemname, 'lbr', '') as "sNum"
    	from btk_module bm
    	where ssystemname like 'lbr__'
     `).foreach(function(r){
    	var sClassName = "Lbr" + r.sNum + "_Publisher"
    	var list = [["002", "ООО Издательство Эксмо", null], ["003", "Феникс", null], ["001", "ИЗДАТЕЛЬСТВО АСТ", null], ["004", "Азбука", null], ["005", "Эксмо", null]];
    	var api = Btk_ClassApi.getApiBySimpleClassName(sClassName);
    	var idvRootGroup = Btk_ClassApi.load(api.idClass()).copyAro().idGroupRoot();
    	for (t : list){
    		var svCode = t.0;
    		var idv = api.findByMnemoCode(svCode);
    		if(idv == null){
    			var rop = api.insert();
    			api.setsSystemName(rop, svCode);
    			api.setsCaption(rop, t.1);
    			api.setsDescription(rop, t.2);
    			Btk_ObjectGroupApi.register(rop, idvRootGroup, 0B, 1B)
    		}
    	}
    	commit();
    }) ;