|
v7: 1sqlite. Остаток на произвольную дату | ☑ | ||
---|---|---|---|---|
0
palpetrovich
25.03.15
✎
15:16
|
Код:
текст=" |Select | Рег.Товар [Товар :Справочник.Номенклатура] | ,SUM(Рег.НачОст+Рег.Приход-Рег.Расход) [КонОст :Число] |From | ( | SELECT | Итоги.Товар Товар | ,Итоги.ОстатокТовара НачОст | ,0 Приход | ,0 Расход | FROM | [РегистрИтоги.ОстаткиТоваров] Итоги | | WHERE | Итоги.period = :ПредПериод | | UNION ALL | | SELECT | Движения.Товар | ,Движения.ОстатокТовара * (1 - Движения.debkred * 2) | ,0 | ,0 | FROM | [Регистр.ОстаткиТоваров] AS Движения | INNER Join [Журнал] Жур ON Жур.iddoc = Движения.iddoc and Жур.date BETWEEN :НачПериод And :КонПериод | |) Рег | WHERE | Рег.Товар in (select val from ВыбрТовар) | |Group by Рег.Товар |"; Есть у меня подозрение, что условие: "WHERE Рег.Товар in (select val from ВыбрТовар)" я делаю не там. Если да - то как надо? |
|||
1
palpetrovich
25.03.15
✎
15:20
|
+(0) а может и все не так ...есть еще подозрение что и Рег.Приход, Рег.Расход я не получаю :(
|
|||
2
palpetrovich
25.03.15
✎
15:22
|
+(1) хотя, сейчас проверил - как-то таки считает... и даже правильно
|
|||
3
palpetrovich
25.03.15
✎
15:24
|
+(2) хотя, они там нафик не нужны наверное, так пашет
текст=" |Select | Рег.Товар [Товар :Справочник.Номенклатура] | ,SUM(Рег.НачОст) [КонОст :Число] |From | ( | SELECT | Итоги.Товар Товар | ,Итоги.ОстатокТовара НачОст | FROM | [РегистрИтоги.ОстаткиТоваров] Итоги | | WHERE | Итоги.period = :ПредПериод | | UNION ALL | | SELECT | Движения.Товар | ,Движения.ОстатокТовара * (1 - Движения.debkred * 2) | FROM | [Регистр.ОстаткиТоваров] AS Движения | INNER Join [Журнал] Жур ON Жур.iddoc = Движения.iddoc and Жур.date BETWEEN :НачПериод And :КонПериод | |) Рег | WHERE | Рег.Товар in (select val from ВыбрТовар) | |Group by Рег.Товар |"; |
|||
4
palpetrovich
25.03.15
✎
15:37
|
может так правильней?
текст=" |Select | Рег.Товар [Товар :Справочник.Номенклатура] | ,SUM(Рег.НачОст) [КонОст :Число] |From | ( | SELECT | Итоги.Товар Товар | ,Итоги.ОстатокТовара НачОст | FROM | [РегистрИтоги.ОстаткиТоваров] Итоги | | WHERE | Итоги.period = :ПредПериод | AND Итоги.Товар in (select val from ВыбрТовар) | | UNION ALL | | SELECT | Движения.Товар | ,Движения.ОстатокТовара * (1 - Движения.debkred * 2) | FROM | [Регистр.ОстаткиТоваров] AS Движения | INNER Join [Журнал] Жур ON Жур.iddoc = Движения.iddoc and Жур.date BETWEEN :НачПериод And :КонПериод | WHERE | Движения.Товар in (select val from ВыбрТовар) | |) Рег | |Group by Рег.Товар |"; |
|||
5
palpetrovich
25.03.15
✎
15:41
|
проверил по времени (4) - побыстрее будет
|
|||
6
Sserj
25.03.15
✎
15:45
|
(5) Вот что не говори приятно поговорить с умным человеком особенно с собой
:) |
|||
7
Ёпрст
25.03.15
✎
15:51
|
(0) ну как бэ в (0) и в (4) разные запросы..
если че, приход и расход не верно считаешь |
|||
8
palpetrovich
25.03.15
✎
16:01
|
(7) я (4) уже с (3) сравнивал, т.е. вопрос где условие должно быть
|
|||
9
Ёпрст
25.03.15
✎
16:02
|
ну и.. на регистр нужно галку воткнуть или поставить отбор на одном из измерений, чтоб не было соединения с журналом в запросе.
|
|||
10
palpetrovich
25.03.15
✎
16:13
|
(9) дык, это-ж перепровечти все прийдется..
|
|||
11
Ёпрст
25.03.15
✎
16:13
|
(10) че ?
|
|||
12
Ёпрст
25.03.15
✎
16:14
|
реструктуризация регистра будет, да... но проводить ничего не надо
|
|||
13
Попытка1С
25.03.15
✎
16:16
|
Юзайте уже класс прямойзапрос с виртуальными табличками.
|
|||
14
palpetrovich
25.03.15
✎
16:23
|
(12) поянтно ...если сделаю "отбор по товару" хуже не будет? :)
(13) есть подозоение что это не к файловой базе... |
|||
15
Попытка1С
25.03.15
✎
17:37
|
(14) В смысле не к файловой базе? ПрямойЗапрос работает и на файловой и на скл
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |