При ведении учета нередко возникает ситуация, когда из-за некорректных действий пользователей или сбоев алгоритмов учета данные за прошлый период оказываются безнадежно испорчены. Самым надежным выходом в таких случаях является развертывание архивной копии базы (бэкапа) на дату до возникновения проблем. Однако сразу возникает сложная задача: за время работы предприятия в текущей («сломанной») базе уже успели набить свежие документы, которые нельзя терять. Проанализируем ситуацию и подробно разберем, какими инструментами можно перенести новые документы и сопутствующие справочники обратно в восстановленную копию.
Для прямого переноса объектов между одинаковыми конфигурациями штатным и наиболее быстрым средством выступает специализированная внешняя обработка ВыгрузкаЗагрузкаXML.epf. Эту обработку можно найти на диске информационно-технологического сопровождения (ИТС) в разделе методической поддержки разработчиков конфигураций.
Главный принцип работы этой обработки — выгрузка структуры метаданных и значений реквизитов объекта «как есть» в файл XML с сохранением внутренних уникальных идентификаторов платформы (GUID). При последующей загрузке в базу-приемник объекты встают на свои места, не создавая дублей справочников, если они уже существовали до момента разделения баз.
Выясним причину, почему этот инструмент подходит лучше всего: он не требует сложного написания правил конвертации данных, если структуры метаданных баз полностью совпадают.
Один из ключевых вопросов при настройке выгрузки: что означает опция выгрузки связанных объектов по ссылкам? Разберем это подробнее.
Когда выгружается документ (например, РеализацияТоваровУслуг или ПоступлениеТоваровУслуг), он ссылается на множество элементов справочников: контрагентов, договоры, склады, организации, единицы измерения, номенклатуру, а также строки табличных частей. Если выгрузить только сам документ без связанных объектов, в базе-приемнике реквизиты документа окажутся пустыми или будут содержать «битые» ссылки с текстом «Объект не найден».
Опция выгрузки по ссылкам указывает обработке: обойти все реквизиты выгружаемого документа и автоматически выгрузить в XML-файл все сопутствующие элементы справочников, которые в нем задействованы. Если пользователи успели завести нового поставщика, создать новый договор или добавить новые карточки товаров — они успешно переедут в приемник вместе с документом.
При использовании данной обработки необходимо учитывать критические нюансы платформы 1С:
В конфигурациях с классическим партионным учетом, таких как Управление торговлей 10.3, перенос документов задним числом требует обязательных регламентных процедур. Разберем по шагам, что необходимо выполнить:
ПартииТоваровНаСкладах будет некорректным.ВзаиморасчетыСКонтрагентами и РасчетыПоПриобретениюВЗаимныхРасчетах разойдутся.Рассмотрим альтернативное решение, предложенное в обсуждении: использование механизма распределенных информационных баз (РИБ).
Если восстановить базу из бэкапа и настроить между ней и текущей рабочей базой планы обмена РИБ (сделав восстановленную базу подчиненным узлом), платформа позволит выполнить штатную синхронизацию изменений. Преимущество метода — отсутствие необходимости в сторонних внешних файлах и встроенный контроль ссылочной целостности. Однако данный способ значительно сложнее в администрировании: требуется идеальное совпадение версий конфигурации, ручная регистрация изменений нужных документов на узле обмена и последующее отвязывание подчиненной базы от главного узла командой отмены главного узла в плане обмена.
Чтобы избежать повторной порчи базы, выполним перенос по строгому безопасному сценарию: