Имя: Пароль:
1C
 
Периодичность в запросе и построитель
0 kalisto
 
26.10.16
11:10
Добрый день, всем.
Очень нужна помощь профессионала, который хорошо разбирается в построителе и запросах. Делаю отчет с помощью построителя и универсального отчета. Написала запрос, смотрю, что получается. По регистру партии остатки выводит правильно с выбранной периодичностью, а продажи выводит общую сумму за весь период в каждом отрезке. Помогите разобраться.
Вот запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура),
    ИсточникДанных.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Склад),
    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры),
    ИсточникДанных.СерияНоменклатуры КАК СерияНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СерияНоменклатуры),
    ИсточникДанных.ДокументОприходования КАК ДокументОприходования,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументОприходования),
    ИсточникДанных.СтатусПартии КАК СтатусПартии,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СтатусПартии),
    ИсточникДанных.Заказ КАК Заказ,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Заказ),
    ИсточникДанных.Качество КАК Качество,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Качество),
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
    ИсточникДанных.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
    Продажи.КоличествоОборот КАК КоличествоОборот,
    Продажи.СтоимостьОборот КАК СтоимостьОборот,
    ИсточникДанных.Регистратор КАК Регистратор,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор),
    ВЫБОР
        КОГДА ИсточникДанных.КоличествоКонечныйОстаток <= 0
            ТОГДА 0
        ИНАЧЕ ИсточникДанных.СтоимостьКонечныйОстаток / ИсточникДанных.КоличествоКонечныйОстаток
    КОНЕЦ КАК ЦенаЗаРулон,
    ВЫБОР
        КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                И ИсточникДанных.КоличествоКонечныйОстаток > 0
                И Продажи.КоличествоОборот > 0
            ТОГДА ИсточникДанных.КоличествоКонечныйОстаток / Продажи.КоличествоОборот
        КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                И ИсточникДанных.КоличествоКонечныйОстаток > 0
            ТОГДА 10000
        ИНАЧЕ 0
    КОНЕЦ КАК КО,
    ИсточникДанных.Период КАК Период,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод
{ВЫБРАТЬ
    Номенклатура.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоОборот,
    КоличествоКонечныйОстаток,
    СтоимостьНачальныйОстаток,
    СтоимостьОборот,
    СтоимостьКонечныйОстаток,
    ЦенаЗаРулон,
    КО,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументОприходования).* КАК ДокументОприходования, (СтатусПартии).* КАК СтатусПартии, (Заказ).* КАК Заказ, (Качество).* КАК Качество}) КАК ИсточникДанных
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПродажиСебестоимостьОбороты.Номенклатура КАК Номенклатура,
            ПродажиСебестоимостьОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиСебестоимостьОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
            ПродажиСебестоимостьОбороты.ДокументОприходования КАК ДокументОприходования,
            ПродажиСебестоимостьОбороты.Регистратор КАК Регистратор,
            ПродажиСебестоимостьОбороты.КоличествоОборот КАК КоличествоОборот,
            ПродажиСебестоимостьОбороты.СтоимостьОборот КАК СтоимостьОборот,
            ПродажиСебестоимостьОбороты.Период КАК Период,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕНЬ) КАК ПериодДень,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕКАДА) КАК ПериодДекада,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ГОД) КАК ПериодГод
        {ВЫБРАТЬ
            Номенклатура.*,
            ХарактеристикаНоменклатуры.*,
            ДокументОприходования.*,
            Период,
            ПериодДень,
            ПериодНеделя,
            ПериодДекада,
            ПериодМесяц,
            ПериодКвартал,
            ПериодПолугодие,
            ПериодГод,
            Регистратор.*,
            КоличествоОборот,
            СтоимостьОборот}
        ИЗ
            РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПродажиСебестоимостьОбороты
        {ГДЕ
            ПродажиСебестоимостьОбороты.Номенклатура.*,
            ПродажиСебестоимостьОбороты.ХарактеристикаНоменклатуры.*,
            ПродажиСебестоимостьОбороты.ЗаказПокупателя.*,
            ПродажиСебестоимостьОбороты.ДокументОприходования.*,
            ПродажиСебестоимостьОбороты.Регистратор.*,
            ПродажиСебестоимостьОбороты.КоличествоОборот,
            ПродажиСебестоимостьОбороты.СтоимостьОборот,
            ПродажиСебестоимостьОбороты.Период КАК Период,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕНЬ)) КАК ПериодДень,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕКАДА)) КАК ПериодДекада,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, МЕСЯЦ)) КАК ПериодМесяц,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, КВАРТАЛ)) КАК ПериодКвартал,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
            (НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ГОД)) КАК ПериодГод}) КАК Продажи
        ПО ИсточникДанных.Номенклатура = Продажи.Номенклатура
            И ИсточникДанных.Период = Продажи.Период
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) = НАЧАЛОПЕРИОДА(Продажи.Период, НЕДЕЛЯ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) = НАЧАЛОПЕРИОДА(Продажи.Период, ДЕКАДА))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) = НАЧАЛОПЕРИОДА(Продажи.Период, КВАРТАЛ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) = НАЧАЛОПЕРИОДА(Продажи.Период, ПОЛУГОДИЕ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) = НАЧАЛОПЕРИОДА(Продажи.Период, ГОД))
{ГДЕ
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
    ИсточникДанных.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
    ИсточникДанных.Регистратор.* КАК Регистратор,
    (ВЫБОР
            КОГДА ИсточникДанных.КоличествоКонечныйОстаток <= 0
                ТОГДА 0
            ИНАЧЕ ИсточникДанных.СтоимостьКонечныйОстаток / ИсточникДанных.КоличествоКонечныйОстаток
        КОНЕЦ) КАК ЦенаЗаРулон,
    Продажи.КоличествоОборот КАК КоличествоОборот,
    Продажи.СтоимостьОборот КАК СтоимостьОборот,
    (ВЫБОР
            КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                    И ИсточникДанных.КоличествоКонечныйОстаток > 0
                    И Продажи.КоличествоОборот > 0
                ТОГДА ИсточникДанных.КоличествоКонечныйОстаток / Продажи.КоличествоОборот
            КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                    И ИсточникДанных.КоличествоКонечныйОстаток > 0
                ТОГДА 10000
            ИНАЧЕ 0
        КОНЕЦ) КАК КО,
    ИсточникДанных.Период КАК Период,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ)) КАК ПериодДень,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ)) КАК ПериодНеделя,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА)) КАК ПериодДекада,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ)) КАК ПериодМесяц,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ)) КАК ПериодКвартал,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ)) КАК ПериодПолугодие,
    (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД)) КАК ПериодГод}
{УПОРЯДОЧИТЬ ПО
    Номенклатура.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    КоличествоНачальныйОстаток,
    КоличествоОборот,
    КоличествоКонечныйОстаток,
    СтоимостьНачальныйОстаток,
    СтоимостьОборот,
    СтоимостьКонечныйОстаток,
    ЦенаЗаРулон,
    КО,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоКонечныйОстаток),
    СУММА(СтоимостьНачальныйОстаток),
    СУММА(СтоимостьКонечныйОстаток),
    СУММА(КоличествоОборот),
    СУММА(СтоимостьОборот),
    ВЫБОР
        КОГДА СУММА(КоличествоКонечныйОстаток) <= 0
            ТОГДА 0
        ИНАЧЕ СУММА(СтоимостьКонечныйОстаток) / СУММА(КоличествоКонечныйОстаток)
    КОНЕЦ КАК ЦенаЗаРулон,
    ВЫБОР
        КОГДА СУММА(СтоимостьКонечныйОстаток) > 0
                И СУММА(КоличествоКонечныйОстаток) > 0
                И СУММА(КоличествоОборот) > 0
            ТОГДА СУММА(КоличествоКонечныйОстаток) / СУММА(КоличествоОборот)
        КОГДА СУММА(СтоимостьКонечныйОстаток) > 0
                И СУММА(КоличествоКонечныйОстаток) > 0
            ТОГДА 10000
        ИНАЧЕ 0
    КОНЕЦ КАК КО
ПО
    ОБЩИЕ
{ИТОГИ ПО
    Номенклатура.*,
    Склад.*,
    ХарактеристикаНоменклатуры.*,
    СерияНоменклатуры.*,
    ДокументОприходования.*,
    СтатусПартии.*,
    Заказ.*,
    Качество.*,
    Регистратор.*,
    Период,
    ПериодДень,
    ПериодНеделя,
    ПериодДекада,
    ПериодМесяц,
    ПериодКвартал,
    ПериодПолугодие,
    ПериодГод}
1 Naf_kultura
 
26.10.16
11:14
что это?

ПО ИсточникДанных.Номенклатура = Продажи.Номенклатура
            И ИсточникДанных.Период = Продажи.Период
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) = НАЧАЛОПЕРИОДА(Продажи.Период, ДЕНЬ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) = НАЧАЛОПЕРИОДА(Продажи.Период, НЕДЕЛЯ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) = НАЧАЛОПЕРИОДА(Продажи.Период, ДЕКАДА))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) = НАЧАЛОПЕРИОДА(Продажи.Период, МЕСЯЦ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) = НАЧАЛОПЕРИОДА(Продажи.Период, КВАРТАЛ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) = НАЧАЛОПЕРИОДА(Продажи.Период, ПОЛУГОДИЕ))
            И (НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) = НАЧАЛОПЕРИОДА(Продажи.Период, ГОД))
