|   |   | 
| 
 | Отличие отбора от параметра в СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        Очень Любознательная 09.08.18✎ 03:25 | 
        Здравствуйте. При создании отчёта в СКД есть 2 вкладки - "отборы" и "параметры". В чём их разница? Нагуглила только отличие на уровне реализации и выполнения запросов к SQL, а чисто в практическом плане? Когда нужно создавать отбор, а когда - задавать параметр?     | |||
| 1
    
        perester 09.08.18✎ 04:01 | 
        Ну дык отличие на уровне реализации и выполнения запросов к SQL, а в практическом плане - скорость
 Нужно создавать отбор когда это ресурс, а когда это измерение - задавать параметр Это не только в отчетах СКД, но и во всех запросах, рекомендую найти обработку "Консоль запросов" | |||
| 2
    
        Галахад гуру 09.08.18✎ 04:36 | 
        Гм. Если отбор нужен постоянно, то наверное его стоит вынести в параметры, что бы пользователю было удобно и понятно. Например период.     | |||
| 3
    
        FIXXXL 09.08.18✎ 09:39 | 
        (0)
 отборы - можно включать-выключать по желанию, параметры - нет | |||
| 4
    
        Fragster гуру 09.08.18✎ 09:53 | 
        (1)(2)(3) все неправильно :)     | |||
| 5
    
        Fragster гуру 09.08.18✎ 09:53 | 
        отборы можно добавлять в пользовательском режиме, параметры - только включать и выключать.     | |||
| 6
    
        Fragster гуру 09.08.18✎ 09:54 | 
        ещё отборы можно "прятать" под представление, оставив только галочку использования, но почему-то этим редко кто пользуется     | |||
| 7
    
        Fragster гуру 09.08.18✎ 09:55 | 
        параметры есть только у наборов данных-запросов, отборы у всех     | |||
| 8
    
        Fragster гуру 09.08.18✎ 09:57 | 
        параметры, соответственно, действуют на запросы, отборы могут относиться не только к запросам (уровень отчета), но и к конкретным группировкам     | |||
| 9
    
        Deon 09.08.18✎ 10:01 | 
        У отбора есть "Вид сравнения", который пользователь может сам менять, а у параметра нету. Пичаль.     | |||
| 10
    
        segn 09.08.18✎ 10:01 | 
        Добавлю свои 5 копеек. Параметры задает разработчик, а добавлением отбора управляет пользователь.
 Параметром можно сделать такую вещь: например создать параметр "Ед. изм." и для него сделать доступный список "руб.", "тыс. руб.". Пользователь может выбирать нужное значение из списка, и данные в отчете будут выходить в рублях или в тыс. рублях (надо в тексте запроса анализировать значение параметра и делить на 1000). Так же параметром можно управлять периодичностью. В отборах нет такой возможности. | |||
| 11
    
        AlvlSpb naïve 09.08.18✎ 10:30 | 
        И мои 5 коп.
 Отбор - это определенный фильтр на полученный результат действия, Параметр - это условие получения результата | |||
| 12
    
        Birmingem 09.08.18✎ 10:42 | 
        Объясните пожалуйста, почему в отчете на СКД такое?
 Если у параметра (например Организация) поставить галочку "Включать в доступные поля" он конечно появляется в списке доступных полей на вкладке Отбор. Но если добавить этот параметр в список отборов, то при формировании отчета выходит ошибка "Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.Организация Равно "" Т.е. параметр нельзя засунуть в отбор? | |||
| 13
    
        segn 09.08.18✎ 10:56 | 
        (12) Нельзя     | |||
| 14
    
        FIXXXL 09.08.18✎ 11:15 | 
        (5) ну и как ты "выключишь" отбор по параметру, не извращаясь в тексте запроса?     | |||
| 15
    
        Fragster гуру 09.08.18✎ 11:20 | 
        (14) открой для себя вкладку "компоновка данных" в конструкторе запросов     | |||
| 16
    
        Fragster гуру 09.08.18✎ 11:22 | 
        она, конечно, лепит чушь, но, например, необязательные параметры виртуальных таблиц прям мышкой задаются.
 ну, а если написать {ГДЕ Таблица.Поле = &Параметр} то параметр в СКД будет не обязательным и условие, если снять галку использования, включаться в текст запроса не бедут | |||
| 17
    
        FIXXXL 09.08.18✎ 11:26 | 
        (15) я говорил за "жесткую" параметризацию, без {}     | |||
| 18
    
        Fragster гуру 09.08.18✎ 11:50 | 
        (17) необязательные параметры в СКД указываются в выражениях с фигурными скобками. как и отборы (если выключить автозаполнение)     | |||
| 19
    
        FIXXXL 09.08.18✎ 12:09 | 
        (18) "Параметры" в понятиях СКД, это обязательные параметры и ничего более. Т.е. у нас с тобой просто путаница в терминах :)     | |||
| 20
    
        Вафель 09.08.18✎ 12:11 | 
        (19) а необязательные параметры тогда что такое?     | |||
