Использование констант (8.2.13 и ранее)
Действует для платформы 1С:Предприятие версий 8.2.13 и ранее, а также для 8.2.14 в режиме совместимости с 8.2.13Для 8.2.14 с отключенным режимом совместимости, см. "Использование констант"См. также
Действует для платформы 1С:Предприятие версий 8.2.13 и ранее, а также для 8.2.14 в режиме совместимости с 8.2.13
Для 8.2.14 с отключенным режимом совместимости, см. «Использование констант»
Константы предназначены для хранения редко изменяющихся данных. Поэтому
1) не рекомендуется закладывать в логику работы конфигурации частое изменение значений констант из кода;
2) не следует помещать в константы большие объемы данных, например, бинарные данные – файлы, макеты, картинки и т.п.
Например, неправильно:
МояКартинка = Новый Картинка("C:\Мои документы\Картинка1.bmp"); ХранилищеКартинки = Новый ХранилищеЗначения(МояКартинка); Константы.КонстантаСКартинкой.Установить(ХранилищеКартинки);
3) следует выполнять запись констант вне транзакций.
Например, неправильно:
// Увеличиваем счетчик проведенных документов в константе Процедура ОбработкаПроведения(Отказ, РежимПроведения) ТекущееЗначение = Константы.СчетчикПроведенныхДокументов.Получить(); Константы.СчетчикПроведенныхДокументов.Установить(ТекущееЗначение + 1); КонецПроцедуры
Эти требования обусловлены особенностями хранения констант в 1С:Предприятии: на время записи значения в константу, работа других сеансов приостанавливается, если в это же время они выполняют запись этой же или любой другой константы. Подробнее о причинах избыточных блокировок и методах оптимизации см. базу знаний «Технологические вопросы крупных внедрений».
Вместе с тем, недопустимо решать проблему избыточных блокировок констант другими методами, в частности, тотальным кешированием констант в параметрах сеанса или в функциях общих модулей с повторным использованием возвращаемых значений.
См. также
-
Общие сведения об избыточных блокировках