Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБОРАТОРНАЯ РАБОТА 7.doc
Скачиваний:
5
Добавлен:
28.08.2019
Размер:
717.82 Кб
Скачать

3. Работа с константами из встроенного языка

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

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

В глобальном контексте есть свойство Константы, при обращении к которому можно получить значение (объект), имеющее тип КонстантыМенеджер. У данного объекта столько свойств, сколько определено констант. При обращении к такому свойству можно получить объект имеющий тип значения КонстантаМенеджер.Имя константы. Соответствующая ветвь присутствует в синтакс-помощнике. У такого объекта есть два метода:

  • Получить() – позволяет прочитать значение константы

  • Установить(Значение) – позволяет записать значение в константу.

Пример чтения значения из константы:

Знач=Константы.НазваниеОрганизации.Получить();

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

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

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

Обратите внимание на три события (которые можно обрабатывать в форме констант):

  • Перед записью (событие возникает в форме после открытия транзакции, но перед самой записью)

  • При записи (событие возникает после осуществления самой записи, но перед закрытием транзакции записи)

  • После записи (событие возникает после закрытия транзакции)

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

3.1. Найдите свойство ПередЗаписью и нажмите кнопку . После этого автоматически перейдете в модуль формы. В нем необходимо прописать следующий текст:

Строка 1 содержит начало определения процедуры. После ключевого слова Процедура указывается имя процедуры, в скобках указываются принимаемые параметры. Параметр отказ имеет тип Булево, если в него записать значение Истина, то это будет являться отказом от записи всего набора констант.

Строка 2 содержит оператор проверки условия. Значение константы проверяется на равенство с пустой строкой (справедливости ради следует отметить, что читается не совсем значение константы, а читается значение, содержащееся в поле ввода НазваниеОрганизации, т.к. обращение идет через свойство формы ЭлементыФормы).

В случае истинности данного условия выполняются строки 3,4. В строке 4 определяется отказ от записи набора констант.

Строка 5 – закрывает блок описания условия

Строка 6 – закрывает тело процедуры

3.2. Перейдем к решению следующей подзадачи (контролю версии).

Версию необходимо контролировать в момент запуска программного комплекса. Для того, чтобы поймать этот момент необходимо воспользоваться событием ПриНачалеРаботыСистемы модуля приложения.

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

В модуль приложение запишите определение следующей процедуры:

1 – определение процедуры - обработчика события. Если при определении обработчика события для формы, ему можно давать произвольное имя, то в остальных случаях имя обработчика строго зафиксировано, изменять его нельзя.

2 – Чтение значения из константы НомерРелизаКонфигурации

3 – Запись нового значения в константу

4 – Вывод сообщения в окно служебных сообщений

3.3. Произведите запуск системы 1С: Предприятие и проверьте работоспособность введенного кода.

3.4. Создайте самостоятельно следующие константы:

  • ФИО руководителя и добавьте проверку на заполнение поля.

  • Минимальный размер заработной платы, установите значение мин. Размера заработной платы если данное поле не заполненно.