§ 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С:Предприятие». Откроется окно запуска со списком информационных баз.

  2. Если «Канцтоваров» в списке нет, нажмите «Добавить…», выберите добавление в список существующей базы, задайте имя «Канцтовары» и укажите папку, куда распакована база.

  3. Выделите «Канцтовары» в списке. Справа — кнопки режимов: «1С:Предприятие» и «Конфигуратор».

  4. Нажмите «1С:Предприятие».

В базе из поставки пользователи не заведены, а при пустом списке пользователей платформа имени и пароля не спрашивает: программа откроется сразу.

Откроется программа «Канцтовары». Разбирать экран будем дальше, а сейчас окиньте его взглядом. Окно прикладной программы 1С обычно делится на несколько областей:

┌────────────────────────────────────────┐
│ заголовок, главное меню, поиск         │
├────────────┬───────────────────────────┤
│ разделы    │ рабочая область:          │
│ программы  │ начальная страница,       │
│            │ открытые формы            │
└────────────┴───────────────────────────┘

В «Канцтоварах» левая область почти пуста: разделов пока не задано — их задаёт разработчик, и мы займёмся этим ближе к концу книги. Поэтому платформа собирает всё, что в программе есть, — списки товаров, контрагентов, складов, документы, отчёт — в один общий перечень. Если его на экране не видно, откройте главное меню: в нём есть пункт «Все функции», где перечислено всё. В типовой программе разделов десяток — «Закупки», «Продажи», «Склад», — и каждый собирает свою часть этого перечня.

Окно Предприятия оставьте открытым: оно понадобится в следующем параграфе.

Главное в одном абзаце

Платформа 1С устанавливается как одна программа, а запускается в двух режимах. В Конфигураторе прикладную программу устраивают: разработчик видит дерево конфигурации — справочники, документы, отчёты, формы, код. В Предприятии в программе работают: пользователь видит разделы, списки, документы и отчёты, а устройство от него скрыто. Оба режима подключаются к одной информационной базе, где лежат и конфигурация, и данные, поэтому сделанное в Конфигураторе доходит до пользователя по-настоящему — после того как разработчик обновит конфигурацию базы данных, а пользователь перезапустит программу. Собирать формы мы будем в Конфигураторе, а проверять — в Предприятии, потому что там форма встречается с тем, ради кого сделана.


Окно Предприятия открыто: в нём списки, какие-то окна и кнопки. Всё это вместе называют интерфейсом пользователя. Но что именно в него входит — и что остаётся за ним, невидимым для пользователя?

Контрольные вопросы

  1. Какие два режима запуска есть у платформы 1С?
  2. В каком режиме работает разработчик, а в каком — бухгалтер или кладовщик?
  3. Что общего у Конфигуратора и Предприятия?
  4. Чем то, что видно в Конфигураторе, отличается от того, что видно в Предприятии?
  5. Разработчик добавил поле на форму товара. Что должно произойти, прежде чем пользователь это поле увидит?
  6. Почему результат настройки формы проверяют в Предприятии, а не в редакторе?

Упражнения

Первый взгляд. Запустите «Канцтовары» в режиме Предприятия и перечислите своими словами три-четыре вещи, которые видите на экране. Правильные термины не нужны — описывайте, как видите.

Вторая дверь. Закройте Предприятие и откройте ту же базу в Конфигураторе. Назовите три заметных отличия от того, что вы видели в Предприятии.

Схема по памяти. Нарисуйте схему «одна база — два режима», не заглядывая в параграф. Подпишите, кто пользуется каждым режимом и что он там видит.

Ловушка: поле, которого нет. Разработчик пишет: «Добавил на форму товара новое поле, проверяйте». Кладовщик отвечает: «Открыл товар — никакого нового поля». Разработчик уверен, что всё сделал, кладовщик — что его разыгрывают. Назовите две причины, по которым поля может быть не видно, хотя разработчик действительно его добавил.

По одной фразе. Определите режим по реплике. Бухгалтер: «Открыла программу, слева разделы: Закупки, Продажи, Зарплата». Стажёру велели: «Открой ветку „Документы" и найди там ПоступлениеТоваров». По какому признаку вы узнали режим в каждом случае?

Ответы — в конце части.