Восстановление данных 1С8 при помощи механизма РИБ

13.06.20

Задачи пользователя - Корректировка данных

Предлагаю сообществу способ восстановления утраченных данных из бэкапа используя механизм РИБ. Зачастую наличие бэкапа базы не позволяет просто взять и откатить состояние базы на утро или вечер предыдущего дня. Бывает так, что утерю важных данных заметили спустя 2 дня, и свежий бекап нам не поможет. Предлагаю относительно простой способ переноса определенных данных из резервной копии базы в рабочую. Не надо писать обработку по выгрузке, загрузке данных или по переносу через COM-соединение. Единственное условие: в базе должны работать обмены РИБ.

Предыстория: Случилось ЧП. В центральной базе сети магазинов пропали цены на большую часть номенклатуры. Магазины выполнили обмен и тоже лишились цен. Торговля встала. Как выяснилось, в одном из филиалов товаровед удалил "лишние" документы. Соглашусь, здесь явный недостаток в настройке обменов. Этих "лишних" документов у филиала вобще не должно было быть. Но проблему нужно решать и быстро. Решение лежало на поверхности. Раз документы пропали после обмена, надо поискать узел, который не успел загрузить "убийственный" пакет, перепровести документы, каким-то образом проигнорировать загрузку изменений из центральной базы и выгрузить обратно нужные документы. Увы, таких узлов не оказалось. Нужные документы остались только в бэкапах.

Идея: У нас есть бэкап с нужными документами. Мы знаем, что эти документы ходят по обменам через РИБ. Писать обработку для переноса документов нет времени. Попробуем обмануть РИБ и переслать эти документы через файл сообщения, как-будто из периферийной базы.

Реализация: Оповещаем всех, чтобы не делали обмены в рабочей базе. В резервной копии открываем планы обмена, любой рабочий узел. Я использовал узел филиала "виновника", пусть знает. Штатными средствами удаляем все зарегистрированные изменения по выбранному узлу. В УТ 2.3 (10.3 - для России) это делается на форме "Регистрация изменений для плана обмена" (Иконка мониторчик). В других конфигурациях должны быть свои средства. Если же таких средств нет, то можно написать простейшую обработку с кодом:

Процедура УдалитьРегистрацию()
    ПланыОбмена.УдалитьРегистрациюИзменений(ВыбУзел);
КонецПроцедуры

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

Далее надо настроить обмен по выбранному узлу на обмен через локальный ресурс, и отключить сжатие исходящих сообщений. В УТ 2.3 это настраивается так:

Настройка обмена

В указанной папке мы получаем файл xml с наименованием, наподобие Message_Цнт_К2.xml. После первого подчеркивания идет код базы отправителя, после второго - код получателя. Переименовываем файл в Message_К2_Цнт.xml. Таким образом механизм РИБ будет считывать этот файл как сообщение от периферийной базы. Но это еще не все. Открываем этот файл при помощи текстового редактора и вносим правки:

Файл сообщения

Атрибут v8msg:To - код узла получателя, v8msg:From - код узла отправителя. Меняем значения в них местами. 

Атрибут v8msg:MessageNo - номер отправленного сообщения, v8msg:ReceivedNo - номер полученного сообщения. Меняем номер отправленного сообщения. Он должен быть больше номера полученного сообщения, чтобы механизм РИБ загрузил изменения из этого файла. Можно поставить заведомо большое число, например 99999. Главное запомнить, какой номер принятого был до этого.

Если попытаться скормить полученный файл базе, то получим ошибку. Точный текст не помню, но что-то вроде "Ошибка представления". Путем сравнения файлов сообщений от центральной базы и от периферийной было определено, что узел v8de:Nodes отсутствует в сообщении от периферийной базы. Удаляем этот узел из файла сообщения.

 
 Информация для новичков

 Для тех, кто незнаком с xml-разметкой. "Узел" - это текст, который заключен между одинаковыми открывающим и закрывающим тегами, включая сами теги. "Тег" - это текст в угловых скобках <>. У закрывающего тега перед именем есть косая черта /. В данном случае из файла надо удалить текст от <v8de:Nodes> по </v8de:Nodes> включая указанные конструкции.

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

Выполняем обмен данными. На этом этапе удаленные данные уже должны быть восстановлены путем переноса из файла сообщения РИБ.

Осталось только вернуть настройки обмена данными как было. И не забыть вернуть номер принятого сообщения в узле обмена на прежний.

Итоги: У этого способа есть ряд очевидных ограничений.

  1. Должен быть настроен и использоваться обмен РИБ.
  2. Удаленные данные должны быть включены в актуальный обмен РИБ.
  3. Конфигурация резервной копии и рабочей базы должны совпадать. Если не совпадают, то надо выгрузить CF-файл из рабочей и загрузить в резервную копию.

Понимаю, что открытия Америки не произошло. Скорее всего способ банальный, но все-таки надеюсь, что кому-нибудь в случае аврала пригодится. Не забывайте делать резервные копии. Любые советы в интернете проверяйте на тестовых базах.

Восстановление данных РИБ

См. также

SALE! 10%

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

55778 50200 руб.

04.08.2015    166466    333    277    

373

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141522    798    297    

419

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.234.x) и БП 3.0 (3.0.161.x). Правила подходят для версии ПРОФ и КОРП.

35000 31500 руб.

15.12.2021    24021    169    51    

127

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

35000 31500 руб.

23.07.2020    51267    228    69    

185

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    36591    94    66    

89

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Сложные периодические расчеты 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Платные (руб)

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56208    59    105    

61

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    171177    303    257    

378

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186881    589    509    

526
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. oldcopy 174 16.06.20 01:46 Сейчас в теме
Можно еще через Выгрузку-загрузку XML перегнать данные из бекапа в центральный узел. Был случай, бухгалтер случайно, обработкой удаления дублей слила двух разных контрагентов. Заметили через два дня. Сеть из семи магазинов, все успело разбежаться по РИБ.

Сначала тупо удалили все документы и их производные по слитому контрагенту, потом через XML залили в базу документы по двум контрагентам из бекапа.
Оставьте свое сообщение