2 kalisto
 
26.10.16
11:26
По идее, это должна быть связь по периодам.
3 Naf_kultura
 
26.10.16
11:29
(2) у вас периодичность регистратор, значит связь будет по точному совпадению времени:

ПО ИсточникДанных.Номенклатура = Продажи.Номенклатура
            И ИсточникДанных.Период = Продажи.Период

остальное все в топку в условии связи
4 kalisto
 
26.10.16
11:37
Согласна. Убрала. Результат тот же.
5 Naf_kultura
 
26.10.16
11:40
зачем все это? а то непонятно куда подсказывать
6 AceVi
 
26.10.16
11:41
(1) Эпично - условия связи как бы говорят нам, соединика нам все документы за год каждый с каждым)
7 kalisto
 
26.10.16
11:44
Мне, правда, очень нужна нормальная подсказка. Я с запросами сталкиваюсь очень редко, ибо до сих пор сижу на 7.7. Вот подвернулось задание, с помощью которого я могу научиться работать с запросами в 8.
8 AceVi
 
26.10.16
11:47
(7) первое - приведи текст запроса без текста построителя.
Скопируй запрос и удали все что связано с построителем.
9 kalisto
 
26.10.16
11:56
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ИсточникДанных.Номенклатура КАК Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Номенклатура),
    ИсточникДанных.Склад КАК Склад,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Склад),
    ИсточникДанных.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ХарактеристикаНоменклатуры),
    ИсточникДанных.СерияНоменклатуры КАК СерияНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СерияНоменклатуры),
    ИсточникДанных.ДокументОприходования КАК ДокументОприходования,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.ДокументОприходования),
    ИсточникДанных.СтатусПартии КАК СтатусПартии,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.СтатусПартии),
    ИсточникДанных.Заказ КАК Заказ,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Заказ),
    ИсточникДанных.Качество КАК Качество,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Качество),
    ИсточникДанных.КоличествоНачальныйОстаток КАК КоличествоНачальныйОстаток,
    ИсточникДанных.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток,
    ИсточникДанных.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
    ИсточникДанных.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток,
    Продажи.КоличествоОборот КАК КоличествоОборот,
    Продажи.СтоимостьОборот КАК СтоимостьОборот,
    ИсточникДанных.Регистратор КАК Регистратор,
    ПРЕДСТАВЛЕНИЕ(ИсточникДанных.Регистратор),
    ВЫБОР
        КОГДА ИсточникДанных.КоличествоКонечныйОстаток <= 0
            ТОГДА 0
        ИНАЧЕ ИсточникДанных.СтоимостьКонечныйОстаток / ИсточникДанных.КоличествоКонечныйОстаток
    КОНЕЦ КАК ЦенаЗаРулон,
    ВЫБОР
        КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                И ИсточникДанных.КоличествоКонечныйОстаток > 0
                И Продажи.КоличествоОборот > 0
            ТОГДА ИсточникДанных.КоличествоКонечныйОстаток / Продажи.КоличествоОборот
        КОГДА ИсточникДанных.СтоимостьКонечныйОстаток > 0
                И ИсточникДанных.КоличествоКонечныйОстаток > 0
            ТОГДА 10000
        ИНАЧЕ 0
    КОНЕЦ КАК КО,
    ИсточникДанных.Период КАК Период,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕНЬ) КАК ПериодДень,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, НЕДЕЛЯ) КАК ПериодНеделя,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ДЕКАДА) КАК ПериодДекада,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, МЕСЯЦ) КАК ПериодМесяц,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, КВАРТАЛ) КАК ПериодКвартал,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
    НАЧАЛОПЕРИОДА(ИсточникДанных.Период, ГОД) КАК ПериодГод
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, , {(Номенклатура).* КАК Номенклатура, (Склад).* КАК Склад, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры, (СерияНоменклатуры).* КАК СерияНоменклатуры, (ДокументОприходования).* КАК ДокументОприходования, (СтатусПартии).* КАК СтатусПартии, (Заказ).* КАК Заказ, (Качество).* КАК Качество}) КАК ИсточникДанных
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПродажиСебестоимостьОбороты.Номенклатура КАК Номенклатура,
            ПродажиСебестоимостьОбороты.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
            ПродажиСебестоимостьОбороты.ЗаказПокупателя КАК ЗаказПокупателя,
            ПродажиСебестоимостьОбороты.ДокументОприходования КАК ДокументОприходования,
            ПродажиСебестоимостьОбороты.Регистратор КАК Регистратор,
            ПродажиСебестоимостьОбороты.КоличествоОборот КАК КоличествоОборот,
            ПродажиСебестоимостьОбороты.СтоимостьОборот КАК СтоимостьОборот,
            ПродажиСебестоимостьОбороты.Период КАК Период,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕНЬ) КАК ПериодДень,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, НЕДЕЛЯ) КАК ПериодНеделя,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ДЕКАДА) КАК ПериодДекада,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, МЕСЯЦ) КАК ПериодМесяц,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, КВАРТАЛ) КАК ПериодКвартал,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ПОЛУГОДИЕ) КАК ПериодПолугодие,
            НАЧАЛОПЕРИОДА(ПродажиСебестоимостьОбороты.Период, ГОД) КАК ПериодГод
        ИЗ
            РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНач, &ДатаКон, Регистратор {(&Периодичность)}, {(Номенклатура).* КАК Номенклатура, (ХарактеристикаНоменклатуры).* КАК ХарактеристикаНоменклатуры}) КАК ПродажиСебестоимостьОбороты) КАК Продажи
        ПО ИсточникДанных.Номенклатура = Продажи.Номенклатура
            И ИсточникДанных.Период = Продажи.Период
