02.author

02.author#

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

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

Внимание

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

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

var sClassName = "Lbr_Author"
	var list = [["0003", "Лотман", "Юрий", "Михайлович", "Лотман Юрий Михайлович", null], ["0007", "Пелевин", "Виктор", "Олегович", "Пелевин В.О.", null], ["0001", "Пушкин", "Александр", "Сергеевич", "Пушкин Александр Сергеевич ", "Group1804"], ["0002", "Лермонтов", "Михаил", "Юрьевич", "Лермонтов Михаил Юрьевич", "Group1804"], ["0004", "Уайльд", "Оскар", "Фингал О'Флаэрти", "Оскар Уайльд", "Group1807"], ["0005", "Достоевский", "Федор", "Михайлович", "Достоевский Ф.М.", "Group1804"], ["0006", "Толстой", "Лев", "Николаевич", "Толстой Л.Н.", "Group1804"]]
	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.setsCode(rop, svCode);
			api.setsLastName(rop, t.1);
			api.setsFirstName(rop, t.2);
			api.setsMiddleName(rop, t.3);
			api.setsFIO(rop, t.4);
			var svGroupCode = "Lbr_" + t.5;
			var idvGroup = Btk_GroupApi.findByMnemoCode(svGroupCode);
			if(idvGroup != null) {
				Btk_ObjectGroupApi.register(rop, idvGroup, 0B, 1B)
			} else {
				Btk_ObjectGroupApi.register(rop, idvRootGroup, 0B, 1B)
			}
		}
	}
	commit();