| 21
    
        Fragster гуру 09.08.18✎ 12:18 | 
        (19) ой, всё. https://i.imgur.com/nleY0f2.png     | |||
| 22
    
        FIXXXL 09.08.18✎ 12:43 | 
        (21) и? 
 со снятой галкой - "Ошибка исполнения отчета." | |||
| 23
    
        Fragster гуру 09.08.18✎ 12:45 | 
        (22) правильно. это значит, что возможность выключить (использование = авто + {} в запросе) предоставляется и является штатной возможностью, а не извращшением.     | |||
| 24
    
        FIXXXL 09.08.18✎ 12:50 | 
        (20) >>>(использование = авто + {} в запросе) 
 ну то есть без {} не выключишь? | |||
| 25
    
        Fragster гуру 09.08.18✎ 12:51 | 
        (24) без {} выключишь, но будет ошибка запроса при использовании "авто"     | |||
| 26
    
        FIXXXL 09.08.18✎ 12:52 | 
        (20) и чем они отличаются от Отбора?
 я не спорю, мне интересно :) | |||
| 27
    
        Fragster гуру 09.08.18✎ 12:54 | 
        (26) тем, что попадание отбора в запрос совсем не обязательно     | |||
| 28
    
        Fragster гуру 09.08.18✎ 12:54 | 
        отбор можно добавить свой     | |||
| 29
    
        Fragster гуру 09.08.18✎ 12:54 | 
        пользователь может     | |||
| 30
    
        FIXXXL 09.08.18✎ 12:55 | 
        (27) что значит "попадание"?     | |||
| 31
    
        Cyberhawk 09.08.18✎ 12:56 | 
        (11) В обоих случаях фильтр применяется до получения данных из БД     | |||
| 32
    
        Fragster гуру 09.08.18✎ 12:58 | 
        (31) отбор не всегда так применяется, а во вторых - есть еще наборы данных не запросы     | |||
| 33
    
        Fragster гуру 09.08.18✎ 13:02 | 
        хотя с другой стороны я и параметры использовал в качестве передаваемых от пользователя в ПриКомпоновкеРезультата, чтобы свою форму не рисовать     | |||
| 34
    
        FIXXXL 09.08.18✎ 13:02 | 
        (32) давайте пока ограничимся Запросами :)
 насколько вижу, секция {ГДЕ...} играет видимую роль только при отключении Автозаполнения она в явном виде описывает поля, которые доступны к отбору | |||
| 35
    
        FIXXXL 09.08.18✎ 13:03 | 
        (33) кодом можно развернуться, не спорю )     | |||
| 36
    
        Fragster гуру 09.08.18✎ 13:04 | 
        (34) -> (16) это будет ПАРАМЕТР, а не отбор     | |||
| 37
    
        Cyberhawk 09.08.18✎ 13:05 | 
        (34) Эта секция не только описаывает доступные поля, но и указывает, что отбор отчета будет обязательно добавлен в эту секцию запроса     | |||
| 38
    
        Fragster гуру 09.08.18✎ 13:06 | 
        у которого можно выключить использование - и условие пропадет.
 А еще условие может быть не =, а целым выражением, которое пропадет, если выключить использование у всех параметров внутри него. | |||
| 39
    
        Cyberhawk 09.08.18✎ 13:07 | 
        Вообще с отборами попадос, когда несколько наборов данных. Тогда если в отборе отчета добавлено условие с полем дочернего набора, то соединение будет внутренним, а не левым )     | |||
| 40
    
        FIXXXL 09.08.18✎ 13:09 | 
        (36) сделайте Отбор при снятом Автозаполнении по полю, которого нет в секции {ГДЕ...}     | |||
| 41
    
        Fragster гуру 09.08.18✎ 13:10 | 
        (40) для использования (16) не надо снимать автозаполнение     | |||
| 42
    
        FIXXXL 09.08.18✎ 13:13 | 
        (41) чем (16) отличается от указания Отбора?     | |||
| 43
    
        FIXXXL 09.08.18✎ 13:13 | 
        (42) + при установленном Автозаполнении     | |||
| 44
    
        Fragster гуру 09.08.18✎ 13:15 | 
        (42) тем, что можно указать, например, 
 Выбор Когда Таблица.Регистратор Ссылка Документ.Документ Тогда Таблица.Поле = &Параметр Иначе Истина Конец и весь этот кусок будет выключен при снятии использования у параметра | |||
| 45
    
        Fragster гуру 09.08.18✎ 13:16 | 
        кстати, при автозаполнении 1с сама создает необязательные параметры для периода, которые можно переопределить, использовав {} в нужных местах, и которые работают точно так же - через использование     | |||
| 46
    
        Fragster гуру 09.08.18✎ 13:19 | 
        в виртуальных таблицах     | |||
| 47
    
        Вафель 09.08.18✎ 13:21 | 
        у отбора есть вид  сравнения. а у параметра нет     | |||
| 48
    
        FIXXXL 09.08.18✎ 13:41 | 
        (44) всё, понял 
 просто не пользовался таким, сколь извращенные отчеты не писал :) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |