ВВЕДЕНИЕ
Из чего состоит конфигурация
Чтобы уверенно собирать учётную систему, полезно один раз понять, из чего она состоит. Здесь нет ничего сложного: всё, что вы делаете в Конструкторе, описывает объекты, а платформа по этому описанию создаёт структуру хранения и интерфейс.
# Три слоя системы
| Слой | Что это | Кто создаёт | Где видно |
|---|---|---|---|
| Конфигурация (метаданные) | Описание: какие есть объекты, какие у них поля, формы, права, правила проведения | Вы — в Конструкторе | Меню, журналы, формы, отчёты |
| Структура хранения | Таблицы в базе данных, индексы, связи | Платформа — автоматически при сохранении объекта | Не видно пользователю |
| Данные | Строки: конкретные товары, документы, движения, пользователи | Пользователи — в режиме Предприятие | Журналы и формы |
Главное следствие: вы никогда не пишете SQL и не создаёте таблицы. Добавили реквизит — платформа сама расширила таблицу. Удалили реквизит — платформа сама убрала колонку.
ОсторожноУдаление реквизита вместе со структурой удаляет и данные, которые в нём были. Перед структурными изменениями в рабочей базе сделайте резервную копию (см. Обслуживание БД).
# Из чего состоит объект
У любого объекта метаданных есть одинаковый «набор частей»:
| Часть | Что описывает | Обязательна |
|---|---|---|
| Имя и представление | Как объект называется в меню и заголовках вкладок; краткое название для списков | Да |
| Реквизиты | Поля одной записи: Наименование, Цена, Дата, Ссылка на склад | Нет |
| Табличные части | Списки строк внутри одной записи: строки товаров в документе | Нет |
| Форма списка (журнал) | Какие колонки видны, фильтры, оформление, порядок | Нет |
| Форма записи | Как выглядит карточка: вкладки, группировки, порядок полей | Нет |
| Модуль объекта | Код, выполняемый при событиях: до/после записи, при проведении, кнопки | Нет |
| Права | Кто может читать/писать/удалять | Нет |
Часть частей — системные: они появляются автоматически и не требуют настройки. Например, у документа сразу есть Номер и Дата, у регистра — Период, Регистратор, Дата и время и Пользователь.
# Виды объектов
| Вид | Что моделирует | Пример |
|---|---|---|
| Справочник | Список однотипных сущностей, которые существуют долго | Товары, Контрагенты, Склады |
| Документ | Событие, произошедшее в конкретный момент | Поступление, Реализация, Платёж |
| Регистр | Накопленные итоги и историю значений | Остатки товаров, Курсы валют |
| Отчёт | Аналитическую выборку | Продажи по месяцам, Остатки по складам |
| Страница | Свой экран приложения | Дашборд руководителя |
| Компонент | Переиспользуемый код, подключаемый к объектам | Общий справочник функций |
| Планировщик | Задачи по расписанию | Ночной пересчёт курсов |
| Пакет | Группы объектов | Поставка «Складской учёт» |
К этому добавляются:
| Сущность | Что это |
|---|---|
| Печатная форма | Шаблон документа для печати: PDF-бланк или страница (HTML/CSS/JS) |
| Бизнес-процесс | Маршрут согласования с точками и задачами исполнителям |
| Правило проведения | Что документ записывает в регистры при проведении |
| Правило ввода на основании | Какие поля нового документа заполнить из текущего |
| Настройки журнала | Колонки, фильтры, оформление списка объекта |
| Ограничение доступа (RLS) | Какие записи видит группа пользователей |
# Как объекты связаны между собой
| Связь | Как задаётся | Что даёт |
|---|---|---|
| Ссылка | Реквизит типа Справочник Ссылка или Документ Ссылка | В форме — поле выбора с поиском; в списке — переход к связанной записи |
| Регистратор | Системное поле регистра | По движению видно, какой документ его создал |
| Движение | Правило проведения | Документ при проведении пишет строки в регистр |
| Ввод на основании | Правило ввода на основании | Из «Заказа» одним нажатием создаётся «Реализация» |
| Табличная часть | Реквизит-таблица внутри объекта | Строки подчинены записи |
| Пакет | Включение объектов в пакет | Объекты группируются вместе |
# Имя и идентификатор объекта
У каждого объекта есть две «идентичности»:
- Имя — то, что видит пользователь: «Контрагенты», «Реализация товаров». Менять можно.
- Идентификатор — техническое имя, которое платформа присваивает один раз при создании (
cat_…,doc_…,reg_…,rep_…,page_…,comp_…,sched_…). По нему хранятся данные и строятся ссылки. Переименование объекта идентификатор не меняет.
ВажноСмена имени безопасна. Удаление объекта удаляет и его данные — отменить это можно только восстановлением из резервной копии или из корзины (для помеченных записей).
# Версии объектов
Каждый объект хранит номер версии. При каждом сохранении версия увеличивается.
- Если тот же объект в это время сохранил другой администратор, второе сохранение получит ошибку «Конфликт версий» — изменения нужно перенести вручную.
- У каждой записи данных есть история изменений: в карточке записи — кнопка-иконка История («История изменений и версий объекта»). В ней видны версии с типом операции (Создание, Изменение, Проведение, Распроведение, Восстановление версии), можно посмотреть состояние версии прямо на форме и восстановить его.
- У правил проведения отдельное версионирование: движения помечаются версией правил, по которой они сделаны — это позволяет понять, что документ проведён по устаревшим правилам (кнопка История версий на вкладке Проведение карточки документа, см.
# Куда «складывается» конфигурация
Конфигурация хранится в самой базе данных. Дополнительно её можно:
| Действие | Как | Куда попадает |
|---|---|---|
| Выгрузить всю конфигурацию | Администрирование → Конфигурация → выгрузка | Файл с описанием объектов (для переноса и резервной копии) |
| Загрузить конфигурацию | Администрирование → Конфигурация → загрузка | Заменяет или дополняет текущую конфигурацию |
| Сравнить и объединить | Диалог объединения конфигураций при загрузке | По объекту выбирается: «оставить моё», «взять из файла» |
| Передать часть объектов | Пакеты | Пакет с выбранными объектами |
Подробности — в разделе Конфигурация: выгрузка и загрузка.
# Что происходит при изменении объекта
- Вы меняете описание объекта в Конструкторе.
- Нажимаете Сохранить.
- Платформа сравнивает новое описание со структурой базы и приводит её в соответствие: добавляет/переименовывает колонки, создаёт индексы, обновляет формы и права.
- Пользователи видят изменения либо сразу, либо после перезагрузки страницы — в зависимости от того, что именно изменилось (для работающих форм может потребоваться перезапуск).
Если во время изменения базу использует много пользователей, платформа ставит блокировки структуры — их видно в разделе Блокировки.
