Презентация ИС 2013_1
.pdfПонятие программного модуля
(ПМ)
Программный модуль в системе 1С: Предприятие не является самостоятельной программой, а является частью конфигурации задачи.
ПМ – это контейнер для размещения текстов процедур и функций, вызываемых системой во время исполнения задачи.
Язык 1С обладает некоторыми объектноориентированными возможностями, например, правила доступа к атрибутам и методам специализированных типов данных (документам, справочникам и т. п.).
Переменные необязательно объявлять в явном виде, можно использовать неявное определение – использование имени в левой части оператора присваивания.
341
Понятие программного модуля
(ПМ)
Каждый отдельный программный модуль воспринимается системой как единое целое. Говорят, все процедуры и функции модуля составляют единый контекст.
Различают два вида контекста:
1.глобальный контекст задачи;
2.локальный контекст выполнения конкретного модуля.
Глобальный контекст образуется:
системными процедурами и функциями;
значениями констант, перечислений, регистров и т. п., заданных в Конфигураторе;
переменными, процедурами и функциями, объявленными с ключевым словом Экспорт.
.
342
Понятие программного модуля
(ПМ)
Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.
Открыть Глобальный модуль
Выполнить команду Глобальный модуль в меню
Действия
Локальный контекст модуля виден только конкретному модулю и определяет набор доступных этому модулю значений агрегатных типов данных, их атрибутов и методов.
343
Виды модулей компоненты “Оперативный учет”
1.Глобальный модуль – определяет глобальный контекст всей задачи.
2.Модуль формы списка справочника – запускается при вызове формы списка.
3.Модуль формы группы справочника - запускается при открытии формы группы справочника.
4.Модуль формы элемента справочника - запускается при вводе значения элемента.
5.Модуль формы документа - запускается при открытии формы документа.
6.Модуль документа - запускается при проведении документа, при удалении документа, при снятии проведения.
7.Модуль формы журнала документа - запускается при вызове формы журнала.
344
Формат программного модуля
ПМ состоит из операторов и комментариев.
Комментарий начинается с двойной наклонной черты
(//).
Оператор заканчивается символом точка с запятой (;). Операторы подразделяются на:
операторы объявления переменных;
исполняемые операторы.
345
Структура программного модуля
ПМ состоит из следующих разделов:
раздел определения переменных;
раздел процедур и функций;
раздел основной программы.
Специальные символы, используемые в контексте модуля:
| - вертикальная черта в начале строки используется только в строковых константах – означает, что данная
строка является продолжением предыдущей.
() – в круглые скобки заключается, список параметров методов, процедур и функций.
[] - в квадратные скобки заключается значение размерности массива.
“” - в кавычки заключаются строковые константы. ‘’ - в апострофы заключаются константы дат.
. - точка является разделителем в описаниях агрегатных
типов данных. |
346 |
Пример
// Определение переменных
Перем Имя1; Перем Имя2;
//Процедуры и функции
Процедура ИмяПроцедуры1()
//текст процедуры
КонецПроцедуры Функция ИмяФункции1()
//текст функции
КонецФункции
//Раздел основной программы
Имя1 = "123";
347
Объявление переменных
Синтаксис:
Перем <Имя_перем> [<размерность>] [Экспорт]; Пример:
Перем Очень_Нужная_Переменная; Перем Массив_Для_Хранения [10] ;
Экспорт – необязательное ключевое слово – указывает, что данная переменная доступна для других модулей.
Ключевое слово Экспорт используется только в глобальном модуле.
348
Управляющие операторы.
Синтаксис: Условный оператор
Если <логическое выражение> Тогда // операторы;
[ИначеЕсли < логическое выражение > Тогда ] // операторы;
[Иначе] |
ИначеЕсли – это вложенная Если, которая |
||
используется в качестве значения “по нет” |
|||
// операторы; |
|||
|
|
||
КонецЕсли; |
|
ПолучитьДатуТА() – это функция, |
|
Пример: |
|
||
Если ДатаК < ДатаН Тогда |
которая возвращает дату точки |
||
актуальности |
ДатаК = ДатаН; ИначеЕсли ДатаК > ПолучитьДатуТА() Тогда ДатаК = ПолучитьДатуТА();
КонецЕсли; |
349 |
|