Имя: Пароль:
1C
1С v8
Ошибка обновления узла РИБ
, ,
0 frid
 
02.07.17
14:49
Добрый день.

Обновил основной узел Рарус-Розницы до 2.2.5.27, сделал обмен с парочкой узлов РИБ - все отлично.

Начал массовое обновление остальных узлов (аналогичных "верхней парочке" (другие магазины по РИБ)) - в клиентской части выскакивает ошибка:

РассылкаОтчетов.ЗарегистрироватьДанныеДляАктуализацииСпискаРегламентныхЗаданий"
отложенного обработчика обновления
"РассылкаОтчетов.АктуализироватьСписокРегламентныхЗаданий"
произошла ошибка:
"{ОбщийМодуль.ОбщегоНазначения.Модуль(3502)}: Ошибка при вызове метода контекста (Содержит)
    Возврат Метаданные.РегистрыСведений.Содержит(ОбъектМетаданных);
по причине:
Несоответствие типов (параметр номер '1')".

Может кто сталкивался? Пробовал уже и платформу обновлять (до максимальной 8.3.10, и проверял на 32-64 компах)... не помогло. Но ведь тестовые 2 магазина без проблем обновились, не могу понять как так.
1 roman844
 
02.07.17
17:59
Это 1с тут никто ни в чем не уверен.
2 gorakh
 
02.07.17
18:16
Это ошибка в данных. Остановка по ошибке + Стек вызовов спасет "спасет отца русской демократии" ИМХО в ОбъектМетаданных передается неопределено.
3 Cyberhawk
 
02.07.17
19:48
"Пробовал уже и платформу обновлять" // От безысходности что ли? Так-то у тебя конкретная ошибка в прикадном коде, и тебе доступна возможность выяснить способ ее воспроизведения
4 frid
 
02.07.17
21:37
С платформой пробовал так как два первых узла нормально обновились, без каких-либо проблем и ошибок.

Думаю вот ради чистоты эксперимента на одном из тех компов обновить проблемный узел...
5 Фрэнки
 
02.07.17
21:40
а сравнить содержимое текста проблемного кода в одном узле и в том, где все прошло нормально?
6 gorakh
 
02.07.17
22:10
(5) Это РИБ (?). Расхождений в коде не может быть по определению.
7 Фрэнки
 
03.07.17
08:46
(6) откуда уверенность, что он это "по определению" обеспечил? Вы у топикстартера из-за его спины видели, как он там в обмены данные узла помечает?
8 Serg_1960
 
03.07.17
09:36
Если говорить о вероятностях, о вероятность не идентичности конфигураций в узлах или о вероятности не использования ошибочного алгоритма в "сделал обмен с парочкой узлов РИБ -
все отлично(цы), то вероятность последнего предположения - выше.
9 Serg_1960
 
03.07.17
09:46
PS: то, что два узла отличаются от остальных - это факт, допустим. Но эта информация ничего не утверждает, не подтверждает и не опровергает - ошибка есть и с этим надо что-то делать :)
10 h-sp
 
03.07.17
10:05
возможно ошибка в программе, по обмену пришел документ, который не предусмотрен в регистре сведений.
11 Stanislav1C
 
06.07.17
10:05
Аналогичная ситуация с этой же ошибкой.
Обновил центр с 2.1.9.18 на 2.2.5.27, дальше 6 подчиненных узлов торговых точек обновились без проблем, на 7м эта ошибка. Сразу решение не нашел, создал по новой начальный образ. А вот на 8м узле уже тупик, т.к. РИБ двухуровневый, и 8я точка является центром для еще Nго числа точек. Поэтому заново создавать всю эту иерархию начальными образами не вариант. Стал копаться в отладчике, дошел до такого результата:
В одном из релизов 2.2 появился справочник Рассылки отчетов с предопределенным элементом "Личные данные". Справочник не включен в состав плана обмена. Соответственно, предопределенный элемент на узле не находится, и передается Неопределено в ОбъектМетаданных, как и говорилось в (2). В настройках справочника - Обновление предопределенных данных стоит Авто, т.е. предопределенные элементы в предприятии создаются при первом запуске базы. Для узла этот запуск не первый,вот и получается, что он не создается. В голову приходит изменить конфу, включив справочник в план обмена. Но конфа типовая, из-за этого момента изменять не хочется. Есть идеи, как решить проблему?
12 Фрэнки
 
