|
Остатки в запросе по неделям | ☑ | ||
---|---|---|---|---|
0
Paul-Leon
16.10.13
✎
13:39
|
Здравствуйте, есть запрос:
ВЫБРАТЬ СУММА(ОстаткиНоменклатурыОстатки.КоличествоОстаток) КАК КоличествоОстаток, ПродажиОбороты.Период, ПродажиОбороты.Склад, ПродажиОбороты.Номенклатура, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ПродажиОбороты.СуммаПродажиОборот) КАК СуммаПродажиОборот ИЗ РегистрНакопления.Продажи.Обороты( &ВыбНачПер, &ВыбКонПер, Неделя, Номенклатура = &ВыбНом И Склад = &ВыбСклад) КАК ПродажиОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки( &ВыбКонПер, Номенклатура = &ВыбНом И Склад = &ВыбСклад) КАК ОстаткиНоменклатурыОстатки ПО ПродажиОбороты.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура СГРУППИРОВАТЬ ПО ПродажиОбороты.Период, ПродажиОбороты.Склад, ПродажиОбороты.Номенклатура Выводит в 1 столбце "Количество Остаток" остаток на ВыбКонПер, а мне надо, чтоб на конец каждой недели, т.к. у меня продажи по неделям выводятся. Подскажите, пожалуйста |
|||
1
azernot
16.10.13
✎
13:45
|
В СКД можно соединить наборы данных Продажи и Остатки с передачей периода продаж как параметра для остатков, на выходе получишь то что просишь.
|
|||
2
wms
16.10.13
✎
13:45
|
юзай вирт. таблицу остатки и обороты
|
|||
3
azernot
16.10.13
✎
13:46
|
(2) Даст неверные остатки если не было движений в периоде.
|
|||
4
Paul-Leon
16.10.13
✎
14:04
|
Надо при соединении наборов данных условие связи задавать?
|
|||
5
Paul-Leon
16.10.13
✎
14:14
|
В СКД на закладке "Связи наборов данных" в графе "Выражение-приёмник" ничего не писать? А в графе "Параметр" написать, например, ВыбПериод, а ВыбПериод вставить потом в запрос по остаткам?
|
|||
6
azernot
16.10.13
✎
15:15
|
(5) В выражение источник - ВыбПериод, в выражение приёмник можно вставить поле названное так же:
НАЧАЛОПЕРИОДА(&ВыбПериод, Неделя) КАК ВыбПериод, в Параметр "ВыбПериод" в запросе набора данных остатков РегистрНакопления.ОстаткиНоменклатуры.Остатки(КОНЕЦПЕРИОДА(&ВыбПериод, ДЕНЬ),) КАК ОстаткиНоменклатурыОстатки в условие связи - ИСТИНА |
|||
7
azernot
16.10.13
✎
15:16
|
КОНЕЦПЕРИОДА(&ВыбПериод, ДЕНЬ) = КОНЕЦПЕРИОДА(&ВыбПериод, Неделя)
|
|||
8
azernot
16.10.13
✎
15:17
|
+(6) Хотя, наверное, лучше по-разному назвать поле и параметр...
|
|||
9
wms
16.10.13
✎
17:12
|
(3) с какого это? нафига тогда эта вирт. таблица делалась 1С?
|
|||
10
azernot
16.10.13
✎
17:31
|
(9) А ты попробуй. Таблица ОстаткиИОбороты с некой периодичностью выдаёт данные только за те периоды, в которых были записи (читай движения). Можно длго мутить со всякими методами дополнений "ПЕРИОДАМИ" или с выборкой с параметром "ВСЕ".. Для озвученой задач, мне кажется более оптимальным предложенный способ.
Но вообще, если надо реально получить остатки за каждый период в запросе для последующей обработки, соединений, объединений и т.п. простых методов нет. Либо соединение остатков и оборотов с периодами и с собой для подстановки остатка за последнюю имеющуюся дату взамен пропущенных, либо получение начального остатка по всем измерениям, размножение по периодам и докрутка всех остальных остатков соединением с оборотами по периоду меньше заданного. Возможно и ещё есть способы, но мне хватало этих двух. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |