Восстановление части данных из архива в рабочую базу данных

Опубликовал alexk-is в раздел Администрирование - Архивирование (backup)

Когда случилась неприятная ситуация...
Ситуация первая. Ввели документ прошлым периодом. Слетела граница последовательности. Восстановили и обнаружили, что поплыли отчетные данные прошлых периодов.
Ситуация вторая. Кто-то нажал "что-то" и были удалены элементы справочников прошлого периода без контроля целостности. Теперь в документах и отчетах "битые" ссылки.
Эта статья о том, что можно сделать в подобной ситуации. Не волнуйтесь. ВСЕ БУДЕТ ХОРОШО.
Только качественный контент

Есть и другие ситуации, в которых часть данных изменена "случайно", а часть изменена в процессе работы пользователей. И нужно восстановить именно "случайно" измененную часть данных, а остальное оставить как есть.

Исходим из того, что у нас есть архив, из которого данные можно перенести. Соответственно первое, что нужно сделать - это найти и развернуть (восстановить) архив. А дальше есть варианты...

Вариант 1. Воспользоваться обработкой ВыгрузкаЗагрузкаДанныхXML81.epf с диска ИТС. Выбрать объекты, выгрузить и загрузить.«Охрана труда» для 1С:Предприятия 8.2

Резюме 1. В данном случае выбор объектов для переноса выполняется практически вручную. А перенес движений по конкретному виду документа за период возможно, но весьма, весьма трудоемко.


Вариант 2.
Настроить правила обмена с помощью конфигурации "Конвертация данных". Т.к. конфигурации рабочей базы и архивной скорее всего идентичные, то особых проблем с настройкой правил обмена быть не должно. При загрузке можно прописать в обработчиках дополнительные условия, по которым принимать решение - загружать переданные из архивной базы данные или нет. Подробнее о конфигурации "Конвертация данных" можно почитать на диске ИТС или приобрести книгу http://v8.1c.ru/metod/books/book.jsp?id=121  

Резюме 2. Запрограммировать можно все. Поэтому в данном случае можно добиться очень высокого уровня автоматизации. Но есть небольшой недостаток: нужно уметь программировать...


Вариант 3.
Добавить план обмена "ВосстановлениеДанных" без РИБ с выключенной авторегистрацией для всех объектов в рабочей базе и в архиве. В модуле плана обмена прописать:

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

Функция
ВыгрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML) Экспорт
    Возврат
ПроцедурыОбменаДанными.ВыгрузитьИзмененияДляУзлаВФайлОбмена(УзелОбмена, КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML);
КонецФункции

Добавить узел приемник в архиве и узел источник в рабочей базе для плана обмена "ВосстановлениеДанных". С помощью обработки РегистрацияИзмененийДляОбмена зарегистрировать нужные элементы справочников, документов и регистров. Добавить настройки обмена данными в обоих базах. Выгрузить данные из архива. Загрузить данные в рабочую базу.

Аналогично любые данные из любого архива можно будет перетащить в любое время. В дальнейшем модифицировать конфигурацию архива будет уже не нужно. Но после разворачивания (восстановления) архива, необходимо будет изменить имена узлов в архиве на противоположные.

В прилагающихся файлах есть конфигурация с планом обмена ВосстановлениеДанных. При объединении конфигураций необходимо оставить галочку только на плане обмена ВосстановлениеДанных, а после объединения конфигураций в составе плана обмена ВосстановлениеДанных указать все объекты информационной базы с выключенной авторегистрацией. Для этого выбрать в меню Действия - Включить все, выбрать в меню Действия - Запретить авторегистрацию для всех.

Для примера добавил обработку, которая позволяет зарегистрировать документы и их движения. Документы могут быть отфильтрованы за период по виду или по вхождению в последовательность. Также могут быть перенесены справочники по ссылкам первого уровня.

Регистрация документов для обменов

Резюме 3. Данный вариант сочетает в себе как сравнительную простоту реализации, так и возможность обеспечения достаточно высокого уровня автоматизации.

 

16.12.2009 /Константинов Алексей Викторович/

Файлы

Наименование Файл Версия Размер Кол. Скачив.
Регистрация документов и их движений
.epf 19,45Kb
28.08.12
311
.epf 19,45Kb 311 Скачать
План обмена Восстановление данных
.cf 22,00Kb
28.08.12
91
.cf 22,00Kb 91 Скачать

См. также

PowerTools от 1 000

Лучшие комментарии

1. PowerBoy 17.12.2009 07:28
Я для таких целей использую свою обработку сравнения баз данных, и тупо сравниваю рабочию копию с резервной, выгружая измененные объекты.
http://infostart.ru/public/20683/
+ 2 [ gutentag; artbear; ]
# Ответить
2. CheBurator 20.12.2009 12:58
"Ситуация вторая. Кто-то нажал "что-то" и были удалены элементы справочников прошлого периода без контроля целостности." - это композитора надо убивать...
Ответили: (3) (11)
+ 1 [ wjickey; ]
# Ответить

Комментарии

