Замена GUID справочников и документов

Обработки - Обработка документов

Обработка замена ГУИД GUID

5
Обработка по замене GUID у справочников и документов. Работает как в файловом, так и в клиент-серверном вариантах.

Может быть, кому пригодится.

Цель разработки: иметь одинаковые ГУИД для некоторых элементов справочника в двух базах данных, для верного сопоставления при обмене.

Обработка создает копию объекта с желаемым GUID, затем заменяет ссылки на старый, и удаляет его.

Разрабатывалась на платформе 8.3. 12.1159.

Версия 2.0

• Исправлена ошибка возникающая при наличии у объекта замены, ссылки на самого себя (Организация - головная организация, Контрагент - головной контрагент и т.д.)

• Добавлено отображение списка заменяемых ссылок.

5

Скачать файлы

Наименование Файл Версия Размер
Замена GUID v2
.epf 10,06Kb
27.08.18
18
.epf 10,06Kb 18 Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. dsdred 791 15.08.18 19:16 Сейчас в теме
Если новый GUID совпадет с GUID имеющегося объекта, тогда что произойдет?
Ваша обработка его превратит в копию выбранного объекта?
3. manuel 277 17.08.18 00:22 Сейчас в теме
(1)А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный.
5. dsdred 791 17.08.18 21:58 Сейчас в теме
(3)
А как могут GUID совпасть? Смысл GUID как раз а том что он всегда уникальный.

Вы смысл обработки прочитали?

Есть элемент А с GUID=1
Есть элемент Б с GUID=2

у элемента А в другой базе GUID=2

С помощью этой обработки создается копия с указанным вручную GUID. Значит можно указать что новый GUID = 2.

Ниже Автор ответил, что все будет нормально в этом случае
Предупредит о не уникальном GUID и остановит выполнение
4. 17808849 10 17.08.18 13:45 Сейчас в теме
(1)
ый GUI

Предупредит о не уникальном GUID и остановит выполнение
2. 1segen1 29 16.08.18 08:11 Сейчас в теме
1. Для сопоставления объектов с разными ГУИД, в КД существует спец. механизм - поля поиска.
2. Используйте РС Соответствие объектов инф. баз.
6. sssomov@mail.ru 22.08.18 14:24 Сейчас в теме
Необходимо сменить ГУИД организации. При попытке сделать это через данную обработку, программа выдаёт ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"

Как быть?
7. 17808849 10 22.08.18 16:01 Сейчас в теме
(6)
димо сменить ГУИД организации. При попытке сделать это через данную обработку, программа выдаёт ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данны

Выполнять когда в базе никого нет.
Программа выдала ошибку о том, что в процессе замены ссылок, кто то изменил документ или справочник в котором эта ссылка участвует
8. sssomov@mail.ru 22.08.18 16:10 Сейчас в теме
(7)
Замену пытаюсь выполнить на копии базы. Куда чисто теоретически никто, кроме меня, зайти не может. Проблема точно не в этом.

Забыл написать версию платформы и конфигурацию БД, исправляюсь:
Бухгалтерия предприятия 3.0.64.42, Платформа 8.3.10.2639
10. lefthander 22.08.18 17:46 Сейчас в теме
9. lefthander 22.08.18 17:46 Сейчас в теме
(6)Прочитайте что делает обработка!!! Она не меняет ГУИД, она создает копию объекта с новым гуид и заменяет старые ссылки на новыев объектах. Поменять ГУИД объекта в принципе не возможно из 1С.
11. sssomov@mail.ru 23.08.18 11:48 Сейчас в теме
(9) Хм... Ок. Необходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"

Попробовал на нескольких платформах 8.3.12. Ошибка повторяется из раза в раз.
12. 17808849 10 23.08.18 14:41 Сейчас в теме
(11)
бходимо создать копию объекта (организация) с новым ГУИДом и заменить старые ссылки на новые в объектах. При попытке сделать это с помощью данной обработки, программа выдает ошибку:
"Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!"

Попробовал на нескольких платформах 8.3.12. Ошибка повтор


Ошибки быть не должно, так как используется типовой механизм поиска ссылок на объект.
Попробуйте воспользоваться обработкой поиск и замена значений.
Там будет наглядно видно какой именно объект не удалось записать.

Еще есть предположение:
Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.
13. sssomov@mail.ru 24.08.18 12:48 Сейчас в теме
(12)
(12)
Попробуйте воспользоваться обработкой поиск и замена значений.
Там будет наглядно видно какой именно объект не удалось записать.


Первым делом это и попробовал. Ссылок очень много, в основном на договора.



(12)
Еще есть предположение:
Так как вы меняете ГУИД у организации, а там есть реквизит головная организация, который равен этой же ссылке, возникнет такая ошибка.
Попробуйте на время выполнения данной обработки очистить данное поле. Возможно ошибка уйдет.


В базе заведена только одна организация и, видимо, поэтому такого поля у меня просто нет.
14. V.Nikonov 119 24.08.18 14:47 Сейчас в теме
(13) Поле есть, но оно не отображается, т.к. совпадает со ссылкой на сам Объект.
Вероятно в обработке надо предусмотреть подобные "Исключения": т.е. один из реквизитов ссылается на самого себя...
15. sssomov@mail.ru 24.08.18 15:25 Сейчас в теме
(14)
(14)
Поле есть, но оно не отображается, т.к. совпадает со ссылкой на сам Объект.


И как его тогда очистить? Подскажите, коль не трудно.
16. 17808849 10 25.08.18 12:25 Сейчас в теме
(15) Обновил обработку. Скачайте заново
17. user786415 07.09.18 09:14 Сейчас в теме
Некоррктный заголовок публикации, вернее бы назвать создание копии объекта с нужным гуидом. А то складывется мнение что можно перезаписать гуид у существующего объекта.
18. 17808849 10 07.09.18 13:09 Сейчас в теме
(17)
рктный заголовок публикации, вернее бы назвать создание копии объекта с нужным гуидом. А то складывется мнение что можно перезаписать гуид у сущест

Так проще найти. В описании есть информация о том, как происходит замена.
Оставьте свое сообщение