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