Имя: Пароль:
1C
 
Остатки в запросе по неделям
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) А ты попробуй. Таблица ОстаткиИОбороты с некой периодичностью выдаёт данные только за те периоды, в которых были записи (читай движения). Можно длго мутить со всякими методами дополнений "ПЕРИОДАМИ" или с выборкой с параметром "ВСЕ".. Для озвученой задач, мне кажется более оптимальным предложенный способ.
Но вообще, если надо реально получить остатки за каждый период в запросе для последующей обработки, соединений, объединений и т.п. простых методов нет. Либо соединение остатков и оборотов с периодами и с собой для подстановки остатка за последнюю имеющуюся дату взамен пропущенных, либо получение начального остатка по всем измерениям, размножение по периодам и докрутка всех остальных остатков соединением с оборотами по периоду меньше заданного. Возможно и ещё есть способы, но мне хватало этих двух.
AdBlock убивает бесплатный контент. 1Сергей