|
Вид Сравнения вставить в запрос с элемента формы | ☑ | ||||||
---|---|---|---|---|---|---|---|---|
0
Fuas4
10.12.13
✎
07:50
|
Добрый день!
Есть дерево значений, которое заполняется по результатам запроса. На форму хочу запилить отбор по номенклатуре (равно/не равно, в группе и прочее) На форму добавил поле ввода с типом Системные перечисления.ВидСравнения и список значений с моей номенклатурой. Как подпихнуть запросу СЗ вопросов нет, а как подпихнуть в запрос вид сравнения понять не могу. Можно это сделать, не создавая соответствие типа "Равно = "="", "Не равно = "<>"" Или только хардкор? |
|||||||
1
chelentano
10.12.13
✎
07:51
|
(0) ПостроительЗапроса, ПостроительОтчета
|
|||||||
2
Fuas4
10.12.13
✎
07:52
|
(1) А через СтрЗаменить()?
|
|||||||
3
chelentano
10.12.13
✎
07:54
|
(2) а нафига?
|
|||||||
4
Fuas4
10.12.13
✎
07:55
|
(3) Ну так красивее же. Тупо текст запроса подправил и все
|
|||||||
5
chelentano
10.12.13
✎
07:56
|
(4) ну ка, давай примерчик твоего "красивого" кода
|
|||||||
6
Defender aka LINN
10.12.13
✎
07:56
|
(4) Хренасе у тебя понятия о красоте...
|
|||||||
7
Fuas4
10.12.13
✎
08:00
|
(5) Так там смотреть то особо не на что:
Текст="ВЫБРАТЬ | Ном.Ссылка КАК Номенклатура, | ЕСТЬNULL(Ном.Выгружать1, 0) КАК ВыгружатьНаСайт, | НоменклатураВыгружаемаяНаСайт.Склад КАК Склд, | НоменклатураВыгружаемаяНаСайт.Выгружаем, | ЛОЖЬ КАК Удалить, | Ном.Код |ИЗ | Справочник.Номенклатура КАК Ном | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураВыгружаемаяНаСайт КАК НоменклатураВыгружаемаяНаСайт | ПО (НоменклатураВыгружаемаяНаСайт.Номенклатура = Ном.Ссылка) |ГДЕ | Ном.ПометкаУдаления = ЛОЖЬ | И 1 = 1 | |УПОРЯДОЧИТЬ ПО | Ном.Ссылка ИЕРАРХИЯ"; Дальше должно быть СтрЗаменить(Текст,"1 = 1", МоеКлассноеПрограммноФормируемоеУсловие") Или щас вы расскажете мне, что это гомнокод? |
|||||||
8
Wobland
10.12.13
✎
08:03
|
>ЕСТЬNULL(Ном.Выгружать1, 0) КАК ВыгружатьНаСайт
так себе |
|||||||
9
Defender aka LINN
10.12.13
✎
08:03
|
(7) Да твой запрос нам никуда не впился. Ты покажи, как "МоеКлассноеПрограммноФормируемоеУсловие" формируется.
|
|||||||
10
Wobland
10.12.13
✎
08:03
|
>Ном.ПометкаУдаления = ЛОЖЬ
тоже не очень |
|||||||
11
Fuas4
10.12.13
✎
08:05
|
(8) а как надо? (10) "не Ном.ПометкаУдаления" красивее, согласен
|
|||||||
12
Fuas4
10.12.13
✎
08:06
|
(9) Никак пока не формируется.
|
|||||||
13
catena
10.12.13
✎
08:08
|
(12)Но однозначно красивее построителя :)
|
|||||||
14
Defender aka LINN
10.12.13
✎
08:09
|
(12) Вот никак и не формируй. У платформы есть целых 2 специально обученных объекта, которые тебе сами, без лишних телодвижений готовы выдать готовый запрос.
Но одинэснеги - они как самураи. Видимо, где-то есть бусидо одинэснега, где говорится: "Если у одинэснега есть два пути и один путь ведет к говнокоду, одинэснег должен избрать его. Из двух же говнокодов надо выбирать тот, где больше строк" |
|||||||
15
Fuas4
10.12.13
✎
08:09
|
Все, пошел за построителем, а то щас закидаете, знаю я вас :)
|
|||||||
16
Fuas4
10.12.13
✎
08:10
|
(14) я щас как раз читаю мемуары одного самурая
|
|||||||
17
dclxvi
10.12.13
✎
08:12
|
Если (От_Организация И (НЕ ЭлементыФормы.ПанельОтбор.Свертка = РежимСверткиЭлементаУправления.Верх)) Тогда
ТекстУслТовары = ТекстУслТовары + " И ПродажиОбороты.ДокументПродажи.Организация " + ВидОтбора(ВС_Организация) + " (&Организация)"; КонецЕсли; Функция ВидОтбора(ПолеВидаОтбора) Если ПолеВидаОтбора = ВидСравнения.Равно Тогда ВидОтбора = "=" ИначеЕсли ПолеВидаОтбора = ВидСравнения.НеРавно Тогда ВидОтбора = "<>" ИначеЕсли ПолеВидаОтбора = ВидСравнения.ВСписке Тогда ВидОтбора = "В" ИначеЕсли ПолеВидаОтбора = ВидСравнения.НеВСписке Тогда ВидОтбора = "НЕ В" ИначеЕсли ПолеВидаОтбора = ВидСравнения.ВСпискеПоИерархии ИЛИ ПолеВидаОтбора = ВидСравнения.ВИерархии Тогда ВидОтбора = "В ИЕРАРХИИ" ИначеЕсли ПолеВидаОтбора = ВидСравнения.НеВСпискеПоИерархии ИЛИ ПолеВидаОтбора = ВидСравнения.НеВИерархии Тогда ВидОтбора = "НЕ В ИЕРАРХИИ" КонецЕсли; Возврат ВидОтбора; КонецФункции // ВидОтбора() |
|||||||
18
Fuas4
10.12.13
✎
08:13
|
(17) Я смотрю, тут есть еще самураи :)
|
|||||||
19
Wobland
10.12.13
✎
08:14
|
Юноши «Ветвей дерева» и клана «Хранителей времени» в течение года вместе изучали воинское искусство.
На ежегодных состязаниях молодые бойцы «Ветвей дерева» победили своих братьев из «Хранителей времени» только потому, что по совету Птицы — Хранительницы Камня они часто созерцали цветущие лотосы. Это ли не сила красоты? |
|||||||
20
dclxvi
10.12.13
✎
08:15
|
(18) По идее этот код морально устарел лет на 6-8.
|
|||||||
21
dclxvi
10.12.13
✎
08:17
|
(17)+ если будет использоваться отбор по списку значений:
Процедура ПлВСОрганизацияПриИзменении(Элемент) Если ТипЗнч(Зн_Организация) = Тип("СправочникСсылка.Организации") Тогда ЗаписываемоеЗначение = Зн_Организация; Иначе Если Зн_Организация.Количество() = 0 Тогда ЗаписываемоеЗначение = ПустоеЗначениеТипа("СправочникСсылка.Организации") Иначе ЗаписываемоеЗначение = Зн_Организация[0].Значение; КонецЕсли; КонецЕсли; Если Элемент.Значение = ВидСравнения.ВСписке ИЛИ Элемент.Значение = ВидСравнения.НеВСписке ИЛИ Элемент.Значение = ВидСравнения.ВСпискеПоИерархии ИЛИ Элемент.Значение = ВидСравнения.НеВСпискеПоИерархии Тогда ЭлементыФормы.ПлЗнОрганизация.ОграничениеТипа = Новый ОписаниеТипов("СписокЗначений"); Зн_Организация = Новый СписокЗначений; Если Не ЗначениеНеЗаполнено(ЗаписываемоеЗначение) Тогда Зн_Организация.Добавить(ЗаписываемоеЗначение); КонецЕсли; Иначе ЭлементыФормы.ПлЗнОрганизация.ОграничениеТипа = Новый ОписаниеТипов("СправочникСсылка.Организации"); Зн_Организация = ЗаписываемоеЗначение; КонецЕсли; КонецПроцедуры |
|||||||
22
Fuas4
10.12.13
✎
08:17
|
(20) Построитель уже юзаю. Иду в ногу со временем
|
|||||||
23
Defender aka LINN
10.12.13
✎
08:20
|
(22) Не, в ногу со временем - это СКД
|
|||||||
24
Fuas4
10.12.13
✎
08:25
|
(23) У меня не отчет. У меня обработка. Она творит магию (позволяет галочки ставить и снимать). Как это на СКД делать?
|
|||||||
25
Fuas4
10.12.13
✎
08:25
|
+(24) И потом записи в регистр по этим галочкам делает
|
|||||||
26
Wobland
10.12.13
✎
08:26
|
(24) СКД - это такая система, которая компонует данные
|
|||||||
27
Fuas4
10.12.13
✎
08:27
|
(26) Да, я даже расшифровку знаю.
|
|||||||
28
Defender aka LINN
10.12.13
✎
08:34
|
(27) Тогда ты должен знать, что слова "отчет" там нет.
|
|||||||
29
Fuas4
10.12.13
✎
08:38
|
(28) Я только для отчетов юзаю, поэтому у меня стойкий стереотип:) Надо, кстати, попробовать какую-нибудь обработину через СКД запилить, спасибо за наводку
|
|||||||
30
Wobland
10.12.13
✎
08:39
|
вот тебе матерное слово для размышлений: ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений
|
|||||||
31
Fuas4
10.12.13
✎
08:42
|
(30) вот из-за этих слов я и юзаю СКД только для отчеов и по возможности без программирования
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |