Методика перевода работы пользователей на другую информационную базу

В процессе работы возникает необходимость перевести пользователей на работу с другой информационной базой, например при переходе на другую версию платформы (например, перейти с версии 1С:Предприятие 8.1 на версию 1С:Предприятие 8.2) или при переходе на другую СУБД (например, переход с файлового варианта на клиент-серверный вариант).

Это можно сделать двумя способами:

  1. Выполнить конвертацию (для перехода на новую версию) или выгрузку/загрузку (для перехода на другую СУБД) существующей информационной базы и продолжить работу с информационной базой в новом варианте.

    Для выполнения такого перехода необходимо выполнить следующие действия:

    1. Остановить работу существующей информационной базы;
    2. Выполнить работы по преобразованию информационной базы (перевод на новую версию 1С:Предприятия, перевод на новую СУБД, обновление конфигурации);
    3. Продолжить работу.

    Этот метод может быть непригоден для использования, если режим работы предприятия не допускает простоев на длительные регламентные процедуры или необходим период опытной эксплуатации системы одновременно в двух информационных базах (на одной и другой СУБД) и при этом требуется обеспечить возврат системы на исходную информационную базу без потери данных, введенных за время эксплуатации в новой информационной базе. В этом случае можно использовать следующий вариант миграции.
  2. Создать новую информационную базу, работать в новой информационной базе, выполняя синхронизацию данных между базами.

    Для выполнения такого перехода необходимо выполнить следующие действия:

    1. Выполнить доработки, обеспечивающие работоспособность текущей информационной базы в новой версии 1С:Предприятия или на новой СУБД (если они необходимы);
    2. Развернуть новую информационную базу и настроить обмен данными между двумя информационными базами;
    3. Выполнить переход на новую информационную базу;
    4. При необходимости выполнить возврат к исходной информационной базе или полностью перейти к работе с новой информационной базой.

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

Данная статья посвящена описанию второго способа миграции между информационными базами.

Весь процесс миграции состоит из нескольких шагов, описание которых приведено ниже. В описании этих шагов будут использованы следующие термины:

Внимание!
Перед любыми доработками исходной конфигурации или информационной базы – выполните резервное копирование информационной базы, а все эксперименты выполняйте на копии реальной информационной базы.

Описание методики миграции

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

Доработки исходной информационной базы

Доработки можно разделить на две группы:

Доработки для обеспечения работоспособности

Доработки прикладного решения могут потребоваться, например, в случае перехода на другую СУБД. Определить необходимость доработок можно после ознакомления с приложением 8. Особенности работы с различными СУБД книги 1С:Предприятие 8.2. Руководство разработчика.

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

Доработки для обеспечения синхронизации данных

Для того чтобы данные обеих информационных баз были идентичными (это необходимо для того, чтобы можно было в любой момент времени выполнить переход на использование исходной информационной базы без потери данных), необходимо настроить обмен данными между информационными базами. Описание механизмов обмена данными приводится в главе 15. Механизмы обмена данными книги 1С:Предприятие 8.2. Руководство разработчика, а рекомендации по работу с этими механизмами можно получить на диске ИТС в разделе Методические рекомендации по конфигурированию – Механизм обмена данными.

Для регистрации измененных объектов следует использовать специальный объект метаданных - ПланОбмена. Состав плана обмена в исходной и новой информационных базах должен включать все объекты конфигурации. При этом не следует устанавливать у используемого плана обмена флажок Распределенная информационная база, т.к. в решаемой задаче нельзя выделить главный узел (на разных этапах работа ведется в разных информационных базах). Кроме того, использование распределенной информационной базы невозможно в случае перехода с 1С:Предприятия версии 8.1 на 1С:Предприятие версии 8.2. Рекомендуется на время перехода не выполнять изменений в конфигурации, а при необходимости внесения таких изменений выполнять синхронизацию конфигураций другими способами.

