bslls:CommonModuleVariables¶
Объявление переменных в общем модуле (CommonModuleVariables)¶
- Тип: Ошибка
- Важность: Критичный
- Включена по умолчанию: Да
- Теги:
standard,design
Описание диагностики¶
В платформе 1С:Предприятие общие модули функционируют как библиотеки процедур и функций и не поддерживают сохранение состояния между вызовами. Использование оператора "Перем" на уровне общего модуля приводит к тому, что переменная инициализируется заново при каждом обращении к модулю.
Для работы с состоянием необходимо использовать передачу контекста через параметры процедур и функций, структуры данных или платформенные механизмы кэширования.
Примеры¶
Ошибочный код:
Перем КэшЗначений; // Переменная потеряет значение после завершения вызова
Функция ПолучитьКэш() Экспорт
Возврат КэшЗначений;
КонецФункции
Функция ПолучитьКэш(ТекущийКэш) Экспорт // Состояние передается явно через параметры
Возврат ТекущийКэш;
КонецФункции
Источники¶
Источник: Какие переменные, процедуры и функции можно использовать в общих модулях?
Соответствие стандартам¶
Нет подтверждённых связей со стандартами.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later