| 0
    
        prtx   10.05.17✎ 15:22 | 
        добрый день всем!
 вот задумался над такой вещею, что лучше использовать: устанавливать параметры для динамического списка или юзать отбор?
 
 ситуация:
 есть обработка, в ней форма, а на форме динамический список(далее ДС),и вот задача сего ДС показывать остатки товара на разных складах, НО юзеру нужно их увидеть то на одном складу, то на другом, то на всех складах. с запросом все понятно, и мы даем юзеру реквизит для для выбора склада, после того как он его поменяет как лучше, логичнее, правильнее и самое главное быстрее получить данные:
 
 вариант 1 (юзать параметры):
 ДС.Параметры.УстановитьЗначениеПараметра("Склад", Склад);
 
 вариант 2 (юзать отбор):
 ЭлементОтбора = ДС.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
 ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");
 ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
 ЭлементОтбора.Использование = Истина;
 ЭлементОтбора.ПравоеЗначение = Склад;
 
 
 все время юзал вариант 1, и не думал, тупо красивее оно, но вот где-то наткнулся на использование варианта 2 и теперь вот меня МУЧАЮТ И РАЗРЫВАЮТ НА ЧАСТИ сомнения... как быть граждане?)))
 |  | 
    
        | 2
    
        Fedor-1971   10.05.17✎ 16:08 | 
        (0) смотря какую задачу решаешь:
1. если нужно ограничить список для пользователя только документами, которые он создал - параметр ДС даёт 100% гарантию, что чел не снимет каким-нить образом фильтр. (Логика следующая: пользователь видит своё и только, остальное ему недоступно)
 2. если по умолчанию пользователь видит "свои" документы, но нужно дать возможность смотреть все - тогда отбор, т.к. он не дёргает БД при снятии/установке (если быть точным, то работает с уже прочитанной выборкой, что по времени гораздо выигрышнее)
 
 Еще один голос за отбор: отбор даёт возможность дёргать БД по минимуму
 |  | 
    
        | 5
    
        Fedor-1971   10.05.17✎ 16:38 | 
        (4) Отбор работает с уже полученной из БД выборкой, т.е. все соединения и проч условия наложены и сформировано представление (нечто типа временной таблицы), дальше отборы работают с сим представлением. Объёмы работы по формированию списка меньше или сравним (при простом запросе) с запросом в БД.     |  |