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