|
5
lEvGl
гуру
10.02.26
✎
00:36
|
Должен быть ананонс в зазеркалье в духе «после добавления хдд в тч встал вопрос о максимальном количестве строк в тч, а также возможности удалять строки из тч. Мы планируем реализовать это в 8.3.50.1. Следите за событиями в утренних новостных сервисах 1с»
|
|
|
7
Мультук
гуру
10.02.26
✎
10:09
|
(2)
Я спросил у google - ИИ, читает ли метод ПолучитьОбъект() содержимое BLOB ?
Ответ:
Нет, метод ПолучитьОбъект() не считывает содержимое BLOB-полей (Хранилищ значения) сразу.
В 1С реализована «ленивая загрузка» (lazy loading) для тяжелых данных. Вот как это работает на техническом уровне:
Как 1С экономит память
Когда вы вызываете Объект = Ссылка.ПолучитьОбъект(), происходит следующее:
Загрузка метаданных и простых типов: 1С считывает из СУБД все обычные реквизиты (строки, числа, даты, ссылки).
Пропуск BLOB: Поля с типом ХранилищеЗначения в этот момент не загружаются в оперативную память. Вместо самих данных в объекте создается только "указатель" или пустой контейнер.
Чтение по требованию: Обращение к данным произойдет только в тот момент, когда вы явно вызовете метод .Получить() у этого реквизита.
Что насчет табличных частей?
Если BLOB-поле находится в табличной части, правило остается тем же:
при чтении объекта загружается структура строк ТЧ,
но содержимое ХранилищаЗначения в каждой строке будет прочитано из базы только при вызове метода .Получить().
P.S.
Есть правда два нюанса:
1) Это всё же ответ ИИ
2) Я не знаю работает ли это, при чтении объекта в форме, при отображении табличной части на клиенте.
У кого-то есть линк на ИТС, где разжеван ответ?
P.P.S.
На вопрос ИИ "а пруфы где" ? Был даны ответы в стиле
-- Читай ИТС. ИТС рулез.
-- Запускай SQL Server Profiler и тестируй сам
-- Человек, не делай мозг машине, думай головой сам
|
|