Необходимость
К сожалению, бывают случаи, когда мы безвозвратно теряем ценные данные. Причиной тому может быть выход из строя жесткого диска, случайное или преднамеренное удаление, вирусная или хакерская атака (шифровальщики и т.п.).
В моем случае хакерами была зашифрована центральная база данных Розницы 2.2 (центральный узел). К счастью, была спрятана резервная копия центральной базы недельной давности, которую хакеры не зашифровали. Но за эту неделю были созданы сотни докумнов, которые необходимо восстановить.
Решение проблемы
Так как 80% данных вводится в периферийных базах данных магазинов (поступления, продажи и некоторые справочники), то возникла необходимость регистрации к обмену всех документов базы, созданных за последнюю неделю. Вручную это сделать можно, но довольно трудоемко.
Обработка с указанным ниже программным кодом приложена.
ЦентральныйУзел = ПланыОбмена.ПоМагазину.НайтиПоКоду(КодЦентральногоУзла);
Для НомТ = 1 По Метаданные.Документы.Количество() Цикл
ИмяДок = Метаданные.Документы.Получить(НомТ-1).Имя;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|Док.Ссылка КАК Док_
|ИЗ Документ." + ИмяДок + " КАК Док
|ГДЕ
| Док.Дата > &Дата";
Запрос.УстановитьПараметр("Дата", ДатаНачала);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПланыОбмена.ЗарегистрироватьИзменения(ЦентральныйУзел,Выборка.Док_);
КонецЦикла;
КонецЦикла;
Проверялось на платформе 8.3.16.1063 и Рознице 2.2.7.40.