Грейд: #Senior
Позиция: #Разработчик
Тема: #Стандарты разработки 1С
Вопросы по Модулю объекта/менеджера Справочника/Документа
- Чем отличается модуль объекта от модуля менеджера, какие есть требования к оформлению кода?
- Какие есть обработчики в модуле объекта и менеджера и для каких целей они используются? Какие требования предъявляются к их применению?
📝 Кратко:
Модуль объекта - код доступен при получении отдельного экземпляра, реализует его поведение.
Модуль менеджера - код экспортных методов доступен по аналогии с общим модулем (с флагом "Сервер"), реализует не экземпляр, а поведение всего объекта метаданных.
Оба модуля имеют собственные обработчики событий.
Подробнее в #std486
В модуле менеджера в основном переопределение представления ссылки объекта (в формах и списках).
Подробнее в #std746

Если (почти всегда) нужна поддержка толстого клиента, то важно запретить компиляцию серверного кода модуля менеджера на стороне клиенте в режиме "толстого клиента" препроцессором (обработчики представления ссылки вне препроцессора(!)).
Подробнее в #std680
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
...
#КонецЕсли

В модуле объекта основные обработчики: записи и заполнения объекта.
При программном создании объекта необходимо вызывать метод Заполнить - вызывается обработчик ОбработкаЗаполнения. Он же вызывается при интерактивном создании объекта и при создании на основании.
Совет: не размещать другие команды проверки при создании на основании, кроме как в ОбработкаЗаполнения.
Подробнее в #std396 и #std451
Стандарт оформления любого модуля сверху внизу: заголовок, описание, основная логика, внизу служебные методы. В конце инициализация модуля актуальна для модулей форм.
Подробнее #std455
Шаблоны можете найти здесь (автор improg): //infostart.ru/1c/tools/1864780/
В статье использованы стандарты разработки 1С (ссылки на ИТС):
👉 #std455, #std486, #std746, #std396, #std680, #std451
Из документации (требует доступ к ИТС):
https://its.1c.ru/db/pubessence#content:154:hdoc
---
🔜 Следующий выпуск про стандарты при проведении документов (на примере УТ11).
---
🔥 Еще вопросы (не без подвоха), которые могут встретиться на собеседовании:
- Чем отличается модуль менеджера от общего модуля с флагом "Сервер"?
- Что будет, если в общем модуле поставить флаг "вызов сервера" и не поставить "Сервер"?
Спойлер
- На какие обработчики событий в модуле менеджера можно установить подписку на события?
[Спойлера нет ;) - В какой последовательности отработают подписки на события, которые совпадают по событию и объекту метаданных?
- Если для обработчика событий в модуле менеджера не создана Процедура (код), то как его добавить в Расширение?
- В какой последовательности выполняются Расширения на доработку одного и того же метода (вопрос про конкуренцию Расширений)?
Вступайте в нашу телеграмм-группу Инфостарт