Есть последний УНФ. В нее встроил РИБ по аналогии с УТ (http://infostart.ru/public/156559/). Первичная выгрузка создается, но при загрузке в режим Предприятия валится по ошибке:
{ОбщийМодуль.Пользователи.Модуль(621)}: Ошибка при вызове метода контекста (Записать)
Пользователь.Записать();
по причине:
Не удалось записать: "Пользователь"!
Прошелся отладчиком по всему обработчику создания нового пользователя - нигде явно не валится и исключений не вызывает, но записаться не может... Соответственно я не могу открыть периферийку.
Справочник пользователей не мигрирует как и в УТ. Все настройки пользователей соответственно тоже.
Может кто-то сталкивался с РИБ в УНФ и решал подобную же проблемку?
Если пишет, что не удалось записать, значит либо в модуле объекта есть Отказ = Истина или в подписке.
При этом ты можешь туда не попадать, если не включен отладка на сервере.
// Процедура дополняет список узлов-получателей объекта переданными значениями
//
// Параметры:
// Объект – объект, для которого выполняется правило регистрации
// Узлы – Массив – узлы плана обмена, которые необходимо добавить в список узлов-получателей объекта
//
Процедура ДополнитьПолучателей(Объект, Узлы) Экспорт
Для Каждого Элемент Из Узлы Цикл
Попытка
Объект.ОбменДанными.Получатели.Добавить(Элемент);
Исключение
ИмяПланаОбмена = Элемент.Метаданные().Имя;
ОбъектМетаданных = Объект.Метаданные();
СтрокаСообщения = НСтр("ru = 'Для состава плана обмена [ИмяПланаОбмена] не указана регистрация объекта [ПолноеИмя]'");
СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ИмяПланаОбмена]", ИмяПланаОбмена);
СтрокаСообщения = СтрЗаменить(СтрокаСообщения, "[ПолноеИмя]", ОбъектМетаданных.ПолноеИмя());
ВызватьИсключение СтрокаСообщения;
КонецПопытки;
КонецЦикла;
КонецПроцедуры
Но справочник пользователей как бы и не должен быть в обмене... Но строка исключения явно говорит, что "Для состава плана обмена Полный не указана регистрация объекта Справочник.Пользователи"
В чем косяк? В УТ этот справочник не включен в обмен и все работает
Эта фраза значит, что ты пытаешься добавить в список получателей объекта (это список узлов на котором должно зарегистрироваться изменение) узел плана обмена В КОТОРЫЙ ОН НЕ ВХОДИТ.
Тут два варианта:
- либо включай справочник Пользователи в состав плана обмена, узел которого и вызывает исключение
- либо разбирайся почему ссылка на этот узел оказалась в переданном массиве [Узлы]
Я точно не помню, как этот массив формируется.
Скорее всего по правилам регистрации, которые привязаны к обмену, о возможно я ошибаюсь.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой