Имя: Пароль:
1C
1С v8
Упал РИБ - предопределенный реквизит ПВХ недореплицировался
0 Dirk Diggler
 
10.01.20
12:16
Сделал в главном узле допил - создал предопределенный элемент ПВХ, еще одно доп. право пользователя, и группу для него. Сделал репликацию - в подчиненном узле в метаданных все это появилось. Но при этом обмен встал - ошибка.

Ошибка при чтении изменений из файла обмена.
Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка при выполнении обработчика - 'ПриЗаписи': {ОбщийМодуль.УправлениеПользователями.Модуль(105)}: Ошибка при получении значения атрибута контекста (DXРазрешитьРедактироватьЧужиеЗаписиНоменклатурыКонтрагентов): ПланВидовХарактеристик.ПраваПользователей.DXРазрешитьРедактироватьЧужиеЗаписиНоменклатурыКонтрагентов. Предопределенный элемент отсутствует в данных
Чтение данных из файла обмена завершено с ошибками!

А также в узле этого пункта не видно в самой форме дополнительных прав пользователя. В главном узле есть, в подчиненном нет. В метаданных есть в обоих.

.cf загружал из главного узла в подчиненный, и обратно - не помогает.

Что можно еще сделать, куда копать?

УТ 10.3, платформа 8.3.12.1790
1 Lama12
 
10.01.20
12:18
В ПВХ миграция включена? Вообще в конфигураторе, в периферийной базе предопределенный элемент появился?
2 Dirk Diggler
 
10.01.20
12:19
(1) >В метаданных есть в обоих.
3 Dirk Diggler
 
10.01.20
12:20
в список реплицируемых ПВХ "ПраваПользователей" включен для этого обмена
4 Lama12
 
10.01.20
13:14
(2) А база в режиме предприятия запускается и предопределенный элемент видно?
5 Lama12
 
10.01.20
13:30
(4) + GUID совпадают?
6 Dirk Diggler
 
10.01.20
13:45
(4) >А также в узле этого пункта не видно в самой форме дополнительных прав пользователя. В главном узле есть, в подчиненном нет.
(5) А как я посмотрю GUID в подчиненном узле, если его не видно в формах?
7 Cyberhawk
 
10.01.20
13:47
Ну так в подчиненном предопределенные не создаются сами после обновления конфы. Тебе надо его создать там вручную, либо перенести обменом
8 Dirk Diggler
 
10.01.20
13:48
(7) >Сделал репликацию - в подчиненном узле в метаданных все это появилось. Но при этом обмен встал - ошибка.
9 Cyberhawk
 
10.01.20
13:49
(8) Продолжай бакланить
10 Dirk Diggler
 
10.01.20
13:57
(9) Дружищще, если ты читать не умеешь, то кто ж тебе доктор.

Вопрос решен. Снес группу с реквизитом руками в подчиненном узле, втянул .cf с главного полностью, включил узел в обмен обратно - работает.
11 Lama12
 
10.01.20
14:09
(10) Тоже вариант, но почему в конфе предопределенный был, а в режиме предприятие не было?
12 Serg_1960
 
10.01.20
14:15
В журнале регистрации нужно смотреть события, связанные с предопределенными данными (инициализация, обновление, изменение и т.д.) Не исключено, что значение присваивается фоновой обработкой (которая возможно ещё не была запущена).
13 Lama12
 
10.01.20
14:26
(12) Вот я тоже подозревал что-то подобное, но еще не сталкивался с этой особенностью последних версий платформы на РИБ.
Получается, что после обновление периферийной базы, надо дождаться отработки фоновых, и только после этого заново грузить обмен?
14 Serg_1960
 
10.01.20
14:32
(13) Эээ... это только моё предположение, если исключить обычный глюк РИБ. Есть ещё один аспект, который следует принимать во внимание: в новых платформах предопределенные данные не создаются платформой, а загружаются обменом из центрального узла в периферийные узлы. Поэтому может возникнуть ошибка, когда в новой конфигурации, загруженной в подчинённый узел, уже есть обращение к новым предопределенным данным (т.е. к тем, которые ещё не загружены из центрального узла).
15 Serg_1960
 
10.01.20
14:39
+(14) и это обращение к новым предопределенным данным возникает в момент обмена данными до загрузки новых значений. Возникает коллизия: в метаданных есть предопределенный элемент, а в базе нет его значения - соответственно ещё нет связи между метаданными и данными. Вот как-то вот так, немножко путанное объяснение.