d9e5a92d

Глава 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', Иванов П.С.)


Содержание раздела