|
Не обязательное заполнение параметра запроса | ☑ | ||
---|---|---|---|---|
0
myr4ik07
22.07.16
✎
15:16
|
ВЫБРАТЬ
СотрудникиОрганизаций.Ссылка ИЗ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций {ГДЕ (СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников) КАК Поле2} и хоть заполняю хоть не заполняю ГруппаСотрудников параметр постоянно показывает всех сотрудников. Консоль запросов. |
|||
1
myr4ik07
22.07.16
✎
15:16
|
хочу, что бы если заполнено параметр то результат с фильтром заполненного параметра, если не заполненный то по всех сотрудниках
|
|||
2
Горогуля
22.07.16
✎
15:17
|
консоли запросов поровну на твои скобки
|
|||
3
myr4ik07
22.07.16
✎
15:19
|
(2) а если в боевом то будет норм?
|
|||
4
Lexey_
22.07.16
✎
15:20
|
(3) в боевом построителе
|
|||
5
Mauser
22.07.16
✎
15:20
|
(3) Это смотря, что такое норм
|
|||
6
Горогуля
22.07.16
✎
15:20
|
в боевом построителе? в боевом схеме?
|
|||
7
Mauser
22.07.16
✎
15:22
|
в тыловом компоновщике!
|
|||
8
myr4ik07
22.07.16
✎
15:23
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
запрос = Новый Запрос; запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Ссылка |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |{ГДЕ | (СотрудникиОрганизаций.Ссылка В (&ГруппаСотрудников)) КАК Поле2}"; запрос.УстановитьПараметр("ГруппаСотрудников",Реквизит1); в= запрос.Выполнить().Выбрать(); Пока в.Следующий() Цикл Сообщить(в.ссылка); КонецЦикла; КонецПроцедуры постоянно вылетают все сотрудники |
|||
9
Горогуля
22.07.16
✎
15:24
|
(8) ага
|
|||
10
Lexey_
22.07.16
✎
15:24
|
(8) всё верно
|
|||
11
myr4ik07
22.07.16
✎
15:25
|
(10) (9) ну, яв реквизит поместил чувака, а оно мне всех чуваков выкидывает, а я хочу что бы помещенного чувака показало только
|
|||
12
Mauser
22.07.16
✎
15:25
|
не сотрудники, а сотрудники организаций
|
|||
13
myr4ik07
22.07.16
✎
15:26
|
(12) да какая разница, все ровно всех лупит
|
|||
14
Горогуля
22.07.16
✎
15:27
|
(11) где &чувак<>пустаяссылка или ссылка=&чувак
|
|||
15
Горогуля
22.07.16
✎
15:27
|
(14) =
|
|||
16
myr4ik07
22.07.16
✎
15:30
|
(14) та шо це таке, шо не так тут?
Процедура КнопкаВыполнитьНажатие(Кнопка) ОчиститьСообщения(); запрос = Новый Запрос; запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Ссылка |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |{ГДЕ | (&ГруппаСотрудников <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) | ИЛИ СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников) КАК Поле2}"; запрос.УстановитьПараметр("ГруппаСотрудников",Реквизит1); в= запрос.Выполнить().Выбрать(); Пока в.Следующий() Цикл Сообщить(в.ссылка); КонецЦикла; КонецПроцедуры |
|||
17
aleks_default
22.07.16
✎
15:31
|
(15)Акелла промахнулся:)
|
|||
18
Горогуля
22.07.16
✎
15:32
|
(16) на счёт "три" у тебя проснётся разум и ты обратишь внимание на (2). раз, два...
|
|||
19
youalex
22.07.16
✎
15:32
|
(16) скопки
|
|||
20
Горогуля
22.07.16
✎
15:32
|
(17) НЕ <> хотел сказать ;)
|
|||
21
myr4ik07
22.07.16
✎
15:33
|
(15) так я уже без консоли, это просто обработка с одним реквизитом, там же процедура написано (16)
|
|||
22
Горогуля
22.07.16
✎
15:34
|
(21) просто обработке поровну на твои скобки. консоль, кстати - тоже просто обработка
|
|||
23
myr4ik07
22.07.16
✎
15:34
|
та ты хоть скобки хоть копки
Процедура КнопкаВыполнитьНажатие(Кнопка) ОчиститьСообщения(); запрос = Новый Запрос; запрос.Текст = "ВЫБРАТЬ | СотрудникиОрганизаций.Ссылка |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |{ГДЕ | (НЕ &ГруппаСотрудников <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) | ИЛИ СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников) КАК Поле2}"; запрос.УстановитьПараметр("ГруппаСотрудников",Реквизит1); в= запрос.Выполнить().Выбрать(); Пока в.Следующий() Цикл Сообщить(в.ссылка); КонецЦикла; КонецПроцедуры не работает, постоянно всех чуваков вываливает |
|||
24
Горогуля
22.07.16
✎
15:34
|
три!
|
|||
25
myr4ik07
22.07.16
✎
15:34
|
(22) а чего то не понял, так где же его применять?
|
|||
26
Горогуля
22.07.16
✎
15:35
|
(25) кого?
|
|||
27
myr4ik07
22.07.16
✎
15:36
|
(26) это дранное условие
|{ГДЕ | (НЕ &ГруппаСотрудников <> ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) | ИЛИ СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников) КАК Поле2}"; ? |
|||
28
Горогуля
22.07.16
✎
15:37
|
это условие - в построителе или схеме
|
|||
29
Borteg
22.07.16
✎
15:37
|
(23) скобки используются только построителем, все остальное игнорирует скобки, используй в условии конструкцию выбор когда, например Выбор когда &Группасотрудников = НАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) Тогда истина Иначе СотрудникиОрганизаций.Ссылка В Иерархии &ГруппаСотрудников Конец
|
|||
30
myr4ik07
22.07.16
✎
15:42
|
(29) аааа, ану попробую
|
|||
31
myr4ik07
22.07.16
✎
15:44
|
(29) стоп, это если заполнено чувака то должно показать будет одну строчку по этому чуваку, а если не заполнено то всех чуваков?
|
|||
32
Borteg
22.07.16
✎
15:45
|
(31) это если группасотрудников не заполнена то выведется все, если заполнено то сотрудники в этой группе.
|
|||
33
myr4ik07
22.07.16
✎
15:46
|
(32) http://prntscr.com/bw48wm какой то бред показывает, я ж хочу что бы если чувак заполнен то показать одного только чувака, одну строку, а если нет то показать всех чуваков, куча строчек
|
|||
34
Borteg
22.07.16
✎
15:47
|
(33) осталось применить это конструкцибю в нужном место, в секции где
|
|||
35
Горогуля
22.07.16
✎
15:48
|
(33) есть такое слово: булева алгебра
|
|||
36
Borteg
22.07.16
✎
15:48
|
"ВЫБРАТЬ
| СотрудникиОрганизаций.Ссылка |ИЗ | Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций |ГДЕ | Выбор Когда &ГруппаСотрудников = ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) Тогда Истина Иначе | СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников) КАК Поле2}"; |
|||
37
Borteg
22.07.16
✎
15:49
|
(36) скобку вконце убери
|
|||
38
Генератор
22.07.16
✎
15:50
|
для этого ж построитель придумали, и в конструкции "где" не задавать равно, а вид условия задавать в элемента отбора построителя: добавил элемент будет отбор, не добавил не будет
|
|||
39
Горогуля
22.07.16
✎
15:50
|
(36) с ИЛИ как-то элегантней
|
|||
40
Borteg
22.07.16
✎
15:50
|
(39) вообще неэлегантно( и запрос просто жесть наверное по плану, все или в условиях это огромная нагрузка
|
|||
41
myr4ik07
22.07.16
✎
15:52
|
(36) ну ты даешь,
ВЫБРАТЬ СотрудникиОрганизаций.Ссылка ИЗ Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций ГДЕ ВЫБОР КОГДА &ГруппаСотрудников = ЗНАЧЕНИЕ(Справочник.СотрудникиОрганизаций.ПустаяСсылка) ТОГДА ИСТИНА ИНАЧЕ СотрудникиОрганизаций.Ссылка = &ГруппаСотрудников КОНЕЦ пашет, вот спасибо |
|||
42
myr4ik07
22.07.16
✎
15:52
|
не доганяю конечно, почему так ... но пашет
|
|||
43
Горогуля
22.07.16
✎
15:53
|
(42) надо было на лекции ходить
|
|||
44
Borteg
22.07.16
✎
15:55
|
(42) да там вроде все очень просто. сначала выбор идет(выбираются все записи из справочника), потом накладываешь условие, в нем сначала смотришь если заполнено значение тогда применяешь условие что сотрудник = сотрудник, если не заполнено то фиктивное условие применяешь ИСТИНА. Истина это просто фиктивное условие ничего не значащее
|
|||
45
myr4ik07
22.07.16
✎
16:00
|
(44) т.е., если я конструкцию лупашу в поля выборки то для каждого результата будет результат который выдаст Выбор когда, из за того, показывало постоянно всех сотрудников но просто или Да (истина) или выбранный чувак, а что бы только чувака выбирать нам же нужно Условие, а в полях выборки мы не можем наложить условие на вывод количества записей.
ну как бы понятно, спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |