Глава 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',
Иванов П.С.)
Содержание раздела