- В этой теме 1 ответ, 2 участника, последнее обновление 2 часа, 7 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Нужно ли очищать рез. запроса в 1С 8.2, если его присвоили табл. знач.?
режим совместимости 8.2. Если результат запроса положили в реквизит формы таблица значений в серверной процедуре, далее конец процедуры надо ли принудительно очистить результат запроса перед концом процедуры?
В режиме совместимости 8.2 при присвоении результата запроса реквизиту формы типа «ТаблицаЗначений» в серверной процедуре принудительно очищать объект результата запроса перед завершением процедуры не нужно.
Объяснение:
— Результат запроса — это временный объект, который после выхода из процедуры автоматически будет освобождён сборщиком мусора 1С.
— При присвоении результата запроса реквизиту формы происходит копирование данных в таблицу значений реквизита, и ссылка на исходный объект результата запроса в реквизите не сохраняется.
— Поэтому нет необходимости явно вызывать Очистить() или присваивать Неопределено для результата запроса в конце процедуры. Это не влияет на корректность работы и не улучшит производительность.
Если же вы хотите явно освободить память раньше, можно вызвать РезультатЗапроса = Неопределено, но это не обязательно и в режиме совместимости 8.2 не требуется.
(там описано управление жизненным циклом объектов и особенности работы с результатами запросов в разных режимах совместимости)