Можно ли программно изменить UUID (GUID) у уже записанного в базу элемента справочника?

1. jobkostya1c8 28.11.11 07:06 Сейчас в теме
При редактировании правил обмена между немного измененными конфигурациями ЗУП возникла задача изменения GUID (или UUID ?!) (уникального 32-х значного идентификационного номера элемента в пределах конкретной базы) у уже созданного элемента в базе.
Данная задача имеет очень большое практическое значение, позволяет заменять значение реквизитов уже проведенных документов без их перезаписи.
Решаема ли данная задача средставами встроенного языка 1С 8.2 или потребуется вмешательство из других языков. Кто сталкивался с подобной задачей.
Привожу материалы встроенной справки по данной теме:
1) ========================================================
УстановитьСсылкуНового(<Ссылка>)
Параметры:
<Ссылка> (обязательный)
Тип: СправочникСсылка. Ссылка, которая будет назначена при записи нового объекта.
Описание:
Устанавливает значение для нового (созданного и еще не записанного) объекта, которое будет назначено при записи в качестве ссылки. Значение не может равняться ссылке какого-либо из имеющихся в базе данных объекта данного типа. Уникальность ссылки проверяется при записи объекта.
Доступность:
Сервер, толстый клиент, внешнее соединение.
См. также:
СправочникМенеджер, метод ПолучитьСсылку
========================================================
2)
УникальныйИдентификатор (UUID)
Из строки
Синтаксис:

Новый УникальныйИдентификатор(<Строка>)

Параметры:

<Строка> (обязательный)

Тип: Строка. Строка GUID. Строка задается в виде "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX", где Х - символы обозначающие шестнадцатеричное число.

Описание:

Создает уникальный идентификатор из указанной строки GUID. Уникальность полученного таким образом идентификатора определяется уникальностью строки и поэтому не гарантирована.

Пример:

СтрокаGUID = "a763cfbb-f94f-4c67-8e13-0e96a3a7f353";
НовыйGUID = Новый УникальныйИдентификатор(СтрокаGUID);
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. MustDieff 28.11.11 09:21 Сейчас в теме
(1)
kostyaomsk пишет:
Можно ли программно изменитьUUID (GUID) у уже записанного в базу элемента справочника?

нет, для уже записаного элемента уникальный идентификатор доступен только для чтения
3. Phoedoth 28.11.11 09:51 Сейчас в теме
kostyaomsk пишет:
позволяет заменять значение реквизитов уже проведенных документов без их перезаписи.


Этого можно добиться если писать
Объект.ОбменДанными.Загрузка = Истина;
chizh.84; jobkostya1c8; +2 Ответить
4. jobkostya1c8 30.11.11 22:23 Сейчас в теме
Все-таки попалось решение на основе ADO. Какими-то запросами на чтение-запись в SQL серверную базу что-то можно сделать. Из "сторонних" языков и сред. Я про эту возможность хотел обсудить.
5. svemne 44 01.12.11 10:20 Сейчас в теме
>При редактировании правил обмена между немного измененными конфигурациями ЗУП возникла задача изменения GUID
>(или UUID ?!) (уникального 32-х значного идентификационного номера элемента в пределах конкретной базы) у уже
>созданного элемента в базе.

А можно пример - зачем это нужно ?

Изменить UUID у существующего элемента штатными средствами - это вряд ли. А вот менять при выгрузке в XML или при чтении из XML - можно попробовать.

>Данная задача имеет очень большое практическое значение, позволяет заменять значение реквизитов уже проведенных документов без их перезаписи.
Это, как уже ответили выше, решается штатно и относительно беспроблемно.

>Все-таки попалось решение на основе ADO. Какими-то запросами на чтение-запись в SQL серверную базу что-то
>можно сделать. Из "сторонних" языков и сред. Я про эту возможность хотел обсудить.

Для этого нужно знать структуры базы, а каждая база имеет свои наименования таблиц. Ну и прямая манипуляция с данными в базе SQL - это нарушение лицензионного соглашения с 1С.
6. abondarev.kg 24.12.12 00:02 Сейчас в теме
часто и густо попадаются случаи, когда базы размножали по филиалам копированием, а потом захотели сделать их них РИБ. вот тут то и появляются элементы справочников и документы с одним UUID в разных базах. если их много - руками копировать замучаешься...
Jivchic; nanik; the1; +3 Ответить
7. l_men 15 25.03.15 02:22 Сейчас в теме
Хм, кажется нашел способ))) Создаю новый объект с GUID-ом, которого нет в базе, а потом в конфигураторе прогоняю тестирование и исправление с опцией создания объектов. А дубли можно будет вычистить обработкой ПоискИЗаменаЗначений (поищите на инфостарте).
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Хабаровск
зарплата от 130 000 руб. до 160 000 руб.
Полный день

Программист 1С
Москва
зарплата от 140 000 руб. до 180 000 руб.
Полный день

Специалист техподдержки 1С
Тюмень
зарплата от 100 000 руб.
Полный день

Программист-аналитик 1С:Управление автотранспортом
Тюмень
зарплата от 100 000 руб.
Полный день