На УФ существует динамический список с выбранной основной таблицей и произвольным запросом
ВЫБРАТЬ
ДокументAdd_DC_СуточныйРапортПоОбъекту.Дата,
ДокументAdd_DC_СуточныйРапортПоОбъекту.Номер,
ДокументAdd_DC_СуточныйРапортПоОбъекту.ОбъектПроизводства,
ДокументAdd_DC_СуточныйРапортПоОбъекту.КоличествоИзмерений
ИЗ
Документ.Add_DC_СуточныйРапортПоОбъекту КАК ДокументAdd_DC_СуточныйРапортПоОбъекту
ГДЕ ДокументAdd_DC_СуточныйРапортПоОбъекту.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
Замечание: Запрос списка произвольный, чтобы не выгребать с сервера лишние данные, а только те, с которыми нужно работать оператору.
Парметры запроса &ДатаНачала И &ДатаОкончания инициализируються на клиенте при открытии формы и при изменении свойств реквизита формы СписокСтандартныйПериод. Этот реквизит служит для заменны отключенного, малопонятного работягам стандартного выбора интервала и собственно для передачи параметров в запрос на лету. Все прекрасно работает, если при изменении приводить параметры периода к виду НачалоДня(), КонецДня()
и в случае пустой даты окончания передавать в запрос максимальную дату в 1С.
Так вот вопрос:
Если вместо передачи параметров периода в запрос использовать программный отбор в компоновке списка, то что будет производительней -параметры периода в запросе или условия отбора в компоновщике списка
а) с точки зрения вызвовов сервера и соотвественно трафика;
б) с точки зрения общей скорости отображения динамического списка.
Предполагается использование этой формы на веб-клиентах для объектов которые даже не на суше, соответсвенно какналы связи там будут нестабильны и потребление трафика желательно минимизировать. Поэтому важно убрать по возможности все менее производительные варианты.
(1) протестить бы на таблице с парой лямов записей вдумчиво, но тоже склоняюсь к мнению, что компоновщик все равно потом "врезается" в запрос к БД и посему не катит.
Описанным выше способом можно заменить стандартный далог выбора интервала в списках документов, который действительно бесит многих неопытных пользователей своим "лишним" умом. Куда приятней
объявить реквизит формы СписокСтандартныйИнтервал и "бросить" на форму поля дат
ДатаНачала > СписокСтандартныйИнтервал.ДатаНачала
и
ДатаОкончания > СписокСтандартныйИнтервал.ДатаОкончания
между ними можно "втулить" и сам реквизит СписокСтандартныйИнтервал для тех кто любит слишком умные диалоги и кучей варинтов выбора.
А простому работяге нужна текущая дата или неделя, причем очевидное
(0) непонятно, в чем трудность.
Если через параметры - отображается ДС, ДС на сервер, выполняет там отбор по условиям, и возвращает результат, отображается ДС.
Если через ДС - отображается ДС, ДС на сервер, получает результат, в ДС отбором фильтруются остальные записи.
Выводы делайте сами - где быстрее запрос, и бустрее отображение ДС.
Я так представляю :)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший