Руководство разработчика. Какой код в каких модулях размещать

Материал из largespace
Перейти к навигации Перейти к поиску

Назад к руководству

В процессе разработки весь код и бизнес-логику можно разделить на следующие типы:

  • Клиентские вызовы формы - бизнес-логика в модуле формы, размещенная &НаКлиенте. К таким вызовам относятся:
    • Обработчики управления видимостью и доступностью элементов формы в зависимости от значений реквизитов формы и реквизитов объекта.
    • Вызов диалоговых окон и обработка результатов работы с ним.
    • Проверка вводимых данных пользователем
    • Вывод сообщений пользователю
    • Очистка значений на форме и т.п.

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

  • Клиентские общие модули - общая бизнес-логика, связанная с работой с окружением клиента, но напрямую не связанная с пользовательским интерфейсом. Обычно в данных модулях размещаются:
    • Обработчики работы с оборудованием, с криптографией и другими внешними по отношению к клиенту системами.
    • Работа с файловой системой на клиенте
    • Обработчики оповещений и асинхронные операции, выполняемые на клиенте
    • Другие действия, используемые больше чем в одной форме
  • Серверные вызовы формы - бизнес-логика формы, размещенная модуле формы в параметром &НаСервере и &НаСервереБезКонтекста. Как правило, в таких методах размещаются обращения к остальным серверным модулям. Также в данных серверных вызовах формы размещается бизнес-логика, связанная с конвертацией данных формы в объекты метаданных, с чтением данных, с установкой условного оформления, с отборами и т.д.. Данный код не может использоваться в других формах и является специализированным под конкретную форму.
  • Программный интерфейс объекта метаданных - размещается в модулях менеджера объектов и представляет определенный программный интерфейс по работе ТОЛЬКО С КОНКРЕТНЫМ объектом метаданных. Это может быть получение данных объекта по ссылке (в оптимальном с т.з. получения данных режиме), поиск ссылки на объект по значениям его реквизитов, получение данных табличных частей или связанных с объектом регистров сведений. Кроме этого, в модуле менеджера могут размещаться обработчики, связанные с формированием данных для движений конкретного объекта или же дополнительные вызовы из других подсистем.
  • Общий программный интерфейс подсистемы - размещается в общих модулях, как правило принадлежит конкретной подсистеме и предоставляет программный интерфейс по работе с подсистемой, которая может включать в себя множество объектов метаданных. Общий программный интерфейс в свою очередь обращается к программным интерфейсам объектов метаданных.
  • Обработчики объекта данных. Размещаются в модулях объекта и предназначены исключительно для обработки самого объекта данных и тесно связанных с ним элементов: регистров движений, связанных регистров сведений, табличных частей.
Общая схема последовательности вызовов