Свой интерфейс для пользователя 1С: от настройки панелей до ролей и кода

· 9 мин

Содержание

Добавить интерфейс в 1С 8.3 можно двумя путями. Пользователь сам меняет панели и состав разделов через Главное меню → Вид → Настройка панелей и настройку навигации. Администратор или программист собирает интерфейс в Конфигураторе: в управляемом приложении («Такси») из подсистем и командного интерфейса, в обычном приложении — из объектов ветки Общие → Интерфейсы.

Первый способ подходит, когда одному человеку мешают лишние кнопки. Второй нужен, когда целой группе (кассирам, кладовщикам, менеджерам) нужен свой набор разделов и команд, причём одинаковый у всех.

Что в 1С называется интерфейсом: обычное и управляемое приложение

Под словом «интерфейс» в 1С понимают разные вещи. Если не уточнить, можно долго искать в Конфигураторе то, чего в вашей конфигурации нет.

РежимИз чего строится интерфейсГде настраивается
Обычное приложение (старые конфигурации, БП 2.0, УПП)Объекты метаданных «Интерфейс»: меню и панели инструментовКонфигуратор → Общие → Интерфейсы
Управляемое приложение, «Такси» (БП 3.0, ЗУП 3.1, УТ 11)Подсистемы, командный интерфейс, рабочая область начальной страницы, панелиКонфигуратор + пользовательские настройки в Предприятии

📌 Как понять, какой у вас режим:

  • 🟢 сверху или слева есть панель разделов с крупными значками, формы открываются закладками — это управляемое приложение;
  • 🟡 сверху классическое меню «Файл, Правка, Операции, Сервис», а у объекта «Интерфейсы» в Конфигураторе есть элементы — обычное приложение.

В типовых конфигурациях на «Такси» ветка Интерфейсы пустая. Добавить там объект можно, но толку от него не будет: управляемое приложение его не использует.

В свойствах корня конфигурации есть параметр «Режим совместимости интерфейса». Значение «Такси» означает, что старый интерфейс версии 8.2 пользователю недоступен. Типовые конфигурации последних лет работают только в «Такси».

Настройка интерфейса в режиме Предприятия своими силами

Эта часть не требует прав администратора и не меняет конфигурацию. Настройки сохраняются для конкретного пользователя и не затрагивают коллег.

Расположение панелей

  1. Откройте главное меню (кнопка с тремя полосками в левом верхнем углу).
  2. Выберите Вид → Настройка панелей.
  3. Перетащите мышью нужные панели в области окна: сверху, слева, справа, снизу.
  4. Нажмите «ОК».

Доступные панели:

  • 🗂 Панель разделов — список разделов (Банк и касса, Продажи, Зарплата и т.д.);
  • 📑 Панель открытых — закладки открытых форм;
  • ⭐ Панель избранного — то, что вы отметили звёздочкой;
  • 🕘 Панель истории — последние открытые документы;
  • 🔧 Панель инструментов — кнопки главного меню, поиска, информации.

Если панель не нужна, просто уберите её из областей окна обратно в список доступных.

Состав раздела: навигация и действия

Каждый раздел открывает меню функций со ссылками на журналы, справочники, отчёты и команды создания. Лишние ссылки скрываются так:

  1. Откройте раздел, например «Продажи».
  2. В меню функций нажмите значок шестерёнки («Настройки») в правом верхнем углу.
  3. Выберите «Настройка навигации».
  4. В левой колонке — доступные команды, в правой — выбранные. Переносите кнопками «Добавить» и «Удалить».
  5. Сохраните настройку.

Так же через Главное меню → Вид настраивают начальную страницу: какие формы показывать при запуске программы и в каких колонках.

Параметры окна

В Главное меню → Сервис → Параметры задают режим открытия форм (закладки или отдельные окна) и некоторые другие параметры отображения. Масштаб шрифта и формы меняют там же или в самой форме, через её меню «Ещё» → «Изменить форму».

Создание интерфейса в Конфигураторе

Когда нужен общий интерфейс для группы людей, настройки пользователя не подходят: у каждого их придётся делать вручную. Здесь работают в Конфигураторе.

Перед изменением конфигурации сделайте резервную копию базы (Администрирование → Выгрузить информационную базу). Для типовой конфигурации на поддержке нужно включить возможность изменения, иначе объекты останутся закрытыми. Это усложнит обновления, поэтому новые разделы часто добавляют расширением: в нём можно создать свою подсистему и включить в неё свои команды, не трогая основную конфигурацию.

Управляемое приложение: подсистема как раздел

Раздел в «Такси» — это подсистема верхнего уровня.

  1. В дереве конфигурации раскройте Общие → Подсистемы.
  2. Нажмите «Добавить», задайте имя (латиницей или кириллицей без пробелов) и синоним — он и будет названием раздела.
  3. На вкладке «Основные» оставьте включённым флажок «Включать в командный интерфейс».
  4. Задайте картинку — значок раздела на панели.
  5. В свойстве «Состав» отметьте документы, справочники, отчёты и обработки, которые относятся к разделу.
  6. Сохраните и выполните Конфигурация → Обновить конфигурацию базы данных (F7).

У каждого объекта из состава появятся стандартные команды в меню функций раздела: журнал, список, создание.

Командный интерфейс: порядок и видимость

Порядок разделов и команд внутри раздела задаётся отдельно.

  • Порядок разделов: контекстное меню корня конфигурации → «Открыть командный интерфейс конфигурации».
  • Команды конкретного раздела: в свойствах подсистемы ссылка «Командный интерфейс» → «Открыть».

В редакторе командного интерфейса команды сгруппированы по панелям: панель навигации , панель действий (Создать, Отчёты, Сервис). Для каждой команды можно снять флажок общей видимости, переместить её в другую группу или изменить порядок стрелками.

Начальная страница (что показывается при запуске для всех) настраивается через контекстное меню корня конфигурации → «Открыть рабочую область начальной страницы». Туда добавляют общие формы или формы списков и раскладывают их по колонкам.

Обычное приложение: объект «Интерфейс»

  1. Откройте Общие → Интерфейсы и нажмите «Добавить».
  2. В редакторе на вкладке меню соберите пункты: каждому пункту назначьте действие — открыть форму, выполнить команду.
  3. Добавьте панели инструментов с кнопками, если нужно.
  4. Если интерфейс должен подключаться поверх основного, отметьте у него свойство «Переключаемый».
  5. Сохраните конфигурацию.

Привязка интерфейса к ролям пользователей

Один и тот же набор подсистем выглядит по-разному у разных пользователей. Управляют этим двумя механизмами.

Права роли

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

Видимость по ролям в командном интерфейсе

Бывает, что права есть (например, на чтение справочника для подстановки в документы), а ссылка в меню не нужна. Тогда:

  1. Откройте командный интерфейс подсистемы или конфигурации.
  2. Включите отображение колонок видимости по ролям (в редакторе есть колонка общей видимости и колонки для каждой роли).
  3. Снимите флажок у нужной роли, оставив общий флажок включённым.

Итог такой: команда видна всем, кроме пользователей с этой ролью. Если у пользователя несколько ролей, команда видна, когда она разрешена хотя бы в одной.

ЗадачаЧем решатьРиск
Закрыть данные полностьюПрава в ролиПользователь не сможет выбрать объект и в документе
Убрать ссылку, оставив доступВидимость по ролямПочти нет: данные доступны через поля форм
Скрыть функционал, не нужный организацииФункциональные опцииОпция скрывает функционал у всех пользователей

Обычное приложение: основной интерфейс пользователя

В обычном приложении интерфейс назначается пользователю напрямую. В Конфигураторе откройте Администрирование → Пользователи, карточку пользователя, вкладку «Прочие» и выберите значение в поле «Основной интерфейс». При следующем запуске пользователь увидит меню этого интерфейса.

Что вы хотите получить?

Сохранённые варианты настроек: копирование и сброс

Всё, что пользователь настраивает в Предприятии (панели, навигация, начальная страница), хранится в настройках этого пользователя. Это удобно для тиражирования.

Скопировать настройки другим пользователям

В конфигурациях на БСП (БП 3.0, ЗУП 3.1, УТ 11) путь такой:

  1. Администрирование → Настройки пользователей и прав.
  2. Ссылка «Настройки пользователей».
  3. Выберите пользователя-образец, у которого интерфейс уже собран.
  4. Отметьте настройки внешнего вида и выберите команду копирования.
  5. Укажите получателей: отдельных пользователей или всех.

Получатели увидят новый вид после перезапуска программы.

Заведите технического пользователя «Шаблон кассира» с той же ролью, что у кассиров. Собирайте интерфейс на нём и копируйте дальше. Тогда личные настройки сотрудников не станут образцом случайно.

Вернуть стандартный вид

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

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

Программное управление интерфейсом

Управляемое приложение

Видимость команд, привязанных к функциональным опциям, меняется после записи значения опции. Чтобы пользователь увидел изменения без перезапуска, на клиенте вызывают обновление интерфейса:

&НаКлиенте
Процедура ПослеЗаписиНастроек()
    // значение константы функциональной опции уже записано на сервере
    ОбновитьИнтерфейс();
КонецПроцедуры

Проверить, в каком варианте интерфейса работает клиент, можно функцией ТекущийВариантИнтерфейсаКлиентскогоПриложения(). Она возвращает значение системного перечисления ВариантИнтерфейсаКлиентскогоПриложения («Такси» или «Версия8_2»). Это пригодится, если общая форма должна по-разному раскладывать элементы.

Видимостью элементов внутри конкретной формы управляют через свойство Видимость элементов в обработчике ПриСозданииНаСервере, например в зависимости от РольДоступна("ИмяРоли").

Обычное приложение

В обычном приложении интерфейсы переключают из кода, обычно в модуле приложения при запуске:

Процедура ПриНачалеРаботыСистемы()
    Если РольДоступна("Кассир") Тогда
        ГлавныйИнтерфейс().ПереключитьИнтерфейс("Касса");
    КонецЕсли;
КонецПроцедуры

Здесь "Касса" — имя объекта из ветки Общие → Интерфейсы. Такой приём использовали типовые конфигурации прошлого поколения, где в меню «Сервис» была команда переключения интерфейса.

Ошибки при настройке интерфейса

Диагностика: выберите симптом

Отдельно о типовых конфигурациях. Правки командного интерфейса прямо в основной конфигурации при обновлении попадут в сравнение и объединение. Если не разобрать их аккуратно, обновление вернёт типовой порядок разделов, а ваши изменения потеряются.

Частые вопросы

Можно ли сделать разный интерфейс для двух пользователей с одной ролью?
Да, через пользовательские настройки: настройте каждому панели и навигацию отдельно. Средствами конфигурации разделить их без отдельной роли нельзя.
Работают ли настройки интерфейса в веб-клиенте?
Да. Настройки хранятся в базе для пользователя, поэтому одинаково применяются в тонком и веб-клиенте.
Можно ли вернуть в БП 3.0 старый интерфейс с меню «Операции»?
Нет. Актуальные релизы работают только в «Такси», классические меню обычного приложения в них отсутствуют.
Нужно ли монопольно занимать базу, чтобы сохранить новую подсистему?
Для простого добавления подсистемы и правки командного интерфейса обычно хватает динамического обновления, но надёжнее обновлять конфигурацию, когда пользователи вышли. В расширении изменения применяются после перезапуска сеансов.
Где хранятся пользовательские настройки интерфейса?
В хранилище системных настроек информационной базы. При выгрузке базы в .dt они сохраняются, при переносе пользователя в другую базу — нет.