Перейти к основному содержанию
`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){
    	Btk_Pkg.setRWSharedUOWEditType();
    	var sClassName = "Lbr" + r.sNum + "_InAct";
    	var api = Btk_ClassApi.getApiBySimpleClassName(sClassName);
    	var idvClass = api.idClass();
    	var idvOT = Btk_ObjectTypeApi.register(sClassName, "Приходная накладная","Приходная накладная",idvClass,null,1B,null,null,null,null,null,null,null,null,null,null,null,null);
    	Btk_StateChangeApi.registerForObjectType(idvOT, "Create", "Executed");
    	Btk_StateChangeApi.registerForObjectType(idvOT, "Executed", "Create");
    	var apiInOrder = Btk_ClassApi.getApiBySimpleClassName("Lbr" + r.sNum + "_InOrder");
    	var idvInOrderClass = apiInOrder.idClass();
    	var apiOutOrder = Btk_ClassApi.getApiBySimpleClassName("Lbr" + r.sNum + "_OutOrder");
    	var idvOutOrderClass = apiOutOrder.idClass();
    	var savTab = ["Btk_AttachItemAvi.List_SimpleAttach", "Bpm_ProcessTreeAvi.TreeForDoc", "Bs_ObjectSignAvi.List_Master", "Act_TransAvi.List_gidDoc"]
    	for (svTab : savTab){
    		var idvTab = Btk_TabApi.findByMnemoCode(svTab);
    		if(idvTab != null){
    			var ropTab = Btk_TabApi.load(idvTab);
    			Btk_TabClassApi.register(ropTab, idvClass);
    			Btk_TabClassApi.register(ropTab, idvInOrderClass);
    			Btk_TabClassApi.register(ropTab, idvOutOrderClass);
    		}
    	}
    	Btk_TabApi.register(null, "Характеристики", "gtk-Lbr" + r.sNum + "_OutOrderAvi", "Card_ObjectAttr", apiOutOrder.idClass(), null,  null,  null,  null,  null,  null);
    	commit();
    })