|
Получение остатка на начало из регистра накопления | ☑ | ||
---|---|---|---|---|
0
kasena
18.04.12
✎
23:18
|
Доброго времени суток.
Столкнулась с проблемой при выборке из регистра накопления остатки и обороты: в случае отсутствия оборотов в заданном периоде остаток на начало не выбирается. Если же обороты в заданном периоде есть, то все прекрасно выбирается. Собственно сам запрос: ВЫБРАТЬ ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор КАК Регистратор, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьПриход КАК Приход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьРасход КАК Расход, NULL КАК НачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент, NULL КАК КонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Период КАК Период ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( &ДатаС, &ДатаПо, Регистратор, , Контрагент = &Контрагент И Организация = &Организация И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 NULL, NULL, NULL, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.СтоимостьНачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.Контрагент, NULL, NULL ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( , , Месяц, , Организация = &Организация И Контрагент = &Контрагент И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОборотыНач ГДЕ ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.Период >= &ДатаС И ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.Период <= &ДатаПо ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПЕРВЫЕ 1 NULL, NULL, NULL, NULL, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьКонечныйОстаток, NULL ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( , , Месяц, , Организация = &Организация И Контрагент = &Контрагент И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты ГДЕ ВзаиморасчетыСПокупателямиОстаткиИОбороты.Период >= &ДатаС И ВзаиморасчетыСПокупателямиОстаткиИОбороты.Период <= &ДатаПо УПОРЯДОЧИТЬ ПО КонечныйОстаток УБЫВ, Период |
|||
1
Ksandr
18.04.12
✎
23:19
|
не выбирается так как не подходит под условие ВТ и условие в ГДЕ
|
|||
2
Лефмихалыч
18.04.12
✎
23:20
|
|
|||
3
Ksandr
18.04.12
✎
23:20
|
по этому нужно курить вот этот мануал Книга знаний: v8: Полные остатки по периоду во вложенном запросе
|
|||
4
Лефмихалыч
18.04.12
✎
23:21
|
(1) запрос у тебя убог и крив. Не понятно вообще, почему он хоть что-то возвращает.
Начальный остаток ни как не зависит от оборотов в выбранном пеироде. Он зависит от оборотов в предыдущем периоде. |
|||
5
Ranger_83
18.04.12
✎
23:23
|
Метод дополнения в виртуальной таблице поставь
|
|||
6
zak555
18.04.12
✎
23:32
|
зачем тебе регистраторы ?
|
|||
7
zak555
18.04.12
✎
23:39
|
получи сначала по каким был оборот в ВТ
а потом получи остатки из виртТаблицы, где номенклатура не в ВТ и будет тебе счастье |
|||
8
kasena
18.04.12
✎
23:39
|
Лефмихалыч, спасибо, я в курсе. нет предела совершенсту.)
zak555, в отчет для детальных записей. спасибо всем, вопрос решен. |
|||
9
zak555
18.04.12
✎
23:40
|
> спасибо всем, вопрос решен.
это как ? |
|||
10
kasena
18.04.12
✎
23:42
|
включила мозг и переделала. все работает. =)
|
|||
11
zak555
18.04.12
✎
23:45
|
(10) это как же ?
|
|||
12
vah1
18.04.12
✎
23:46
|
(10) фигасе, научи если остатка нет - как сделать
|
|||
13
kasena
18.04.12
✎
23:47
|
vah1, с чего ты взял, что остатка нет? я писала, что нет оборотов и своим запросом не получала остаток. обороты были ранее. и остаток есть.
ВЫБРАТЬ ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор КАК Регистратор, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьПриход КАК Приход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьРасход КАК Расход, NULL КАК НачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент, NULL КАК КонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Период КАК Период ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( &ДатаС, &ДатаПо, Регистратор, , Контрагент = &Контрагент И Организация = &Организация И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ NULL, NULL, NULL, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.СтоимостьНачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.Контрагент, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.СтоимостьКонечныйОстаток, NULL ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( &ДатаС, &ДатаПо, , , Организация = &Организация И Контрагент = &Контрагент И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОборотыНач УПОРЯДОЧИТЬ ПО КонечныйОстаток УБЫВ, Период фурычет |
|||
14
vah1
18.04.12
✎
23:51
|
как это с чего взял, из жизни - нет оборотов может и остатков со времени не быть
|
|||
15
kasena
18.04.12
✎
23:54
|
нет оборотов в заданном периоде. никто не сказал, что не было оборотов в более раннее время. ДО начала заданного периода.
|
|||
16
vah1
18.04.12
✎
23:54
|
мосх не включай - один фик медленно работает
|
|||
17
zak555
18.04.12
✎
23:55
|
чем (13) будет отличаться от :
ВЫБРАТЬ ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор КАК Регистратор, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.СтоимостьНачальныйОстаток КАК НачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьПриход КАК Приход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьРасход КАК Расход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьКонечныйОстаток КАК КонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент ВзаиморасчетыСПокупателямиОстаткиИОбороты.Период КАК Период ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( &ДатаС, &ДатаПо, Регистратор, , Контрагент = &Контрагент И Организация = &Организация И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты УПОРЯДОЧИТЬ ПО КонечныйОстаток УБЫВ, Период |
|||
18
vah1
18.04.12
✎
23:57
|
в случае отсутствия оборотов в заданном периоде - Я правильно четал?
|
|||
19
kasena
18.04.12
✎
23:59
|
vah1, в заданном периоде оборотов нет. обороты были в более раннее время. отсюда и остаток на начало и остаток на конец, равный остатку на начало.
|
|||
20
zak555
19.04.12
✎
00:00
|
(19) смотри в (17)
|
|||
21
kasena
19.04.12
✎
00:03
|
тем, что остаток на начало и на конец у меня не будет пересчитываться с каждым новым оборотом. так я просто получаю 1 число остаток на начало и 1 число остаток на конец. но в целом, не принципиально.
|
|||
22
zak555
19.04.12
✎
00:04
|
(21) переведите пожалуйста
|
|||
23
vah1
19.04.12
✎
00:12
|
можно я?
у девушки остаток не будет пересчитываться ЗЫ Я сказала - и все! что неясно, лично я не возражаю |
|||
24
Ksandr
19.04.12
✎
00:13
|
(5) Двойка Вам!
По умолчанию стоит ДвижениеИГраницыПериода |
|||
25
zak555
19.04.12
✎
00:17
|
ВЫБРАТЬ
ВзаиморасчетыСПокупателямиОстаткиИОбороты.Регистратор КАК Регистратор КАК Период, ВзаиморасчетыСПокупателямиОстаткиИОборотыНач.СтоимостьНачальныйОстаток КАК НачальныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьПриход КАК Приход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьРасход КАК Расход, ВзаиморасчетыСПокупателямиОстаткиИОбороты.СтоимостьКонечныйОстаток КАК КонечныйОстаток, ВзаиморасчетыСПокупателямиОстаткиИОбороты.Контрагент ИЗ РегистрНакопления.ВзаиморасчетыСПокупателями.ОстаткиИОбороты( &ДатаС, &ДатаПо, Регистратор, , Контрагент = &Контрагент И Организация = &Организация И Валюта = &Валюта) КАК ВзаиморасчетыСПокупателямиОстаткиИОбороты Сгруппировать ПО Период, Контрагент УПОРЯДОЧИТЬ ПО КонечныйОстаток УБЫВ, Период |
|||
26
kasena
19.04.12
✎
00:27
|
vah1, следуя Вашей логике я сделала невозможное.)
|
|||
27
zak555
19.04.12
✎
01:02
|
(26) всё кипятишь ?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |