Имя: Пароль:
1C
 
Ошибка при выполнения удаления ирегистрации изменений в узле
0 NcSteel
 
14.01.09
20:33
Взял пример из книги "Профессиональная разработка в системе 1С 8", стр 584. "Удаление регистрации изменений по узлу":

Процедура ПолноеУдалениеРегистрацииДанныхПоУзлу(Узел) Экспорт
Сообщить("Удаление регистрации всех данных по узлу " + Узел);
ПланыОбмена.УдалитьРегистрациюИзменений(Узел);
КонецПроцедуры

При выполнении кода выскакивает ошибка:

{ВнешняяОбработка.ВнешняяОбработка2(127)}: Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений): Недопустимое значение параметра (параметр номер '2')
   ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена);
по причине:
Недопустимое значение параметра (параметр номер '2')

Второй параметр не передаю. Что не так, не пойму.
1 ТелепатБот
 
гуру
14.01.09
20:33
2 NcSteel
 
14.01.09
20:37
Платформа 8.1.12.98
3 IronDemon
 
14.01.09
20:37
Чему равен "Узел"?

СП: Если указано Неопределено или не указан, то в качестве первого параметра может быть указан только одиночный узел.
4 NcSteel
 
14.01.09
20:39
тип ПланОбменаССылка

УзелОбмена = ПланыОбмена.Главный.НайтиПоКоду("2");
5 NcSteel
 
14.01.09
20:44
Такой код сработал, но надо удалить все изменения.
ПланыОбмена.УдалитьРегистрациюИзменений(УзелОбмена, УзелОбмена.НомерОтправленного);
6 NcSteel
 
14.01.09
21:09
Вверх
7 IronDemon
 
14.01.09
21:12
В аську выйди
8 Serg_1960
 
14.01.09
21:50
В цикле по всем узлам и для каждого ПланыОбмена.УдалитьРегистрациюИзменений(Узел);
9 NcSteel
 
14.01.09
21:55
{ВнешняяОбработка.ВнешняяОбработка2(143)}: Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений): Недопустимое значение параметра (параметр номер '2')
       ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
по причине:
Недопустимое значение параметра (параметр номер '2')

Вот код:

Пока Выборка.Следующий() Цикл
   ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
КонецЦикла;
10 NcSteel
 
14.01.09
21:55
Вот более полный код

Выборка = ПланыОбмена.Главный.Выбрать();
Пока Выборка.Следующий() Цикл
   ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
КонецЦикла;
11 Serg_1960
 
14.01.09
22:14
Должен работать! И без ошибок!
Вот более полный код :))

Выборка = ПланыОбмена.Главный.Выбрать();
Пока Выборка.Следующий() Цикл
  Если Выборка.Ссылка <> ПланыОбмена.Главный.ЭтотУзел() Тогда
     ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
  КонецЕсли;
КонецЦикла;
12 NcSteel
 
14.01.09
22:23
{ВнешняяОбработка.ВнешняяОбработка2(144)}: Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений): Недопустимое значение параметра (параметр номер '2')
           ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
по причине:
Недопустимое значение параметра (параметр номер '2')

   Выборка = ПланыОбмена.Главный.Выбрать();
   Пока Выборка.Следующий() Цикл
       Если Выборка.Ссылка <> ПланыОбмена.Главный.ЭтотУзел() Тогда
           ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка);
       КонецЕсли;
   КонецЦикла;

У кого еще есть варианты )
13 Serg_1960
 
14.01.09
22:28
Тупит платформа :( Специально для тупых - дай ей второй параметр :))

...(Выборка.Ссылка, Неопределено);
14 NcSteel
 
14.01.09
23:08
гы )

{ВнешняяОбработка.ВнешняяОбработка2(144)}: Ошибка при вызове метода контекста (УдалитьРегистрациюИзменений): Недопустимое значение параметра (параметр номер '2')
           ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка, Неопределено);

   Выборка = ПланыОбмена.Главный.Выбрать();
   Пока Выборка.Следующий() Цикл
       Если Выборка.Ссылка <> ПланыОбмена.Главный.ЭтотУзел() Тогда
           ПланыОбмена.УдалитьРегистрациюИзменений(Выборка.Ссылка, Неопределено);
       КонецЕсли;
15 Serg_1960
 
14.01.09
23:13
Вот уж действительно гы-гы-гы. Ставьте точку останова - хватит над здравым смыслом шутить... и смотрите в мониторе что из себя представляет Выборка.Ссылка - может быть у Вас в базе узлы "пустые" внесены?
16 Serg_1960
 
14.01.09
23:20
Специально сделал копию и запустил алгоритм. Отработало без ошибок. Проверил обменом - пусто. Действительно, - регистрацию снесло всю напрочь.
17 NcSteel
 
14.01.09
23:23
Дважды гы

Отладчик:

Выборка.Ссылка тип ПланОбменаСсылка.Главный

Код                  "2        "   Строка
Наименование        "Перефирия"    Строка
НомерОтправленного  30             Число
НомерПринятого      0              Число
ПометкаУдаления     Ложь           Булево

Вроде все в норме.
18 NcSteel
 
14.01.09
23:24
(16) А какая платформа?
19 Serg_1960
 
14.01.09
23:26
Эээ... У меня РИБ-база... уж третий год работает на разных релизах...
20 NcSteel
 
14.01.09
23:27
У меня не РИБ, просто настроил планы обмена. Интересно может в этом проблема.
21 Serg_1960
 
14.01.09
23:37
Не-а, - это роли не играет. Планы обмена что РИБ, что не РИБ - свойства и методы одинаковые, - кроме СоздатьНачальныйОбраз...

Всё, - продуктивных мыслей нет... Может выйти из программы и конфигуратора и зайти вновь?
22 NcSteel
 
15.01.09
00:34
(21) Даже комп перезагрузил. Видимо буду стирать как в (5)
23 NcSteel
 
15.01.09
00:38
Сейчас на партнерский выложу, интерестно что скажут.