Имя: Пароль:
1C
1С v8
отчет. вывести количество лет нелеквида. окгруление
0 zladenuw
 
22.10.13
15:32
Нужно вывести количество полных лет и месяца. как правильно сделать ?
Сейчас вот так.


          ВЫБРАТЬ
    ОстаткиЗЧ.Товар,
    МАКСИМУМ(ОстаткиЗЧ.Период) КАК Период
ПОМЕСТИТЬ ВТ
ИЗ
    РегистрНакопления.ОстаткиЗЧ КАК ОстаткиЗЧ
ГДЕ
    ОстаткиЗЧ.ВнД = ЗНАЧЕНИЕ(Перечисление.ВидыДвижЗЧ.Продажа)
    И ВЫБОР
            КОГДА &Поставщик = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка)
                ТОГДА ИСТИНА
            ИНАЧЕ ОстаткиЗЧ.Партия.Поставщик = &Поставщик
        КОНЕЦ
    И ВЫБОР
            КОГДА &ФильтрТовар = ЗНАЧЕНИЕ(Справочник.Запчасти.ПустаяСсылка)
                ТОГДА ИСТИНА
            ИНАЧЕ ОстаткиЗЧ.Товар В ИЕРАРХИИ (&ФильтрТовар)
        КОНЕЦ

СГРУППИРОВАТЬ ПО
    ОстаткиЗЧ.Товар
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Товар
ПОМЕСТИТЬ ПродажиЗЧ
ИЗ
    ВТ КАК ВТ
ГДЕ
    //РАЗНОСТЬДАТ(ВТ.Период, &ТекДата, День)/365 >= &ЛетНелеквидаОт
    //И
    РАЗНОСТЬДАТ(ВТ.Период, &ТекДата, Месяц)/12 <= &ЛетНелеквидаДо

СГРУППИРОВАТЬ ПО
    ВТ.Товар
;

////////////////////////////////////////////////////////////////////////////////
УНИЧТОЖИТЬ ВТ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиЗЧОстаткиИОбороты.Товар.Код КАК Артикул,
    ОстаткиЗЧОстаткиИОбороты.Товар.Артикул КАК КодБух,
    ОстаткиЗЧОстаткиИОбороты.Товар,
    МАКСИМУМ(выразить(РАЗНОСТЬДАТ(ОстаткиЗЧОстаткиИОбороты.Партия.Дата, &ТекДата, Месяц)/12 как число(10,2))) КАК КоличествоЛет,
    СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток) КАК Остаток,
    СРЕДНЕЕ(ЦеныЗЧ.Цена) КАК Цена,
    СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток * ЦеныЗЧ.Цена) КАК Сумма,
    СРЕДНЕЕ(ЦеныЗЧ1.Цена) КАК ЦенаРозницы,
    СУММА(ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток * ЦеныЗЧ1.Цена) КАК СуммаРозницы
ИЗ
    РегистрНакопления.ОстаткиЗЧ.ОстаткиИОбороты(
            ,
            &ТекДата,
            ,
            ,
            ВЫБОР
                    КОГДА &Поставщик = ЗНАЧЕНИЕ(Справочник.Клиенты.ПустаяСсылка)
                        ТОГДА ИСТИНА
                    ИНАЧЕ Партия.Поставщик = &Поставщик
                КОНЕЦ
                И выразить(РАЗНОСТЬДАТ(Партия.Дата, &ТекДата, Месяц)/12 как число(10,0)) >= &ЛетНелеквидаОт
                И выразить(РАЗНОСТЬДАТ(Партия.Дата, &ТекДата, Месяц)/12 как число(10,0)) <= &ЛетНелеквидаДо
                И ВЫБОР
                    КОГДА &ФильтрТовар = ЗНАЧЕНИЕ(Справочник.Запчасти.ПустаяСсылка)
                        ТОГДА ИСТИНА
                    ИНАЧЕ Товар В ИЕРАРХИИ (&ФильтрТовар)
                КОНЕЦ
                И НЕ Товар В
                        (ВЫБРАТЬ
                            Т.Товар
                        ИЗ
                            ПродажиЗЧ КАК Т)) КАК ОстаткиЗЧОстаткиИОбороты
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ
        ПО ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ.Владелец
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ЦеныЗЧ КАК ЦеныЗЧ1
        ПО ОстаткиЗЧОстаткиИОбороты.Товар = ЦеныЗЧ1.Владелец
ГДЕ
    ОстаткиЗЧОстаткиИОбороты.КвоКонечныйОстаток = ОстаткиЗЧОстаткиИОбороты.КвоОборот
    И ЦеныЗЧ.ТипЦены = &ТипЦены
    И ЦеныЗЧ1.ТипЦены = &ТипЦеныРозн

СГРУППИРОВАТЬ ПО
    ОстаткиЗЧОстаткиИОбороты.Товар.Код,
    ОстаткиЗЧОстаткиИОбороты.Товар.Артикул,
    ОстаткиЗЧОстаткиИОбороты.Товар