06.07.17
10:13
где-то давно попадалось на глаза, что уже созданному элементу справочника возможно установить или убрать признак предопределенного... может получится протестить такой вариант - создать элемент вручную, чтобы ссылка на него в загружаемом пакете была существующей - это надо будет ему гуид от отправителя прописать, наверное.
13 Serg_1960
 
06.07.17
10:18
(11) "В голову приходит изменить конфу" - а мне в голову приходит в типовой поискать обработку обновления, которая включатся для принудительного обновления предопределенных - где-то я однажды такое видел.
14 Ёпрст
 
06.07.17
10:18
(11) отвяжи базу от центра, сделай загрузку cf от центральной, потом обратно привяжи
15 Serg_1960
 
06.07.17
10:22
Странное это утверждение, спорное... :( В моей конфигурации есть справочники с предопределенными, которые не включены в план обмена - и что? А ничего, с ними нет проблем. Они обновляются при получении обновления конфигурации, а не через планы обмена.
16 Stanislav1C
 
06.07.17
10:41
(15) Ну вот 6 баз тоже как-то обновились без проблем)

(14) Пробовал такой вариант, привязать потом не получается. При запуске предприятия, если сразу восстанавливать связь через "форму от 1С", снова ошибка. Если же в этой же форме выбрать что-то типа "уверен, что хочу отсоединить от узла", то обновление проходит, но вместе с тем из списка узлов пропадает узел центра. Добавляю его вручную, потом привязываю - вроде привязывается, но при запуске 1С дальше вообще не стартует

(12) А как я создам элемент, если на старом релизе еще нет такого справочника? А на новом - в какой момент создавать, если при запуске сразу стартует процедура обновления, которая потом выдает ошибку.

(13) Такое посмотрю, спасибо
17 Stanislav1C
 
06.07.17
10:43
(15) А, ну еще один прикол/нюанс. Вспомнил, что из первых 6 баз была такая, которая не обновилась на точке непосредственно, но обновилась успешно на другой машине. Вот это как назвать вообще?)

Увы, с другими точками попытки обновления на другой машине к успеху не привели.
18 Serg_1960
 
06.07.17
11:50
(17) Это называется "Чисти кэши!"(с)
19 Ёпрст
 
06.07.17
12:56
(16) зачем "через форму от 1с" ?
там всего-то поделка с одной кнопкой
20 Ёпрст
 
06.07.17
12:59
+19


Процедура КнопкаВыполнитьНажатие(Кнопка)
     ПланыОбмена.УстановитьГлавныйУзел(?(ЗначениеЗаполнено(ПолеВвода1),ПолеВвода1,Неопределено));
КонецПроцедуры

где ПолеВВода - поле ввода с нужным типом плана обмена
21 Stanislav1C
 
06.07.17
15:46
(20) Я так и устанавливаю главный узел. Я немного о другом писал: после того, как обработкой узел отвязываешь, при следующем запуске не сразу начинается обновление конфы, а сначала 1С открывает окно, в котором просит подтвердить, что узел отвязывается. После этого обновляется - после обновления узла в списке уже нет.
На самом деле, на 2.1, помню, что обновлял таким методом, но вот на 2.2 что-то не взлетело. Может, по запарке уже и тыкал неправильную последовательность произвел в действиях)

ПО САБЖУ:
Разобрался с тем, что есть. Оказалось, что недоглядел:
"В одном из релизов 2.2 появился справочник Рассылки отчетов с предопределенным элементом "Личные данные"" - справочник с этим элементом был и на 2.1.

Нюанс такой: косяки с обновлением узлов наблюдаются на тех базах, которые создавались из центральной именно на релизе 2.1.9.18. Все, что создавалось на более ранних релизах - обновилось нормально. Это, наверное, и объясняет, почему пара баз у ТС тоже обновились успешно, а потом пошли косяки.

Ничего выдумывать с созданием нового элемента в справочнике и установкой его как предопределенного не стал. Перенес из копии центра на 2.1 через выгрузкузагрузкуXML этот элемент и повторил обновление на проблемной "базе" - все прошло.

(0) Так что пользуйся методом, если еще не нашел ответ.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший