Интерфейс 1С 8.3 под пользователя: роли, разделы, формы и программная видимость

· 9 мин

Содержание

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

Ниже всё описано для платформы 8.3 с интерфейсом «Такси» и типовых конфигураций на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11). Где действие делается в Конфигураторе, это сказано отдельно.

Из чего состоит интерфейс 1С и при чём здесь роли

Начинать проектирование интерфейса стоит не с форм, а с ролей. Платформа строит разделы и меню автоматически: команда, на которую у пользователя нет права, просто не показывается.

СлойГде настраиваетсяЧто решает
🔐 Роли и праваКонфигуратор → ветка «Общие → Роли»Видит ли пользователь объект и может ли его менять
🧭 ПодсистемыКонфигуратор → «Общие → Подсистемы»Какие разделы есть в панели разделов и что в них лежит
📋 Командный интерфейсРедактор командного интерфейса подсистемыПорядок и видимость команд, видимость по ролям
🪟 ФормыРедактор формы объектаПоля, группы, кнопки на конкретном экране
⚙️ Функциональные опции«Общие → Функциональные опции»Включение и выключение целых блоков учёта
👤 Настройки пользователяРежим «Предприятие»Личная раскладка: панели, порядок разделов, поля формы

Из этой таблицы следует правило: скрытое поле на форме — не защита данных. Если бухгалтер не должен видеть оклады, закройте право на объект в роли (или ограничьте доступ на уровне записей), а не прячьте колонку. Скрытый реквизит всё равно доступен через отчёт, список или запрос.

В типовых конфигурациях роли напрямую пользователям не назначают. Работают группы доступа и профили: Администрирование → Настройки пользователей и прав → Группы доступа. Профиль — набор ролей, группа — профиль плюс список людей.

Настройка командного интерфейса: разделы, панели и навигация

Для одного пользователя — без Конфигуратора

Пользователь сам меняет раскладку в режиме «Предприятие»:

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

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

Для группы людей — копирование настроек

Настраивать десять бухгалтеров по одному долго. В конфигурациях на БСП есть копирование: Администрирование → Настройки пользователей и прав → Персональные настройки пользователей. Там выбираете эталонного пользователя, ставите галочки «Внешний вид» и «Настройки форм» и указываете, кому скопировать.

Копирование перезаписывает личные настройки получателя. Предупредите людей заранее, иначе их собственная раскладка исчезнет.

В Конфигураторе — для всех пользователей роли

Командный интерфейс конфигурации открывается из контекстного меню корня дерева конфигурации («Открыть командный интерфейс конфигурации»), у каждой подсистемы — своим пунктом на вкладке её свойств. В редакторе:

  • 👁 колонка «Видимость» — показывать ли команду по умолчанию;
  • 🎭 колонка «Видимость по ролям» — переопределяет видимость для отдельной роли: например, «Журнал операций» виден только роли главбуха;
  • ↕️ порядок строк — порядок команд в панели навигации и панели действий;
  • 🗂 группы «Важное», «Обычное», «См. также» — визуальная иерархия в панели навигации.

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

Как сделать форму документа под задачу пользователя

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

В «Такси» у любой формы есть Ещё → Изменить форму. Пользователь видит дерево элементов и может:

  • снять галочку у поля, которое ему не нужно;
  • перетащить поле в другую группу или поменять порядок;
  • вынести редко используемые поля в сворачиваемую группу.

Изменения хранятся только у этого пользователя. Вернуть всё как было можно в том же окне через Ещё → Установить стандартные настройки.

Изменение формы разработчиком

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

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

Типовая конфигурация: только через расширение

Если поменять форму типовой БП или ЗУП прямо в основной конфигурации, придётся снять её с поддержки, и каждое обновление превратится в ручное сравнение. Правильный приём — расширение конфигурации (доступно с платформы 8.3.6):

  1. Конфигурация → Расширения конфигурации → Добавить.
  2. В дереве основной конфигурации на нужной форме — контекстное меню «Добавить в расширение».
  3. В заимствованной форме добавляете свои элементы и обработчики. Основная форма не трогается.
  4. После правок — «Обновить конфигурацию базы данных» для расширения.

Обновление типовой при этом идёт обычным порядком, а расширение накладывается поверх.

Что именно нужно поменять в интерфейсе?

Программное управление видимостью и доступностью элементов

