Создание издателей для библиотечных модулей#
Создает записи издателей для всех найденных библиотечных модулей 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();
}) ;