Отправляет email-рассылки с помощью сервиса Sendsay

1С:Предприятие 8 в примерах.

  Все выпуски  

1С:Предприятие 8.0 в примерах. 16. Программные модули.


Постоянный адрес:

http://masich.info/articles/28/1/16-Idiadaiiiua-iiaoee/Nodaieoa1.html


А. Список модулей; Б. Модуль приложения; В. Форма констант; Поле ввода: режим пароля; Г. Общие модули; Д. Модуль приложения; Е. Модуль формы; Ё. Модуль внешнего соединения; Ж. Схема взаимодействия модулей. 

А. По сравнению с седьмой версией, где видов модулей целых три (глобальный, модуль формы и модуль документа), в восьмой версии из несколько больше (а конкретно целых пять). Перечень:

- модуль приложения;

- общие модули;

- модуль внешнего соединения;

- модули объекта;

- модули формы.

Обзор назначения и основных свойств модулей. 

Б. Модуль приложения. «Обрабатывает» сеанс пользователя. В этом модуле можно объявлять переменные, функции и процедуры, доступные из других видов модулей. Кроме того, здесь размещаются предопределенные процедуры, обрабатывающие события сеанса пользователя. Например: «ПриНачалеРаботыСистемы()». Мы уже вводили эту процедуру, поэтому для закрепления несколько модифицируем ее. Если кто забыл, то модуль приложения открывается так:

 

Рисунок 1.

В. Добавим немного секьюрности. Пусть пользователь при входе вводит пароль, заданный в константе «пароль» (константу, естественно, создадим). Ясно, что пароль нужно хранить так, чтоб его никто не видел. Для этого его надо отобразить «звездочками». Чтоб это сделать, создадим

Рисунок 2. 

 и соответствующим образом отредактируем форму констант. Для отображения символов «*» вместо вводимых в поле ввода существует свойство:

Рисунок 3. 

В предприятии будет следующее:

Рисунок 4. 

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

Рисунок 5. 

Завершение работы инициируется процедурой «ЗавершитьРаботуСистемы()». Подробно о процедуре можно посмотреть в С-П.

 

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

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

Рисунок 6. 

Пока оставим свойства как есть. В модуль вынесем процедуру расчета стоимости товара. В настоящий момент она находится в модуле формы. В общем модуле:

Рисунок 7. 

В модуле формы:

Рисунок 8. 

Как видно, для экспорта процедуры применяется ключевое слово «Экспорт». В общую процедуру передается текущие данные из формы документа.

Д. Модуль приложения. В отличие от семерки в восьмерке один объект может иметь несколько форм. Процедуры, функции и переменные, описанные в модуле приложения, могут быть доступны из всех форм объекта. Кроме того, в модуле объекта типа «Документ» находится процедура проведения (создания движений по регистрам) документа.

Е. Модуль формы. Элементарный модуль конкретной формы. Процедуры, функции и переменные доступны только в контексте данной формы (текущего модуля).

Ё. Модуль внешнего соединения. Работает в случае открытия конфигурации в режиме COM соединения. На этом подробно остановимся после рассмотрения COM и OLE.

Ж. Схема взаимодействия модулей:

Рисунок 9. 

В следующей статье рассмотрим основные синтаксические конструкции.

Пока все.



В избранное