Имя: Пароль:
1C
1С v8
Что не так делаю при передаче параметра в запрос
0 LivingStar
 
23.09.13
06:53
Запрос по документу ВозвратТоваровПоставщику, параметрами передаю дату, склад, качество. Важно предусмотреть выбор склада группой из нескольких складов. Делаю Склад как список значени, в котором выбираю элементы типа справочник Склады. Но запрос делает принципиально не правильные выборки, выборка по Склад1 + Склад2 не равна количеству выбранных записей по Склад1 и Склад2 раздельно!!!

ВЫБРАТЬ
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Качество,
    СУММА(ВозвратТоваровПоставщикуТовары.Количество) КАК Количество,
    СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма
ИЗ
    Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
ГДЕ
    ВозвратТоваровПоставщикуТовары.Ссылка.Склад В(&Склад)
    И ВозвратТоваровПоставщикуТовары.Качество = &Качество
    И ВозвратТоваровПоставщикуТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Качество
1 Ненавижу 1С
 
гуру
23.09.13
07:01
(0) выборка по Склад1 + Склад2 не равна количеству выбранных записей по Склад1 и Склад2 раздельно!!!

что и логично, прочти про объединение множеств что-нибудь
2 Timon1405
 
23.09.13
07:02
В(&Склад) => В ИЕРАРХИИ (&Склад) ?
3 Лефмихалыч
 
23.09.13
07:04
(1) чо-то ты сочиняешь, имхо
4 Лефмихалыч
 
23.09.13
07:04
(0) переиндексироваться пробовал?
5 LivingStar
 
23.09.13
07:05
(2) пробовал, тоже самое
6 Лефмихалыч
 
23.09.13
07:05
+(4) или показывай запрос, которым ты " по Склад1 и Склад2 раздельно!!!"
7 LivingStar
 
23.09.13
07:05
(3) думаете в базе проблема? не в запросе?
8 LivingStar
 
23.09.13
07:06
(6) тот же самый, разница только что в списке 2 склада или 1
9 BICO
 
23.09.13
07:06
(0)так количество номенклатуры смотрел, у тебя группа по качеству.
11 Лефмихалыч
 
23.09.13
07:10
а, ну да, туплю. чтобы количество записей совпадало, надо был склад в группировку вынуть

(7) уже теперь не думаю, а точно знаю. Запрос правильно работает, у тебя просто к нему ожидания неестественные
12 LivingStar
 
23.09.13
07:12
Склад1 = 142 записи
Склад2 = 121 запись
Склад1 + Склад2 = 158 записей
13 BICO
 
23.09.13
07:12
))
14 BICO
 
23.09.13
07:13
я так понимаю должно быть 263 ??
15 BuHu
 
23.09.13
07:16
(12) причем тут количество записей , если ты группируешь по номенклатуре и качеству ?
16 BICO
 
23.09.13
07:17
СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Качество
замени на

СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Склад,
    ВозвратТоваровПоставщикуТовары.Качество
напиример, и все срастется.
17 LivingStar
 
23.09.13
07:18
вот такой вроде стал выдавать похожие выборки

ВЫБРАТЬ
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Качество,
    СУММА(ВозвратТоваровПоставщикуТовары.Количество) КАК Количество,
    СУММА(ВозвратТоваровПоставщикуТовары.Сумма) КАК Сумма,
    ВозвратТоваровПоставщику.Склад
ИЗ
    Документ.ВозвратТоваровПоставщику КАК ВозвратТоваровПоставщику
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ВозвратТоваровПоставщику.Товары КАК ВозвратТоваровПоставщикуТовары
        ПО ВозвратТоваровПоставщику.Ссылка = ВозвратТоваровПоставщикуТовары.Ссылка
ГДЕ
    ВозвратТоваровПоставщикуТовары.Ссылка.Склад В ИЕРАРХИИ(&Склад)
    И ВозвратТоваровПоставщикуТовары.Качество = &Качество
    И ВозвратТоваровПоставщикуТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата

СГРУППИРОВАТЬ ПО
    ВозвратТоваровПоставщикуТовары.Номенклатура,
    ВозвратТоваровПоставщикуТовары.Качество,
    ВозвратТоваровПоставщику.Склад
18 LivingStar
 
23.09.13
07:18
спасибо!
19 rmrush
 
23.09.13
07:19
группировки по складу нет, вот и разница :)
20 Лефмихалыч
 
23.09.13
07:19
(12) добавь в выборку и в грцппировку склад и всё срастется
(16) строго говоря, в этом случае конструктор запросов скажет: "Качество отсутствует в группировке"
21 rmrush
 
23.09.13
07:19
опоздал, уже ответили
22 LivingStar
 
23.09.13
07:20
все равно спасибо!
23 BICO
 
23.09.13
07:20
Вот и славненько.
24 Ненавижу 1С
 
гуру
23.09.13
08:47
намек на правильный ответ был в (1)