Имя: Пароль:
1C
 
Подписка на события. Запись регистра сведений.
0 Анцеранана
 
30.10.15
17:44
Уважаемые коллеги. Понимаю, что пятница, но ...Делаю так (подписка на событие, которая отслеживала бы пометку на удаление документа Регл Отчет УПП 8.2) :

  Процедура _ПриЗаписиДокументаРегламентированнныйОтчетПриЗаписи(Источник, Отказ) Экспорт
      // Вставить содержимое обработчика.
      
            // Вставить содержимое обработчика.
      Если Источник.ПометкаУдаления Тогда
          
          НаборЗаписей = РегистрыСведений._ДанныеРегламентированныхОтчетов.СоздатьНаборЗаписей();
          НаборЗаписей.Отбор.Документ.Установить(Источник.Ссылка);
          НаборЗаписей.Прочитать();
          Если НаборЗаписей.Количество()>0 Тогда
              НаборЗаписей.Записать();
          КонецЕсли;
          
      КонецЕсли;
  КонецПроцедуры


В отладчике все нормально, но движения из регистра не удаляются. Что-то не так написал?
1 разработчик 1с
 
30.10.15
17:47
наборзаписей.очистить()
2 VikingKosmo
 
30.10.15
17:49
Установи отбор и сразу записывай пустой набор записей. ЕМНИП так тоже стирает и даже быстрее. Главное отбор установи)))
3 Анцеранана
 
30.10.15
18:09
(1) И очистить не помогло) И записать а потом очистить тоже!
Хотя во внешней обработке аналогичный код срабатывает! Сталкивался кажется с этим косяком (или фичей) ранее.

А заработало вот так в результате:
  
Рег = РегистрыСведений._ДанныеРегламентированныхОтчетов;
          Выборка = Рег.Выбрать();
          Пока Выборка.Следующий() Цикл
              Если Выборка.Документ = Источник.Ссылка Тогда
                  Выборка.ПолучитьМенеджерЗаписи().Удалить();
              КонецЕсли;
          КонецЦикла;

Если кто столкнется - пользуйтесь!
Всем хороших выходных.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой