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

Справочники и Данные · 11 мин

Как добавить значение в список выбора в 1С

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

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

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

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

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

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

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

Открывается окно со справочникомДинамический список

Можно добавить элемент самостоятельно кнопкой «Создать»

Короткий фиксированный переченьПеречисление или список выбора

Меняется только через конфигуратор

Кнопка «Создать» неактивнаНет прав или ограничение конфигурации

Проверьте права пользователя или обратитесь к администратору

Добавление значения через справочник (режим «Предприятие»)

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

Порядок действий
  1. 1
    Откройте документ и нажмите кнопку выбора (стрелка или три точки) в нужном поле
  2. 2
    В открывшемся списке нажмите кнопку «Создать» (или клавишу Insert)
  3. 3
    Заполните обязательные поля нового элемента — как минимум наименование
  4. 4
    Нажмите «Записать и закрыть»
  5. 5
    Новый элемент автоматически подставится в поле документа

Альтернативный путь — открыть сам справочник через главное меню (раздел «Справочники» или «НСИ», название зависит от конфигурации), создать элемент там, а затем выбрать его в документе. Этот способ удобнее, когда нужно добавить сразу несколько значений или заполнить много реквизитов у каждого элемента.

Во многих полях работает и быстрый ввод: начните набирать название прямо в поле, и если подходящего элемента нет, программа предложит создать новый. Это самый быстрый способ для единичных добавлений.

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

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

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

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

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

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

Чтобы добавить значение, откройте в конфигураторе нужный объект (справочник, документ), перейдите на закладку «Данные», выделите реквизит и откройте палитру свойств. Найдите свойство «Список выбора», откройте его и добавьте строки с нужными значениями и представлениями. Здесь же настраиваются связанные свойства: «Кнопка списка выбора» (отображать ли стрелку), «Быстрый выбор» и «Выбор из списка» — последний запрещает ввод произвольного значения, оставляя только варианты из списка.

bsl
// Программное добавление значения в список выбора поля формы
Элементы.СпособДоставки.СписокВыбора.Добавить("Курьер", "Курьерская доставка");

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

Сравнение способов: что выбрать в вашей ситуации

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

Сравнение вариантов

Справочник

Подходит для часто пополняемых списков; пользователи добавляют значения сами; ограничение — требует продуманной структуры справочника

Перечисление

Подходит для стабильных наборов значений, участвующих в логике программы; изменение только через конфигуратор

Список выбора реквизита

Подходит для простых подсказок-вариантов; не хранит ссылок, фактически это строка, поэтому аналитику по нему строить сложнее

Практическое правило: если по значению нужно строить отчёты, группировать данные или хранить дополнительные реквизиты — используйте справочник. Если значение участвует в алгоритмах (например, от него зависит проведение документа) и набор стабилен — перечисление. Список выбора реквизита оставьте для второстепенных полей-подсказок.

Проверка результата и типичные ошибки

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

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

Как проверить результат

Новое значение в списке выбора
Норма

Значение видно и выбирается в поле

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

Значения нет — проверьте, обновлена ли конфигурация БД и не задан ли отбор

Сохранение документа с новым значением
Норма

Документ записывается и проводится без ошибок

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

Ошибка при записи — возможно, в коде есть проверки на допустимые значения

Отображение в отчётах
Норма

Значение корректно выводится в отчётах и печатных формах

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

Пустое или устаревшее представление — проверьте синонимы и макеты

Типичные ошибки
01
Добавление значения в перечисление без обновления конфигурации БД — пользователи не видят изменений и считают, что доработка не сработала
02
Удаление используемого значения перечисления — в старых документах появляются повреждённые ссылки
03
Дублирование элементов справочника с похожими наименованиями («Склад», «Склад основной») — данные расползаются, отчёты становятся недостоверными
04
Добавление значения в список выбора реквизита, когда по нему нужна аналитика — по строковому полю невозможно корректно сгруппировать данные

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

Если пользователи регулярно просят добавлять значения в перечисление, это сигнал, что поле пора перевести на справочник. Каждая такая доработка требует обновления конфигурации, а справочник решает задачу без вмешательства разработчика.
ПЗ
Практическое замечание

Часто задаваемые вопросы

Итог

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

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

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

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

Можно ли добавить значение в список выбора без конфигуратора?

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

Что произойдёт со старыми документами при добавлении нового значения?

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

Как добавить значение в список выбора в управляемой форме программно?

Через свойство СписокВыбора элемента формы: Элементы.ИмяПоля.СписокВыбора.Добавить(Значение, "Представление"). Обычно код размещают в обработчике ПриСозданииНаСервере модуля формы. Это позволяет формировать разные списки в зависимости от условий — например, от вида документа или роли пользователя.

Почему после добавления значения в конфигураторе пользователи его не видят?

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

Чем справочник лучше перечисления для списка выбора?

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