Справочный материал

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

1. В целях оптимизации объема данных, передаваемых между клиентом и сервером, платформа 1С:Предприятие по-особому организует передачу объектов формы типа ДанныеФормыКоллекция. Данные таких объектов передаются определенными порциями таким образом, что новые порции данных передаются с сервера на клиент только по мере обращения к этим данным на клиенте. Необходимо учитывать эту особенность при разработке форм, т.к. в противном случае, код формы может приводить к излишним неявным серверным вызовам, инициируемым платформой.См. также

См. также

 

1. В целях оптимизации объема данных, передаваемых между клиентом и сервером, платформа 1С:Предприятие по-особому организует передачу объектов формы типа ДанныеФормыКоллекция. Данные таких объектов передаются определенными порциями таким образом, что новые порции данных передаются с сервера на клиент только по мере обращения к этим данным на клиенте. Необходимо учитывать эту особенность при разработке форм, т.к. в противном случае, код формы может приводить к излишним неявным серверным вызовам, инициируемым платформой.

2. При работе с объектами типа ДанныеФормыКоллекция, если предполагается, что объект типа ДанныеФормыКоллекция может содержать большое количество строк (нужно ориентироваться на количество от 20 строк), необходимо придерживаться следующих рекомендаций:

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

Например, если решается задача по проверке в объекте строк, удовлетворяющих некоторому условию, то
неправильно:

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

правильно выполнять один явный вызов сервера:

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

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

См. также

  • Минимизация количества серверных вызовов
Записаться по телефону