Имя: Пароль:
1C
 
скд (запрос)
0 TemkaTV
 
15.04.16
16:50
Наверняка многие сталкивались. Смотрите. Пишу отчёт на скд. Есть поле   "Конечный остаток". можно ли  и как сделать, чтоб этот конечный остаток показывал на последнюю дату?
1 TemkaTV
 
15.04.16
16:50
ВЫБРАТЬ
    СвободныеОстаткиОстаткиИОбороты.Регистратор КАК Регистратор,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаНачальныйОстаток * ВЫБОР
            КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &ЗакупочнаяЦена
                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
            ИНАЧЕ 0
        КОНЕЦ) КАК НачальныйОстаток_Сумма,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаПриход * ВЫБОР
            КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &ЗакупочнаяЦена
                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
            ИНАЧЕ 0
        КОНЕЦ) КАК Приход_Сумма,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаРасход * ВЫБОР
            КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &ЗакупочнаяЦена
                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
            ИНАЧЕ 0
        КОНЕЦ) КАК Расход_Сумма,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаКонечныйОстаток * ВЫБОР
            КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &ЗакупочнаяЦена
                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
            ИНАЧЕ 0
        КОНЕЦ) КАК КонечныйОстаток_Сумма,
    СвободныеОстаткиОстаткиИОбороты.Номенклатура КАК Номенклатура,
    МАКСИМУМ(ВЫБОР
            КОГДА ЦеныНоменклатурыСрезПоследних.ВидЦены = &ЗакупочнаяЦена
                ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
            ИНАЧЕ 0
        КОНЕЦ) КАК Цена_ПоВидуЦены,
    МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена,
    СвободныеОстаткиОстаткиИОбороты.Регистратор.Менеджер КАК Менеджер,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаНачальныйОстаток) КАК НачальныйОстаток,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаКонечныйОстаток) КАК КонечныйОстаток,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаПриход) КАК Приход,
    МАКСИМУМ(СвободныеОстаткиОстаткиИОбороты.ВРезервеСоСкладаРасход) КАК Расход
ИЗ
    РегистрНакопления.СвободныеОстатки.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Регистратор, , ) КАК СвободныеОстаткиОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ) КАК ЦеныНоменклатурыСрезПоследних
        ПО СвободныеОстаткиОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ГДЕ
    СвободныеОстаткиОстаткиИОбороты.Регистратор ССЫЛКА Документ.АктПриемаТМЦ

СГРУППИРОВАТЬ ПО
    СвободныеОстаткиОстаткиИОбороты.Регистратор,
    СвободныеОстаткиОстаткиИОбороты.Номенклатура,
    СвободныеОстаткиОстаткиИОбороты.Регистратор.Менеджер
2 TemkaTV
 
15.04.16
16:51
сейчас остаток показывает за весь период между &началоПериода и &конецПериода
3 Lolipop
 
15.04.16
17:19
(2) Что значит на последнюю дату?
Конечный остаток - это и есть остаток на дату, которую ты передаешь в запрос.
4 Lolipop
 
15.04.16
17:20
Если хочешь не за весь период, а только на конец, то бери таблицу СвободныеОстаткиОстатки.
И вводи в параметрах виртуальной таблицы свой период
5 sash-ml
 
15.04.16
17:22
можно, отдельно выбирай обороты и отдельно остатки, но какой смысл видеть конечный остаток при группировке по регистраторам?