§ 0.1. Платформа в двух режимах: Конфигуратор и Предприятие
Эта книга учит читать интерфейс прикладной программы 1С: формы, поля, кнопки, команды, разделы — всё, что видит и трогает человек, который в программе работает. По описаниям интерфейс не прочитать, его нужно видеть, и видеть так, как видит пользователь, — изнутри работающей программы. Поэтому прежде, чем разбирать отдельную форму, мы запустим саму платформу 1С.
И сразу обнаруживается подробность, о которую спотыкается почти каждый новичок. Платформа устанавливается на компьютер как одна программа, а запускается двумя разными способами — в двух режимах. С них и начнём: чем они отличаются и зачем их два.
1. Платформа и прикладная программа
Говоря «1С», обычно имеют в виду готовую программу, в которой работает бухгалтер или кладовщик. Это правда, но не вся. То, что видно на экране, — не сама платформа, а прикладная программа, написанная для неё. Прикладные программы бывают типовые, выпущенные фирмой «1С» для множества предприятий, и самописные, собранные под одну фирму и её способ работать.
| что | примеры |
|---|---|
| платформа | 1С:Предприятие 8.3 |
| типовая прикладная программа | «Бухгалтерия предприятия», «Управление торговлей» |
| самописная прикладная программа | «Канцтовары» — пример, который пройдёт через всю книгу |
Платформа — исполнитель: она умеет хранить данные, строить окна, считать итоги, но что именно хранить, показывать и считать, задаёт прикладная программа. Устройство прикладной программы — какие в ней списки, документы, отчёты, формы и код — в 1С называют конфигурацией. Слово здесь стоит мимоходом: пока достаточно понимать его так — устройство программы, а подробнее о нём — в конце этой главы.
Платформа — исполнитель, прикладная программа — то, что она исполняет. Устройство программы называется конфигурацией.
Точнее говоря, исполняет она её в одном из двух режимов, о которых сейчас пойдёт речь; в другом — даёт средства эту программу менять.
Запустить исполнителя можно двумя способами. В одном видно устройство программы, в другом — её работа. Первый режим называется Конфигуратор, второй — 1С:Предприятие, или просто Предприятие.
2. Конфигуратор: где программа устраивается
В Конфигураторе прикладную программу создают и меняют. Здесь работает разработчик: заводит объекты, собирает формы, пишет код, настраивает права.
Открыв Конфигуратор, разработчик видит дерево конфигурации — перечень всего, из чего программа состоит, разложенный по веткам. Вот его верхушка для «Канцтоваров»:
Конфигурация «Канцтовары»
├── Общие
│ ├── Подсистемы
│ ├── Общие формы
│ └── …
├── Константы
├── Справочники
│ ├── ЕдиницыИзмерения
│ ├── Товары
│ ├── Контрагенты
│ └── Склады
├── Документы
│ ├── ПоступлениеТоваров
│ ├── РеализацияТоваров
│ └── ПриказОбИзмененииЦен
├── Отчёты
├── Регистры сведений
└── Регистры накопления
Обратите внимание, каких веток здесь нет: отдельных «Форм» и «Регистров». Дерево разложено по видам объектов — справочники один вид, документы другой, — а форма не отдельный вид, а часть объекта. Поэтому свои формы живут внутри своего справочника или документа, а в ветке «Общие» лежат только формы, общие для всей программы. У регистров свои ветки, по одной на вид.
Всё это чертёж программы, а не программа в работе: тот, кто сюда заходит, накладных не оформляет — он устраивает систему так, чтобы их мог оформлять кто-то другой.
Конфигуратор — режим, в котором программа устраивается.
Бытовое сравнение здесь прозрачное: Конфигуратор — служебный вход в здание, через который заходят строители и электрики. Они в этом здании не живут, они делают его пригодным для жизни. Бывает, что в оба входа ходит один и тот же человек, но назначение входов от этого не меняется. Строже: Конфигуратор — режим запуска платформы, в котором конфигурацию открывают и изменяют; товары и документы здесь не вводят.
3. Предприятие: где в программе работают
В Предприятии с программой работают её пользователи: бухгалтер заводит документы, кладовщик принимает товар, менеджер смотрит, что осталось на складе. Дерева конфигурации никто из них не видит. Они видят разделы, списки, карточки документов и отчёты с готовыми числами.
Предприятие — режим, в котором в программе работают.
Продолжая сравнение: Предприятие — парадный вход. Сюда заходят жильцы, и им неинтересно, как проложена проводка; им важно, чтобы свет зажигался от выключателя. Строже: Предприятие — режим запуска, в котором платформа исполняет конфигурацию и показывает пользователю интерфейс программы.
Два режима удобно поставить рядом:
| Конфигуратор | Предприятие | |
|---|---|---|
| кто работает | разработчик | пользователь |
| что видно | дерево конфигурации | разделы, списки, документы |
| что делают | меняют устройство | вводят и смотрят данные |
| отвечает на вопрос | как устроено | как работает |
4. Одна база — две двери
Конфигуратор и Предприятие — не два приложения, живущих каждое своей жизнью. Оба подключаются к одной и той же информационной базе. В ней хранится и устройство программы, и её данные: товары, документы, остатки на складе.
┌───────────────────────────┐
│ Информационная база │
│ конфигурация + данные │
└───────────────────────────┘
▲ ▲
┌───────┴──────┐ ┌───────┴──────┐
│ Конфигуратор │ │ Предприятие │
│ устройство │ │ работа │
└──────────────┘ └──────────────┘
разработчик пользователь
Стрелки показывают: оба режима смотрят в одну базу. Из Конфигуратора видно её устройство, из Предприятия — её работу. Отдельного мира, где разработчик трудится понарошку, нет: то, что он сделал, происходит с той самой базой, к которой он подключился. Потому на работе конфигурацию обычно правят в копии базы, а рабочую, где идёт учёт, обновляют отдельно и обдуманно.
Конфигуратор и Предприятие подключаются к одной информационной базе. Это два взгляда на одно и то же.
5. Как изменение доходит до пользователя
Раз база одна, изменение, сделанное в Конфигураторе, до пользователя дойдёт. Но не мгновенно и не само: пока разработчик правит конфигурацию, пользователи работают с прежней. Нужны два действия — обновить конфигурацию базы данных и перезапустить сеанс пользователя. По шагам это выглядит так.
| шаг | где | что происходит |
|---|---|---|
| 1 | Конфигуратор | разработчик добавил поле на форму товара |
| 2 | Конфигуратор | обновил конфигурацию базы данных |
| 3 | Предприятие | открытый сеанс ещё показывает прежнюю форму |
| 4 | Предприятие | после перезапуска поле на месте |
Второй шаг — отдельная команда Конфигуратора, «Обновить конфигурацию базы данных»: до неё изменения лежат в Конфигураторе и в работу не пошли. Третий — источник частого недоумения: разработчик уверен, что всё сделал, а пользователь поля не видит, потому что его программа запущена раньше, чем изменение вступило в силу.
Подробной механики обновления книга не разбирает, но из таблицы стоит унести главное: изменение делают, применяют к базе — и только потом его видит пользователь.
6. Смотреть снаружи
В книге мы много времени проведём в Конфигураторе — там, где формы устраиваются. Но почти каждый параграф будет заканчиваться открытием Предприятия и проверкой: как сделанное выглядит для человека, ради которого оно делается.
Правило не случайное. В редакторе всё кажется понятным, потому что мы сами это собирали и помним, что куда положили. Пользователь этого не помнит, он видит только то, что ему показали, — и его «понятно» или «непонятно» решает, годится ли форма.
Форму оценивают так, как её увидит пользователь, а не так, как она выглядит в редакторе.
Проверим это сразу: запустим «Канцтовары» и посмотрим, что видит пользователь, когда открывает программу.
7. В режиме Предприятия
Запустим «Канцтовары» в режиме Предприятия. Если вы собирали конфигурацию по «Дереву метаданных», база у вас уже есть. Если нет — возьмите готовую из поставки книги и распакуйте в любую папку.
Окно запуска выглядит примерно так:
┌─ Запуск 1С:Предприятия ───────────────┐
│ Информационные базы: │
│ ┌──────────────────┐ [1С:Предприятие] │
│ │ Канцтовары │ [Конфигуратор ] │
│ │ … │ [Добавить… ] │
│ └──────────────────┘ [Изменить… ] │
└───────────────────────────────────────┘
-
Запустите ярлык «1С:Предприятие». Откроется окно запуска со списком информационных баз.
-
Если «Канцтоваров» в списке нет, нажмите «Добавить…», выберите добавление в список существующей базы, задайте имя «Канцтовары» и укажите папку, куда распакована база.
-
Выделите «Канцтовары» в списке. Справа — кнопки режимов: «1С:Предприятие» и «Конфигуратор».
-
Нажмите «1С:Предприятие».
В базе из поставки пользователи не заведены, а при пустом списке пользователей платформа имени и пароля не спрашивает: программа откроется сразу.
Откроется программа «Канцтовары». Разбирать экран будем дальше, а сейчас окиньте его взглядом. Окно прикладной программы 1С обычно делится на несколько областей:
┌────────────────────────────────────────┐
│ заголовок, главное меню, поиск │
├────────────┬───────────────────────────┤
│ разделы │ рабочая область: │
│ программы │ начальная страница, │
│ │ открытые формы │
└────────────┴───────────────────────────┘
В «Канцтоварах» левая область почти пуста: разделов пока не задано — их задаёт разработчик, и мы займёмся этим ближе к концу книги. Поэтому платформа собирает всё, что в программе есть, — списки товаров, контрагентов, складов, документы, отчёт — в один общий перечень. Если его на экране не видно, откройте главное меню: в нём есть пункт «Все функции», где перечислено всё. В типовой программе разделов десяток — «Закупки», «Продажи», «Склад», — и каждый собирает свою часть этого перечня.
Окно Предприятия оставьте открытым: оно понадобится в следующем параграфе.
Главное в одном абзаце
Платформа 1С устанавливается как одна программа, а запускается в двух режимах. В Конфигураторе прикладную программу устраивают: разработчик видит дерево конфигурации — справочники, документы, отчёты, формы, код. В Предприятии в программе работают: пользователь видит разделы, списки, документы и отчёты, а устройство от него скрыто. Оба режима подключаются к одной информационной базе, где лежат и конфигурация, и данные, поэтому сделанное в Конфигураторе доходит до пользователя по-настоящему — после того как разработчик обновит конфигурацию базы данных, а пользователь перезапустит программу. Собирать формы мы будем в Конфигураторе, а проверять — в Предприятии, потому что там форма встречается с тем, ради кого сделана.
Окно Предприятия открыто: в нём списки, какие-то окна и кнопки. Всё это вместе называют интерфейсом пользователя. Но что именно в него входит — и что остаётся за ним, невидимым для пользователя?
Контрольные вопросы
- Какие два режима запуска есть у платформы 1С?
- В каком режиме работает разработчик, а в каком — бухгалтер или кладовщик?
- Что общего у Конфигуратора и Предприятия?
- Чем то, что видно в Конфигураторе, отличается от того, что видно в Предприятии?
- Разработчик добавил поле на форму товара. Что должно произойти, прежде чем пользователь это поле увидит?
- Почему результат настройки формы проверяют в Предприятии, а не в редакторе?
Упражнения
Первый взгляд. Запустите «Канцтовары» в режиме Предприятия и перечислите своими словами три-четыре вещи, которые видите на экране. Правильные термины не нужны — описывайте, как видите.
Вторая дверь. Закройте Предприятие и откройте ту же базу в Конфигураторе. Назовите три заметных отличия от того, что вы видели в Предприятии.
Схема по памяти. Нарисуйте схему «одна база — два режима», не заглядывая в параграф. Подпишите, кто пользуется каждым режимом и что он там видит.
Ловушка: поле, которого нет. Разработчик пишет: «Добавил на форму товара новое поле, проверяйте». Кладовщик отвечает: «Открыл товар — никакого нового поля». Разработчик уверен, что всё сделал, кладовщик — что его разыгрывают. Назовите две причины, по которым поля может быть не видно, хотя разработчик действительно его добавил.
По одной фразе. Определите режим по реплике. Бухгалтер: «Открыла программу, слева разделы: Закупки, Продажи, Зарплата». Стажёру велели: «Открой ветку „Документы" и найди там ПоступлениеТоваров». По какому признаку вы узнали режим в каждом случае?
Ответы — в конце части.