Основная страница

Глава 9
Работа с Константами


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

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

Пример:

* Изначально значение периодической константы Константа.ИмяДиректора было — "Иванов И. И.". В некоторый момент директор сменился.

Константа.ИмяДиректора.Установить('01.05.96', "Петров П.П.");

* Данный оператор устанавливает новое значение периодической константы с даты '01.05.96', но старое значение — "Иванов И. И." сохраняется до этой даты и может быть получено, например, следующей строкой текста программы:

ПрежнДирект = Константа.ИмяДиректора.Получить('01.01.96');

Средства языка предоставляют возможность непосредственного доступа к созданным в конфигураторе названиям констант в любом программном модуле, т. к. константы принадлежат глобальному контексту задачи. Работа с периодическими константами осуществляется при помощи методов Получить и Установить или при помощи специального агрегатного типа данных — Периодический. Работа с непериодическими константами осуществляется непосредственно через их идентификаторы.

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

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

Константа.<Имя_константы>,

где <Имя_константы> — название конкретной константы, как оно объявлено в окне «Метеданные» конфигуратора.

Англоязычный синоним ключевого слова КонстантаConst.

Пример:

* Пример работы с непериодическими константами:

Константа.Организация = "АО СПЕЦСТРОЙКОНСЕРВБАНК";

Константа.Адрес = "г.Москва, Вернадского, 523, 25";

Р_Счет = Константа.НашСчет;

// операторы

Если Всего > Константа.МинимальнаяЗарплата Тогда

   // операторы

Иначе

   // операторы

КонецЕсли;

Методы констант

НазначитьТип

Назначить тип для константы неопределенного типа.

Синтаксис:

НазначитьТип(<ИмяКонстанты>, <ИмяТипа>, <Длина>, <Точность>)

Англоязычный синоним:

SetType

Параметры:

<ИмяКонстанты>

Строковое выражение — название константы неопределенного типа, как она названа в конфигураторе.

<ИмяТипа>

Строковое выражение — название типа данных (или Вид субконто), который назначается константе. Например:

"Строка", "Число", "Справочник.Товары", "Документ.РасходнаяНакладная" и т. п.

<Длина>

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

<Точность>

Необязательный параметр. Числовое выражение — число знаков числа после десятичной точки. Имеет смысл только при задании числового типа.

Описание:

Метод НазначитьТип позволяет назначить тип для константы, которой в конфигураторе назначен тип «Неопределенный».

Пример:

Константа.НазначитьТип("ТМЦ", "Справочник.Товары");

УстановитьАтрибут

Установить значение константы по имени идентификатора.

Синтаксис:

УстановитьАтрибут(<ИмяРеквизита>, <3начение>)

Англоязычный синоним:

SetAttrib

Параметры:

<ИмяРеквизита>

Строковое выражение, содержащее имя константы, как оно задано в конфигураторе.

<3начение>

Выражение, содержащее устанавливаемое значение константы.

Описание:

Метод УстановитьАтрибут позволяет установить значение константы по имени идентификатора, как оно задано в конфигураторе.

Пример:

Константа.УстановитьАтрибут("ФлагЗапретаРедактирования", 1);

ПолучитьАтрибут

Получить значение константы по идентификатору.

Синтаксис:

ПолучитьАтрибут(<ИмяАтрибута>)

Англоязычный синоним:

GetAttrib

Параметры:

<ИмяАтрибута>

Строковое выражение, содержащее имя константы, как оно задано в конфигураторе.

Возвращаемое значение:

Значение константы <ИмяАтрибута>.

Описание:

Метод ПолучитьАтрибут позволяет получить значение константы по идентификатору, как оно задано в метаданных.

Пример:

ФлЗапрРед = Константа.ПолучитьАтрибут("ФлагЗапретаРедактирования");

Методы периодических констант

Получить

Получить значение периодической константы на дату.

Синтаксис:

Получить(<Дата>)

Англоязычный синоним:

GetValue

Параметры:

<Дата>

Выражение со значением требуемой даты.

Возвращаемое значение:

Значение константы на заданную дату.

Описание:

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

Пример:

// Константа.РазмерКомпенсации - периодическая

// поэтому получим значение этой константы на дату документа

РазмерДК = Константа.РазмерКомпенсации.Получить(ДатаДок);

Если РазмерДК <> 0 Тогда

   Результат = РазмерДК;

Иначе

   // операторы

КонецЕсли;

Установить

Установить значение периодической константы на дату.

Синтаксис:

Установить(<Дата>, <3начение>)

Англоязычный синоним:

SetValue

Параметры:

<Дата>

Выражение со значением требуемой даты.

<3начение>

Новое значение константы.

Описание:

Метод Установить устанавливает значение константы на определенную дату. Данный метод можно использовать только для периодических констант.

Пример:

Константа.РасчетныйСчет.Установить('01.07.96', "77889001");

Константа.Директор.Установить('01.01.85', "Иванов П.С.")







Перейти  к оглавлению: Описание встроенного языка