К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как добавить кнопку «Создать» в 1С

Как добавить кнопку «Создать» в 1С через конфигуратор: командная панель формы списка, общие команды, расширения. Пошагово, частые ошибки и проверка результата.

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

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

Где вообще находится кнопка «Создать» в 1С

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

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

Проверка прав доступа перед настройкой

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

Быстрая проверка в пользовательском режиме: откройте список, нажмите клавишу Insert. Если новый элемент создаётся — права есть, и проблема только в отображении кнопки. Если появляется сообщение о нарушении прав доступа, сначала настройте роли, а не форму.

Контрольные точки

Как проверить, в чём причина

Клавиша Insert в списке
Норма

Открывается форма нового элемента — права есть, чиним отображение кнопки

Тревожный признак

Ошибка прав доступа — сначала настраиваем роли

Состав командной панели в конфигураторе
Норма

Команда «Создать» есть в дереве команд

Тревожный признак

Команда отсутствует или снят флаг видимости

Другой пользователь с полными правами
Норма

У него кнопка есть — проблема в правах первого пользователя

Тревожный признак

Кнопки нет ни у кого — проблема в форме или конфигурации

Добавление кнопки в форму списка через конфигуратор

Основной сценарий: у объекта есть форма списка, но кнопка «Создать» в ней не выведена. Откройте конфигуратор, найдите объект, раскройте его ветку «Формы» и откройте форму списка. Если формы нет — создайте её конструктором, платформа сама добавит стандартные команды.

В редакторе формы перейдите на вкладку «Командный интерфейс» или выделите командную панель списка в дереве элементов. В окне свойств командной панели откройте состав команд и установите флаг напротив стандартной команды «Создать» (StandardCommand.Create). После сохранения и обновления конфигурации кнопка появится в списке.

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

Добавление своей кнопки «Создать» с особыми параметрами

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

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

&НаКлиенте

Процедура СоздатьСПараметром(Команда)

ПараметрыФормы = Новый Структура;

ПараметрыФормы.Вставить("Организация", МояОрганизация);

ОткрытьФорму("Справочник.Договоры.ФормаОбъекта", ПараметрыФормы);

КонецПроцедуры

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

Кнопка «Создать» без изменения конфигурации

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

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

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

Сравнение способов

Изменение в конфигураторе

Полный контроль, но конфигурация снимается с полной поддержки, обновления усложняются

Расширение конфигурации

Типовая не меняется, обновления проще; нужно проверять совместимость расширения после обновлений

Настройка формы в режиме «Ещё»

Быстро и без конфигуратора, но работает только с существующими командами и не добавляет логику

Вывод команды «Создать» в панель навигации и на рабочий стол

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

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

Частые ошибки и ограничения

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

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

Типичные ошибки
01
Создают свою команду вместо включения стандартной — получают неработающую кнопку без обработчика
02
Не проверяют право «Интерактивное добавление» — кнопка есть, но скрыта платформой
03
В динамическом списке не указана основная таблица — команда «Создать» не знает, объект какого типа открывать
04
Меняют типовую форму вместо расширения — после обновления конфигурации доработка теряется
Итог

Что важно запомнить

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

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

Почему кнопка «Создать» есть у администратора, но нет у пользователя?

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

Можно ли добавить кнопку «Создать» без конфигуратора?

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

Как сделать кнопку «Создать» для документа определённого вида?

Создайте свою команду в форме и в обработчике откройте форму документа с параметром заполнения, задающим нужный вид. Либо включите команду ввода на основании, если документ создаётся из другого объекта.

Кнопка есть, но при нажатии открывается пустой список, а не новый элемент. Что не так?

Такое бывает, если кнопка ссылается на команду открытия списка, а не создания объекта. Проверьте в свойствах кнопки, какая команда ей назначена: для создания должен использоваться обработчик с ОткрытьФорму формы объекта или стандартная команда Create.

Что делать, если форма списка динамическая и стандартная команда не работает?

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

Пропадёт ли добавленная кнопка после обновления конфигурации?

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