Вступление
В ИТС нам обещают
платформа 1С:Предприятие самостоятельно оптимизирует объем передаваемых данных между клиентом и сервером (в обоих направлениях). Прежде всего, это реквизиты формы с табличными документами и коллекции элементов (ДанныеФормыКоллекция, ДанныеФормыСтруктураСКоллекцией, ДанныеФормыДерево)
Но давайте проверим это.
Проверка
Создаем тестовую форму с реквизитом типа ДеревоЗначений, отображаемым в таблице формы, и модулем
Код написан на скорую руку чисто для теста и не является примером для подражания
&НаКлиенте
Процедура Команда1(Команда)
Для Счетчик = 1 По 10000 Цикл
Дерево.ПолучитьЭлементы().Добавить().Реквизит1 = Счетчик;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Команда2(Команда)
Родитель = Дерево.НайтиПоИдентификатору(Элементы.Дерево.ТекущаяСтрока);
Для Счетчик = 1 По 10 Цикл
Родитель.ПолучитьЭлементы().Добавить().Реквизит1 = Счетчик;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Команда3(Команда)
СерверныйВызов();
КонецПроцедуры
&НаСервере
Процедура СерверныйВызов()
КонецПроцедуры
Команда1 - добавляет 1000 строк верхнего уровня.
Команда2 - добавляет 10 дочерних строк в текущую строку дерева.
Команда3 - делает чистый контекстный серверный вызов.
Теперь запускаем форму на платформе 8.3.27 и с включенными показателями производительности наблюдаем на числом переданных байт (показатель "Отправлено" в нижней области главного окна) в контекстных серверных вызовах после обоих видов добавления строк в дерево.
Выводы из видео
1. Передаваемое число байт при серверном вызове составляет минимально, т.е. при отсутствии изменений в форме, стабильные 1100 байт независимо от число элементов в дереве.
2. Передаваемое число байт при серверном вызове после добавления 1000 строк в дерево составляет 16900 (15800 чистых) байт независимо от общего числа элементов в дереве.
3. Передаваемое число байт при серверном вызове после добавления 10 дочерних строк в дерево составляет 1300 (200 чистых) байт независимо от общего числа элементов в дереве.
Таким образом наши наблюдения подтвердили и прояснили, что платформа в контекстном серверном вызове передает только изменившиеся строки коллекции ДанныеФормыДерево независимо от их размещения в структуре дерева.
Вступайте в нашу телеграмм-группу Инфостарт
