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

1С учимся программировать

  Все выпуски  

Встроенный язык


Опрос
Что вам хочется увидеть в следующих выпусках рассылки?
Готовые обработки, отчеты
Уроки по 1С
Примеры алгоритмов
Советы по установке, настройке 1С
Общую информацию

 

Встроенный язык.

Встроенный язык предназначен для обеспечения настаиваемости системы. Встроенный язык является предметно-ориентированным. При помощи встроенного языка разработчик может вмешаться в работу приложения для того чтобы обработать данные, выполнить какие-либо алгоритмы, действия, изменить стандартные действия системы.

Разработчик может вмешаться в работу приложения только в определенные моменты, при вызове какого-либо модуля. Для размещения текста на встроенном языке служат модули прикладного решения. Эти модули располагаются в разных местах конфигурации и служат для разных функций. Большинство модулей связано с объектами конфигурации или с самой конфигурацией. При вызове определенного модуля, выполняется соответствующий ему текст алгоритма на встроенном языке. Например модуль объекта справочника "Контрагенты" запускается при создании нового элемента справочника.

Локальный и глобальный контекст.

Существуют модули, вызываемые в процессе работы и общие модули, которые не вызываются в процессе работы. В них размещаются тексты функций и процедур которые вызываются из других модулей. Каждый модуль связан с конфигурацией, и эта связь называется контекстом выполнения модуля. Контекст определяет набор доступных в модуле объектов, переменных, процедур и функций. Для всех модулей доступен глобальный контекст. Это общий для всех модулей набор свойств и методов, системные перечисления и наборы значений, процедуры и функции общих модулей, объявленных ключевым словом "Экспорт". Локальный контекст - образуется тем местом конфигурации, откуда вызван программный модуль.

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

Виды модулей.

Модули делятся на несколько видов:

1. Модуль приложения.

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

2. Модуль внешнего соединения.

В конфигурации всегда существует единственный модуль внешнего соединения. Он выполняется при обращении к приложению как к COM-серверу. В режиме внешнего соединения запускается облегченный вариант приложения, в котором недоступны функции связанные с пользовательским интерфейсом. Поэтому вместо модуля приложения используется модуль внешнего соединения. В содуле могут располагаться переменные, процедуры и функции для экспорта, и так же процедуры обработчиков событий ПриНачалеРаботыСистемы()" и "ПриЗавершенииРаботыСистемы()". При работе в режиме внешнего соединения следует помнить что некоторые объекты встроенного языка, процедуры и функции глобального контекста будут недоступны для использования. Например,нельзя использовать объекты : диаграмма, табличный документ, диалог ввода данных и др.

3. Общие модули.

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

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

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

Пример определенния экспортной процедуры в модуле справочника:

Листинг 1.

Процедура ПриПечати() Экспрот
    // Текст программы
КонецПроцедуры

Мжно вызвать эту процедуру из другого модуля :

Листинг 2.

Банк = Справочники.Банки.НайтиПоКоду("00005").ПолучитьОбъект();
Банк.Печать();

Модули объектов располагаются в ветках конфигурации, содержащих сами объекты (Справочники, документы, отчеты и др.).

5. Модули форм.

Каждая форма в конфигурации имеет свой модуль. Модуль формы может содержать определения процедур, функций, переменных и т.д.

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

Пример получения формы:

Листинг 3.

Форма = Справочники.Банки.ПолучитьФормуСписка();

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

Эти модули существуют для любых регистров. В них определяются предопределенные процедцуры "ПриЗаписи", "ПередЗаписью".


Вы можете отправить любой вопрос по системе 1С предприятие 7.7, 8.0 по адресу vopros1C@yandex.ru. Ответ на вопрос будет опубликован в ближайшем выпуске рассылки и выслан на е-mail , с которого отправлен вопрос.


Школа 1С.
Все материалы рассылки защищены авторским правом. Полное или частичное использование материалов рассылки в коммерческих целях возможна лишь с письменного согласия автора. При некоммерческом использовании ссылка на выпуск рассылки обязательна.


В избранное