Имя: Пароль:
1C
1С v8
Удалить пометку удаления. Не работает обработка.
0 Bugmenot
 
17.05.12
00:15
Вот, что написал:

Процедура СтартНажатие(Элемент)
  ТаблицаСсылок = НайтиПоСсылкам(НайтиПомеченныеНаУдаление());
  КоличествоЗаписей = ТаблицаСсылок.Количество();
 
  Состояние("Данные помечаются на удаление...");        
 
  ФормаИндикации = ПолучитьОбщуюФорму("ХодВыполненияОбработкиДанных");
  ФормаИндикации.НаименованиеОбработкиДанных = "Снятие пометок";
  ФормаИндикации.КомментарийОбработкиДанных  = "Снимаютс пометки на удаление";
  ФормаИндикации.МаксимальноеЗначение        = КоличествоЗаписей;
 
  Ответ = Вопрос("Снять "+КоличествоЗаписей+" пометок?", РежимДиалогаВопрос.ДаНет,, КодВозвратаДиалога.Да);
  Если Ответ = КодВозвратаДиалога.Нет Тогда
        Сообщить("Обработка отменена: " + ТекущаяДата());
        Возврат;
  КонецЕсли;  
  Сообщить("Обработка начата: " + ТекущаяДата());

  ФормаИндикации.Открыть();
 
  Н = 0;
  Неудача = 0;
     
  Для каждого СтрокаТаблицы Из ТаблицаСсылок Цикл
     
     ОбработкаПрерыванияПользователя();
     
     Н = Н + 1;
     
     ФормаИндикации.КомментарийЗначения = "Обработано: " + Н + " объектов " + " из " + КоличествоЗаписей + " (Неудача: "+Неудача+")";
     ФормаИндикации.Значение            = Н;
     
     Попытка
        Объект = СтрокаТаблицы.Данные.ПолучитьОбъект();
        Объект.УстановитьПометкуУдаления(Ложь);
     Исключение
         Неудача = Неудача + 1;
        Сообщить(ОписаниеОшибки());
     КонецПопытки;  
     
  КонецЦикла;
 
  Сообщить("Обработка завершена: " + ТекущаяДата());

КонецПроцедуры

Пишет, что удаляет 250 из 260 пометок. Но ничего не меняется.
Групповую обработку не предлагать. Хочу разобраться с этим...
1 Shrike
 
17.05.12
00:25
Из СП
Если СписокУдаляемых.НайтиПоЗначению(РасходнаяНакладная.Номер) Тогда
   РасходнаяНакладная.УстановитьПометкуУдаления(Истина);
   РасходнаяНакладная.Записать();
КонецЕсли;