Необходимо реализовать механизмы выгрузки/загрузки данных в файлы обмена (или любой другой механизм взаимодействия между двумя информационными базами).

Если обмен должен выполняться в автоматическом режиме, следует использовать регламентные задания, подробнее о которых можно прочитать в главе 18. Механизм заданий книги 1С:Предприятие 8.2. Руководство разработчика.

Развертывание новой информационной базы и настройка регулярного обмена

После того, как исходная информационная база подготовлена к переходу (включая создание плана обмена), необходимо выполнить резервную копию исходной базы и из этой копии выполнить создание новой информационной базы.

Затем в обеих информационных базах следует настроить механизм автоматического двустороннего обмена данными (механизмы которого были созданы во время подготовки информационной базы к переходу) и проверить его работоспособность.

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

Процесс миграции

Весь процесс миграции можно разделить на несколько этапов:

  1. После организации новой информационной базы, выполняется работа пользователей в исходной информационной базе, с одновременной передачей новых данных в новую информационную базу.
  2. Выполняется перевод всех пользователей на работу в новой версии, данные автоматически передаются в предыдущую версию (для сохранения актуальных данных в случае необходимости возврата к предыдущей версии). Переход выполняется с помощью редактирования существующей записи об информационной базе в списке общих информационных баз. В этом случае переход будет выполнен максимально незаметно для пользователей.
  3. Если в процессе эксплуатации возникают проблемы с новой версией информационной базы – выполняется быстрый перевод пользователей обратно на предыдущую версию информационной базы.
  4. Выполняется модификация новой информационной базы с целью устранения обнаруженных недостатков, после чего повторяется перевод пользователей.

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

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

Описание перехода на примере перехода на новую версию 1С:Предприятия

Доработка конфигурации

Для перехода на 1С:Предприятия версии 8.2, следует ознакомиться с разделом Переход на версию 8.2 с версий 8.1 и 8.0 файла V8Update.htm, идущего в составе дистрибутива версии 1С:Предприятие 8.2.

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

Добавление механизма обмена

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

Для этого следует выполнить следующее:

Создание копии информационной базы

Перед созданием копии информационной базы следует выполнить ряд подготовительных операций:

Удалите регистрацию изменений для новой информационной базы – для этого встаньте курсором на элемент плана обмена с кодом Приемник и нажмите кнопку Удалить регистрацию.

Сформируйте копию исходной информационной базы. Сделать это можно как средствами СУБД (если используется клиент-серверный вариант), так и скопировав файл 1Cv8.1CD (если используется файловый вариант). При этом необходимо помнить, что для создания копии информационной базы в файловом варианте всем пользователям следует завершить работу с этой базой.

Развертывание новой информационной базы

Подготовьте инфраструктуру к развертыванию новой информационной базы:

Эксплуатация

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

Во время эксплуатации двух систем следует помнить, что в процедурах загрузки/выгрузки данных не предусмотрено механизма разрешения коллизий, т.е. данные всегда принимаются, вне зависимости от того, есть изменение этих данных в текущей информационной базе или нет (другими словами – не следует допускать одновременной работы пользователей в обеих информационных базах). Это связано с тем, что в общем случае непонятно, какая из двух информационных баз является главной, а какая – вспомогательной. Однако если в базе-приемнике данных для принимаемого объекта зарегистрировано изменение, об этом выполняется запись в журнале регистрации следующего содержания: Данные были изменены, но произошло замещение данными из информационной базы ИмяБазыИсточника.

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

Отключение синхронизации с предыдущей версией информационной базы

В случае если необходимо прекратить синхронизацию данных с предыдущей версией информационной базы, следует выполнить следующее:

  1. Прекратить выполнять операции выгрузки/загрузки в плане обмена Миграция (запретить регламентное задание, если таковое использовалось для автоматического обмена данными);
  2. Очистить состав плана обмена Миграция или удалить его из конфигурации.

Копировать вспомогательную конфигурацию