В процессе обучения или при аудите чужого кода часто возникает вопрос: почему одни разработчики называют справочник Контрагент, а другие — Контрагенты? Разберем эту ситуацию с точки зрения системы стандартов «1С:Предприятие» и выясним, является ли использование единственного числа «фичей» или серьезной ошибкой проектирования.
Согласно официальным стандартам разработки фирмы «1С», имена справочников рекомендуется задавать во множественном числе. Проанализируем причину этого требования: объект метаданных «Справочник» в системе представляет собой не одну запись, а целую таблицу, коллекцию элементов. Следовательно, имя должно описывать список объектов. Например: Валюты, Номенклатура, Пользователи.
Рассмотрим основные правила формирования имен:
Выясним, почему возникает путаница. Платформа 1С позволяет гибко настраивать то, как объект видится программисту в коде и как он отображается пользователю в интерфейсе. Разберем по шагам, как правильно заполнить свойства в окне редактирования объекта:
Склады.Склады.Склад.Склады.Если лектор или разработчик называет сам объект Склад (в единственном числе), он лишает систему возможности корректно склонять названия в автоматически генерируемых формах и отчетах.
Проанализируем ситуацию с точки зрения написания кода. Использование множественного числа делает обращение к менеджеру объекта логически верным. Посмотрим на пример:
// Правильно: обращаемся к коллекции валют
Выборка = Справочники.Валюты.Выбрать();
// Неправильно по стандартам: звучит так, будто выбираем внутри одной валюты
Выборка = Справочники.Валюта.Выбрать();
При этом стоит помнить, что переменные, в которых хранится ссылка на конкретный элемент, всегда должны быть в единственном числе. Например: ТекущийСклад = СсылкаНаОбъект;.
Разберем, к каким проблемам приводит использование единственного числа в именах (технический долг):
Контрагенты не выдаст результат, если объект назван Контрагент.Рассмотрим случаи, когда единственное число в имени оправдано. Это касается неисчисляемых существительных или собирательных понятий, которые по своей сути уже подразумевают совокупность. Примеры:
Номенклатура (не говорят «Номенклатуры»).Персонал.Спецодежда.В этих случаях имя в единственном числе не является ошибкой, так как оно соответствует правилам языка и логике коллекции.