|
Неверные итоги в запросе при объединении | ☑ | ||
---|---|---|---|---|
0
John83
20.02.13
✎
12:04
|
УТ 10.3
Есть простейший запрос, итоги по товарам на складах считаются нормально, но итог по товарам в резерве почему-то выводится неверным. Причем если в объединении сначала поставить товары в резерве, тогда неверные итоги уже по товарам на складах. Периодичность по регистратору используется, т.к. нужно еще получить период. Тут возможно что-то сделать? Почему такое поведение? Скрин для наглядности результата запроса http://xmage.ru/?v=ykyyky.png И сам запрос ВЫБРАТЬ ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.КоличествоВРезерве КАК КоличествоВРезерве, ВложенныйЗапрос.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ (ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, 0 КАК КоличествоВРезерве, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура, ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0 ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос ИТОГИ СУММА(КоличествоВРезерве), СУММА(КоличествоКонечныйОстаток) ПО ОБЩИЕ |
|||
1
John83
20.02.13
✎
12:05
|
предыдущую тему решил не поднимать, а создать новую - более читабельную
|
|||
2
GANR
20.02.13
✎
12:08
|
(0) Хм... По-ходу, в одном случае в ИТОГ берется СУММА, а в другом - последний по времени остаток.
|
|||
3
Xatori
20.02.13
✎
12:11
|
Что то мне кажется что так работать не будет, я бы при таком раскладе, запихнул в Временную таблицу результат запроса и уже там подвёл бы итоги, должно получится
|
|||
4
John83
20.02.13
✎
12:15
|
(3) так какая разница, если объединение делается во влож. запросе или во врем. таблице? или я неправильно понял?
|
|||
5
sapphire
20.02.13
✎
12:16
|
ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура КАК Номенклатура, ВложенныйЗапрос.КоличествоВРезерве КАК КоличествоВРезерве, ВложенныйЗапрос.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ (ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, 0 КАК КоличествоВРезерве, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура, ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0 ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты) КАК ВложенныйЗапрос ИТОГИ СУММА(КоличествоВРезерве), СУММА(КоличествоКонечныйОстаток) ПО //ОБЩИЕ Номенклатура |
|||
6
John83
20.02.13
✎
12:19
|
(5) результат тот же...
|
|||
7
John83
20.02.13
✎
12:20
|
(2) примерно так и есть, но мне нужно, чтобы по обоим полям брался "последний по времени остаток"
|
|||
8
GANR
20.02.13
✎
12:20
|
(6) А если в консоли СКД похожее сделать?
|
|||
9
ptiz
20.02.13
✎
12:21
|
(0) Смирись.
Если делать, то объединением таблиц: - нач. остатков - кон. остатков - оборотов и так же по другому регистру |
|||
10
GLazNik
20.02.13
✎
12:22
|
(0) странный запрос. Детализация по регистратору есть, а в результате его нет. Но при этом есть номенклатура в то время когда запрос строится по конкретной номенклатуре.
И что это за обработка? почему уверенность что ошибка в итогах а не обработке? |
|||
11
GLazNik
20.02.13
✎
12:23
|
И да... ОстаткиИОбороты при детализации регистратор не есть хорошо
|
|||
12
John83
20.02.13
✎
12:25
|
(10) еще будет использоваться период, для получения периодичности по дням, неделям и т.д.
PS вообще хочу этот запрос использовать в унив. отчете |
|||
13
Галахад
гуру
20.02.13
✎
12:26
|
(0) Не пленился. Проверил. Итог считается.
|
|||
14
GLazNik
20.02.13
✎
12:29
|
(12) ну так надо и использовать периодичность день, неделя и т.д. Но все равно не подойдет. Так понимаю тут нужен остаток на каждый день.
|
|||
15
ssh2006
20.02.13
✎
12:33
|
(0) попробуй добавить поля начального остатка
|
|||
16
ssh2006
20.02.13
✎
12:39
|
+ еще из upd к какому-то релизу 8.2
"Если в запросе получаются итоги по полям остатков, данные в запросе получаются при помощи объединения и при этом в одной части получаются поля остатка, а в другой части получаются нулевые значения, то в запросе необходимо явно указывать получение полей - периодов, по которым получаются данные из виртуальной таблицы." |
|||
17
ssh2006
20.02.13
✎
12:41
|
+ еще из upd инфо к некому релизу:
"Если во вложенном запросе получаются поля остатка, то и во внешнем запросе эти поля считаются полями остатка, и итоги по этим полям рассчитываются как по полям остатка. В режиме совместимости с версией 8.1 поведение не изменилось (поля остатка, полученные из вложенного запроса полями остатка не считаются, и итоги по ним рассчитываются как по обычным полям)." http://downloads.v8.1c.ru/content/Platform/8_2_17_169/1cv8upd.htm |
|||
18
John83
20.02.13
✎
13:52
|
(13) попробовал в УПП - все тоже самое
скорее всего у тебя в заданном периоде одна запись по резерву |
|||
19
John83
20.02.13
✎
14:00
|
(15) не помогло
|
|||
20
John83
20.02.13
✎
14:07
|
(16) "явно указывать получение полей - периодов"
эти типа ВЫБОР КОДА КонечныйОстаток = 0 Тогда ДАТА(1,1,1) ИНАЧЕ... ??? |
|||
21
ssh2006
20.02.13
✎
14:09
|
Попробуй выбрать регистраторы
|
|||
22
ssh2006
20.02.13
✎
14:09
|
(21) 2 (20)
|
|||
23
John83
20.02.13
✎
14:20
|
(21) все тоже самое
|
|||
24
ssh2006
20.02.13
✎
14:20
|
(23) а версия платформы какая?
|
|||
25
John83
20.02.13
✎
14:21
|
(24) сейчас пробую на 8.2.15.301
на 8.2.16.368 - тоже самое |
|||
26
ssh2006
20.02.13
✎
14:23
|
+ еще без вложенного запроса, с выбранными регистраторами можно попробовать
|
|||
27
John83
20.02.13
✎
14:30
|
(26) да пробовал и через врем. таблицу - там вообще цифры непонятные получаются
PS поставил последнюю платформу - все безрезультатно |
|||
28
ssh2006
20.02.13
✎
14:32
|
(27) без вложенного я имею ввиду так:
ВЫБРАТЬ 1 КАК Поле1 ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 2 ИТОГИ СУММА(Поле1) ПО ОБЩИЕ и регистраторы чтоб выбраны были |
|||
29
ssh2006
20.02.13
✎
14:34
|
(27) > там вообще цифры непонятные получаются
Конечно, система в таком случае не поймет при расчете итогов что это поля остатка |
|||
30
John83
20.02.13
✎
14:36
|
(28) так и делаю
ВЫБРАТЬ ТоварыВРезервеНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, 0 КАК КоличествоКонечныйОстаток, ТоварыВРезервеНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоВРезерве, ТоварыВРезервеНаСкладахОстаткиИОбороты.Регистратор КАК Регистратор ИЗ РегистрНакопления.ТоварыВРезервеНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыВРезервеНаСкладахОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТоварыНаСкладахОстаткиИОбороты.Номенклатура, ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0, ТоварыНаСкладахОстаткиИОбороты.Регистратор ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор, , Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОстаткиИОбороты ИТОГИ СУММА(КоличествоКонечныйОстаток), СУММА(КоличествоВРезерве) ПО ОБЩИЕ |
|||
31
ssh2006
20.02.13
✎
14:41
|
Тогда по ходу никак, не работает такая конструкция, в 1с можно написать, вопрос задать.
|
|||
32
John83
20.02.13
✎
14:43
|
(31) а куда писать подобные вопросы?
сомневаюсь, что на [email protected] ответят... |
|||
33
ssh2006
20.02.13
✎
14:44
|
(32) я задавал на [email protected] вопросы по платформе, отвечали
|
|||
34
ssh2006
20.02.13
✎
14:44
|
+ Данные надо указать рег номер, на который итс оформлен
|
|||
35
John83
20.02.13
✎
14:45
|
(33) хорошо, попробую
спасибо!!! |
|||
36
John83
21.02.13
✎
13:44
|
а вот если объединять реальные таблицы, то никаких проблем с итогами нет...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |