Имя: Пароль:
1C
 
Необязательные параметры запроса
0 10Evgeny1987
 
25.12.14
12:02
Хочу сделать запрос, допустим он имеет 2 параметра, первый параметр точное совпадение, второй не точный.
Например так: обращаюсь к таблице, в первом параметре номенклатуру передаю, во втором страну производитель, как сделать так, что бы если нет такого производителя, которого мы передали в параметрах, записи с номенклатурой все равно выводились (производитель неважен тогда)?
1 Господин ПЖ
 
25.12.14
12:02
поиск все знает
2 разработчик 1с
 
25.12.14
12:04
производитель = пустой или производитель = неважныйпараметр
3 10Evgeny1987
 
25.12.14
12:06
И как неважный задать?
4 разработчик 1с
 
25.12.14
12:13
5 Defender aka LINN
 
25.12.14
12:19
Построитель запроса юзать
6 10Evgeny1987
 
25.12.14
12:27
Пример можете запроса привести?
7 barrgand
 
25.12.14
12:29
(6) Давайте сначала с задачей определимся, а запрос уже потом
8 Godofsin
 
25.12.14
12:30
Я чот не понял... Смысл во втором параметре, если так и так выводится запись?
9 10Evgeny1987
 
25.12.14
12:31
Второй своего рода "конкретизирует" отбор
10 barrgand
 
25.12.14
12:33
(0) во втором страну производитель, как сделать так, что бы если нет такого производителя, которого мы передали в параметрах...

То есть передали в параметр несуществующую страну?
11 10Evgeny1987
 
25.12.14
12:34
(10) ну да
12 Бледно Золотистый
 
25.12.14
12:36
(10) Я так понимаю примерно как в типовых по получению цены номенклатуры. Если не нашли цену с характеристикой, выводим последнюю по номенклатуре без учета хар-ки.
13 vicof
 
25.12.14
12:37
(8) +1
14 10Evgeny1987
 
25.12.14
12:40
(12) Вероятно, там запрос к регистру делается, а у меня в задаче к справочнику
15 10Evgeny1987
 
25.12.14
12:40
(12) Там запрос к регистру делается, а у меня в задаче к справочнику
16 Godofsin
 
25.12.14
12:40
(14) К справочнику номенклатуры?
17 10Evgeny1987
 
25.12.14
12:42
Своего рода к справочнику номенклатуры)))
Это пример про номенклатуру)
18 Godofsin
 
25.12.14
12:43
(17) Тогда возвращаемся к вопросу в (8). Ты передаешь первым параметром конкретную ссылку на элемент справочника. Какой смысл во втором параметре, если первый сконкретизировал на одну запись?
19 DCKiller
 
25.12.14
12:45
(18) Очевидно, он хочет сделать так, что если поле не заполнено, то отбор по нему игнорируется. Типа как условие "В" в клюшках в запросе работало.
20 DCKiller
 
25.12.14
12:49
(0) можешь вот так:

ГДЕ
ВЫБОР КОГДА &СтранаЗаполнена ТОГДА СпрНом.СтранаПроизводитель ИНАЧЕ 1 КОНЕЦ = ВЫБОР КОГДА &СтранаЗаполнена ТОГДА &СтранаПроизводитель ИНАЧЕ 1 КОНЕЦ

Запрос.УстановитьПараметр("СтранаЗаполнена", ЗначениеЗаполнено(СтранаПроизводитель));
Запрос.УстановитьПараметр("СтранаПроизводитель", СтранаПроизводитель);
21 10Evgeny1987
 
25.12.14
12:49
(18) Ну смотри, ты продаешь куртки, приходит чел, говорит: дай мне Китайскую куртку, ты лезешь в 1С, смотришь что на складе у тебя, во втором параметре ставишь Китайского производителя, а 1С тебе, нет у тебя Китайского, Русский есть и 1С выводит тупо русские куртки, хотя в запросе китайский стоит
22 vicof
 
25.12.14
12:51
(21) Долбоипизм. Есть такая штука - называется группировка. По производителю.
23 antoneus
 
25.12.14
12:53
Где
выбор когда &СтранаПроизводитель = """" Тогда Истина Иначе Номенклатура.СтранаПроизводитель = &СтранаПроизводитель Конец
24 Godofsin
 
25.12.14
12:57
(21) Соглашусь с (22), но (20) решает твою проблему =)
25 Godofsin
 
25.12.14
12:57
(20) Красавчег! ))))
26 10Evgeny1987
 
25.12.14
13:05
(20) Спасибо
27 antoneus
 
25.12.14
13:06
(26) (23) элегантнее как-то )
28 Godofsin
 
25.12.14
13:08
(27) Только задачу не решает
29 antoneus
 
25.12.14
13:09
(28) в смысле - не решает? Задали страну - вывелась номенклатура по стране, не задали - вывелась вся. Или я не так понял задачу?
30 1976vas
 
25.12.14
13:13
(29)Не не задали, а нет ее в списке
31 Godofsin
 
25.12.14
13:14
(29) Неправильно понял. Задали "Китай", но ном-ры с производителем "Китай" нет, но она должна вывестись вся.
32 Godofsin
 
25.12.14
13:15
Кстати я поторопился и (20) тоже не работает ))))))
33 vicof
 
25.12.14
13:16
(0) А теперь внимание....барабанная дробь...главный вопрос - зачем это все надо? Автор, какую задачу ты хочешь решить?
34 DCKiller
 
25.12.14
13:17
(32) ога
35 1976vas
 
25.12.14
13:18
(33) Если нет курток Китая, то выводить какие есть и предлагать клиенту.
36 Godofsin
 
25.12.14
13:19
+(35) byfxt dsdtcnb rehnrb Rbnfz/
37 Godofsin
 
25.12.14
13:19
Иначе вывести куртки Китая
38 vicof
 
25.12.14
13:21
(35) Интересно, что автор думает. Или он уже ничо не думает?
39 Godofsin
 
25.12.14
13:21
(38) Его устроило (20) =)
40 1976vas
 
25.12.14
13:21
(38) Ему фиолетово )
41 antoneus
 
25.12.14
13:24
тогда так:

ГДЕ
ВЫБОР КОГДА НЕ (&СтранаПроизводитель В (ВЫБРАТЬ РАЗЛИЧНЫЕ Ном.СтранаПроизводитель ИЗ Справочник.Номенклатура КАК Ном))
ТОГДА ИСТИНА
ИНАЧЕ
Ном.СтранаПроизводитель = &СтранаПроизводитель КОНЕЦ

работает, проверил)
42 Godofsin
 
25.12.14
13:27
(41) Звание "Красавчег" переходит к тебе =)
43 vicof
 
25.12.14
13:29
На 63-м посте еще кто-нить это звание перехватит, судя по тенденции
44 singlych
 
25.12.14
13:45
поехали изгаляться)
ГДЕ
НЕ (&СтранаПроизводитель В (ВЫБРАТЬ РАЗЛИЧНЫЕ Ном.СтранаПроизводитель ИЗ Справочник.Номенклатура КАК Ном)) ИЛИ Ном.СтранаПроизводитель = &СтранаПроизводитель