Получить консультацию

Модули в 1С 8.3

Содержание

Что такое модули 1С

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

Структура модулей

Модули в 1С в общем случае состоят из трех разделов.

  • Раздел объявления переменных
  • Раздел процедур и функций
  • Раздел основной программы

Каждый из этих разделов может быть пропущен. Например, в модуле могут быть только объявления переменных или только раздел основной программы.

Варианты компиляции модулей

Модули компилируются платформой в трех вариантах. Есть исключительно серверные модули, которые исполняются всегда только на сервере. Примеры — модуль объекта, модуль менеджера. Есть также модули, которые  исполняются всегда только на клиенте — например, модуль управляемого приложения. И третий вариант — комбинированные модули, часть кода которых компилируется на клиенте, а часть — на сервере. Например — общие модули и модули форм, модули команд.

Какие бывают модули?

Модули не существуют сами по себе. В платформе каждый модуль принадлежит какому-либо объекту метаданных, либо самой конфигурации.

Модули конфигурации. В зависимости от параметров конфигуратора, модуль приложения может быть один, либо разделиться на модуль управляемого и обычного приложения.

  • Модуль управляемого приложения. Модуль служит для обработки событий запуска клиентского приложения и завершения работы, полнотекстового поиска, а также обработки внешних событий от оборудования (сканеры, кассы, весы и др.). Соответственно, содержимое этого модуля исполняется всегда только на клиенте.
  • Модуль сеанса. Служит для инициализации параметров сеанса. Модуль исполняется на сервере, всегда в привилегированном режиме.
  • Модуль внешнего соединения. Предназначен для того, чтобы обработать события начала и завершения работы при внешнем (программном) соединении. Окно клиентского приложения при этом  не запускается, поэтому данный модуль исполняется на сервере.
  • Модуль обычного приложения. Выполняет те же функции, что и модуль управляемого приложения, но только в варианте запуска «Толстый клиент обычное приложение».
Модули конфигурации 1С - модуль приложения, модуль сеанса, и др.

Общие модули в 1С

Общие модули в 1С

Это объекты метаданных, располагающиеся в ветке «Общие». Помимо собственно программного кода, общие модули имеют ряд свойств, влияющих на поведение и контекст исполнения модуля (где именно будет исполняться модуль — на сервере, на клиенте, или при внешнем соединении). Общие модули могут содержать только раздел процедур и функций.

Основное предназначение общих модулей — это структурированное хранение процедур и функций, которые могут быть использованы во многих местах конфигурации, с целью избежать дублирования кода. Процедуры и функции, связанные между собой логически, объединяются в один общий модуль. Правильно подобранные имена общих модулей и содержащихся в них процедур и функций повышают читаемость кода, что помогает лучше ориентироваться при чтении и анализе кода.

Модуль формы

Модуль формы 1С

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

Модуль объекта

Модуль объекта 1С

Если модуль формы отвечает преимущественно за взаимодействие с пользователем, то модуль объекта ориентирован на прикладную логику и работу с самой базой данных. Модуль объекта существует у каждого прикладного объекта конфигурации, имеющего объектную сущность — у справочников, документов, планов видов характеристик и т.д.

В модуле объекта реализуется прикладная логика, связанная с обработкой одного конкретного объекта — одного элемента справочника, одного документа, одного счета из плана счетов, и т.п. Состав обработчиков в модуле объекта зависит от типа этого объекта. Например, и у документа, и у справочника есть обработчик «ПриЗаписи», но только у документа есть обработчик «ОбработкаПроведения».

Использование обработчиков в модуле объекта позволяет средствами языка 1С проверить заполнение объекта, переопределить поведение при создании нового объекта, при записи его в базу или при удалении, и т.п.

Модуль набора записей

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

Модуль менеджера значения

Модуль менеджера значения — модуль константы, в котором описываются обработчики проверки заполнения, перед записью и при записи.

Модуль менеджера

Модуль менеджера 1С

Модули менеджера доступны у многих объектов конфигурации — документов, констант, регистров, и др. Используя модуль менеджера, можно переопределить стандартное поведение платформы, касающееся сразу всех объектов, а не одного. Например:

  • сформировать представление ссылки — то, как элемент будет отображаться для пользователя
  • переопределить выбор открываемой формы
  • изменить список, формируемый платформой при вводе по строке, автоподборе текста и быстром выборе
Кроме того, в модуле менеджера можно реализовать экспортные процедуры и функции, которые будут расширять стандартный набор доступных для этого менеджера методов.

Прочие модули в платформе 1С

Существует еще значительное количество объектов, имеющих собственные модули, но у которых нет предопределенных платформой обработчиков. Предполагается, что в этих модулях разработчик будет реализовывать собственные алгоритмы.

  • Модули HTTP и Web-сервисов
  • Модули команд
  • Модули ботов (с появлением системы взаимодействия в 1С появилась возможность создавать собственных ботов)
  • Модули сервисов интеграции

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

четырнадцать − 2 =

К НАЧАЛУ