Конвертация данных. Как подменить ID? #452285


#0 by Карамелька
Конвертация данных 8.1 Бух->УТ. Необходимо подменить ID элементов спр Номенклатура при выгрузке. Как это можно сделать?
#1 by asady
нафуя - делай поиск по наименованию например
#2 by Живой Ископаемый
зачем?
#3 by Rebelx
как вариант - СтрЗаменить
#4 by agarych
UUID или ID (реквизит).
#5 by Живой Ископаемый
Ну вот будет у одного элемента айди там скажем ХХХ, а у второго YYY? на какие айди ты их собираешься заменить и по какому критерию, как ты определишь что у ХХХ нужно менять на вот такой, а у YYY на вот эдакий?
#6 by Карамелька
У меня в Бух есть регистр сведений, который формируется по определенным правилам. В нем мы храним информацию о том, какому элементу (группе элементов) какой ID нужно установить
#7 by Новенький_2009
Если  UUID - то в скульной базе, изменить можно, но тогда все ссылки на этот уид - побьются. Придется подменять и все вхождения. Если база файловая - то только созданием нового элемента с нужным UUID, подменой всех вхождений и убийством старого элемента. Если реквизит (ID), тогда задача видимо не до конца автором описана :)
#8 by Живой Ископаемый
Создать новый экземпляр этого типа, установить ему ссылку нового - новый айди взятый из записи РС, и заполнить все его реквизиты значениями реквизитов старого объекта, который вы отыщите по старому Айди взятому из РС.. новый экземпляр записать, старый удалить
#9 by Карамелька
Первоначальная задача заключается в том, что нужно перенести номенклатуру по определенным шаблонам.
#10 by Карамелька
для реализации мы создаем регистр сведений в Бух и его автоматом заполняем, указывая, какой группе номенклатур Бух будет соответствовать одна номенклатура УТ и указываем для нее ID
#11 by Рэйв
Как вариант завсти реквизит "Соответсвие" и заполнить егго той номенклатурой, на которую все будет ложиться и при выгрузке подставлять соответсвиие вместо самого элемента
#12 by Всеяд
(0, 9) Используй выгрузку нужного УИДа через, например, параметр, а потом, в событии "Поля поиска" используй для синхронизации.
#13 by Карамелька
где я должна указать создание моего параметра?
#14 by Карамелька
апп
#15 by Kasper076
А может сначала завести такой же регистр в УТ (или вообще этот регистр только в УТ вести, а не в бухии) и при выгрузке брать из него инфу. Если выгрузка делается при помощи КД, то ПередВыгрузкой указать соотвествуюшее Значение.
#16 by Всеяд
создать ПКС в нужном ПКО, где будешь передавать нужный ИД. С галкой - передавать в параметр.
#17 by Kasper076
Если ИД хранится в БП, а выгрузка идет из УТ, то нужный ИД как-то надо узнать уже в базе источнике. Если объекты,ИД которых передаются, уже созданы в базе приемнике, то почему бы просто не передавать значение ссылки?
#18 by Всеяд
Я это и предлагаю.
#19 by Kasper076
А значение ссылки можно только через параметр можно передать? Т.е. в приемнике нужно будет использовать УстановитьСсылкуНового ? Сразу при выгрузке нельзя GUID записать. Что-то типа УстановитьАтрибут...
#20 by Kasper076
+ ???
#21 by Всеяд
Ссылку подменить штатно в КД нельзя, насколько мне известно. Да и не нужно. Как не нужно и УстановитьСсылкуНового, если объекты уже существуют в приёмнике. Для этого есть ПоляПоиска - где ты, имея в руках конкретную ссылку, устанавливаешь объект в получателе. Отдельный вопрос - что делать с объектами, которых нет в базе-приёмнике. Но это уже зависит от постановки задачи.
#22 by Kasper076
Спасибо за разъяснения. Пошел читать про ПоляПоиска.
#23 by MNS_Ротерта
У существующего объекта нельзя впринципе поменять. ID при записи объекту присваивается платформой раз и навсгда. Как вариант при записи можно свой ID подсунуть, но до тех пор пока не записан в базе объект. А поменять ID одного объекта на другой тожно только путем замены физически одной ссылки на другую. Это по аналогии с обработкой на ИТС поиск и замена ссылок.
#24 by Asmody
зачем тебе такой изврат? у тебя же ID для другой цели
#25 by Карамелька
что ты предлагаешь?
#26 by Kasper076
все расписл же уже. Есть обработчик ПоляПоиска, который выполняется при загрузке. У данного обработчика есть параметр СсылкаНаОбъект. Если в обработчике определить ссылку как не пустую, то программа будет считать поиск успешно завершенным. Я думаю можно даже с параметрами не связываться. При выгрузке заполнить значения свойств необходимых для идентификации объекта в РС соответсвия объектов УТ и БП. И по ним уже получать ссылку на объект в базе приемнике.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям