Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 13:02

Конвертация. Перезапись элементов.

Автор vitasw, 15 мар 2016, 11:23

0 Пользователей и 1 гость просматривают эту тему.

vitasw

Здравствуйте. Нужна идея.
Есть 3 базы: Ут1, Бух2, Бух3. Задача: перенести остатки из Бух2 и Бух3 в УТ1.
Глобальная проблема: Бух3 получили путем копирования Бух2. Т.е. на какой-то момент взяли базу Бух2 скопировали ее. А затем уже в Бух3 у существующих элементов изменили название. Итого: имея 2 разных по сути элемента справочника при заливке в УТ1 имея один и тот же УИД происходит перезапись.
Как в конвертации на лету генерить новый УИД у объектов?
Спасибо.

LexaK

попробуйте так.
1.в правилах при загрузке/поиске справочника (например Номенклатура) отключите поиск по ГУИДУ
2.в правиле перед записью объекта элемента справочника (если он не найден по другим параметрам),
принудительно задавайте новый ГУИД для загружаемого объекта

    Объект.УстановитьСсылкуНового(Справочники.Номенклатура.ПолучитьСсылку());
если помогло нажмите: Спасибо!

vitasw

Хорошая идея, завтра попробую в коде. Спасибо.

cska-fanat-kz

Цитата: LexaK от 15 мар 2016, 13:38
попробуйте так.
1.в правилах при загрузке/поиске справочника (например Номенклатура) отключите поиск по ГУИДУ
2.в правиле перед записью объекта элемента справочника (если он не найден по другим параметрам),
принудительно задавайте новый ГУИД для загружаемого объекта

    Объект.УстановитьСсылкуНового(Справочники.Номенклатура.ПолучитьСсылку());


первый пункт уже по идее +100500, в смысле должен помочь ) :ooifh:
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Цитата: cska-fanat-kz от 16 мар 2016, 07:53первый пункт уже по идее +100500, в смысле должен помочь

Эээээээ, Ок, не будет поиска, конвертация создаст новый элемент с аналогичным ГУИДом, что насколько я понимаю, автоматом приведет к замене существующего элемента.

cska-fanat-kz

Цитата: vitasw от 16 мар 2016, 10:34Эээээээ, Ок, не будет поиска, конвертация создаст новый элемент с аналогичным ГУИДом, что насколько я понимаю, автоматом приведет к замене существующего элемента.

а вот это надо на практике проверять
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Проверил. Все еще хуже. Если просто снять признак "Поиск по Гуиду" то в конечном итоге вообще остается один элемент справочника. Т.е. не один из двух, а остается один из тысячи. Происходит многократная перезапись одного и того же единственного элемента.
Вцелом, схема преложенная LexaK, является рабочей, хотя конечно танцы с бубнами дополнительные надо делать.

cska-fanat-kz

Цитата: vitasw от 16 мар 2016, 14:57Проверил. Все еще хуже. Если просто снять признак "Поиск по Гуиду" то в конечном итоге вообще остается один элемент справочника. Т.е. не один из двух, а остается один из тысячи. Происходит многократная перезапись одного и того же единственного элемента.

простите за тупой вопрос...
а поля поиска заданы?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

vitasw

Поля-то поиска заданы, но фикуса в этом никакого. Если нет поиска но ГУИДу, то система вообще ничего не ищет, а тупо создает новый элемент.

cska-fanat-kz

Цитата: vitasw от 16 мар 2016, 16:16
Поля-то поиска заданы, но фикуса в этом никакого. Если нет поиска но ГУИДу, то система вообще ничего не ищет, а тупо создает новый элемент.

у меня в последних правилах некоторые справочники с такой настройкой переносятся.
не замечено чтобы элементы множились...
правда не ваш случай (2 одинаковые в одну), но все же...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск