Главная Материалы Язык 1С: Константы

Язык 1С: Константы

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

Для каждой константы нужно обязательно указать ее имя и тип данных. Обращение к константам в программном модуле осуществляется очень просто:

 

1. Чтение значения константы

Мы можем прочитать значение константы с помощью метода Получить()

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

Обратите внимание на слово Константы (а не Константа, как было в версии 7.7).

 

2. Запись нового значения константы

Для записи (установки) нового значения константы используется метод Установить()

// запись нового значения Константы
Константы.НазваниеОрганизации.Установить("ООО Рога и копыта");
 

3. Работу с набором констант

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

//создаем набор из трех констант

//обратите внимание, что мы лишь создаем набор констант и пока не знаем их значения

Набор = Константы.СоздатьНабор("Руководитель,НазваниеОрганизации,АдресОрганизации");

//теперь с помощью метода Прочитать() мы можем прочитать значения констант нашего набора

Набор.Прочитать(); //прочитать из базы сразу три константы

Так как при работе с набором констант мы может изменить (записать) значения всех констант набора одновременно, то сначал нам необходимо установить каждой константе новое значение, а затем с помощью метода Записать() произвести их одновременную запись.

//устанавливаем значение констант в наборе (не в базе)
Набор.Руководитель = "Иванов И.И.";
Набор.НазваниеОрганизации = "ООО Новые рога и копыта";
Набор.АдресОрганизации = "Россия, г. Москва, Кремль";
Набор.Записать();   //записываем в базу сразу значения трех констант

 

4. Сравнение со значением константы в запросах

 

Иногда нам может потребоваться в запросе сравнить данные со значением константы. В данном примере мы выбираем записи из справочника Напоминания, у которых значение реквизита Код равно значению нашей константы НашеЧисло. Более подробно язык запросов 1С мы рассмотрим в следующих материалах по встроенному языку 1С. 

"ВЫБРАТЬ
|   НашеЧ.Значение,
|   Напоминания.Код,
|ИЗ
|   Константа.НашеЧисло КАК НашеЧ,
|   Справочник.Напоминания КАК Напоминания
|ГДЕ
|   Напоминания.Код = НашеЧ.Значение"

Количество просмотров: 67252

Комментарии

  • <p style="border: 0px none; border-collapse: collapse; font-family: 'Lucida Sans Unicode', 'Lucida Sans', 'Lucida Grande', Verdana, Geneva, sans-serif; text-align: justify;"><span style="border: 0px none; border-collapse: collapse; color: rgb(0, 128, 0);">//теперь с помощью метода Получить() мы можем прочитать значения констант нашего набора</span></p><p style="border: 0px none; border-collapse: collapse; font-family: 'Lucida Sans Unicode', 'Lucida Sans', 'Lucida Grande', Verdana, Geneva, sans-serif; text-align: justify;"><span style="border: 0px none; border-collapse: collapse; color: rgb(0, 0, 255);">Набор.Прочитать</span><span style="border: 0px none; border-collapse: collapse; color: rgb(255, 0, 0);">();</span>&nbsp;<span style="border: 0px none; border-collapse: collapse; color: rgb(0, 128, 0);">//прочитать из базы сразу три константы</span></p><p style="border: 0px none; border-collapse: collapse; font-family: 'Lucida Sans Unicode', 'Lucida Sans', 'Lucida Grande', Verdana, Geneva, sans-serif; text-align: justify;"><span style="color: rgb(0, 128, 0); font-size: 1em; line-height: 1.5;">Интересно, здесь нет опечатки? Вроде речь шла о методе&nbsp;</span><span style="color: rgb(0, 128, 0); font-size: 1em; line-height: 1.5;">Получить().</span></p>
    30 августа 2013 , 20:11
  • <p>Игорь, спасибо. Опечатку исправил.</p>
    02 сентября 2013 , 11:11
  • Влад,тогда поясни,пожалуйста,в каких случаях использовать метод Прочитать(),а в каких Получить()?
    02 сентября 2013 , 13:03
  • <p>Для Игоря. Метод прочитать() применяется только для наборов констант. Если нужно прочитать несколько переменных, то можно конечно и читать Константы по отдельности (через метод Получить()). С точки зрения производительности каких-либо заметных нагрузок на сервер не будет (вместо 1 вызова сервера будет, скажем, 3 или 5). Но правильнее использовать набор констант. &nbsp;А если забыть про наборы (на практике они применяются нечасто), то у Констант всего 2 основных метода: получить значение и установить значение.</p>
    02 сентября 2013 , 13:52