Имя: Пароль:
1C
1С v8
Помогите с простым запросом.
0 Radion
 
02.11.11
15:47
Есть запрос, на форме отчета есть реквизиты склад и номенклатура. Если делаю через ГДЕ то я обязан заполнять обязательно реквизиты формы. А хотелось бы по умолчанию, если не заполнены то по всем.
Вот мой простенький код:

ВЫБРАТЬ
ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
ПартииТоваровНаСкладахОстаткиИОбороты.Склад,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход
ИЗ
РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачДата, &КонДата,) КАК ПартииТоваровНаСкладахОстаткиИОбороты
//ГДЕ
//    ПартииТоваровНаСкладахОстаткиИОбороты.Склад В(&Склад)
//    И ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура //В(&Номенклатура)
Спасибо.
1 Axel2009
 
02.11.11
15:48
ПостроительЗапроса
2 izekia
 
02.11.11
15:49
либо строчками с условием
3 Radion
 
02.11.11
15:51
(1) спасибо. (2) а что значит строчками?
4 dimaldinho
 
02.11.11
15:52
(0)

ГДЕ &ПоВсемСкладам ИЛИ ПартииТоваровНаСкладахОстаткиИОбороты.Склад В(&Склад)

Запрос.УстановитьПараметр("ПоВсемСкладам", Склад.Пустая());
5 smitru
 
02.11.11
15:53
(0) жуть... ну кто использует конструктиФФ "Где" для виртуальных таблиц??? Это же сразу же "досвидания" на экзамене на спеца...
6 Defender aka LINN
 
02.11.11
15:53
За "ГДЕ" - расстрелять
7 Radion
 
02.11.11
15:54
Спасибо. Всем.
8 izekia
 
02.11.11
15:57
(3) vjlbabwbhjdfnm ntrcn pfghjcf
9 izekia
 
02.11.11
15:57
(3) модифицировать текст запроса
10 Radion
 
16.11.11
12:15
подниму тему, ребята ))) вот теперь юзеры требуют возможность фильтровать товар еще и по группе. т.е. возможность выбирать товар по группе. как возможно это реализовать? Спасибо.
11 izekia
 
16.11.11
12:17
(10) группу в списокзначений
и условие В ИЕРАРХИИ(&Список)
12 Radion
 
16.11.11
12:19
11) а как примерно группу поместить в список значений?
13 izekia
 
16.11.11
12:20
сз = новый списокзначений
сз.добавить(выбраннаягруппа);
14 Radion
 
16.11.11
13:45
13) Большое, спасибо. Все получилось.
15 Radion
 
16.11.11
13:47
Скажите, а корректно я вообще пишу запрос если условия вписываю таким вот образом:
Если ФильтрНоменклатура.Пустая() Тогда
ИначеЕсли ФильтрНоменклатура.ЭтоГруппа Тогда
СЗ = Новый СписокЗначений;
СЗ.Добавить(ФильтрНоменклатура);
Запрос.УстановитьПараметр("СЗ", СЗ);
Иначе    
Запрос.УстановитьПараметр("ФильтрНоменклатура", ФильтрНоменклатура);
КонецЕсли;
...
|    ВЫБРАТЬ
|    Продажи.Регистратор.Дата Как ДатаДок,
|    Продажи.Регистратор Как Док,
|    Продажи.Регистратор.Склад Как ТекСклад,
|    Продажи.Номенклатура Как ТекНом,
|    Продажи.КоличествоОборот Как Расход,
|    Продажи.СтоимостьОборот Как Стоимость
|    ИЗ
|    РегистрНакопления.Продажи.Обороты(&НачДата,&КонДата,Регистратор) КАК Продажи
|";
Если НЕ ФильтрСклад.Пустая() Тогда
Запрос.Текст = Запрос.Текст + "
|ГДЕ
|Продажи.Регистратор.Склад  = &ФильтрСклад
|";
КонецЕсли;

Если ФильтрНоменклатура.Пустая() Тогда
ИначеЕсли ФильтрНоменклатура.ЭтоГруппа Тогда
Если НЕ ФильтрСклад.Пустая() Тогда    
Запрос.Текст = Запрос.Текст + "
| И Продажи.Номенклатура  В ИЕРАРХИИ (&СЗ)
|";
Иначе    
Запрос.Текст = Запрос.Текст + "
| ГДЕ
| Продажи.Номенклатура  В ИЕРАРХИИ (&СЗ)
|";
КонецЕсли;    
Иначе
Если НЕ ФильтрСклад.Пустая() Тогда    
 Запрос.Текст = Запрос.Текст + "
| И Продажи.Номенклатура = &ФильтрНоменклатура
|";
Иначе        
Запрос.Текст = Запрос.Текст + "
| ГДЕ
| Продажи.Номенклатура = &ФильтрНоменклатура
|";
КонецЕсли;    
КонецЕсли;

Спасибо!
16 НЕА123
 
16.11.11
13:48
(15)
читай (1)
17 izekia
 
16.11.11
13:49
лучше освой построитель запроса, намного приятнее и удобнее
18 Radion
 
16.11.11
13:50
16) где то читал что построитель запроса уже пережиток. типа все на скд пишут.
19 izekia
 
16.11.11
13:52
(18) это не так
20 izekia
 
16.11.11
13:52
(18) по сути для разного предназначены инструменты
21 Radion
 
16.11.11
13:52
ок. понятно. Спасибо.
22 СвинТуз
 
16.11.11
13:53
(18)
постороитель отчета?
23 unregistered
 
16.11.11
13:53
(18) Ну и где в (15) СКД?...
24 ptiz
 
16.11.11
13:55
Ну почему считается зазорным книжки читать?
Тогда даже мысли бы не возникло тут использовать ГДЕ.
25 СвинТуз
 
16.11.11
14:00
(24)
по инструкции каждый сделает
ты попробуй сам догадаться

мы же не немчура какая-нибудь, настоящие русские мужики
26 Radion
 
16.11.11
14:07
читаю уже. до запросов пока не дошел. уверяю все прочитаю )))
27 СвинТуз
 
16.11.11
14:39
(26)
это смотря что читать ... и как
Закон Брукера: Даже маленькая практика стоит большой теории.