Как это работает / 01 из 05
Как устроен перенос доработок КОР Парус 8
КОР — Конструктор отраслевых расширений Парус 8. Разбираем, как Holkas переносит метаданные доработки и связанные объекты базы, а не рабочие документы.
Разберём доработку на части
Одна возможность — два слоя
Что умеет Парус
Какие действия доступны, как устроены классы и какие отчёты можно получить.
- Классы
- Методы
- Отчёты
- Домены
На чём это работает
Как устроены таблицы и какой код выполняется внутри базы.
- Таблицы
- Функции
- Представления
- Индексы
Рабочие данные остаются на месте
При переносе структуры строки не копируются. Пользовательский скрипт может менять данные своим SQL-кодом.
Обычный перенос работает с устройством приложения, а не с рабочими записями. Отдельный случай — пользовательский скрипт, который выполняет заданный вами SQL.
Что такое КОР Парус 8
КОР — «Конструктор отраслевых расширений» системы Парус 8 корпорации «Парус». Это инструмент разработки: с его помощью создают новые разделы и приложения, а также расширяют существующие. Такое назначение описано в материале корпорации «Парус» о КОР.
В КОР-технологии описание разделов и пользовательского интерфейса хранится в базе в виде метаданных. На их основе строится интерфейс — этот подход объяснён во введении к руководству Паруса по КОР-технологии, стр. 4. Это описание устройства приложения, а не документы и проводки пользователей.
Holkas не заменяет КОР. Доработку создают в Парусе, а Holkas помогает сравнить и перенести её поддерживаемые объекты между базами, сохранить их в пакет или Git. Это независимый проект, а не модуль корпорации «Парус».
Перенос доработки КОР из тестовой базы в рабочую
Для пользователя это одна новая возможность. Внутри за ней могут стоять метод класса, функция в базе и отчёт. Если перенести только одну часть, остальные могут оказаться недоступны.
Holkas работает с объектами и их составом: у каждого объекта есть тип, имя и содержимое. Вы выбираете нужные объекты, а Holkas читает их из источника и готовит перенос. Источник — откуда берём доработку; приёмник — куда её переносим. Практические шаги — в инструкции переноса доработки КОР Парус 8.
Два слоя одной доработки
Метаданные КОР Паруса описывают приложение: классы, отчёты, домены и другие объекты. Например, класс описывает устройство однотипных сущностей — договоров или заявок. Его методы и вызовы методов — части класса, а не самостоятельные объекты Паруса. Класс переносится вместе со своим составом; в плане это несколько отдельных команд.
Объекты базы данных обеспечивают её работу: таблицы и колонки, функции, представления, индексы и другие структуры. Holkas умеет включать оба слоя в один перенос. Полный перечень — в справочнике объектов.
А договоры и платежи тоже переедут?
Нет. Здесь важно различать устройство таблицы и записи в ней. Holkas переносит структуру и метаданные приложения, но не копирует строки с рабочими данными. Это не средство переноса всей базы или её резервного копирования.
Изменение структуры при этом может повлиять на работу с данными — например, изменение типа колонки или добавление ограничения. Лишние колонки таблиц Holkas не удаляет. План нужно проверить, а перед применением к важной базе — сделать резервную копию.
Отдельный случай — пользовательский скрипт: он выполняет SQL-код, который может менять и удалять рабочие данные. Для него обязательно проверять сам текст.
Если одна база — Oracle, а другая — PostgreSQL
Это две разные системы управления базами данных, или СУБД. Объекты Паруса можно переносить между ними в обе стороны.
Объекты самой базы привязаны к платформе: таблица Oracle не превращается автоматически в таблицу PostgreSQL. Holkas также не переводит программный код с одного диалекта SQL на другой. Если логика Паруса обращается к такой функции, её подходящую реализацию в другой СУБД нужно подготовить отдельно.