Ситуация первая. Ввели документ прошлым периодом. Слетела граница последовательности. Восстановили и обнаружили, что поплыли отчетные данные прошлых периодов.
Ситуация вторая. Кто-то нажал "что-то" и были удалены элементы справочников прошлого периода без контроля целостности. Теперь в документах и отчетах "битые" ссылки.
Эта статья о том, что можно сделать в подобной ситуации. Не волнуйтесь. ВСЕ БУДЕТ ХОРОШО.
Только качественный контент |
Есть и другие ситуации, в которых часть данных изменена «случайно», а часть изменена в процессе работы пользователей. И нужно восстановить именно «случайно» измененную часть данных, а остальное оставить как есть.
Исходим из того, что у нас есть архив, из которого данные можно перенести. Соответственно первое, что нужно сделать — это найти и развернуть (восстановить) архив. А дальше есть варианты…
Вариант 1. Воспользоваться обработкой ВыгрузкаЗагрузкаДанныхXML81.epf с диска ИТС. Выбрать объекты, выгрузить и загрузить.
Резюме 1. В данном случае выбор объектов для переноса выполняется практически вручную. А перенес движений по конкретному виду документа за период возможно, но весьма, весьма трудоемко.
Вариант 2. Настроить правила обмена с помощью конфигурации «Конвертация данных». Т.к. конфигурации рабочей базы и архивной скорее всего идентичные, то особых проблем с
настройкой правил обмена быть не должно. При загрузке можно прописать в обработчиках дополнительные условия, по которым принимать решение — загружать переданные из архивной базы данные или нет. Подробнее о конфигурации «Конвертация данных» можно почитать на диске ИТС или приобрести книгу http://v8.1c.ru/metod/books/book.jsp?id=121
Резюме 2. Запрограммировать можно все. Поэтому в данном случае можно добиться очень высокого уровня автоматизации. Но есть небольшой недостаток: нужно уметь программировать…
Вариант 3. Добавить план обмена «ВосстановлениеДанных» без РИБ с выключенной авторегистрацией для всех объектов в рабочей базе и в архиве. В модуле плана обмена прописать:
Функция ЗагрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакцииНаЗагрузкуДанных = 0, ЧтениеXML) Экспорт
Возврат ПроцедурыОбменаДанными.ЗагрузитьИзмененияДляУзлаИзФайлаОбмена(УзелОбмена, КоличествоЭлементовВТранзакцииНаЗагрузкуДанных, ЧтениеXML);
КонецФункции
Функция ВыгрузитьИзмененияДанныхДляУзла(УзелОбмена, КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML) Экспорт
Возврат ПроцедурыОбменаДанными.ВыгрузитьИзмененияДляУзлаВФайлОбмена(УзелОбмена, КоличествоЭлементовВТранзакцииНаВыгрузкуДанных, ЗаписьXML);
КонецФункции
Добавить узел приемник в архиве и узел источник в рабочей базе для плана обмена «ВосстановлениеДанных». С помощью обработки РегистрацияИзмененийДляОбмена зарегистрировать нужные элементы справочников, документов и регистров. Добавить настройки обмена данными в обоих базах. Выгрузить данные из архива. Загрузить данные в рабочую базу.
Аналогично любые данные из любого архива можно будет перетащить в любое время. В дальнейшем модифицировать конфигурацию архива будет уже не нужно. Но после разворачивания (восстановления) архива, необходимо будет изменить имена узлов в архиве на противоположные.
В прилагающихся файлах есть конфигурация с планом обмена ВосстановлениеДанных. При объединении конфигураций необходимо оставить галочку только на плане обмена ВосстановлениеДанных, а после объединения конфигураций в составе плана обмена ВосстановлениеДанных указать все объекты информационной базы с выключенной авторегистрацией. Для этого выбрать в меню Действия — Включить все, выбрать в меню Действия — Запретить авторегистрацию для всех.
Для примера добавил обработку, которая позволяет зарегистрировать документы и их движения. Документы могут быть отфильтрованы за период по виду или по вхождению в последовательность. Также могут быть перенесены справочники по ссылкам первого уровня.
Резюме 3. Данный вариант сочетает в себе как сравнительную простоту реализации, так и возможность обеспечения достаточно высокого уровня автоматизации.
16.12.2009 /Константинов Алексей Викторович/
Я для таких целей использую свою обработку сравнения баз данных, и тупо сравниваю рабочию копию с резервной, выгружая измененные объекты.
http://infostart.ru/public/20683/
«Ситуация вторая. Кто-то нажал «что-то» и были удалены элементы справочников прошлого периода без контроля целостности.» — это композитора надо убивать…
(2) Чаще всего это пользователь с полными правами, я бы сказал даже с абсолютными. Например, главный бухгалтер. Т.к. за организацию процесса учета отвечает он (она), то в его ведении любые манипуляции с базой данных, вплоть до удаления базы. Собственно и ответственность за эти действия тоже. У всех бывают «нечаянные» ошибки. А людям нужно давать второй шанс. Особенно тем, кто оплачивает твои счета…
Зачем далеко ходить, вотhttp://infostart.ru/forum/forum14/topic29834/
(3) бред. причем полнейший. свидетельствующий о глобальных проблемах. Бух может обладать полными правами (но не должен). Бух при необходимости может — если это нужно — удалить базу. Но выполнять действия, которые приводят к «недостоверным» данным, приводящим к проблемам С РАБОТОЙ В БАЗЕ — это уже не «любые манипуляции»… Пользователь с такими правами должен понимать сущность своих действий и прочие последствия своих действий… А за «нечаянные» ошибки — ну так такая ошибка один раз может быть… и, лично я, не верю в «нечаянные ошибки» — все нечаянные ошибки с которыми я сталкивался — оказывались либо халатным отношением к выполняемым обязанностям, либо неквалифицированностью пользователей, допущенных к операциям, к которым в силу их НЕвалификации даже подходить нельзя…
…конечно же все вышесказанное — глубокое имхо…
(4) возможно, к (4) надо добавить соображение о том, что такие нечаянные ошибки вызваны недостаточностью финансирования штатных единиц в фирме… очень часто владельцы бизнеса относятся по типу «ну как-нибудь.. так…» — вот и делают… как-нибудь..так… ненчаянно.. ну я попробовала, а оно.. вот….
Может и так. Но когда проблема возникнет, то кроме вопроса «Кто виноват» встанет вопрос «Что делать». Хотелось бы быть во всеоружии, а не мучатся головной болью.
Флажок «Выгружать с документом все его движения».
Для выбора объектов для переноса есть возможность применить запрос.
Замечательный инструмент.
Хотя вариант 3 мне нравится больше. В нем перенос можно сделать точнее, но при этом писать код для регистрации.
Я немного доработал Ваше творение (Регистрация документов для обмена) под себя. Если пригодится Вам или кому ещё можно взятьотсюда
(0) Ты не мог бы добавить свою обработку также в раздел «Каталог → УПРАВЛЕНИЕ ДАННЫМИ, ОБРАБОТКА → Обмен данными»?
(8) Добавь пожалуйста свою разработку с того сайта на infostart
(2) CheBurator, целиком поддерживаю. Нельзя давать бухгалтерам прав больше, чем положено. Не все бухгалтера при приеме на работу проходят проверку проф-пригодности и в отличие от водителей никто не предоставляет справки из ПНД.
Я сторонник универсальности и противник «вскрытия пациента» без надобности. Гораздо более гуманно использовать в совокупности «Вариант 1» и «Вариант 2». Работаю над автоматизацией процесса отбора ссылок для переноса. Как буду готов — выложу.
Однако все так просто. Честно завидую людям, которые так просто решили проблему, до которой сам не додумался. Огромное спасибо за идею. Сегодня же реализую
(8) arteast, При попытке скачать пишет: Произошла ошибка: файл не найден!
Хм..может удалили уже за столько то времени, скажите Вашу почту — я вышлю на неё.
Довольно таки хороший способ, автору спасибо за него, но я предпочитаю пользоватся другой обработкой, она гораздо проще в использовании и процессе восстановления!