В этой статье мы расскажем о простом и эффективном решении — буферных справочниках. Вы узнаете, как они помогают перевезти справочники в Directum RX без потери информации, а также как использовать буферные справочники на практике.
* * *
"Развитие человечества похоже на цифровой документооборот: мы все время что-то создаем, согласовываем, утверждаем, но в итоге все равно оказываемся в тупике с кучей ненужных файлов."
© Из подготовки резолюции Directum Intelligence
На протяжении времени человечество развилось и от традиционного общества мы шагнули к постиндустриальному. Сперва у нас был камень, после появилась бумага и со временем мы её оцифровали. Освоив высокие информационные технологии, на пути к совершенству мы шагнули от 1С к Directum RX.
К нашему счастью, многие компании по аналогии с обществом так же мечтают приобщиться к более продвинутым плодам постиндустриальной эпохи, и тут часто возникают определённые сложности. Одну из них хотелось бы осветить в данной статье.
* * *
"Ура! Directum RX уже у нас, полет нормальный!" — воскликнули вы, закончив установку системы. В большинстве своем структура справочной информации может сильно отличаться от принятой объектной модели Directum RX. И вот проблема: пользователи ряда систем привыкли, что у одного документа может быть несколько независимых друг от друга тел, при этом нет основного тела. И в новой системе они хотят видеть подобное.
Что же мы можем сказать заказчику по этому поводу?!
Никогда не предугадаешь, что захочет увидеть заказчик в системе по итогу. Но чаще всего первое, с чем сталкивается подрядчик — это миграция исторических данных.
При реализации миграции данных, на протяжении многих проектов, в нашей компании зарекомендовала себя практика создания буферных справочников. Это такие мини-хранилища данных, которые позволяют вам перевезти все ваши ценности из любой системы в Directum RX без болезненных переживаний и потери времени. Это удобно в плане производительности, так как можно ограничить порции создаваемых документов. И пока нам летят данные, мы можем реализовать механизм обработки этих записей. Загруженные данные можно перенести на различные стенды для выверки и реализации механизмов обработки, достаточно сделать бэкап базы и никакая повторная миграция не требуется.
Чем же так хороши буферные справочники?
Смеркалось. Заказчик скинул описание структуры мигрируемых данных. В зависимости от описанного типа сущности создаём свой буферный справочник. Под каждый тип справочника делаем свой фоновый процесс, который обрабатывает записи буферных справочников. Для каждого фонового процесса делаем параметры с ограничением диапазона загружаемых данных (можно через константы), ведь с порциями удобнее работать, и их можно параллелить. Создаем документы, справочники, задачи (возможно изменяем), обрабатываем связи, выдачу прав. В общем берём поллитра (Минздрав предупреждает) и понеслась…
Очередь доходит до множества относительно несвязанных версий. Рассмотрим вкладку версий более подробно.
Номер – это номер версии файла.
Версия – тут может храниться адрес, а при желании Base64.
Номер файла – тут в целом понятно.
Наименование файла – имя.
Расширение – для удобства идентификации расширения версии.
Комментарий к версии – по необходимости.
Ну и признак успешности обработки.
Далее опишем алгоритм создания таких версий.
И по итогу получаем карточку мигрированного документа(справочника, задачи).
Что и следовало ожидать, с буферными справочниками миграция Directum RX проходит как по маслу! Такие же манипуляции можно провернуть и для заданий, истории согласований и изменений, а так же любой другой жизненно важной для клиента информации. И вот перед нами счастливый пользователь замечательной системы, будто и не переезжали на новую платформу.
Ну а если вдруг что-то пошло не так, то специалисты компании АрмаДок всегда могут прийти на помощь!
Удачи! ))
А не пробовали в качестве промежуточного хранилища информации табличку на 3 столбца - ид, тип и здоровенный JSON со всеми данными экземпляра объекта (если бинарники не тащим)?
StateView / сторонний контрол (с 4.9) позволяет аналогично показывать что угодно, но меньше возни с созданием промежуточных таблиц
Алексей. Нет, лично не пробовал, но спасибо за идею)
Авторизуйтесь, чтобы написать комментарий