Администрирование · 10 мин
Как создать области данных в 1С
Как создать области данных в 1С: настройка разделителей, менеджер сервиса, работа в режиме SaaS, типичные ошибки и проверка результата.
Области данных — это механизм разделения одной информационной базы 1С на изолированные сегменты, каждый из которых выглядит для пользователя как отдельная база. Технология лежит в основе облачного режима работы (SaaS): один физический кластер обслуживает множество абонентов, при этом данные одного абонента недоступны другому.
Создание области данных сводится к трём вещам: конфигурация должна поддерживать разделение данных (в ней определены общие реквизиты-разделители), в кластере или в менеджере сервиса регистрируется новая область, после чего выполняется первичное заполнение — прогон обработчиков начальной инициализации. Ниже разобран каждый шаг с командами и проверками.
Материал ориентирован на администраторов и разработчиков, которые разворачивают сервис 1С:Фреш, собственный SaaS на базе Библиотеки технологии сервиса (БТС) или просто хотят понять механику разделённых баз.
Что такое область данных и когда она нужна
Область данных — это логически изолированная часть информационной базы, границы которой задаются общими реквизитами-разделителями. Каждый разделённый объект (справочник, документ, регистр) хранит значение разделителя, и платформа автоматически фильтрует данные по текущей области при любом обращении.
Типовой сценарий — облачный сервис: сотни компаний-абонентов работают в одной базе, но каждая видит только свои документы, контрагентов и отчёты. Второй сценарий — разделение внутри одной организации, например изоляция данных филиалов или тестовых контуров без разворачивания отдельных баз.
Важно понимать ограничение: разделение работает только для объектов, включённых в состав разделителя. Общие (неразделённые) данные — например, классификаторы и курсы валют — доступны всем областям одновременно, и их изменение в одной области видно всем остальным.
Подготовка конфигурации: разделители и их состав
Прежде чем создавать области, убедитесь, что конфигурация к этому готова. Откройте конфигуратор и проверьте ветку «Общие → Общие реквизиты». У разделителя (в типовых решениях это обычно «ОбластьДанныхОсновныеДанные» и «ОбластьДанныхВспомогательныеДанные») должно быть установлено свойство «Разделение данных», а в состав разделителя включены нужные объекты метаданных.
Если вы адаптируете собственную конфигурацию, добавьте общий реквизит типа «Число», включите флаг разделения и в свойстве «Состав» отметьте объекты, которые должны быть изолированы по областям. Учтите: включение разделения для объекта с существующими данными потребует заполнения значения разделителя во всех записях — иначе реструктуризация завершится ошибкой или данные окажутся «невидимыми».
Для сервисного режима дополнительно потребуются подсистемы Библиотеки технологии сервиса: «Работа в модели сервиса», «Области данных», очередь заданий и менеджер сервиса как отдельное приложение. Без них регистрация абонентов и автоматическое создание областей работать не будут.
Создание области через менеджер сервиса
Штатный путь для SaaS — регистрация области в менеджере сервиса. Менеджер сервиса — отдельная информационная база, которая хранит список абонентов, областей и их привязку к рабочим базам (приложениям).
Порядок действий: откройте базу менеджера сервиса, перейдите в раздел администрирования абонентов, создайте нового абонента и укажите приложение (рабочую базу), в котором будет размещена область. После сохранения менеджер ставит в очередь задание на создание области: в рабочей базе выделяется свободный номер области, устанавливаются значения разделителей и запускаются обработчики первоначального заполнения.
- 1Откройте базу менеджера сервиса под учётной записью администратора сервиса
- 2Создайте абонента и привяжите его к приложению (рабочей базе)
- 3Дождитесь выполнения задания очереди «Создание области» — статус виден в карточке абонента
- 4Проверьте, что область появилась в списке областей приложения и находится в статусе «Используется»
- 5Выполните тестовый вход в область под пользователем абонента
Создание области — не мгновенная операция. Обработчики заполнения (загрузка классификаторов, начальных настроек, ролей) могут выполняться минуты и десятки минут в зависимости от конфигурации. До завершения заполнения область находится в статусе подготовки, и входить в неё пользователям нельзя.
Создание области вручную и программно
Если менеджер сервиса не используется, область можно подготовить вручную. Войдите в разделённую базу в неразделённом сеансе (без установки значений разделителей — такой сеанс доступен пользователю с правами администратора и отключённым флагом использования разделителей), задайте номер новой области и выполните заполнение.
Программно это делается через стандартные механизмы БСП/БТС. Ключевые операции — установка значения разделителя для сеанса и вызов обработчиков заполнения области:
// Установка области для текущего сеанса
УстановитьМонопольныйРежим(Истина);
ПараметрыСеанса.ЗначениеРазделителя... // через РаботаВМоделиСервиса
РаботаВМоделиСервиса.УстановитьРазделениеСеанса(Истина, НомерОбласти);
// Запуск первоначального заполнения области
РаботаВМоделиСервиса.ЗаполнениеОбластиДанных(НомерОбласти);Точные имена процедур зависят от версии библиотеки — сверяйтесь с кодом вашей конфигурации. Общий принцип неизменен: сначала сеанс переводится в контекст новой области, затем в этом контексте выполняются все обработчики начального заполнения, после чего область помечается как готовая к использованию.
Проверка результата
После создания области убедитесь, что она работает корректно. Признак нормы — вход в область проходит без ошибок, разделённые справочники содержат начальные данные (заполнены обработчиками), а данные соседних областей не видны ни в формах, ни в отчётах.
Как проверить результат
Статус «Используется» (или аналогичный рабочий)
Статус «Ошибка подготовки» или длительное «Создаётся»
Сеанс открывается, интерфейс соответствует роли
Ошибка установки разделения сеанса
Видны только записи текущей области
В списках присутствуют чужие данные или списки пусты при заполненной области
Дополнительная проверка — запросом к разделённому регистру из неразделённого сеанса: записи новой области должны иметь корректное значение разделителя. Если значение разделителя пустое или нулевое при заполненной области, первичное заполнение прошло некорректно и его нужно запустить повторно.
Типичные ошибки и ограничения
Отдельно учитывайте ограничения механизма. Разделённая база требует больше ресурсов СУБД из-за дополнительных индексов по разделителям. Регламентные задания в модели сервиса выполняются через очередь заданий, а не напрямую — их настройка отличается от файлового или клиент-серверного режима. Обновление конфигурации выполняется централизованно для всей базы, а обработчики обновления разделённых данных отрабатывают в каждой области отдельно, что увеличивает общее время обновления пропорционально числу областей.
Перед промышленной эксплуатацией создайте две тестовые области и проверьте на них полный цикл: создание, заполнение, обновление конфигурации, резервное копирование и удаление области. Большинство проблем SaaS-контура всплывает именно на обновлении и удалении, а не на создании.
Удаление и обслуживание областей
Удаление области выполняется через менеджер сервиса или программно — с очисткой всех разделённых данных по значению разделителя. Операция необратима: перед удалением убедитесь, что выгрузка данных области (если она нужна абоненту) уже выполнена. В типовых решениях предусмотрена выгрузка области в файл для переноса в локальную базу.
Для регулярного обслуживания контролируйте очередь заданий (зависшие задания блокируют создание новых областей), следите за ростом базы и периодически проверяйте области в нештатных статусах. Резервное копирование выполняется на уровне всей базы — восстановить отдельную область из общей копии штатными средствами нельзя, поэтому для критичных абонентов настраивайте индивидуальные выгрузки.
Что важно запомнить
Область данных создаётся только в конфигурации с настроенными разделителями. Штатный путь — через менеджер сервиса с автоматической очередью заданий; ручной путь требует установки разделения сеанса и запуска обработчиков заполнения. Результат проверяется статусом области, тестовым входом и контролем изоляции данных. Все эксперименты — только на копии базы.
Частые вопросы
Можно ли создать области данных в обычной файловой базе?
Технически разделение данных доступно и в файловом режиме, если конфигурация содержит разделители. Однако полноценный сервисный режим с менеджером сервиса и очередью заданий рассчитан на клиент-серверную работу. Для файловой базы ручное создание областей возможно, но практическая ценность невелика — проще завести отдельные базы.
Чем область данных отличается от отдельной информационной базы?
Область — это часть общей базы с изоляцией на уровне разделителей: общая схема, общее обновление, общие неразделённые данные. Отдельная база полностью независима. Области дешевле в обслуживании при большом числе абонентов, но требуют конфигурации, изначально спроектированной под разделение.
Почему после создания область пустая?
Чаще всего не завершились обработчики первоначального заполнения — проверьте очередь заданий и статус области в регистре «Области данных». Если задание завершилось с ошибкой, смотрите журнал регистрации, исправляйте причину и перезапускайте заполнение.
Можно ли перенести данные из области в локальную базу?
Да, в типовых решениях на базе БТС есть штатная выгрузка области данных в файл, который затем загружается в локальную развёрнутую базу той же конфигурации и версии. Версии конфигурации в сервисе и локально должны совпадать, иначе загрузка завершится ошибкой.
Сколько областей можно создать в одной базе?
Жёсткого платформенного лимита нет — ограничением служат ресурсы СУБД, время обновления конфигурации (обработчики отрабатывают в каждой области) и длительность регламентных операций. На практике предельное число определяется нагрузочным тестированием конкретного решения.