Видимость меняют через коллекцию Элементы. Типовая задача: показать поле «Договор» только когда выбран контрагент, а поле «Причина скидки» — только при ненулевой скидке.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	УстановитьВидимостьЭлементов(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура СкидкаПриИзменении(Элемент)
	УстановитьВидимостьЭлементов(ЭтотОбъект);
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьВидимостьЭлементов(Форма)
	Объект   = Форма.Объект;
	Элементы = Форма.Элементы;
	Элементы.Договор.Видимость       = ЗначениеЗаполнено(Объект.Контрагент);
	Элементы.ПричинаСкидки.Видимость = (Объект.ПроцентСкидки <> 0);
	Элементы.Склад.ТолькоПросмотр    = Объект.Проведен;
КонецПроцедуры

Почему так:

  • ✅ первый вызов — в ПриСозданииНаСервере, а не в ПриОткрытии: форма приходит на клиент уже в нужном виде, без мигания полей;
  • ✅ процедура с директивой &НаКлиентеНаСервереБезКонтекста вызывается и с сервера, и с клиента, а при изменении поля не нужен вызов сервера;
  • ✅ три свойства решают разные задачи: Видимость убирает элемент, Доступность делает его серым, ТолькоПросмотр оставляет видимым и выделяемым, но запрещает правку.

Видимость по роли из кода

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Элементы.Себестоимость.Видимость = РольДоступна("ПолныеПрава");
КонецПроцедуры

В конфигурациях на БСП вместо проверки роли по имени лучше проверять право на объект: ПравоДоступа("Изменение", Метаданные.Документы.РеализацияТоваровУслуг). Имена ролей меняются от релиза к релизу, а право — нет.

Добавить поле на форму программно

Так делают в расширениях и обработках, когда реквизита в метаданных нет:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	НовыеРеквизиты = Новый Массив;
	НовыеРеквизиты.Добавить(Новый РеквизитФормы("ЗаметкаМенеджера",
		Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(200))));
	ИзменитьРеквизиты(НовыеРеквизиты);

	Поле = Элементы.Добавить("ЗаметкаМенеджера", Тип("ПолеФормы"));
	Поле.Вид = ВидПоляФормы.ПолеВвода;
	Поле.ПутьКДанным = "ЗаметкаМенеджера";
	Поле.Заголовок = "Заметка менеджера";
КонецПроцедуры

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

Строки списка и табличной части

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

Рабочее место пользователя и начальная страница

Начальная страница — первое, что человек видит после входа. Настроить её можно на двух уровнях.

Пользователь — Главное меню → Вид → Настройка начальной страницы. Формы раскладываются по левой и правой колонке; типичный набор для бухгалтера: «Текущие дела», список банковских выписок, календарь отчётности.

Разработчик — в Конфигураторе, в контекстном меню корня конфигурации, пункт «Открыть рабочую область начальной страницы». Здесь выбирается шаблон (одна колонка, две колонки равной или разной ширины) и формы в каждой колонке. Для каждой формы тоже доступна видимость по ролям.

Отдельное рабочее место (АРМ) для узкой роли — кладовщика, кассира, оператора — обычно делают так:

  1. Создают общую форму или обработку с нужными кнопками и списками.
  2. Кладут её на начальную страницу и включают видимость только для роли этого АРМ.
  3. Для роли скрывают все лишние разделы в командном интерфейсе.
  4. Через профиль группы доступа назначают роль сотрудникам.

Пользователь входит и сразу видит один экран с тремя-четырьмя действиями — без панели из пятнадцати разделов.

Если нужен только один раздел, его можно скрыть от всех, кроме роли, и тогда панель разделов у пользователя станет почти пустой. Саму панель разделов человек может убрать через Вид → Настройка панелей.

Типичные ошибки при разработке интерфейса и как их избежать

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

Что ещё ускоряет и упрощает формы:

  • 📉 меньше элементов на первом экране — двадцать полей вместо шестидесяти заметно ускоряют открытие, особенно через веб-клиент и тонкий клиент по интернету;
  • 🧩 динамические списки вместо таблиц значений для больших выборок — они подгружают данные порциями;
  • 📦 функциональные опции вместо кода «если включён учёт по складам — показать поле»: платформа сама скрывает связанные элементы во всех формах сразу;
  • 🧪 проверка под ролью пользователя, а не под администратором — с полными правами вы увидите всё и не заметите проблему.

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

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