Кнопка «Создать» для справочника в разделе 1С: конфигуратор, права и настройки пользователя

· 11 мин

Содержание

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

Если флажок стоит, а кнопки в разделе всё равно нет, дело почти всегда в одном из трёх мест: справочник не входит в подсистему, у роли пользователя нет права на интерактивное добавление или объект отключён функциональной опцией. Ниже — порядок проверки и настройки для управляемого интерфейса «Такси» на платформе 8.3.

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

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

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

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

Быстрый способ отличить проблему конфигурации от проблемы прав: зайдите в базу под пользователем с полными правами. Есть команда у администратора и нет у бухгалтера — смотрите роли и настройки пользователя. Нет ни у кого — смотрите конфигуратор.

Способ 1. Видимость команды в командном интерфейсе подсистемы

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

Проверьте состав подсистемы

  1. Откройте конфигуратор и дерево конфигурации.
  2. Раскройте ветку Общие → Подсистемы и найдите подсистему нужного раздела.
  3. Откройте её свойства и нажмите кнопку «Состав». Убедитесь, что справочник отмечен флажком.

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

У самой подсистемы должен стоять флажок «Включать в командный интерфейс». Без него раздел не появится в панели разделов, и настраивать его команды бессмысленно.

Включите видимость команды «Создать»

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

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

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

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

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

Типовая конфигурация на поддержке

Правка командного интерфейса типовой подсистемы снимает объект с поддержки или требует включить возможность изменения. Это усложняет каждое следующее обновление. Варианты от безопасного к радикальному:

ВариантКогда подходитРиски
Настройка действий в пользовательском режимеНужно одному или нескольким сотрудникамНастраивать приходится каждому
Расширение конфигурацииСвой справочник нужно вывести в типовой разделРасширение проверяют после обновлений
Правка подсистемы с сохранением поддержкиСвоя доработанная конфигурацияРучное сравнение при каждом обновлении
Снятие подсистемы с поддержкиПочти никогдаИзменения поставщика в подсистеме вы теряете

В расширении (доступно с платформы 8.3.6) свой справочник добавляют в заимствованную подсистему через её состав. Это не трогает основную конфигурацию и переживает обновление релиза.

Способ 2. Команда на форме списка и форме элемента

Панель действий раздела — не единственное место, где пользователь создаёт элементы. Чаще всего это делают кнопкой «Создать» на форме списка справочника. Её поведение задаётся иначе.

Автоматическая командная панель

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

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

Свойства таблицы, которые прячут создание

У таблицы динамического списка есть свойство «Изменять состав строк». Если его выключить, команды добавления строк из таблицы пропадают — и в командной панели, и в контекстном меню. Такую настройку иногда ставят на справочники, которые заполняются только обменом или загрузкой.

Если справочник иерархический, рядом с «Создать» появляется «Создать группу ». Её доступность зависит от вида иерархии: при иерархии элементов (а не групп) отдельных групп нет вовсе.

Подчинённые справочники

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

Способ 3. Права роли на добавление

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

В конфигураторе

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

Право «Добавление» разрешает создавать элементы программно — например, при загрузке или обмене. «Интерактивное добавление» отвечает именно за действие пользователя через команду. Без второго кнопка не появится, даже если первое стоит.

Кроме прав, у роли есть свойство «Устанавливать права для новых объектов». Если вы добавили справочник после создания роли и это свойство было выключено, права на новый объект не выданы никому. Это типичная причина ситуации «добавил справочник, вижу только я».

В типовых конфигурациях

В конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) роли напрямую пользователям не назначают. Права собираются в профили групп доступа: Администрирование → Настройки пользователей и прав → Профили групп доступа.

  1. Откройте профиль группы, в которую входит пользователь.
  2. На вкладке ролей найдите роль, дающую добавление нужного справочника. Её название обычно начинается со слов «Добавление и изменение…».
  3. Отметьте роль и запишите профиль.
  4. Попросите пользователя перезапустить программу.

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

Способ 4. Программное управление видимостью команд

Иногда команду нужно показывать по условию: например, только в организации с определённой учётной политикой или после включения настройки. Для этого есть два инструмента.

Функциональные опции

Функциональная опция включает или выключает объект целиком. Когда опция выключена, у справочника пропадают все команды: и список в навигации, и «Создать» в панели действий.

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

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

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

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

Здесь ИспользоватьПроекты — реквизит формы, связанный с полем флажка. Без ОбновитьИнтерфейс() пользователь увидит новую команду только после перезапуска.

Скрытие кнопки на конкретной форме

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Кнопка = Элементы.Найти("ФормаСоздать");
	Если Кнопка <> Неопределено Тогда
		Кнопка.Видимость = Ложь;
	КонецЕсли;
КонецПроцедуры

Скрытие кнопки на форме не запрещает создание. Пользователь с правом добавления создаст элемент копированием, клавишей Insert или из поля ввода другой формы. Если элемент создавать нельзя в принципе — забирайте право в роли, а не прячьте кнопку.

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

Настройка пользователем без конфигуратора

Если команда настроена в конфигураторе, но конкретный сотрудник её не видит, проверьте его личные настройки. В интерфейсе «Такси» каждый пользователь может сам скрыть или вывести команды раздела.

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

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

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

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

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

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

Как сделать панель действий удобной

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

  • 🎯 Создание — там, где работают. Справочник «Контрагенты» нужен в продажах и покупках, но не в зарплате. Выводите команду в 1-2 раздела, где элемент реально создают каждый день.
  • 📉 Не больше 5-7 команд в группе «Создать». Остальное пользователь найдёт через список справочника.
  • 🔐 Видимость по ролям. Кладовщику не нужна команда «Создать» для статей затрат. Снимите флажок для его роли в редакторе, даже если право на добавление у него есть.
  • ↕️ Порядок по частоте. Самое частое — первым. Порядок задаётся перетаскиванием строк в редакторе командного интерфейса.
  • 🧭 Важное — в панели навигации. Если элемент создают реже, чем просматривают список, выведите список справочника в группу «Важное» панели навигации. Кнопка «Создать» на форме списка решит остальное.

Отдельно о справочниках, которые заполняются загрузкой или обменом: классификаторы, курсы, данные из внешних систем. Команду создания для них лучше не выводить вовсе, а право интерактивного добавления оставить только администратору. Так в базе не появятся ручные дубли.

Ошибки, из-за которых настройка не срабатывает

  • ❌ Флажок поставлен в одной подсистеме, смотрят в другой. Если справочник входит в три раздела, видимость задаётся в каждом. Вложенная подсистема настраивается своим редактором.
  • ❌ Конфигурацию сохранили, но не обновили базу. Пока не выполнено F7, пользователи работают со старым интерфейсом. Сохранение только записывает основную конфигурацию.
  • ❌ Роль скрывает команду явно. В редакторе командного интерфейса снятый флажок в колонке роли сильнее общей видимости. Если у пользователя несколько ролей, команда видна, когда хотя бы одна из них её показывает.
  • ❌ Новый справочник без прав. Роли, созданные без «Устанавливать права для новых объектов», не получают права на добавленный позже объект. Пройдите по всем ролям вручную.
  • ❌ Кнопку спрятали вместо запрета. Скрытая на форме кнопка не защищает справочник от ручного заполнения. Ограничение делают правами.
  • ❌ Пользователь не перезашёл. Изменения прав и профилей групп доступа применяются при следующем входе в программу.

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

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