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