|
как изменить результаты запроса чтобы не задваивались значения | ☑ | ||
---|---|---|---|---|
0
Luganchanin
15.06.15
✎
16:02
|
Добрый день, люди добрые!
Помогите, никак не могу добить запрос чтобы он корректно выдавал реальные остатки на складе. В результате следующего запроса ВЫБРАТЬ РАЗЛИЧНЫЕ ХарактеристикиНоменклатуры.Владелец КАК Владелец, ШтрихкодыНоменклатуры.Штрихкод, ХарактеристикиНоменклатуры.Ссылка КАК Характеристика, ВЫБОР КОГДА ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ЛОЖЬ И ПоступлениеТоваровУслугТовары.Ссылка.ПометкаУдаления = ЛОЖЬ ТОГДА ПоступлениеТоваровУслугТовары.Количество ИНАЧЕ 0 КОНЕЦ КАК Количество, ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) КАК КоличествоКонечныйОстаток, СвободныеОстаткиОстатки.Склад КАК СкладТовара ИЗ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры ПО ХарактеристикиНоменклатуры.Ссылка = ШтрихкодыНоменклатуры.Характеристика И ХарактеристикиНоменклатуры.Владелец = ШтрихкодыНоменклатуры.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ПО ХарактеристикиНоменклатуры.Ссылка = ПоступлениеТоваровУслугТовары.Характеристика И ХарактеристикиНоменклатуры.Владелец = ПоступлениеТоваровУслугТовары.Номенклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстаткиОстатки ПО ХарактеристикиНоменклатуры.Ссылка = СвободныеОстаткиОстатки.Характеристика ГДЕ ШтрихкодыНоменклатуры.Номенклатура = &"1017-118RS" СГРУППИРОВАТЬ ПО ХарактеристикиНоменклатуры.Владелец, ШтрихкодыНоменклатуры.Штрихкод, ХарактеристикиНоменклатуры.Ссылка, ВЫБОР КОГДА ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ЛОЖЬ И ПоступлениеТоваровУслугТовары.Ссылка.ПометкаУдаления = ЛОЖЬ ТОГДА ПоступлениеТоваровУслугТовары.Количество ИНАЧЕ 0 КОНЕЦ, СвободныеОстаткиОстатки.ВНаличииОстаток, СвободныеОстаткиОстатки.Склад УПОРЯДОЧИТЬ ПО Владелец получаю: Владелец Штрихкод Характеристика Количество КоличествоКонечныйОстаток СкладТовара 1017-118RS 2000000385112 RS 1 1йСклад 1017-118RS 2000000385112 RS 6 2йСклад 1017-118RS 2000000496559 RS-O 1017-118RS 5901259464849 RS 1 1йСклад 1017-118RS 5901259464849 RS 6 2йСклад А получить хочется только первые две строчки |
|||
1
antotti
15.06.15
✎
16:03
|
А итоги?
|
|||
2
Luganchanin
15.06.15
✎
16:13
|
а с итогами получается совсем бяка
например, ИТОГИ ПО СкладТовара получаю: Владелец Штрихкод Характеристика Количество КоличествоКонечныйОстаток СкладТовара 1йСклад 1017-118RS 2000000385112 RS 1 1йСклад 1017-118RS 5901259464849 RS 1 1йСклад 2йСклад 1017-118RS 2000000385112 RS 6 2йСклад 1017-118RS 5901259464849 RS 6 2йСклад 1017-118RS 2000000496559 RS-O |
|||
3
Господин ПЖ
15.06.15
✎
16:16
|
ВЫБОР
КОГДА ПоступлениеТоваровУслугТовары.Ссылка.Проведен = ЛОЖЬ И ПоступлениеТоваровУслугТовары.Ссылка.ПометкаУдаления = ЛОЖЬ ТОГДА ПоступлениеТоваровУслугТовары.Количество ИНАЧЕ 0 КОНЕЦ КАК Количество, ЕСТЬNULL(СвободныеОстаткиОстатки.ВНаличииОстаток, 0) это как минимум в Сумма() завернуть надо каждую |
|||
4
Господин ПЖ
15.06.15
✎
16:17
|
а так он тебе размножил все по кол-ву поступлений. как минимум
|
|||
5
Господин ПЖ
15.06.15
✎
16:17
|
агитировать "не писать так" не буду, надо понимать конечный смысл - а в него вникать неохота
|
|||
6
Luganchanin
15.06.15
✎
16:30
|
(5) та да. смысл есть. ;-)
и смыслы меняются и добавляются. потому и вопросы такие дуракцие возникают что не понятно как сформулировать в любом случае - спасибо |
|||
7
ВРедная
15.06.15
✎
16:32
|
(0) Если у тебя два штрихкода на один товар, что тебе должен выдать запрос?
|
|||
8
Luganchanin
15.06.15
✎
16:52
|
(7) та в том то и дело, что штрихи поле вроде как бы информационное и их может быть два и больше. один это тот что 1с нагенерила, а второй это я от производителя добавил штрих
|
|||
9
ВРедная
15.06.15
✎
17:17
|
(8) И все же ответь на вопрос в (7)
|
|||
10
IVT_2009
15.06.15
✎
17:28
|
у вас один из подзапросов выдает дубли. Следовательно по соединению с ним то же дубли. В основной таблице сделайте критерий уникальности , например Максимум(код) и сгуппируйте, потом можно уже соединять.
|
|||
11
Luganchanin
15.06.15
✎
17:42
|
(9) запрос должен выдать один штрих. тот который более правильный
ГДЕ ШтрихкодыНоменклатуры.Номенклатура = &Номенклатура И ПОДСТРОКА(ШтрихкодыНоменклатуры.Штрихкод, 1, 5) = "20000" пока вроде так мыслю |
|||
12
IVT_2009
15.06.15
✎
17:44
|
(11) сделайте запрос с выводом ШК, ИД = 1
потом результат слейте в ТЗ и сверните с суммированием по ИД. Скорей всего дубли будут в результате. Они корень зла. |
|||
13
ВРедная
15.06.15
✎
17:45
|
(11) Значит нужно сделать запрос таким образом, чтобы фильтровались только "более правильные" штрихкоды. Сейчас выводятся все.
|
|||
14
ВРедная
15.06.15
✎
17:46
|
(11) Выглядит неплохо.
Что будет, когда будет два кода с началом "20000"? |
|||
15
Luganchanin
15.06.15
✎
17:48
|
(14)
Владелец Характеристика КоличествоОстаток СкладТовара Штрихкод 1017-118RS RS 1 1йСклад 2000000385112 1017-118RS RS 6 2йСклад 2000000385112 1017-118RS RS-O 2000000496559 получается примерно так. осталось придумать чтобы не выводились строки без количества. или может быть ноль ставился, но тогда и ноль нужен по двум складам |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |