§ 0.4. Командный интерфейс: оглавление прикладной программы

Откуда пользователь вообще знает, что в программе есть список товаров? Ему этого никто не рассказывал, и всё же он находит нужное окно среди десятков, а в типовой программе — среди многих сотен. Значит, программа заранее выкладывает перед ним всё, что умеет, и делает это не как попало. У книги для этого есть оглавление. У прикладной программы 1С — тоже, и называется оно командным интерфейсом.

1. Оглавление программы

Толстую книгу не листают в поисках нужной главы: открывают оглавление, находят часть, в ней строку и по номеру страницы попадают куда нужно. Программа устроена так же — только вместо глав у неё формы.

в книгев программе 1С
частьраздел: «Продажи», «Склад»
строка оглавлениякоманда в разделе: «Товары», «Поступления товаров»
глава, которую открылиформа, которая открылась

Пользователь выбирает раздел, в разделе — команду, и команда открывает форму: список, карточку, отчёт. Главное дело оглавления — не рассказывать, а привести к тому месту, где рассказ начнётся.

Командный интерфейс — оглавление прикладной программы.

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

Строгая пара, как обычно, с адресом в Конфигураторе:

образ    оглавление программы
строго   разделы программы и команды
         в них, через которые открывают
         списки, карточки, отчёты
где      подсистемы в ветке «Общие»;
         свойства конфигурации
         «Командный интерфейс»

2. Из чего складывается главное окно

Окно программы 1С в интерфейсе «Такси» — в нём работают современные типовые программы — делится на несколько областей. Вот как это выглядит в типовой программе, где разделов много:

┌──────────────────────────────────────────┐
│ заголовок, главное меню, поиск           │
├────────────┬─────────────────────────────┤
│ Главное    │ Товары                      │
│ Закупки    │ Контрагенты                 │
│ Продажи ◄  │ Реализации товаров          │
│ Склад      │ Создать ▾  Отчёты ▾         │
│            ├─────────────────────────────┤
│            │ рабочая область:            │
│            │ здесь открываются формы     │
└────────────┴─────────────────────────────┘
   разделы     функции раздела «Продажи»
Здесь будет снимок экранаглавное окно типовой демонстрационной базы с открытым разделом «Продажи»

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

Расположение панелей не жёсткое: пользователь может скрыть лишние или выбрать для них другое место из допустимых. Но состав — какие разделы есть и какие команды в каждом — задаёт не он, а разработчик.

3. Раздел — это подсистема

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

Конфигурация
└── Общие
    └── Подсистемы
        ├── Закупки   → раздел «Закупки»
        ├── Продажи   → раздел «Продажи»
        └── Склад     → раздел «Склад»

Что попадает в раздел, решает состав подсистемы: разработчик включает в неё объекты — справочники, документы, отчёты, — и их стандартные команды появляются в разделе. Стандартные — это те, которые платформа даёт объекту сама, не спрашивая: открыть список, создать новую запись. Документ «ПоступлениеТоваров», включённый в подсистему «Закупки», даёт в разделе «Закупки» команду открыть список поступлений и команду создать новое. Увидит их пользователь, у которого есть права на этот документ; а если набор по умолчанию не устраивает, разработчик поправит его в командном интерфейсе подсистемы — уберёт лишнее или добавит свои команды.

что видно в Предприятиичто задано в Конфигураторе
раздел «Главное»есть всегда; состав — свойство конфигурации «Командный интерфейс основного раздела»
другие разделыподсистемы первого уровня
команды в разделеобъекты, включённые в подсистему
какие разделы кому виднысвойство конфигурации «Командный интерфейс»

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

4. Что видно в «Канцтоварах»

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

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

Прежде чем идти дальше, разведём два похожих слова про команды: они живут в разных местах и делают разное.

5. Не путать с командной панелью формы

Слово «команда» живёт в двух местах, и их легко спутать. У программы есть командный интерфейс — оглавление. У каждой формы есть своя командная панель — полоса кнопок наверху формы: «Записать», «Провести и закрыть».

командный интерфейскомандная панель формы
чейвсей программыодной формы
где на экранепанель разделов, функции разделаверх формы, над полями
о чём говориткакие разговоры можно начатьчто можно сделать в этом разговоре
в образеоглавлениеглаголы реплики

Проверка простая: команда оглавления доступна, когда не открыто ни одной формы, — её видно в разделе сразу после запуска программы. Глагол формы появляется вместе с формой и без неё не существует.

6. Одна форма — несколько входов

Теперь, когда оглавление отделено от глаголов формы, видно и ещё одно: оглавление — не единственная дорога к форме.

Раздел — не дом формы, а место, где стоит команда, которая её открывает. Одна и та же форма открывается разными путями, и оглавление — только один из них.

откудакак попасть в карточку поступления № 12
оглавлениераздел → «Поступления товаров» → строка № 12
другая формаиз отчёта или журнала, двойным щелчком по строке
историяпанель истории: недавно открытое
начальная страницаесли список поступлений вынесен туда

Объект может входить и в несколько подсистем сразу: справочник «Товары» нужен и в закупках, и в продажах, и его список окажется в обоих разделах. Форма от этого не раздваивается — просто у неё два входа.

Форма живёт в своём объекте, а не в разделе. Раздел лишь даёт к ней вход — и не единственный.

7. В режиме Предприятия

  1. Посмотрите на панель разделов «Канцтоваров». Сколько в ней разделов и как называется единственный?

  2. Откройте «Главное» и перепишите его команды. Какие из них открывают списки, какие что-то создают, какие открывают отчёты?

  3. Откройте из «Главного» список поступлений, а в нём — поступление № 12. Затем нажмите в заголовке формы кнопку с домиком: она возвращает на начальную страницу — ту, что программа показывает при запуске. Карточка при этом не закрылась: к ней можно вернуться через список открытых окон или историю.

  4. Откройте главное меню и найдите в нём настройку панели разделов. В списке разделов, который она покажет, будет один «Главное».

Здесь будет снимок экрананастройка панели разделов «Канцтоваров»

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

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


Мы нашли форму по оглавлению и открыли её. Но где в этот момент находится то, что мы видим, — на нашем компьютере или там, где хранится база? И почему от ответа зависит, сохранится ли то, что мы введём?

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

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

Упражнения

Оглавление «Канцтоваров». Перепишите команды раздела «Главное» и разложите их на три группы: открывают список, создают новое, открывают отчёт.

Своё оглавление. Разложите «Канцтовары» на бумаге на три-четыре раздела: какие команды в какой раздел попадут. Какой объект хочется положить сразу в два раздела и почему?

Ловушка: две панели. Коллега пишет: «Кнопку „Провести" надо добавить в командный интерфейс, пользователи её не находят». Что не так в этой фразе? Где на самом деле живёт эта кнопка?

Чужое оглавление. В типовой программе разделы такие: «Главное», «Продажи», «Закупки», «Склад», «Финансы», «Администрирование». В каком разделе вы стали бы искать список поступлений товаров, а в каком — справочник товаров? Почему справочник может найтись сразу в нескольких?

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