1. PowerBoy 17.12.2009 07:28
Я для таких целей использую свою обработку сравнения баз данных, и тупо сравниваю рабочию копию с резервной, выгружая измененные объекты.
http://infostart.ru/public/20683/
+ 2 [ gutentag; artbear; ]
# Ответить
2. CheBurator 20.12.2009 12:58
"Ситуация вторая. Кто-то нажал "что-то" и были удалены элементы справочников прошлого периода без контроля целостности." - это композитора надо убивать...
Ответили: (3) (11)
+ 1 [ wjickey; ]
# Ответить
3. alexk-is 20.12.2009 13:40
(2) Чаще всего это пользователь с полными правами, я бы сказал даже с абсолютными. Например, главный бухгалтер. Т.к. за организацию процесса учета отвечает он (она), то в его ведении любые манипуляции с базой данных, вплоть до удаления базы. Собственно и ответственность за эти действия тоже. У всех бывают "нечаянные" ошибки. А людям нужно давать второй шанс. Особенно тем, кто оплачивает твои счета...

Зачем далеко ходить, вот http://infostart.ru/forum/forum14/topic29834/
Ответили: (4)
# Ответить
4. CheBurator 20.12.2009 15:11
(3) бред. причем полнейший. свидетельствующий о глобальных проблемах. Бух может обладать полными правами (но не должен). Бух при необходимости может - если это нужно - удалить базу. Но выполнять действия, которые приводят к "недостоверным" данным, приводящим к проблемам С РАБОТОЙ В БАЗЕ - это уже не "любые манипуляции"... Пользователь с такими правами должен понимать сущность своих действий и прочие последствия своих действий... А за "нечаянные" ошибки - ну так такая ошибка один раз может быть... и, лично я, не верю в "нечаянные ошибки" - все нечаянные ошибки с которыми я сталкивался - оказывались либо халатным отношением к выполняемым обязанностям, либо неквалифицированностью пользователей, допущенных к операциям, к которым в силу их НЕвалификации даже подходить нельзя...
...конечно же все вышесказанное - глубокое имхо...
Ответили: (5)
# Ответить
5. CheBurator 20.12.2009 15:15
(4) возможно, к (4) надо добавить соображение о том, что такие нечаянные ошибки вызваны недостаточностью финансирования штатных единиц в фирме... очень часто владельцы бизнеса относятся по типу "ну как-нибудь.. так..." - вот и делают... как-нибудь..так... ненчаянно.. ну я попробовала, а оно.. вот....
# Ответить
6. alexk-is 28.12.2009 11:03
Может и так. Но когда проблема возникнет, то кроме вопроса "Кто виноват" встанет вопрос "Что делать". Хотелось бы быть во всеоружии, а не мучатся головной болью.
# Ответить
7. KapasMordorov 22.01.2010 09:53
Резюме 1. В данном случае выбор объектов для переноса выполняется практически вручную. А перенес движений по конкретному виду документа за период возможно, но весьма, весьма трудоемко. По нескольку раз придется заполнять списки регистраторов для регистров.

Флажок "Выгружать с документом все его движения".
Для выбора объектов для переноса есть возможность применить запрос.
Замечательный инструмент.

Хотя вариант 3 мне нравится больше. В нем перенос можно сделать точнее, но при этом писать код для регистрации.
# Ответить
8. arteast (файл скачал) 19.04.2010 10:45
Я немного доработал Ваше творение (Регистрация документов для обмена) под себя. Если пригодится Вам или кому ещё можно взять отсюда
Ответили: (10) (16)
# Ответить
9. Istur 29.04.2010 12:31
(0) Ты не мог бы добавить свою обработку также в раздел "Каталог → УПРАВЛЕНИЕ ДАННЫМИ, ОБРАБОТКА → Обмен данными"?
# Ответить
10. Istur 29.04.2010 12:32
(8) Добавь пожалуйста свою разработку с того сайта на infostart
# Ответить
11. wjickey 09.01.2012 21:08
(2) CheBurator, целиком поддерживаю. Нельзя давать бухгалтерам прав больше, чем положено. Не все бухгалтера при приеме на работу проходят проверку проф-пригодности и в отличие от водителей никто не предоставляет справки из ПНД.
# Ответить
12. wjickey 09.01.2012 21:34
Я сторонник универсальности и противник "вскрытия пациента" без надобности. Гораздо более гуманно использовать в совокупности "Вариант 1" и "Вариант 2". Работаю над автоматизацией процесса отбора ссылок для переноса. Как буду готов - выложу.
# Ответить
14. NovSL 17.03.2012 17:57
Однако все так просто. Честно завидую людям, которые так просто решили проблему, до которой сам не додумался. Огромное спасибо за идею. Сегодня же реализую
# Ответить
16. fomix 05.12.2012 10:24
(8) arteast, При попытке скачать пишет: Произошла ошибка: файл не найден!
# Ответить
17. arteast (файл скачал) 05.12.2012 10:26
Хм..может удалили уже за столько то времени, скажите Вашу почту - я вышлю на неё.
# Ответить
18. EugenLiquor 06.03.2014 15:05
Довольно таки хороший способ, автору спасибо за него, но я предпочитаю пользоватся другой обработкой, она гораздо проще в использовании и процессе восстановления!
# Ответить
Внимание! За постинг в данном форуме $m не начисляются.
Внимание! Для написания сообщения необходимо авторизоваться
Текст сообщения*
Прикрепить файл






IE 2016