Имя: Пароль:
1C
 
Как создать новый объект по GUID или заменить GUID
0 misha122062
 
28.09.10
09:41
При создании нового образа для обмена данными произошла ошибка и не создался новый узел.
Его внесли руками, но обмен не идет, так как разные GUIВ. Как руками исправить их
Пытаемся вот так:
УникИдент = Новый УникальныйИдентификатор(СокрЛП(ЭлементыФормы.ПолеВводаGUID.Значение));
НовСсылка = ПланыОбмена.НашПланОбмена.ПолучитьСсылку(УникИдент);
НовУзел = НовСсылка.ПолучитьОбъект();
//НовУзел.УстановитьСсылкуНового(НовСсылка);
НовУзел.Записать();
1 Defender aka LINN
 
28.09.10
09:46
Создай образ заново.
2 misha122062
 
28.09.10
09:48
(1)нереально - объем базы неслабецкий. Несколько раз вываливается с ошибкой. Приходится руками.
Интересно по сабжу
3 Рыжий Лис
 
28.09.10
09:52
УникИдент = Новый УникальныйИдентификатор(СокрЛП(ЭлементыФормы.ПолеВводаGUID.Значение));
НовСсылка = ПланыОбмена.НашПланОбмена.ПолучитьСсылку(УникИдент);

НовУзел = ПланыОбмена.НашПланОбмена.СоздатьУзел();
НовУзел.УстановитьСсылкуНового(НовСсылка);
НовУзел.Записать();
4 Defender aka LINN
 
28.09.10
09:53
(2) УстановитьСсылкуНового. Но тебе то не поможет.
5 hhhh
 
28.09.10
09:57
(2) как-то пробуй

НовУзел = ПланыОбмена.НашПланОбмена.СоздатьУзел();

и

НовУзел.УстановитьСсылкуНового(НовСсылка);
НовУзел.Записать();
6 hhhh
 
28.09.10
09:59
(5) но вообще-то в типовых узлы вроде бы по коду сопоставляются, а не по гуид.
7 misha122062
 
28.09.10
10:00
(3)не идет - типа неуникальный идентификатор
8 Defender aka LINN
 
28.09.10
10:05
(7) А я говорил - тебе это не поможет.
9 misha122062
 
28.09.10
10:06
+(7)вроде создался
10 misha122062
 
28.09.10
10:06
(8)А что делать? Как руками создать - так как автоматом не создается - вываливает ошибку
11 misha122062
 
28.09.10
10:26
Создание нового прошло, но не помогло.
Кто в курсе - как заменить GUID уже существующего узла
12 Defender aka LINN
 
28.09.10
10:32
(11) НИКАК. Нахрена тебе с узлами что-то творить?
13 Mikeware
 
28.09.10
10:59
Кстати, в 8.2 гуиды объектов ручками не назначаются?
14 Serg_1960
 
28.09.10
11:11
(0) "Его внесли руками, но обмен не идет, так как разные GUID" - верю что обмен не идет, но утверждение "...так как разные GUID" - неверное.

Наводящий вопрос: запись об подчиненном узле, вставленная вручную, в базе образа - "с точкой" в пиктограмме?
15 misha122062
 
28.09.10
11:15
(14)нет - авто
руками создавали главный узел и привязывали его что бы красным был
16 Defender aka LINN
 
28.09.10
11:16
(15) И ЭТО должно было заработать?
17 misha122062
 
28.09.10
11:18
(16)вариантов не было.
большая база вываливается с ошибкой.
Как сделать руками подскажите
18 ProxyInspector
 
28.09.10
11:22
Формально для того, чтобы исправить ручками GUID необходимо пользоваться обработкой "Поиск и замена значений".
 Т.е. создается новый элемент справочника (план обмена) с нужным GUID (используя УстановитьСсылкуНового(НовСсылка))
потом обработкой проходится по базе и все ссылки на старый GUID заменяются ссылками на новый GUID. Элемент справочника со старым GUID удаляется. Должно работать.
19 Defender aka LINN
 
28.09.10
11:25
(17) Проверь GUID'ы предопределенных узлов плана обмена в этой твоей базе и центральной.
20 misha122062
 
28.09.10
11:27
(19)Отличаются!
Об этом и сабж!
А как заменить его, окромя способа (18)
21 Defender aka LINN
 
28.09.10
11:28
(20) Отличаются какие именно?
22 ProxyInspector
 
28.09.10
11:28
Я допускаю, что обработка "поиск и замена значений", в силу "высокой квалификации" разработчиков не справиться с этой задачей, тогда придется ее доработать. Но (18) - единственный путь решения задачи.
23 Владимир Лео
 
28.09.10
11:30
Для создания нового узла РИБ 1С 8 необязательно выгружать образ стандартными средствами.

Это актуально для больших баз. Можно сделать образ из копии базы, как описано в книге "Профессиональная разработка в 1С".

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

Поищите книгу, возможно это поможет решить
 исходную проблему создания образа узла РИБ
рекмендуемым разработчиками 1С способом.
24 hhhh
 
28.09.10
11:31
(20) они и должны отличаться. Похоже ты тупишь.
25 Defender aka LINN
 
28.09.10
11:31
(24) Если те, которые "ЭтотУзел()", то не должны.
26 ProxyInspector
 
28.09.10
11:31
(23) Я думаю, что это (18) и есть.
27 misha122062
 
28.09.10
11:32
(23)Я того же мнения. Книги пока нет
28 Владимир Лео
 
28.09.10
11:33
последний пункт в :

http://v8.1c.ru/book/devenc/maitenance.htm#15

ГЛАВА 15. СОЗДАНИЕ РАСПРЕДЕЛЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМ

Создание узла распределенной информационной базы

   * Создание начального образа
         o Интерактивное создание начального образа
         o Создание начального образа из встроенного языка
   * Создание узла из конфигурации
   * Создание узла из копии информационной базы
29 misha122062
 
28.09.10
11:33
(25)+100
(24)-->(25)
А они отличаются
Я так понимаю в Центральной ЭтотУзел() и в подчиненной красный узел - центральная должны быть одинаковвы
30 misha122062
 
28.09.10
11:34
(28)Спасибо! Почитаю
31 Defender aka LINN
 
28.09.10
11:34
(29) Пля. Ты читать умеешь? ПРЕДОПРЕДЕЛЕННЫЕ.
ЭтотУзел() в ОБОИХ базах должен быть одинаковый.
32 ProxyInspector
 
28.09.10
11:36
(28) У меня эта книжка перед глазами лежит.
33 misha122062
 
28.09.10
11:36
(31)понял. Ладно проверим
34 misha122062
 
28.09.10
11:38
(31)Да одинаковые
35 hhhh
 
28.09.10
11:39
(31) но когда делаем программно УстановитьГлавныйУзел(), то GUID'ы точно не равны. А всё работает без проблем.
36 Serg_1960
 
28.09.10
11:44
37 Aleksey_3
 
28.09.10
11:47
38 misha122062
 
28.09.10
11:47
(36)пока нет. Но спасибо
39 misha122062
 
28.09.10
11:48
(37)почти все из описанного делали
40 Alex375
 
28.09.10
12:17
У тебя возможно GUID-ы баз отличаются, потому обмен и не идет. А узлы плана обмена тут ни при чем.