#std628

Использование объекта ДанныеФормыКоллекция

1.

Платформа передает данные объекта ДанныеФормыКоллекция между клиентом и сервером порциями. Новые порции передаются только по мере обращения к данным на клиенте.

Учитывайте это при разработке форм. Иначе код формы может провоцировать лишние неявные серверные вызовы.

2.

Если коллекция может содержать много строк (ориентир: от 20 строк), придерживайтесь правил:

  • обходите строки коллекции на сервере;
  • вызывайте НайтиСтроки только на сервере.

Неправильно

&НаКлиенте
Процедура ПроверитьНаличиеСтрокСНезаполненнымКоличеством()
    Если Объект.Товары.НайтиСтроки(Новый Структура("Количество", 0)).Количество() > 0 Тогда
        Предупреждение(НСтр("ru = 'Есть строки с нулевым количеством'"));
    КонецЕсли;
КонецПроцедуры

Правильно

Один явный вызов на сервер:

&НаСервере
Функция ЕстьСтрокиСНулевымКоличеством()
    Возврат Объект.Товары.НайтиСтроки(Новый Структура("Количество", 0)).Количество() > 0;
КонецФункции

&НаКлиенте
Процедура ПроверитьНаличиеСтрокСНезаполненнымКоличеством()
    Если ЕстьСтрокиСНулевымКоличеством() Тогда
        Предупреждение(НСтр("ru = 'Есть строки с нулевым количеством'"));
    КонецЕсли;
КонецПроцедуры
См. также
Источник

https://its.1c.ru/db/v8std#content:628