ИТОГИ
    СУММА(КоличествоНачальныйОстаток),
    СУММА(КоличествоКонечныйОстаток),
    СУММА(СтоимостьНачальныйОстаток),
    СУММА(СтоимостьКонечныйОстаток),
    СУММА(КоличествоОборот),
    СУММА(СтоимостьОборот),
    ВЫБОР
        КОГДА СУММА(КоличествоКонечныйОстаток) <= 0
            ТОГДА 0
        ИНАЧЕ СУММА(СтоимостьКонечныйОстаток) / СУММА(КоличествоКонечныйОстаток)
    КОНЕЦ КАК ЦенаЗаРулон,
    ВЫБОР
        КОГДА СУММА(СтоимостьКонечныйОстаток) > 0
                И СУММА(КоличествоКонечныйОстаток) > 0
                И СУММА(КоличествоОборот) > 0
            ТОГДА СУММА(КоличествоКонечныйОстаток) / СУММА(КоличествоОборот)
        КОГДА СУММА(СтоимостьКонечныйОстаток) > 0
                И СУММА(КоличествоКонечныйОстаток) > 0
            ТОГДА 10000
        ИНАЧЕ 0
    КОНЕЦ КАК КО
ПО
    ОБЩИЕ
10 AceVi
 
26.10.16
12:05
(9) Расшифруй - "период в каждом отрезке"
У тебя нет "отрезков" по РН.ПродажиСебестоимость.
У тебя там стоит Периодичность до регистратора(т.е. до конкретной записи).
11 kalisto
 
26.10.16
12:16
Мне нужна периодичность, которую задаст пользователь. Т.е. Группировка по колонкам ПериодМесяц, ПериодДень и т.п. Как прописать такую вещь?
12 kalisto
 
26.10.16
12:18
По остаткам же все правильно выводит, а по оборотам общие итоги в каждый подпериод. Я получаю одну и ту же цифру 550 в каждом месяце, например.
13 AceVi
 
26.10.16
12:24
(11) (12) Не не не - не спеши.
1. РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНач, &ДатаКон, Регистратор )
Вот в этой таблице ты получаешь записи вида

Док1 - 100
Док2 - 200
Т.е. оборот по каждому отдельному документу.
Так?

2. Периодичность заданная пользователем - ты пользуешься скд? или как у тебя выполняется отчет? В скд можно через параметры задать. В остальных случаях надо самому прописывать кодом.
14 kalisto
 
26.10.16
12:30
Нет, не СКД. Пользователь захотел привычный вид настройки отчетов (стандартный, как в УТ). Я сохранила отчет стандартный Ведомость по партиям, как внешний. Потом исправила запрос. Выбор из регистра ПродажиСебестоимость сделала по образцу, как из ПартииТОваровНаСкладах (как было в стандартном запросе).
15 kalisto
 
26.10.16
12:30
Построитель+Универсальный отчет.
16 AceVi
 
26.10.16
12:52
(15) Сейчас под рукой нет отчетов на универсальном отчете. С интерфейсом подумай сама. в кратце - добавляешь новый отбор вида массив в нем строки типа "Регистратор", "Период" и т.д. и потом перед формированием отчета, в текста запроса заменяешь.
РегистрНакопления.ПродажиСебестоимость.Обороты(&ДатаНач, &ДатаКон, &Периодичность)
СтрЗаменить(ТекстЗапроса,"&Периодичность", ЗначениеПериодичностиИзОтбора)

Само значение в построителе будет.
17 kalisto
 
26.10.16
13:43
Спасибо. Попробую.