Кнопка «Создать» для справочника в разделе 1С: конфигуратор, права и настройки пользователя
Содержание
Команда создания элемента справочника выводится в интерфейс раздела через конфигуратор: откройте подсистему, нажмите «Командный интерфейс», найдите в группе Панель действий → Создать строку вида «Справочник Номенклатура: создать» и поставьте флажок видимости. Частое заблуждение — что команда «пропала» из-за ошибки. На самом деле у справочников она по умолчанию скрыта: платформа считает, что справочники заполняют реже документов, и показывает в панели действий только создание документов.
Если флажок стоит, а кнопки в разделе всё равно нет, дело почти всегда в одном из трёх мест: справочник не входит в подсистему, у роли пользователя нет права на интерактивное добавление или объект отключён функциональной опцией. Ниже — порядок проверки и настройки для управляемого интерфейса «Такси» на платформе 8.3.
Почему в разделе нет команды создания элемента справочника
Команда «Создать» в панели действий раздела — это стандартная команда объекта. Платформа строит её автоматически, но показывает только при выполнении всех условий сразу.
| Условие | Где проверить | Что бывает, если не выполнено |
|---|---|---|
| Справочник входит в состав подсистемы | Свойства справочника, вкладка «Подсистемы» | Команды нет даже в редакторе командного интерфейса |
| Стандартные команды включены | Свойство справочника ИспользоватьСтандартныеКоманды | Объект не формирует ни списка, ни «Создать» |
| Включена видимость команды | Командный интерфейс подсистемы | Команда есть в редакторе, но скрыта |
| У роли есть право «Интерактивное добавление» | Роль, строка справочника | Команда скрыта только у этого пользователя |
| Функциональная опция включена | Константа или регистр, на котором построена опция | Скрыты все команды объекта |
| Пользователь не скрыл её сам | Настройка действий раздела | Команда скрыта только в его сеансе |
Порядок проверки идёт сверху вниз: от того, что задаёт разработчик, к тому, что меняет пользователь. Чем ниже уровень, тем меньше людей затрагивает настройка.
Быстрый способ отличить проблему конфигурации от проблемы прав: зайдите в базу под пользователем с полными правами. Есть команда у администратора и нет у бухгалтера — смотрите роли и настройки пользователя. Нет ни у кого — смотрите конфигуратор.
Способ 1. Видимость команды в командном интерфейсе подсистемы
Это основной способ, с него начинают проверку. Он работает для собственной конфигурации или для типовой, снятой с поддержки. Для типовой на поддержке смотрите отдельный подраздел ниже.
Проверьте состав подсистемы
- Откройте конфигуратор и дерево конфигурации.
- Раскройте ветку
Общие → Подсистемыи найдите подсистему нужного раздела. - Откройте её свойства и нажмите кнопку «Состав». Убедитесь, что справочник отмечен флажком.
Тот же результат даёт обратный путь: откройте справочник, перейдите на вкладку «Подсистемы» и отметьте разделы, в которых он должен быть виден. Справочник может входить в несколько подсистем сразу — команда «Создать» настраивается в каждой отдельно.
У самой подсистемы должен стоять флажок «Включать в командный интерфейс». Без него раздел не появится в панели разделов, и настраивать его команды бессмысленно.
Включите видимость команды «Создать»
- В свойствах подсистемы нажмите ссылку «Командный интерфейс».
- В левой части окна редактора выберите группу
Панель действий → Создать. - Найдите строку с командой создания нужного справочника.
- Поставьте флажок в колонке «Видимость».
- Перетащите строку выше или ниже, если важен порядок кнопок в группе.
- Закройте редактор и выполните «Обновить конфигурацию
базы данных» (
F7).
В редакторе видимость задаётся не только общей колонкой, но и по ролям. Колонка «Общая видимость» — значение по умолчанию. Колонки с именами ролей переопределяют его. Если для роли «Кладовщик» флажок снят явно, общая видимость на неё не действует.
Обновление конфигурации базы данных в клиент-серверном варианте может потребовать завершения сеансов, если меняется структура данных. Правка только командного интерфейса структуру не меняет, но заранее предупредите пользователей, что после обновления им нужно перезайти в программу.
Корневой командный интерфейс
Есть ещё уровень выше подсистем — командный интерфейс всей конфигурации. Его открывают из контекстного меню корня дерева конфигурации. Там задаётся порядок и видимость самих разделов. Если раздел скрыт для роли на этом уровне, пользователь не увидит и его команды «Создать», как бы вы ни настроили подсистему.
Типовая конфигурация на поддержке
Правка командного интерфейса типовой подсистемы снимает объект с поддержки или требует включить возможность изменения. Это усложняет каждое следующее обновление. Варианты от безопасного к радикальному:
| Вариант | Когда подходит | Риски |
|---|---|---|
| Настройка действий в пользовательском режиме | Нужно одному или нескольким сотрудникам | Настраивать приходится каждому |
| Расширение конфигурации | Свой справочник нужно вывести в типовой раздел | Расширение проверяют после обновлений |
| Правка подсистемы с сохранением поддержки | Своя доработанная конфигурация | Ручное сравнение при каждом обновлении |
| Снятие подсистемы с поддержки | Почти никогда | Изменения поставщика в подсистеме вы теряете |
В расширении (доступно с платформы 8.3.6) свой справочник добавляют в заимствованную подсистему через её состав. Это не трогает основную конфигурацию и переживает обновление релиза.
Способ 2. Команда на форме списка и форме элемента
Панель действий раздела — не единственное место, где пользователь создаёт элементы. Чаще всего это делают кнопкой «Создать» на форме списка справочника. Её поведение задаётся иначе.
Автоматическая командная панель
В управляемой форме списка кнопка «Создать» появляется автоматически, если у формы или у таблицы списка включено автозаполнение командной панели. Проверить можно так:
- Откройте форму списка справочника в конфигураторе.
- В дереве элементов выберите таблицу
Списоки её командную панель. - В свойствах командной панели посмотрите флажок «Автозаполнение».
- Если он снят, разработчик собрал панель вручную. Перетащите стандартную команду «Создать» из вкладки «Командный интерфейс» или «Команды → Стандартные команды» в нужную группу.
Свойства таблицы, которые прячут создание
У таблицы динамического списка есть свойство «Изменять состав строк». Если его выключить, команды добавления строк из таблицы пропадают — и в командной панели, и в контекстном меню. Такую настройку иногда ставят на справочники, которые заполняются только обменом или загрузкой.
Если справочник иерархический, рядом с «Создать» появляется «Создать группу ». Её доступность зависит от вида иерархии: при иерархии элементов (а не групп) отдельных групп нет вовсе.
Подчинённые справочники
У справочника с владельцем форма списка открывается с отбором по владельцу. Из панели действий раздела создать такой элемент можно, но владельца придётся выбирать вручную в карточке. Удобнее выводить команду не в раздел, а в панель навигации формы владельца: тогда новый элемент сразу привязывается к нему.
Способ 3. Права роли на добавление
Видимость в командном интерфейсе разрешает показать команду. Права решают, покажет ли её платформа конкретному пользователю. Если у его ролей нет права добавлять элементы, команда «Создать» скрывается автоматически.
В конфигураторе
- Откройте
Общие → Ролии роль пользователя. - В списке объектов найдите справочник.
- Проверьте флажки «Добавление» и «Интерактивное добавление».
- Для работы через форму нужны и «Чтение», и «Просмотр»: без них не откроется даже список.
Право «Добавление» разрешает создавать элементы программно — например, при загрузке или обмене. «Интерактивное добавление» отвечает именно за действие пользователя через команду. Без второго кнопка не появится, даже если первое стоит.
Кроме прав, у роли есть свойство «Устанавливать права для новых объектов». Если вы добавили справочник после создания роли и это свойство было выключено, права на новый объект не выданы никому. Это типичная причина ситуации «добавил справочник, вижу только я».
В типовых конфигурациях
В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) роли напрямую пользователям не назначают. Права собираются в профили групп доступа: Администрирование → Настройки пользователей и прав → Профили групп доступа.
- Откройте профиль группы, в которую входит пользователь.
- На вкладке ролей найдите роль, дающую добавление нужного справочника. Её название обычно начинается со слов «Добавление и изменение…».
- Отметьте роль и запишите профиль.
- Попросите пользователя перезапустить программу.
Если не можете понять, какой ролью закрыт справочник, откройте отчёт о правах доступа из карточки пользователя в разделе администрирования. Он показывает, какие действия с объектом разрешены и через какую группу доступа.
Способ 4. Программное управление видимостью команд
Иногда команду нужно показывать по условию: например, только в организации с определённой учётной политикой или после включения настройки. Для этого есть два инструмента.
Функциональные опции
Функциональная опция включает или выключает объект целиком. Когда опция выключена, у справочника пропадают все команды: и список в навигации, и «Создать» в панели действий.
- Создайте константу с типом «Булево», например
ИспользоватьПроекты. - Создайте функциональную опцию:
Общие → Функциональные опции. - В свойстве «Хранение» укажите константу.
- В составе опции отметьте справочник.
- Обновите конфигурацию базы данных.
После изменения значения константы в пользовательском режиме командный интерфейс обновляется не сразу. Вызовите на клиенте метод глобального контекста:
&НаКлиенте
Процедура ИспользоватьПроектыПриИзменении(Элемент)
ИспользоватьПроектыПриИзмененииНаСервере();
ОбновитьИнтерфейс();
КонецПроцедуры
&НаСервере
Процедура ИспользоватьПроектыПриИзмененииНаСервере()
Константы.ИспользоватьПроекты.Установить(ИспользоватьПроекты);
КонецПроцедуры
Здесь ИспользоватьПроекты — реквизит формы, связанный с полем флажка. Без ОбновитьИнтерфейс() пользователь увидит новую команду только после перезапуска.
Скрытие кнопки на конкретной форме
Если нужно убрать «Создать» только с одной формы, а не из всей программы, используйте обработчик ПриСозданииНаСервере. Имя кнопки посмотрите в дереве элементов формы: в автоматической панели оно формируется платформой, поэтому код проверяет, что элемент существует.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Кнопка = Элементы.Найти("ФормаСоздать");
Если Кнопка <> Неопределено Тогда
Кнопка.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
Скрытие кнопки на форме не запрещает создание. Пользователь с правом добавления создаст элемент копированием, клавишей Insert или из поля ввода другой формы. Если элемент создавать нельзя в принципе — забирайте право в роли, а не прячьте кнопку.
Изменить видимость команды в командном интерфейсе раздела из кода во время работы нельзя: платформа строит его по метаданным, правам и функциональным опциями. Поэтому для условного показа в разделе подходит только функциональная опция.
Настройка пользователем без конфигуратора
Если команда настроена в конфигураторе, но конкретный сотрудник её не видит, проверьте его личные настройки. В интерфейсе «Такси» каждый пользователь может сам скрыть или вывести команды раздела.
- Откройте нужный раздел.
- В правом верхнем углу панели раздела нажмите кнопку с шестерёнкой.
- Выберите «Настройка действий» — для панели «Создать», «Отчёты», «Сервис». Для списков раздела — «Настройка навигации».
- Перенесите команду из левой колонки «Доступные команды» в правую «Выбранные команды».
- Нажмите «ОК».
В левой колонке видны только команды, на которые у пользователя есть права. Если команды нет и там, вернитесь к способу 3.
Чтобы вернуть интерфейс к виду, заданному разработчиком, в том же окне есть команда стандартных настроек. Она сбрасывает личные изменения только этого раздела.
Проверить, существует ли команда в принципе, помогает «Все функции». Включите её в Главное меню → Сервис → Параметры флажком «Отображать команду “Все функции”». В дереве объектов найдите справочник: если вы можете открыть список и создать элемент оттуда, команда скрыта настройкой, а не правами.
Администратор может скопировать настройки одного пользователя другим. В конфигурациях на БСП это делается в разделе Администрирование → Настройки пользователей и прав, через копирование настроек пользователей. Удобно, когда отдел должен видеть одинаковый набор кнопок.
Как сделать панель действий удобной
Вывести все команды «Создать» во все разделы — плохая идея. Панель действий становится длинной, и нужная кнопка теряется среди двадцати других. Несколько правил, которые проверены на живых базах:
- 🎯 Создание — там, где работают. Справочник «Контрагенты» нужен в продажах и покупках, но не в зарплате. Выводите команду в 1-2 раздела, где элемент реально создают каждый день.
- 📉 Не больше 5-7 команд в группе «Создать». Остальное пользователь найдёт через список справочника.
- 🔐 Видимость по ролям. Кладовщику не нужна команда «Создать» для статей затрат. Снимите флажок для его роли в редакторе, даже если право на добавление у него есть.
- ↕️ Порядок по частоте. Самое частое — первым. Порядок задаётся перетаскиванием строк в редакторе командного интерфейса.
- 🧭 Важное — в панели навигации. Если элемент создают реже, чем просматривают список, выведите список справочника в группу «Важное» панели навигации. Кнопка «Создать» на форме списка решит остальное.
Отдельно о справочниках, которые заполняются загрузкой или обменом: классификаторы, курсы, данные из внешних систем. Команду создания для них лучше не выводить вовсе, а право интерактивного добавления оставить только администратору. Так в базе не появятся ручные дубли.
Ошибки, из-за которых настройка не срабатывает
- ❌ Флажок поставлен в одной подсистеме, смотрят в другой. Если справочник входит в три раздела, видимость задаётся в каждом. Вложенная подсистема настраивается своим редактором.
- ❌ Конфигурацию сохранили, но не обновили базу. Пока не выполнено
F7, пользователи работают со старым интерфейсом. Сохранение только записывает основную конфигурацию. - ❌ Роль скрывает команду явно. В редакторе командного интерфейса снятый флажок в колонке роли сильнее общей видимости. Если у пользователя несколько ролей, команда видна, когда хотя бы одна из них её показывает.
- ❌ Новый справочник без прав. Роли, созданные без «Устанавливать права для новых объектов», не получают права на добавленный позже объект. Пройдите по всем ролям вручную.
- ❌ Кнопку спрятали вместо запрета. Скрытая на форме кнопка не защищает справочник от ручного заполнения. Ограничение делают правами.
- ❌ Пользователь не перезашёл. Изменения прав и профилей групп доступа применяются при следующем входе в программу.
Частые вопросы
Почему команды создания документов видны сразу, а справочников — нет?
Можно ли вывести команду «Создать» на начальную страницу?
Где задать горячую клавишу для создания элемента справочника?
Insert. Для команды в панели действий раздела отдельную клавишу не назначают.