Имя: Пароль:
1C
1С v8
СКД выбор условия в виртуальной тиблице
0 tg30000
 
11.06.14
08:56
Отчет на СКД.
запрос к регистру сведений.Условия заполняются в параметрах виртуальной таблицы.Как правильно написать , что если параметр не заполнен , то отбор ведется по всем (например подразделениям)

Если написать условие вида :

ВЫБОР
    КОГДА Кабинет = ЗНАЧЕНИЕ(Справочник.Кабинеты.Пустаяссылка)
        ТОГДА ИСТИНА
    ИНАЧЕ Кабинет = &Кабинет
КОНЕЦ


работает но "галка" кабинет должна быть активна.Как сделать выбор что бы можно было не отмечать "галку" ?
1 МойКодУныл
 
11.06.14
09:02
(0) а зечем его вообще прописывать в запросе, если тебя СКД? Выбери это поле и все. Если нужно - добавляешь в отборы, если не нужно - не добавляешь. В чем вопрос то?
2 tg30000
 
11.06.14
09:06
(1)База большая условие нужно накладывать сразу, что бы не получать всю выборку ,а потом только уже выбирать.
3 МойКодУныл
 
11.06.14
09:14
(2) Можно в ДоработатьКомпоновщикПередВыводом() что-нить написать. Если ты на шаблоне типового отчета делаешь.
4 wms
 
11.06.14
09:15
может так
ВЫБОР
    КОГДА &Кабинет = ЗНАЧЕНИЕ(Справочник.Кабинеты.Пустаяссылка)
        ТОГДА ИСТИНА
    ИНАЧЕ Кабинет = &Кабинет
КОНЕЦ
5 GenAcid
 
11.06.14
09:16
{Кабинет = &Кабинет}
6 tg30000
 
11.06.14
09:19
(4) Да так и было написано, но если "галку" не ставить то ошибка :Не задано значение параметра "Кабинет"
ИНАЧЕ Кабинет = <<?>>&Кабинет
7 tg30000
 
11.06.14
09:20
(5) а как это в операторе выбор указать правильно?
8 GenAcid
 
11.06.14
09:23
(7) не нужен выбор

ИЗ РегистрСведений.ТвойРегистр.СрезПоследних(&Период, {Кабинет=&Кабинет}) КАК ...
9 Fragster
 
гуру
11.06.14
09:27
(&Период, {Кабинет.*}) и юзать отбор вместо параметров
10 GenAcid
 
11.06.14
09:30
(9) Тоже вариант, но иногда нужно параметрами ограничить начальную выборку.
11 Fragster
 
гуру
11.06.14
09:31
(10) да. только у автора типа необязательный параметр и всё такое...
12 tg30000
 
11.06.14
09:34
(7)(9)
Спасибо большое!Все работает)
13 tg30000
 
11.06.14
09:35
но выборка получается при таком методе вся формируется,а потом накладывается отбор?
14 GenAcid
 
11.06.14
09:36
(11) Так в моем варианте он и будет необязательным. Если параметр не указан - просто не отработает условие.
15 GenAcid
 
11.06.14
09:37
(13) Не, отбор сразу на выборку накладывается.
16 tg30000
 
11.06.14
09:37
(15)Это хорошо.
17 tg30000
 
11.06.14
09:37
Еще раз всем спасибо)
18 Timon1405
 
11.06.14
09:38
также см. Компоновка данных -> Условия
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.