Разработка и Конфигурация · 9 мин
Как убрать кнопку «Создать на основании» в 1С
Как убрать кнопку «Создать на основании» в 1С: отключение через права, настройку командного интерфейса и доработку конфигурации. Пошаговые инструкции и FAQ.
Кнопка «Создать на основании» в 1С появляется в формах документов и справочников, когда у объекта настроен механизм ввода на основании. Иногда она мешает: пользователям доступны лишние варианты создания документов, сотрудники ошибочно вводят документы не тем способом, а список команд перегружен. Убрать кнопку полностью или отдельные её пункты можно несколькими способами — от простой настройки прав до доработки конфигурации.
Выбор способа зависит от того, что именно требуется: скрыть кнопку для конкретных пользователей, убрать отдельные виды документов из списка или полностью отключить механизм ввода на основании. Также имеет значение, работаете вы с типовой конфигурацией на поддержке или с доработанной — от этого зависит, какие изменения безопасны при обновлении.
Ниже разобраны все рабочие методы: от самого простого (настройка прав) до программного (расширение конфигурации и изменение модуля). Для каждого указаны условия применения, ограничения и способ проверки результата.
Как устроен механизм ввода на основании
Кнопка «Создать на основании» формируется автоматически: платформа собирает список всех объектов, для которых текущий документ или справочник указан как основание. Эта связь задаётся в конфигураторе в свойствах объекта на вкладке «Ввод на основании». Если у документа «Реализация товаров и услуг» в списке оснований стоит «Счёт на оплату», то в форме счёта появится команда создания реализации.
Дополнительно на состав списка влияют права: платформа не показывает команды на создание объектов, к которым у пользователя нет права «Добавление». Именно на этом основан самый простой способ скрыть лишние пункты без изменения конфигурации.
В типовых конфигурациях (БП, УТ, ERP) часть команд ввода на основании выводится не стандартным механизмом, а программно — через общие команды и процедуры в общих модулях. Поэтому иногда кнопка остаётся видимой даже после изменения свойств объекта, и требуется другой подход.
Способ 1. Убрать пункты через права доступа
Самый безопасный метод, не требующий изменения конфигурации. Подходит, когда нужно скрыть отдельные виды создаваемых документов для конкретных пользователей или групп.
Откройте раздел администрирования, перейдите в настройки пользователей и прав (в типовых — «Администрирование → Настройки прав и пользователей → Профили групп доступа»). Найдите профиль нужного сотрудника и проверьте, какие роли ему назначены. Затем в конфигураторе или через настройку профиля снимите право «Добавление» на те документы, которые не должны создаваться на основании.
После этого команда создания соответствующего документа исчезнет из выпадающего списка кнопки. Если у пользователя нет права добавления ни на один из возможных документов-оснований, кнопка пропадёт целиком.
Способ 2. Снять флажок ввода на основании в конфигураторе
Если конфигурация не находится на полной поддержке или вы готовы включить возможность изменения, связь объектов можно убрать напрямую. Откройте конфигуратор, найдите нужный объект (например, документ, из которого создаются другие), откройте его свойства и перейдите на вкладку «Ввод на основании».
В поле «Вводится на основании» снимите флажки с объектов, команды которых нужно убрать. Затем обновите конфигурацию базы данных (F7). После обновления соответствующие пункты исчезнут из списка кнопки у всех пользователей.
Обратный вариант — открыть свойства создаваемого документа и убрать основание из его списка «Основания». Результат тот же, разница лишь в том, с какой стороны связи удобнее работать.
Способ 3. Скрыть кнопку через расширение конфигурации
Расширение — рекомендуемый способ для типовых конфигураций на поддержке: основная конфигурация не меняется, обновления проходят штатно. Подходит, когда нужно скрыть саму кнопку или отдельные команды на конкретной форме.
Порядок действий: в конфигураторе создайте новое расширение (Конфигурация → Расширения конфигурации), добавьте в него нужную форму документа, найдите в дереве элементов команду «Создать на основании» или конкретную подкоманду и установите свойство «Видимость» в значение «Ложь». Сохраните расширение, обновите конфигурацию базы данных и проверьте форму.
Если команда формируется программно (типично для УТ и ERP), в расширении формы можно переопределить обработчик «ПриСозданииНаСервере» и скрыть элемент после вызова типового кода:
&После("ПриСозданииНаСервере")
Процедура Расш_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.ФормаСоздатьНаОсновании.Видимость = Ложь;
КонецПроцедурыСпособ 4. Убрать команду из командного интерфейса
Иногда задача — не убрать кнопку полностью, а убрать отдельные команды из панели навигации или списка. В конфигураторе откройте свойства объекта, вкладку «Командный интерфейс», и снимите видимость с нужных команд. Для формы списка и формы документа настройки раздельные — проверьте обе.
В типовых конфигурациях часть команд ввода на основании регистрируется в общем модуле (например, через процедуры вида «ПриОпределенииКомандСозданияНаОсновании»). В этом случае команду можно отключить, переопределив соответствующий программный интерфейс в расширении, не трогая типовой код.
Сравнение способов
Без изменения конфигурации, но запрещает создание документа полностью, а не только на основании
Просто и надёжно, но снимает объект с поддержки и требует контроля при обновлениях
Сохраняет поддержку и обновления, но требует навыков работы с расширениями и тестирования
Точечно скрывает команды, но не работает для программно формируемых команд в типовых
Как проверить результат
После любого изменения войдите в базу под пользователем, для которого вносилась настройка — не под администратором, у которого полные права. Откройте форму документа-основания и нажмите кнопку «Создать на основании»: лишние пункты должны отсутствовать, либо сама кнопка должна быть скрыта.
Дополнительно проверьте смежные сценарии: создание документа вручную из списка, копирование, работу под другими профилями. Если кнопка скрывалась через права, убедитесь, что пользователь по-прежнему может выполнять свои обычные операции.
Как проверить результат
Лишние пункты отсутствуют или кнопка скрыта
Команды видны — изменения не применились или команда формируется программно
Поведение соответствует настройке
Под администратором всё скрыто, под пользователем — нет: не тот профиль
После обновления настройка сохранилась
Кнопка вернулась — изменения делались в типовом коде без расширения
Типичные ошибки
Чаще всего изменения «не срабатывают» по трём причинам: проверка выполняется под полными правами, команда формируется программно в типовом модуле, либо изменения внесены, но конфигурация базы данных не обновлена. Все три случая легко исключить последовательной проверкой.
Частые вопросы
Можно ли убрать кнопку только для одного пользователя?
Да, через права доступа: создайте отдельный профиль без права «Добавление» на нужные документы и назначьте его конкретному сотруднику. Скрыть кнопку целиком для одного пользователя через расширение сложнее — потребуется программная проверка текущего пользователя в коде формы.
Кнопка скрыта, но документ всё равно можно создать. Почему?
Скрытие кнопки убирает только команду интерфейса. Документ по-прежнему доступен через список документов, копирование или обработки. Для полного запрета комбинируйте скрытие кнопки с настройкой прав или проверками в коде.
Что делать, если кнопка формируется программно в типовой конфигурации?
Используйте расширение: заимствуйте форму и скройте элемент после вызова типового обработчика через аннотацию «&После». Либо найдите переопределяемый модуль, где регистрируются команды, и переопределите его поведение.
Вернётся ли кнопка после обновления конфигурации?
Если изменения внесены через расширение или права — нет. Если вы меняли свойства объектов или типовой код напрямую, обновление может восстановить связь ввода на основании, и настройку придётся повторять.
Можно ли убрать только часть пунктов из списка?
Да. Снимите флажки только с нужных объектов на вкладке «Ввод на основании», ограничьте права на отдельные виды документов или скройте конкретные подкоманды в расширении формы. Остальные пункты продолжат работать.
Что важно запомнить
Для точечного скрытия пунктов достаточно прав доступа, для полного отключения — свойств объекта или расширения. Типовую конфигурацию меняйте только через расширение, проверяйте результат под целевым пользователем и делайте резервную копию перед изменениями.