Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Встроенный язык системы «1С: Предприятие»

Поиск

 

Разработка прикладного решения в системе «1С: Предприятие» заключается в двух основных действиях: визуальном конструировании объектов конфигурации и описании специфического поведения системы с использованием встроенного языка и языка запросов.

Встроенный язык системы «1С: Предприятие» имеет много общих черт с другими языками программирования, но не является прямым аналогом какого-либо из них. Наиболее значимые его особенности:

· мягкая типизация (тип переменной определяется типом значения, которое она содержит, и может изменяться в процессе работы);

· отсутствие программного описания прикладных типов (они создаются при добавлении объектов конфигурации);

· событийная ориентированность встроенного языка;

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

 

Модули конфигурации

Для размещения текста программы на встроенном языке предназначены модули прикладного решения. Эти модули располагаются в различных местах конфигурации и имеют различное назначение. Большинство модулей «привязано» к определенным объектам конфигурации или к самому прикладному решению.

Различают следующие виды программных модулей:

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

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

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

· Модули прикладных объектов. Каждый прикладной объект конфигурации (например, документ ПКО или справочник), данные которого могут быть модифицированы в режиме «1С: Предприятие», имеет свой модуль. Помимо описания переменных и основной программы, модуль объекта может содержать описание процедур – обработчиков событий, связанных с данным объектом конфигурации. Есть два события, которые вызываются для всех объектов - ПередЗаписью и ПриЗаписи.

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

 

Контекст

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

· Глобальный контекст, доступный во всех остальных контекстах, состоит из следующих частей:

§ свойства, методы и события глобального контекста (например, свойство РабочаяДата);

§ системные перечисления и системные наборы значений (например, КодВозвратаДиалога и Символы).

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

· В контексте модуля приложения или модуля внешнего соединения доступны экспортируемые процедуры и функции общих модулей.

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

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

Схематично взаимосвязь контекстов изображена на рис. 2. На рис. 3 изображено возможное взаимодействие модуля формы журнала и модуля документа.

 


Процедуры и функции

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

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

Пример 1:

Процедура Расчет()

Сумма=Цена*Количество;

КонецПроцедуры

Расчет(); // Вызов процедуры

Пример 2:

Перем Глоб;

// Описание процедуры

Процедура Расчет(Пар1, Пар2, ПарЗ) Экспорт

Глоб = Глоб + Пар1 + Пар2 + ПарЗ;

КонецПроцедуры

Глоб = 123;

Расчет(5, 6, 7); // Вызов процедуры

 

Пример 3:

Перем Глоб;

// Описание функции

Функция Расчет(Пар1, Пар2, ПарЗ) Экспорт

Лок = Глоб + Пар1 + Пар2 + ПарЗ;

Возврат Лок;

КонецФункции

Глоб = 123;

Рез = Расчет(5, 6, 7); // Вызов функции

Типы данных

Число, Строка, Дата, Булево, значение Неопределено, значение Null (для неуказанных значений в таблицах базы данных)

Тип. Значения специального типа «Тип» нужны для представления и сравнения типов данных, например:

Если ТипЗнч(ВыбДок)=Тип(«ДокументСсылка.Чек») Тогда …

Объявление переменных

Переменные появляются в программе в следующих случаях:

· после их объявления при помощи оператора Перем.

Перем <Имя_переменной> [Экспорт];

Перем А,В;

 

· после первого размещения имени переменной в левой части оператора присваивания.

Пример:

А=2*В;

 

· при определении имен идентификаторов редактируемых элементов диалога;

· при задании формальных параметров процедур.

 

Приведение типов

Приведение типов может быть явное и неявное.

Для явного приведения существуют следующие функции: Число, Строка, Дата, Булево. Неявное приведение типов производится системой автоматически при вычислении выражений.

Пример: значение числовой переменной НомерМесяца неявно преобразуется в строку и присоединяется к другой строке:

А= «Месяц»+НомерМесяца;

 

Справочники

Работа со справочниками производится с помощью следующих объектов:

· СправочникиМенеджер. Обеспечивает доступ ко всем справочникам конфигурации. Свойства этого объекта совпадают с именами справочников и содержат объекты типа СправочникМенеджер.

· СправочникМенеджер. Обеспечивает доступ к операциям над справочником как множеством элементов. Через методы этого объекта можно осуществлять поиск, получать выборку, создавать новые элементы, обращаться к формам и макетам справочника.

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

· СправочникОбъект. Предоставляет доступ к элементу с возможностью записи. Данный объект содержит методы, влияющие на элемент в базе данных, например, методы Записать и Удалить.

· СправочникВыборка. Предоставляет возможность перебора элементов справочника. Выборка может быть прямой или иерархической.

· СправочникСписок. Объект для управления списком элементов в табличном поле. Позволяет управлять колонками, отбором и сортировкой в списке.

 



Поделиться:


Последнее изменение этой страницы: 2016-12-28; просмотров: 1209; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.115.45 (0.008 с.)