Удаляю регистрацию (выходят сообщения), а когда смотрю обработкой "Регистрация изменений для обмена" - регистрация остается. Обраьотик выполняется в событиях "ПриЗаписи..." и "ПередЗаписью" - разницы нет.
Изменяемый объект(Источник) - с авторегистрацией
ВыборкаУзлов = ПланыОбмена.ОбменУправлениеТорговлейБухгалтерия.Выбрать();
Пока ВыборкаУзлов.Следующий() Цикл
Если ВыборкаУзлов.Ссылка<>ПланыОбмена.ОбменУправлениеТорговлейБухгалтерия.ЭтотУзел() Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(ВыборкаУзлов.Ссылка, Источник);
Сообщить("удалена регистрация для обмена для узела " + СокрЛП(ВыборкаУзлов.Наименование)+" по:"+СокрЛП(Источник));
А в таблице изменений есть запись с номером сообщения или пустая ?
Просто, если сообщение с номером было отправлено, то регистрация будет удаляться только подтверждением сообщения с этим номером - оно же уже числится отправленным.
(7) обмен не делал ни разу. Что интересно: если этот же код выполняется во внешней обработке - регистрация удаляется
(источник выбираем принудительно, типа: Источник=Справочники.Склады.НайтиПоНаименованию("Офис_");
)
Я уж думаю: может для таких объектов (по которым установлена аторегистрация) регистрация выполняется позже, т.е. подписка на событие "ПриЗаписи" отработает, а уж затем выполняется регистрация?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший