Ошибка при обмене данными

1. natalia44 21.06.23 14:34 Сейчас в теме
Добрый день!

Столкнулась с такой ошибкой при создании своего плана обмена: создаю ПВД с незаполненным объектом выборки и способом выборки по произвольному алгоритму. Алгоритмы прописываю в ПВД перед обработкой и далее в ПКО.
Правила обмена протестировала через обработку Универсальный обмен данными в формате XML - выгрузка и загрузка данных работает.
При этом в эти же правила в плане обмена не работают: при выгрузке из источника получаю ошибку в коде обработки КонвертацияОбъектовИнформационныхБаз при поиске объекта-источника по типу.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. truba 21.06.23 14:46 Сейчас в теме
при выборке из плана обмена выбирается "СправочникОбъект.МойСправочник"
При выборке по, допустим запросу выбирается "СправочникСсылка.МойСправочник"

с этим может быть связано?
3. natalia44 21.06.23 15:57 Сейчас в теме
(2) В отладчике ошибка возникает на строке
Метаданные.НайтиПоТипу(СтрокаТаблицы.ОбъектВыборки);

При этом значение объекта выборки не заполнено.
Так что возможно вы правы.
4. natalia44 21.06.23 16:03 Сейчас в теме
(3) Хотя...все интереснее, чем просто ссылка.
У себя в произвольном алгоритме я получаю пользователей базы:
ВыборкаДанных = Новый ТаблицаЗначений;
ВыборкаДанных.Колонки.Добавить("Наименование");

КоллекцияПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();

Для каждого ПользовательИБ Из КоллекцияПользователей Цикл

    НоваяСтрока = ВыборкаДанных.Добавить();
    НоваяСтрока.Наименование = ПользовательИБ.УникальныйИдентификатор;

КонецЦикла;   
Показать


Получается, что в результатах не ссылочный тип, а GUID.
5. truba 21.06.23 16:36 Сейчас в теме
(4) У вас в примере пользователей не объект метаданных вообще, насколько я понимаю. Все объекты методанных доступны как входящие в коллекцию ОбъектМетоданныеКонфигурации, и там такого нет.

Пользователи это параллельная сущность, или вернее "перпендикулярная" метаданным
Это объекты глобального контекста
6. natalia44 21.06.23 17:29 Сейчас в теме
(5) Да, я понимаю, что это не объекты. Тогда их надо каким-то другим образом передать в приемник. Может быть, как подчиненный узел в ПКО для справочника Пользователи?
7. truba 21.06.23 17:44 Сейчас в теме
(6) детализируйте задачу тогда.

Вам пользователей Иб в какой объект в приемнике надо превратить? Так то алгоритме ПВД делаете коллекцию значений допустим массив структур (чисто теоретически) где будут нужные вам поля типа "Имя", Уид, и прочие доступные роли. Имитируете несуществующий справочник объект.Пользователь, КД в принципе без разницы.

При выгрузке в ПКО оно получит на вход это как объект коллекции (вашу структуру) и дальше начнет перебор ПКС по списку свойств вашего выдуманного объекта и начнет их перекладывать в структуру приемника с указанием по каким правилам загружать. А еще лучше все это в структуру и в параметр.

Если в пользователей ИБ же превращать, то ну при загрузке каждого объекта в каком нибудь обработчике перед поиском всяких данных искать и создавать пользователя БД, заполнять все его свойства взяты из параметра сохранять и дальше собственно все.

Вот хз не знаю транзакция на пользователей бд распространяется ли или нет, т.е по прерыванию загрузки пользователи сохранятся или нет не могу сказать.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот