Почему справочники в 1С нужно называть во множественном числе и как делать это правильно?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Анализ стандартов именования объектов

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

Рассмотрим основные правила формирования имен:

  1. Имя должно быть во множественном числе (за исключением неисчисляемых существительных).
  2. В имени нельзя использовать лишние слова, которые не меняют смысл (например, «СправочникНоменклатура» — это ошибка).
  3. Имя объекта в конфигураторе должно строиться на основе его синонима.

Разделение понятий: Имя vs Представление

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

  1. Имя: Используется в коде. Пишем во множественном числе: Склады.
  2. Синоним: То, что видит пользователь по умолчанию. Также пишем во множественном числе: Склады.
  3. Представление объекта: Как будет называться один элемент справочника (например, в заголовке формы при создании). Пишем в единственном числе: Склад.
  4. Представление списка: Как будет называться заголовок формы списка. Пишем во множественном числе: Склады.

Если лектор или разработчик называет сам объект Склад (в единственном числе), он лишает систему возможности корректно склонять названия в автоматически генерируемых формах и отчетах.

Влияние на программный код

Проанализируем ситуацию с точки зрения написания кода. Использование множественного числа делает обращение к менеджеру объекта логически верным. Посмотрим на пример:


// Правильно: обращаемся к коллекции валют
Выборка = Справочники.Валюты.Выбрать();

// Неправильно по стандартам: звучит так, будто выбираем внутри одной валюты
Выборка = Справочники.Валюта.Выбрать();

При этом стоит помнить, что переменные, в которых хранится ссылка на конкретный элемент, всегда должны быть в единственном числе. Например: ТекущийСклад = СсылкаНаОбъект;.

Последствия нарушения стандартов

Разберем, к каким проблемам приводит использование единственного числа в именах (технический долг):

Исключения из правил

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

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

← На главную