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