Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Описание встроенного языка , Глава 1 - Формат исходных текстов программных модулей          
Vofka Подменю пользователя
сообщение 03.03.09, 11:27
Сообщение #1

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13948
Из: Киев
Спасибо сказали: 4514 раз
Рейтинг: 3635.6

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


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


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


Контекст выполнения программного модуля


Каждый программный модуль связан с остальной частью конфигурации задачи. Эта связь называется контекстом выполнения модуля. Следует различать два вида контекста:


· глобальный контекст задачи;


· локальный контекст выполнения конкретного модуля.


Глобальный контекст образуется:


· значениями системных атрибутов, системными процедурами и функциями;


· значениями заданных в конфигураторе констант, перечислений, регистров, видов расчета, групп видов расчета;


· переменными, процедурами и функциями глобального программного модуля, объявленными с ключевым словом Экспорт.


Глобальный контекст виден всем программным модулям и определяет общую языковую среду конфигурации.


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


Формат программного модуля


Исходный текст программного модуля может состоять из операторов и комментариев.


Комментарии


Комментарий используется для размещения в исходном тексте программного модуля всякого рода пояснений к работе модуля. Хорошим тоном программирования считается, когда исходный текст содержит исчерпывающий комментарий с описанием алгоритма. В режиме исполнения программы комментарии пропускаются. В тексте программного модуля комментарий начинается парой символов "//" и заканчивается концом строки. Это значит, что комментарий можно начинать с начала строки или записывать его после оператора на той же строке. После начала комментария писать оператор на той же строке нельзя, необходимо закончить комментарий концом строки.


Пример:
А=В; // Это – комментарий
// Это тоже комментарий
Формат операторов


Операторы имеют вид стандартного обращения к процедуре, за исключением оператора присваивания (А=Вwink.gif и управляющих конструкций (таких как Для, Пока, Если). Между собой операторы обязательно следует разделять сим­волом ";" ( точкой с запятой). Конец строки не является признаком конца оператора, т. е. операторы могут свободно переходить через строки и продолжаться на другой строке. Можно располагать произвольное число операторов на од­ной строке, разделяя их символом ";".


Операторы языка в программном модуле можно подразделить на две категории: операторы объявления переменных и исполняемые операторы.


Операторы объявления переменных создают имена переменных, которыми манипулируют исполняемые операторы.


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


В общем случае формат оператора языка следующий:


~метка:Оператор[(параметры)] [ДобКлючевоеСлово];


В качестве меток используются специальные идентификаторы, начинающиеся с символа '~' (тильда) и состоящие из последовательности букв, цифр и символов '_'. Чтобы пометить оператор, надо поместить перед ним метку и следующий за ней символ ":".


Пример:


~метка:А=В;


Имена переменных, процедур и функций


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


Зарезервированные слова


Приведенные далее ключевые слова являются зарезервированными и не могут использоваться в качестве создаваемых имен переменных и объявляемых процедур и функций. В данном варианте языка каждое из ключевых слов имеет два представления — русское и английское. Английское представление является традиционным для языков программирования. Ключевые слова в русском и английском представлении могут свободно смешиваться в одном исходном тексте. Регистр букв ключевых слов не имеет значения. Ниже приведен список ключевых слов в обоих вариантах представления.


Структура программного модуля


Структуру программного модуля можно подразделить на следующие разделы:
· раздел определения переменных;


· раздел процедур и функций;


· раздел основной программы.


В конкретном программном модуле любой из разделов может отсутствовать.


Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция или любого исполняемого оператора. В этом разделе могут находиться только операторы объявления переменных Перем.


Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций.


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

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 28.03.24, 17:49
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!