Имя: Пароль:
1C
 
Как зарегистрировать часть записей регистра сведений для Плана Обмена
0 DVS
 
15.07.05
08:48
Суть проблемы в следующем:
Необходимо сформировать начальную выгрузку, для этого надо зарегистрировать все данные которые учавствуют в обмене, по логике программы мне необходимо выгрузить только часть записей регистра сведений, его режим записи Независимый, переодичность В пределах дня.
Вот код программы регистрации:
НаборЗаписей = РегистрыСведений.ДанныеПоСотруднику.СоздатьНаборЗаписей();
Выборка = РегистрыСведений.ДанныеПоСотруднику.Выбрать();
Пока Выборка.Следующий() Цикл
 Если Выборка.Сотрудник.Филиал <> Узел.Склад.Филиал Тогда
   Продолжить;
 КонецЕсли;
                   
 НоваяЗапись = НаборЗаписей.Добавить();
 НоваяЗапись.Период = Выборка.Период;
 НоваяЗапись.Активность = Выборка.Активность;
           
 НоваяЗапись.Сотрудник = Выборка.Сотрудник;
 НоваяЗапись.Подразделение = Выборка.Подразделение;
 НоваяЗапись.Должность = Выборка.Должность;
КонецЦикла;
ПланыОбмена.ЗарегистрироватьИзменения(Узел, НаборЗаписей);

Получается ошибка:
Ошибка при вызове метода контекста (ЗарегистрироватьИзменения): Недопустимое значение параметра (параметр номер "2")            ПланыОбмена.ЗарегистрироватьИзменения(Узел, НаборЗаписей);

Помогите пожалуйста, заклился.
1 Волшебник
 
15.07.05
09:33
Регистр сведений не входит в состав плана обмена.
Галочку нужно поставить и снять авторегистрацию (если ты регистрацию делаешь сам).
2 DVS
 
15.07.05
10:10
Регистр входит в состав плана обмена.
3 Волшебник
 
15.07.05
19:56
(2) Тогда это возможно проявляет себя глюк 12 релиза.

Попробуй снять галочку из плана обмена и обновить БД. Если вылетела с ошибкой "ссылочная константа содержит недопустимую ссылку на таблицу (pos=12)" или нечто подобное, то поздравляю - у тебя глюк в базе.

Есть мысль, что он проявляется только на SQL-версиях, но я не уверен.

Предлагаю тебе пересоздать этот регистр (с переносом данных, конечно). Это может помочь. Но может быть такая вещь - эта ошибка переместится на другой регистр!

Есть еще вариант - пересоздать план обмена. Должно помочь на 90%. Но может и не помочь.

Перед пересозданием плана обмена нужно произвести последний сеанс обмена, остановить работу в базах и обновить конфигурацию БД за 2 релиза:

1-й - удаление плана обмена
2-й - создание новых планов обмена

После 1-го релиза крайне рекомендуется обновить конфигурации во всех периферийных базах (если получится).

После 2-го релиза периферийная база может ругаться, что принимаются изменения от неизвестной конфигурации. В этом случае ее лучше пересоздать через начальный образ или путем копирования основной базы и переустановки главного узла методом УстановитьГлавныйУзел.
4 vvv29
 
15.07.05
21:10
(3)Еще глюк из 12-го, я уж решил что почти ничего нет и надо переходить.
5 Simpson
 
16.07.05
03:30
А чему равно Узел в регистрации изменений? Может он равен текущему (главному) узлу? Тогда вполне правильный глюк. Наталкивался уже...

Пора уже Нуралиева бить. То на 9 релизе обмен становился невозможным по УРБД, то теперь эта хрень на 12...
6 DVS
 
18.07.05
09:02
Все оказалось значительно проще (кто бы мог подумать), оказывается на ИТС было описано.
Регистрация изменений наборов записей независимых регистров.
К таким регистрам относятся регистры сведений со свойством "РежимЗаписи", установленным в значение "Независимый". Для регистрации изменений наборов записей данного регистра необходимо вызвать метод "ЗарегистрироватьИзменения()" менеджера планов обмена, передав ему в качестве параметра "Данные" набор записей. Состав элемнентов отбора, при этом, должен строго соответствовать основному отбору регистра.
7 Волшебник
 
20.07.05
17:36
(6) В типовой УТ, кстати, часто записываются наборы по регистрам КонтактнаяИнформация, ЗначенияСвойствОбъектов, КатегорииОбъектов с отбором, не соответствующим основному отбору регистра. Будьте осторожны при ручной регистрации изменений!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn