6. Объектная модель прикладного решения
#19

Готовишься к экзамену?

Полнофункциональный тренажер @bot_1cnik_bot с полноценным обучением, режимом экзамена и подробной статистикой.

Перейти в бота

Что такое "системные перечисления"?

Перечень значений, заданный на этапе разработки конфигурации (ветвь Перечисления в дереве конфигурации)
Неправильно: Перечисления конфигурации действительно задаются разработчиком в метаданных и относятся к прикладному решению. «Системные перечисления» отличаются тем, что они определены не в конфигурации, а на уровне платформы.
Перечень значений, заданный в платформе "1С:Предприятие 8"
Правильно: Системные перечисления задаются самой платформой и доступны в любом прикладном решении без создания объектов в конфигурации. Разработчик не добавляет и не изменяет их состав - он лишь использует готовые значения при работе с объектами платформы.
Конструкция встроенного языка, используемая разработчиком для объявления перечислимых типов данных
Неправильно: Во встроенном языке 1С перечисления не объявляются «конструкцией языка» в тексте модуля. Перечисления конфигурации создаются в метаданных, а системные перечисления поставляются платформой.
Системные перечисления отсутствуют в системе "1С:Предприятие 8"
Неправильно: В платформе предусмотрены системные перечисления, которые применяются для типовых режимов и параметров (например, коды возврата диалогов, варианты сравнения и т.п.). Они существуют независимо от перечислений, созданных в конфигурации.

Пояснение

Системные перечисления - это «встроенные» перечисления платформы, то есть фиксированные наборы значений, которые предоставляет сама технологическая платформа 1С. Они нужны для единообразного задания параметров и свойств в объектах платформы (режимы, варианты, коды возврата, направления, статусы), чтобы разработчики не изобретали свои наборы там, где уже есть стандарт. Чем они отличаются от перечислений конфигурации: - Перечисления конфигурации создаются в метаданных прикладного решения и видны в дереве конфигурации; их набор значений определяет разработчик конфигурации. - Системные перечисления не создаются в конфигурации и не редактируются пользователем/разработчиком прикладного решения: их состав задаёт платформа и он одинаков для всех конфигураций на данной версии платформы. Как их обычно используют в коде: значение задают через имя системного перечисления и элемент (по схеме «СистемныеПеречисления.<Имя>.<Значение>»), например, когда нужно передать в метод/свойство строго ограниченный платформой вариант. Практический смысл: системные перечисления повышают совместимость и читаемость кода - вместо «магических строк/чисел» используются понятные стандартные значения. Если вам нужно расширяемое множество, которое меняется по бизнес-логике (например, статусы заказа компании), это делается перечислением конфигурации или справочником, а не системным перечислением.