1

Отчет по ликвидности товара в 1С УТ 11.1

#1С Предприятие 8#1С Управление торговлей 11.1


У одного из клиентов занимающихся продажей автошин возникла задача по расчету ликвидности товара. Заказчиком было составлено следующее ТЗ:

ТЗ по установке Ликвидности

Ликвидность рассчитывается по всей номенклатуре находящейся в выбранной группе. Расчет ведется в трех разрезах, периодом расчета является месяц:

  • по организациям;
  • по складам;
  • общая по всему предприятию.

Алгоритм:

Расчет категории “Залежи”.

Продукция, попадающая в категорию залежи лежит без продаж на складе (т.е. остаток на начало периода > 0, остаток на конец периода > 0, продажи за период* = 0.

*Период для:

  • Номенклатуры из группы - Сельскохозяйственные – 12 месяцев;
  • Номенклатуры из группы – Легковые - 15 месяцев;
  • Для всех остальных - 6 месяцев.

Расчет оборачиваемости и присвоение категории ликвидности.

Для оставшегося товара из выбранной группы номенклатуры рассчитываем Скорость продаж:

Расчет скорости продажи (СРПРОД).

В первую очередь рассчитываются средние продажи за период *. Средние продажи рассчитываются только по тем месяцам, в которых были остатки на начало (если количество таких месяцев больше, чем количество месяцев в которых были продажи), либо по тем месяцам в которых были продажи(если количество таких месяцев больше, чем количество месяцев в которых были остатки на начало).

*Период для:

  • Номенклатуры из группы - Сельскохозяйственные – 12 месяцев;
  • Номенклатуры из группы – Легковые - 15 месяцев;
  • Для всех остальных - 6 месяцев.

Расчет коэффициента оборачиваемости.

Оборачиваемость = Остаток на конец расчетного месяца / Скорость продаж

Присваивание номенклатуре категории ликвидности.

а) Товар относится к категории Залежи - Залежи;

б) Оборачиваемость < 3 - Ликвидный товар;

в) Оборачиваемость > 3 но < 6 – средне ликвидный товар;

г) Оборачиваемость > 6 и за последние 6 месяцев были либо остатки на начало месяца, либо продажи. А за предшествующих им от 6 до 12 месяцев(настраивается) - не было ни остатков, ни продаж - Новый товар с низкой оборачиваемостью;

д) Остальные – Низко ликвидный товар.

Реализация задачи

Задачу решено было решать в два этапа:

  • Написание отчета с расчетом ликвидности(весь алгоритм реализуется в одном запросе). Отчет нужен для того что бы заказчику было легче проверять данные, а исполнителю без исправления конфигурации править ошибки;
  • Ежемесячно делать расчет ликвидность и полученные данные записывать в регистр регламентным заданием(реализация будет рассмотрена в следующей части статьи).

При написании отчета все условия накладываемые на периоды и на группы номенклатуры были выведены в параметры. Это было сделано для большей гибкости алгоритма, так как заказчик имеет обыкновение менять некоторые условия задачи. В отчете был использован алгоритм получения остатков с разбивкой по периодам, он описан в статье: Остатки с разбивкой по периодам (в запросе).

Отчет можно скачать внизу данной публикации. Вот описание его настроек:

Параметры:

  • Период - конец месяца на который рассчитывается ликвидность товара;
  • Календарь - любой заполненный календарь из СправочникСсылка.ПроизводственныеКалендари, необходим для расчета остатков по периодам;
  • Группа номенклатуры - для номенклатуры находящаяся в этой группе будет произведен расчет ликвидности. По замыслу заказчика в этой группе находятся товары;
  • Кол мес без остатков и продаж - количество месяцев без продаж и остатков из пункта г) присвоения категорий ликвидности(в ТЗ от 6 до 12, но можете выбрать любое другое количество больше 0);
  • Кол мес новая продукция - количество месяцев с остатками на начало месяца, либо продажами из пункта г) присвоения категорий ликвидности(в ТЗ - 6 , но можете выбрать любое другое количество больше 0);
  • Рассчитывать по предприятию - в отчете будет произведен расчет ликвидности по всему предприятию;
  • Рассчитывать по организациям - в отчете будет произведен расчет ликвидности в разрезе организаций;
  • Рассчитывать по складам - в отчете будет произведен расчет ликвидности в разрезе складов;
  • Легковые - группа номенклатуры из 1 и 2 пункта алгоритма(можно оставить пустой, если не нужна);
  • Сельскохозяйственные - группа номенклатуры из 1 и 2 пункта алгоритма(можно оставить пустой, если не нужна);
  • Период для легковых - период для группы номенклатуры Легковые из 1 и 2 пункта алгоритма (в ТЗ - 15 , но можете выбрать любое другое количество больше 0);
  • Период для сельскохозяйственных - период для группы номенклатуры Сельскохозяйственные из 1 и 2 пункта алгоритма (в ТЗ - 12 , но можете выбрать любое другое количество больше 0);
  • Период для остальных - период для номенклатуры не входящей в Легковые и Сельскохозяйственные из 1 и 2 пункта алгоритма (в ТЗ - 6 , но можете выбрать любое другое количество больше 0);

Отборы:

  • Номенклатура в списке;
  • Раздел классификации(Организация, склад, Неопределено) в списке.

В итоге для отчета был написан следующий запрос(будьте внимательны, некоторые параметры заполнены на закладке Компоновка данных, поэтому в обычной консоли их необходимо будет перенести):

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    Номенклатура.Ссылка КАК Номенклатура,
    ВЫБОР
        КОГДА Номенклатура.Ссылка В ИЕРАРХИИ (&Сельскохозяйственные)
            ТОГДА &ПериодДляСельскохозяйственных
        КОГДА Номенклатура.Ссылка В ИЕРАРХИИ (&Легковые)
            ТОГДА &ПериодДляЛегковых
        ИНАЧЕ &ПериодДляОстальных
    КОНЕЦ КАК МесяцевПоГруппеШин
ПОМЕСТИТЬ НужнаяНоменклатура
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
    НАЧАЛОПЕРИОДА(ДанныеПроизводственногоКалендаря.Дата, МЕСЯЦ) КАК Месяц
ПОМЕСТИТЬ Календарь
ИЗ
    РегистрСведений.ДанныеПроизводственногоКалендаря КАК ДанныеПроизводственногоКалендаря
ГДЕ
    ДанныеПроизводственногоКалендаря.ПроизводственныйКалендарь = &Календарь
    И ДанныеПроизводственногоКалендаря.Дата МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ) И КОНЕЦПЕРИОДА(&Период, МЕСЯЦ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Календарь.Месяц,
    СебестоимостьТоваровОстатки.Организация,
    НужнаяНоменклатура.Номенклатура КАК Номенклатура,
    СУММА(СебестоимостьТоваровОстатки.КоличествоОстаток) КАК КоличествоОстатокНаНачало,
    СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Склад КАК Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    СУММА(СебестоимостьТоваровОстатки.СтоимостьОстаток) КАК СтоимостьОстатокНаНачало
ПОМЕСТИТЬ ОстаткиНаНачало
ИЗ
    Календарь КАК Календарь,
    НужнаяНоменклатура КАК НужнаяНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Остатки({(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ))}, ) КАК СебестоимостьТоваровОстатки
        ПО НужнаяНоменклатура.Номенклатура = СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура

СГРУППИРОВАТЬ ПО
    СебестоимостьТоваровОстатки.Организация,
    Календарь.Месяц,
    СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    НужнаяНоменклатура.Номенклатура

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Календарь.Месяц,
    СебестоимостьТоваровОбороты.Организация,
    НужнаяНоменклатура.Номенклатура,
    0,
    СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    0
ИЗ
    НужнаяНоменклатура КАК НужнаяНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Обороты(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ), КОНЕЦПЕРИОДА(&Период, МЕСЯЦ), Месяц, ) КАК СебестоимостьТоваровОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Остатки({(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ))}, ) КАК СебестоимостьТоваровОстатки
            ПО СебестоимостьТоваровОбороты.Организация = СебестоимостьТоваровОстатки.Организация
                И СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Номенклатура = СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Номенклатура
                И СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Склад = СебестоимостьТоваровОстатки.АналитикаУчетаНоменклатуры.Склад
        ПО НужнаяНоменклатура.Номенклатура = СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Номенклатура,
    Календарь КАК Календарь
ГДЕ
    СебестоимостьТоваровОстатки.Организация ЕСТЬ NULL

СГРУППИРОВАТЬ ПО
    Календарь.Месяц,
    СебестоимостьТоваровОбороты.Организация,
    СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    НужнаяНоменклатура.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    НАЧАЛОПЕРИОДА(СебестоимостьТоваровОбороты.Период, МЕСЯЦ) КАК Месяц,
    СебестоимостьТоваровОбороты.Организация,
    НужнаяНоменклатура.Номенклатура КАК Номенклатура,
    СУММА(СебестоимостьТоваровОбороты.КоличествоОборот) КАК КоличествоОборот,
    СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Склад КАК Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    СУММА(СебестоимостьТоваровОбороты.СтоимостьОборот) КАК СтоимостьОборот
ПОМЕСТИТЬ ОборотыЗаПериод
ИЗ
    НужнаяНоменклатура КАК НужнаяНоменклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СебестоимостьТоваров.Обороты(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ), КОНЕЦПЕРИОДА(&Период, МЕСЯЦ), Месяц, ) КАК СебестоимостьТоваровОбороты
        ПО НужнаяНоменклатура.Номенклатура = СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Номенклатура

СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(СебестоимостьТоваровОбороты.Период, МЕСЯЦ),
    СебестоимостьТоваровОбороты.Организация,
    СебестоимостьТоваровОбороты.АналитикаУчетаНоменклатуры.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    НужнаяНоменклатура.Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиНаНачало.Организация,
    СУММА(ОборотыЗаПериодНаНачало.КоличествоОборот) КАК КоличествоОборотНаНачало,
    МАКСИМУМ(ОстаткиНаНачало.КоличествоОстатокНаНачало) КАК КоличествоОстатокНаНачало,
    ОстаткиНаНачало.Месяц,
    ОстаткиНаНачало.Номенклатура,
    ОстаткиНаНачало.Склад,
    ОстаткиНаНачало.МесяцевПоГруппеШин,
    СУММА(ОборотыЗаПериодНаНачало.СтоимостьОборот) КАК СтоимостьОборотНаНачало,
    МАКСИМУМ(ОстаткиНаНачало.СтоимостьОстатокНаНачало) КАК СтоимостьОстатокНаНачало
ПОМЕСТИТЬ РасчетОстатковНаНачало
ИЗ
    ОстаткиНаНачало КАК ОстаткиНаНачало
        ЛЕВОЕ СОЕДИНЕНИЕ ОборотыЗаПериод КАК ОборотыЗаПериодНаНачало
        ПО ОстаткиНаНачало.Организация = ОборотыЗаПериодНаНачало.Организация
            И ОстаткиНаНачало.Номенклатура = ОборотыЗаПериодНаНачало.Номенклатура
            И (ОборотыЗаПериодНаНачало.Месяц МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин)), МЕСЯЦ) И ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(ОстаткиНаНачало.Месяц, МЕСЯЦ), СЕКУНДА, -1))
            И ОстаткиНаНачало.Склад = ОборотыЗаПериодНаНачало.Склад

СГРУППИРОВАТЬ ПО
    ОстаткиНаНачало.Организация,
    ОстаткиНаНачало.Месяц,
    ОстаткиНаНачало.Номенклатура,
    ОстаткиНаНачало.Склад,
    ОстаткиНаНачало.МесяцевПоГруппеШин
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиНаНачало.Организация,
    СУММА(ОборотыЗаПериодНаКонец.КоличествоОборот) КАК КоличествоОборотКонец,
    МАКСИМУМ(ОстаткиНаНачало.КоличествоОстатокНаНачало) КАК КоличествоОстатокНаНачало,
    ОстаткиНаНачало.Месяц,
    ОстаткиНаНачало.Номенклатура,
    ОстаткиНаНачало.Склад,
    ОстаткиНаНачало.МесяцевПоГруппеШин,
    СУММА(ОборотыЗаПериодНаКонец.СтоимостьОборот) КАК СтоимостьОборотКонец,
    МАКСИМУМ(ОстаткиНаНачало.СтоимостьОстатокНаНачало) КАК СтоимостьОстатокНаНачало
ПОМЕСТИТЬ РасчетОстатковНаКонец
ИЗ
    ОстаткиНаНачало КАК ОстаткиНаНачало
        ЛЕВОЕ СОЕДИНЕНИЕ ОборотыЗаПериод КАК ОборотыЗаПериодНаКонец
        ПО ОстаткиНаНачало.Организация = ОборотыЗаПериодНаКонец.Организация
            И ОстаткиНаНачало.Номенклатура = ОборотыЗаПериодНаКонец.Номенклатура
            И (ОборотыЗаПериодНаКонец.Месяц МЕЖДУ НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин)), МЕСЯЦ) И КОНЕЦПЕРИОДА(ОстаткиНаНачало.Месяц, МЕСЯЦ))
            И ОстаткиНаНачало.Склад = ОборотыЗаПериодНаКонец.Склад

СГРУППИРОВАТЬ ПО
    ОстаткиНаНачало.Организация,
    ОстаткиНаНачало.Месяц,
    ОстаткиНаНачало.Номенклатура,
    ОстаткиНаНачало.Склад,
    ОстаткиНаНачало.МесяцевПоГруппеШин
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетОстатковНаНачало.Организация,
    РасчетОстатковНаНачало.Номенклатура,
    РасчетОстатковНаНачало.Месяц,
    РасчетОстатковНаНачало.КоличествоОстатокНаНачало + ЕСТЬNULL(РасчетОстатковНаНачало.КоличествоОборотНаНачало, 0) КАК ОстатокНаНачало,
    NULL КАК ОстатокНаКонец,
    РасчетОстатковНаНачало.Склад,
    РасчетОстатковНаНачало.МесяцевПоГруппеШин,
    РасчетОстатковНаНачало.СтоимостьОстатокНаНачало + ЕСТЬNULL(РасчетОстатковНаНачало.СтоимостьОборотНаНачало, 0) КАК СтоимостьОстатокНаНачало,
    NULL КАК СтоимостьОстатокНаКонец
ПОМЕСТИТЬ ОбщиеОстатки
ИЗ
    РасчетОстатковНаНачало КАК РасчетОстатковНаНачало

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РасчетОстатковНаКонец.Организация,
    РасчетОстатковНаКонец.Номенклатура,
    РасчетОстатковНаКонец.Месяц,
    NULL,
    РасчетОстатковНаКонец.КоличествоОстатокНаНачало + ЕСТЬNULL(РасчетОстатковНаКонец.КоличествоОборотКонец, 0),
    РасчетОстатковНаКонец.Склад,
    РасчетОстатковНаКонец.МесяцевПоГруппеШин,
    NULL,
    РасчетОстатковНаКонец.СтоимостьОстатокНаНачало + ЕСТЬNULL(РасчетОстатковНаКонец.СтоимостьОборотКонец, 0)
ИЗ
    РасчетОстатковНаКонец КАК РасчетОстатковНаКонец
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    АналитикаПоПартнерам.Организация КАК Организация,
    НужнаяНоменклатура.Номенклатура КАК Номенклатура,
    НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ) КАК Месяц,
    СУММА(ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот) КАК КоличествоПродажи,
    ВыручкаИСебестоимостьПродажОбороты.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин
ПОМЕСТИТЬ Продажи
ИЗ
    НужнаяНоменклатура КАК НужнаяНоменклатура
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(&Период, МЕСЯЦ, -(&КолМесНоваяПродукция + &МаксКолМесПоГруппамШин - 1)), МЕСЯЦ), КОНЕЦПЕРИОДА(&Период, МЕСЯЦ), Месяц, ) КАК ВыручкаИСебестоимостьПродажОбороты
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам
            ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам = АналитикаПоПартнерам.КлючАналитики
        ПО НужнаяНоменклатура.Номенклатура = ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры.Номенклатура

СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(ВыручкаИСебестоимостьПродажОбороты.Период, МЕСЯЦ),
    ВыручкаИСебестоимостьПродажОбороты.Склад,
    НужнаяНоменклатура.МесяцевПоГруппеШин,
    НужнаяНоменклатура.Номенклатура,
    АналитикаПоПартнерам.Организация
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОбщиеОстатки.Организация,
    ОбщиеОстатки.Номенклатура,
    ОбщиеОстатки.Месяц,
    ОбщиеОстатки.ОстатокНаНачало,
    ОбщиеОстатки.ОстатокНаКонец,
    ОбщиеОстатки.Склад,
    NULL КАК КоличествоПродажи,
    ОбщиеОстатки.МесяцевПоГруппеШин,
    ОбщиеОстатки.СтоимостьОстатокНаНачало,
    ОбщиеОстатки.СтоимостьОстатокНаКонец
ПОМЕСТИТЬ ОстаткиИПродажи
ИЗ
    ОбщиеОстатки КАК ОбщиеОстатки

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Продажи.Организация,
    Продажи.Номенклатура,
    Продажи.Месяц,
    NULL,
    NULL,
    Продажи.Склад,
    Продажи.КоличествоПродажи,
    Продажи.МесяцевПоГруппеШин,
    NULL,
    NULL
ИЗ
    Продажи КАК Продажи
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    "По всему предприятию" КАК РазделительКлассификации,
    ОстаткиИПродажи.Номенклатура,
    ОстаткиИПродажи.Месяц,
    СУММА(ОстаткиИПродажи.ОстатокНаНачало) КАК ОстатокНаНачало,
    СУММА(ОстаткиИПродажи.ОстатокНаКонец) КАК ОстатокНаКонец,
    СУММА(ОстаткиИПродажи.КоличествоПродажи) КАК КоличествоПродажи,
    NULL КАК Организация,
    NULL КАК Склад,
    ОстаткиИПродажи.МесяцевПоГруппеШин,
    СУММА(ОстаткиИПродажи.СтоимостьОстатокНаНачало) КАК СтоимостьОстатокНаНачало,
    СУММА(ОстаткиИПродажи.СтоимостьОстатокНаКонец) КАК СтоимостьОстатокНаКонец
ПОМЕСТИТЬ ОстаткиИПродажиРазбивка
ИЗ
    ОстаткиИПродажи КАК ОстаткиИПродажи
ГДЕ
    &РасчитыватьПоПредприятию = ИСТИНА

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажи.Номенклатура,
    ОстаткиИПродажи.Месяц,
    ОстаткиИПродажи.МесяцевПоГруппеШин

ОБЪЕДИНИТЬ ВСЕ

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

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

ОБЪЕДИНИТЬ ВСЕ

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

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажи.Номенклатура,
    ОстаткиИПродажи.Месяц,
    ОстаткиИПродажи.МесяцевПоГруппеШин,
    ВЫБОР
        КОГДА ОстаткиИПродажи.Склад ЕСТЬ NULL
            ТОГДА ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)
        ИНАЧЕ ОстаткиИПродажи.Склад
    КОНЕЦ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(1) КАК КоличествоСтрок,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    NULL КАК Организация,
    NULL КАК Склад
ПОМЕСТИТЬ НоваяПродукцияЭтапI
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По всему предприятию"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(6 - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И (НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
            ИЛИ НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.РазделительКлассификации

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(1),
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Организация,
    NULL
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По организациям"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(6 - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И (НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
            ИЛИ НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Организация

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(1),
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    NULL,
    ОстаткиИПродажиРазбивка.Склад
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По складам"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(6 - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И (НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
            ИЛИ НЕ ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НоваяПродукцияЭтапI.Номенклатура,
    СУММА(1) КАК КоличествоСтрок,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    NULL КАК Организация,
    NULL КАК Склад
ПОМЕСТИТЬ НоваяПродукцияЭтапI_2
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапI КАК НоваяПродукцияЭтапI
        ПО ОстаткиИПродажиРазбивка.РазделительКлассификации = НоваяПродукцияЭтапI.РазделительКлассификации
            И ОстаткиИПродажиРазбивка.Номенклатура = НоваяПродукцияЭтапI.Номенклатура
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По всему предприятию"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(&КолМесБезОстатковИПродаж + НоваяПродукцияЭтапI.КоличествоСтрок - 1)) И ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(НоваяПродукцияЭтапI.КоличествоСтрок - 1))
    И НоваяПродукцияЭтапI.КоличествоСтрок МЕЖДУ 1 И 6
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    НоваяПродукцияЭтапI.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоваяПродукцияЭтапI.Номенклатура,
    СУММА(1),
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Организация,
    NULL
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапI КАК НоваяПродукцияЭтапI
        ПО ОстаткиИПродажиРазбивка.Организация = НоваяПродукцияЭтапI.Организация
            И ОстаткиИПродажиРазбивка.РазделительКлассификации = НоваяПродукцияЭтапI.РазделительКлассификации
            И ОстаткиИПродажиРазбивка.Номенклатура = НоваяПродукцияЭтапI.Номенклатура
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По организациям"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(&КолМесБезОстатковИПродаж + НоваяПродукцияЭтапI.КоличествоСтрок - 1)) И ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(НоваяПродукцияЭтапI.КоличествоСтрок - 1))
    И НоваяПродукцияЭтапI.КоличествоСтрок МЕЖДУ 1 И 6
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    НоваяПродукцияЭтапI.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Организация

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоваяПродукцияЭтапI.Номенклатура,
    СУММА(1),
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    NULL,
    ОстаткиИПродажиРазбивка.Склад
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапI КАК НоваяПродукцияЭтапI
        ПО ОстаткиИПродажиРазбивка.РазделительКлассификации = НоваяПродукцияЭтапI.РазделительКлассификации
            И ОстаткиИПродажиРазбивка.Номенклатура = НоваяПродукцияЭтапI.Номенклатура
            И ОстаткиИПродажиРазбивка.Склад = НоваяПродукцияЭтапI.Склад
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По складам"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(&КолМесБезОстатковИПродаж + НоваяПродукцияЭтапI.КоличествоСтрок - 1)) И ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(НоваяПродукцияЭтапI.КоличествоСтрок - 1))
    И НоваяПродукцияЭтапI.КоличествоСтрок МЕЖДУ 1 И 6
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    НоваяПродукцияЭтапI.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    НоваяПродукцияЭтапI_2.Номенклатура,
    НоваяПродукцияЭтапI_2.РазделительКлассификации,
    NULL КАК Организация,
    NULL КАК Склад
ПОМЕСТИТЬ НоваяПродукцияЭтапII
ИЗ
    НоваяПродукцияЭтапI_2 КАК НоваяПродукцияЭтапI_2
ГДЕ
    НоваяПродукцияЭтапI_2.КоличествоСтрок = &КолМесБезОстатковИПродаж
    И НоваяПродукцияЭтапI_2.РазделительКлассификации = "По всему предприятию"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоваяПродукцияЭтапI_2.Номенклатура,
    НоваяПродукцияЭтапI_2.РазделительКлассификации,
    НоваяПродукцияЭтапI_2.Организация,
    NULL
ИЗ
    НоваяПродукцияЭтапI_2 КАК НоваяПродукцияЭтапI_2
ГДЕ
    НоваяПродукцияЭтапI_2.КоличествоСтрок = &КолМесБезОстатковИПродаж
    И НоваяПродукцияЭтапI_2.РазделительКлассификации = "По организациям"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    НоваяПродукцияЭтапI_2.Номенклатура,
    НоваяПродукцияЭтапI_2.РазделительКлассификации,
    NULL,
    НоваяПродукцияЭтапI_2.Склад
ИЗ
    НоваяПродукцияЭтапI_2 КАК НоваяПродукцияЭтапI_2
ГДЕ
    НоваяПродукцияЭтапI_2.КоличествоСтрок = &КолМесБезОстатковИПродаж
    И НоваяПродукцияЭтапI_2.РазделительКлассификации = "По складам"
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    СУММА(1) КАК КоличествоСтрок,
    NULL КАК Организация,
    NULL КАК Склад
ПОМЕСТИТЬ ЗалежиЭтапI
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По всему предприятию"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаКонец, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    СУММА(1),
    ОстаткиИПродажиРазбивка.Организация,
    NULL
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По организациям"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаКонец, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Организация

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    СУММА(1),
    NULL,
    ОстаткиИПродажиРазбивка.Склад
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По складам"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаКонец, 0) > 0
    И ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Склад
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЗалежиЭтапI.Номенклатура,
    ЗалежиЭтапI.РазделительКлассификации,
    NULL КАК Организация,
    NULL КАК Склад
ПОМЕСТИТЬ ЗалежиЭтапII
ИЗ
    ЗалежиЭтапI КАК ЗалежиЭтапI
ГДЕ
    ЗалежиЭтапI.РазделительКлассификации = "По всему предприятию"
    И ЗалежиЭтапI.КоличествоСтрок = ЗалежиЭтапI.МесяцевПоГруппеШин

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗалежиЭтапI.Номенклатура,
    ЗалежиЭтапI.РазделительКлассификации,
    ЗалежиЭтапI.Организация,
    NULL
ИЗ
    ЗалежиЭтапI КАК ЗалежиЭтапI
ГДЕ
    ЗалежиЭтапI.РазделительКлассификации = "По организациям"
    И ЗалежиЭтапI.КоличествоСтрок = ЗалежиЭтапI.МесяцевПоГруппеШин

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ЗалежиЭтапI.Номенклатура,
    ЗалежиЭтапI.РазделительКлассификации,
    NULL,
    ЗалежиЭтапI.Склад
ИЗ
    ЗалежиЭтапI КАК ЗалежиЭтапI
ГДЕ
    ЗалежиЭтапI.РазделительКлассификации = "По складам"
    И ЗалежиЭтапI.КоличествоСтрок = ЗалежиЭтапI.МесяцевПоГруппеШин
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(ОстаткиИПродажиРазбивка.КоличествоПродажи) КАК КоличествоПродажи,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ) КАК КоличествоМесяцев,
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.ОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ) КАК КонечныйОстаток,
    NULL КАК Организация,
    NULL КАК Склад,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ) КАК КоличествоМесяцевПродаж,
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.СтоимостьОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ) КАК СтоимостьКонечныйОстаток
ПОМЕСТИТЬ СкоростьПродаж
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По всему предприятию"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(ОстаткиИПродажиРазбивка.КоличествоПродажи),
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ),
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.ОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ),
    ОстаткиИПродажиРазбивка.Организация,
    NULL,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ),
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.СтоимостьОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ)
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По организациям"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.Организация,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    СУММА(ОстаткиИПродажиРазбивка.КоличествоПродажи),
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.ОстатокНаНачало, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ),
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.ОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ),
    NULL,
    ОстаткиИПродажиРазбивка.Склад,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(ОстаткиИПродажиРазбивка.КоличествоПродажи, 0) = 0
                ТОГДА 0
            ИНАЧЕ 1
        КОНЕЦ),
    МАКСИМУМ(ВЫБОР
            КОГДА ОстаткиИПродажиРазбивка.Месяц = НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)
                ТОГДА ОстаткиИПродажиРазбивка.СтоимостьОстатокНаКонец
            ИНАЧЕ 0
        КОНЕЦ)
ИЗ
    ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
ГДЕ
    ОстаткиИПродажиРазбивка.РазделительКлассификации = "По складам"
    И ОстаткиИПродажиРазбивка.Месяц МЕЖДУ ДОБАВИТЬКДАТЕ(НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ), МЕСЯЦ, -(ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин - 1)) И НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ)

СГРУППИРОВАТЬ ПО
    ОстаткиИПродажиРазбивка.РазделительКлассификации,
    ОстаткиИПродажиРазбивка.Номенклатура,
    ОстаткиИПродажиРазбивка.Склад,
    ОстаткиИПродажиРазбивка.МесяцевПоГруппеШин
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СкоростьПродаж.РазделительКлассификации,
    СкоростьПродаж.Номенклатура,
    СкоростьПродаж.КоличествоПродажи,
    СкоростьПродаж.КоличествоМесяцев,
    ВЫБОР
        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
            КОНЕЦ
    КОНЕЦ КАК СкоростьПродаж,
    СкоростьПродаж.КонечныйОстаток,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ = 0
            ТОГДА 0
        ИНАЧЕ СкоростьПродаж.КонечныйОстаток / ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ КАК Оборачиваемость,
    NULL КАК Организация,
    NULL КАК Склад,
    СкоростьПродаж.МесяцевПоГруппеШин,
    СкоростьПродаж.СтоимостьКонечныйОстаток
ПОМЕСТИТЬ РасчетОборачиваемости
ИЗ
    СкоростьПродаж КАК СкоростьПродаж
ГДЕ
    СкоростьПродаж.РазделительКлассификации = "По всему предприятию"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СкоростьПродаж.РазделительКлассификации,
    СкоростьПродаж.Номенклатура,
    СкоростьПродаж.КоличествоПродажи,
    СкоростьПродаж.КоличествоМесяцев,
    ВЫБОР
        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
            КОНЕЦ
    КОНЕЦ,
    СкоростьПродаж.КонечныйОстаток,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ = 0
            ТОГДА 0
        ИНАЧЕ СкоростьПродаж.КонечныйОстаток / ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ,
    СкоростьПродаж.Организация,
    NULL,
    СкоростьПродаж.МесяцевПоГруппеШин,
    СкоростьПродаж.СтоимостьКонечныйОстаток
ИЗ
    СкоростьПродаж КАК СкоростьПродаж
ГДЕ
    СкоростьПродаж.РазделительКлассификации = "По организациям"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СкоростьПродаж.РазделительКлассификации,
    СкоростьПродаж.Номенклатура,
    СкоростьПродаж.КоличествоПродажи,
    СкоростьПродаж.КоличествоМесяцев,
    ВЫБОР
        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
            ТОГДА 0
        ИНАЧЕ ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
            КОНЕЦ
    КОНЕЦ,
    СкоростьПродаж.КонечныйОстаток,
    ВЫБОР
        КОГДА ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ = 0
            ТОГДА 0
        ИНАЧЕ СкоростьПродаж.КонечныйОстаток / ВЫБОР
                КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) = 0
                        И ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0) = 0
                    ТОГДА 0
                ИНАЧЕ ВЫБОР
                        КОГДА ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0) > ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                            ТОГДА СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцев, 0)
                        ИНАЧЕ СкоростьПродаж.КоличествоПродажи / ЕСТЬNULL(СкоростьПродаж.КоличествоМесяцевПродаж, 0)
                    КОНЕЦ
            КОНЕЦ
    КОНЕЦ,
    NULL,
    СкоростьПродаж.Склад,
    СкоростьПродаж.МесяцевПоГруппеШин,
    СкоростьПродаж.СтоимостьКонечныйОстаток
ИЗ
    СкоростьПродаж КАК СкоростьПродаж
ГДЕ
    СкоростьПродаж.РазделительКлассификации = "По складам"
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетОборачиваемости.РазделительКлассификации,
    РасчетОборачиваемости.Номенклатура,
    РасчетОборачиваемости.КоличествоПродажи,
    РасчетОборачиваемости.КоличествоМесяцев,
    РасчетОборачиваемости.СкоростьПродаж,
    РасчетОборачиваемости.КонечныйОстаток,
    РасчетОборачиваемости.Оборачиваемость,
    ВЫБОР
        КОГДА НЕ ЗалежиЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Залежи"
        КОГДА ЕСТЬNULL(РасчетОборачиваемости.КонечныйОстаток, 0) = 0
            ТОГДА "Не классифицирован"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 0
                И РасчетОборачиваемости.Оборачиваемость <= 3
            ТОГДА "Ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 3
                И РасчетОборачиваемости.Оборачиваемость <= 6
            ТОГДА "Средне ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 6
                И НЕ НоваяПродукцияЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Новый товар с низкой оборачиваемостью"
        ИНАЧЕ "Низко ликвидный товар"
    КОНЕЦ КАК Ликвидность,
    НЕОПРЕДЕЛЕНО КАК РазделКлассификации,
    РасчетОборачиваемости.МесяцевПоГруппеШин,
    РасчетОборачиваемости.СтоимостьКонечныйОстаток
ПОМЕСТИТЬ РасчетЛиквидности
ИЗ
    РасчетОборачиваемости КАК РасчетОборачиваемости
        ЛЕВОЕ СОЕДИНЕНИЕ ЗалежиЭтапII КАК ЗалежиЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = ЗалежиЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = ЗалежиЭтапII.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапII КАК НоваяПродукцияЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = НоваяПродукцияЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = НоваяПродукцияЭтапII.Номенклатура
ГДЕ
    РасчетОборачиваемости.РазделительКлассификации = "По всему предприятию"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РасчетОборачиваемости.РазделительКлассификации,
    РасчетОборачиваемости.Номенклатура,
    РасчетОборачиваемости.КоличествоПродажи,
    РасчетОборачиваемости.КоличествоМесяцев,
    РасчетОборачиваемости.СкоростьПродаж,
    РасчетОборачиваемости.КонечныйОстаток,
    РасчетОборачиваемости.Оборачиваемость,
    ВЫБОР
        КОГДА НЕ ЗалежиЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Залежи"
        КОГДА ЕСТЬNULL(РасчетОборачиваемости.КонечныйОстаток, 0) = 0
            ТОГДА "Не классифицирован"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 0
                И РасчетОборачиваемости.Оборачиваемость <= 3
            ТОГДА "Ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 3
                И РасчетОборачиваемости.Оборачиваемость <= 6
            ТОГДА "Средне ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 6
                И НЕ НоваяПродукцияЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Новый товар с низкой оборачиваемостью"
        ИНАЧЕ "Низко ликвидный товар"
    КОНЕЦ,
    РасчетОборачиваемости.Организация,
    РасчетОборачиваемости.МесяцевПоГруппеШин,
    РасчетОборачиваемости.СтоимостьКонечныйОстаток
ИЗ
    РасчетОборачиваемости КАК РасчетОборачиваемости
        ЛЕВОЕ СОЕДИНЕНИЕ ЗалежиЭтапII КАК ЗалежиЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = ЗалежиЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = ЗалежиЭтапII.Номенклатура
            И РасчетОборачиваемости.Организация = ЗалежиЭтапII.Организация
        ЛЕВОЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапII КАК НоваяПродукцияЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = НоваяПродукцияЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = НоваяПродукцияЭтапII.Номенклатура
            И РасчетОборачиваемости.Организация = НоваяПродукцияЭтапII.Организация
ГДЕ
    РасчетОборачиваемости.РазделительКлассификации = "По организациям"

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    РасчетОборачиваемости.РазделительКлассификации,
    РасчетОборачиваемости.Номенклатура,
    РасчетОборачиваемости.КоличествоПродажи,
    РасчетОборачиваемости.КоличествоМесяцев,
    РасчетОборачиваемости.СкоростьПродаж,
    РасчетОборачиваемости.КонечныйОстаток,
    РасчетОборачиваемости.Оборачиваемость,
    ВЫБОР
        КОГДА НЕ ЗалежиЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Залежи"
        КОГДА ЕСТЬNULL(РасчетОборачиваемости.КонечныйОстаток, 0) = 0
            ТОГДА "Не классифицирован"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 0
                И РасчетОборачиваемости.Оборачиваемость <= 3
            ТОГДА "Ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 3
                И РасчетОборачиваемости.Оборачиваемость <= 6
            ТОГДА "Средне ликвидный товар"
        КОГДА РасчетОборачиваемости.Оборачиваемость > 6
                И НЕ НоваяПродукцияЭтапII.Номенклатура ЕСТЬ NULL
            ТОГДА "Новый товар с низкой оборачиваемостью"
        ИНАЧЕ "Низко ликвидный товар"
    КОНЕЦ,
    РасчетОборачиваемости.Склад,
    РасчетОборачиваемости.МесяцевПоГруппеШин,
    РасчетОборачиваемости.СтоимостьКонечныйОстаток
ИЗ
    РасчетОборачиваемости КАК РасчетОборачиваемости
        ЛЕВОЕ СОЕДИНЕНИЕ ЗалежиЭтапII КАК ЗалежиЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = ЗалежиЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = ЗалежиЭтапII.Номенклатура
            И РасчетОборачиваемости.Склад = ЗалежиЭтапII.Склад
        ЛЕВОЕ СОЕДИНЕНИЕ НоваяПродукцияЭтапII КАК НоваяПродукцияЭтапII
        ПО РасчетОборачиваемости.РазделительКлассификации = НоваяПродукцияЭтапII.РазделительКлассификации
            И РасчетОборачиваемости.Номенклатура = НоваяПродукцияЭтапII.Номенклатура
            И РасчетОборачиваемости.Склад = НоваяПродукцияЭтапII.Склад
ГДЕ
    РасчетОборачиваемости.РазделительКлассификации = "По складам"
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетЛиквидности.РазделительКлассификации КАК РазделительКлассификации,
    РасчетЛиквидности.Номенклатура КАК Номенклатура,
    РасчетЛиквидности.КоличествоПродажи КАК КоличествоПродажи,
    РасчетЛиквидности.КоличествоМесяцев КАК КоличествоМесяцев,
    РасчетЛиквидности.СкоростьПродаж КАК СкоростьПродаж,
    РасчетЛиквидности.КонечныйОстаток КАК КонечныйОстаток,
    РасчетЛиквидности.Оборачиваемость КАК Оборачиваемость,
    РасчетЛиквидности.Ликвидность КАК Ликвидность,
    РасчетЛиквидности.РазделКлассификации КАК РазделКлассификации,
    РасчетЛиквидности.МесяцевПоГруппеШин КАК МесяцевПоГруппеШин,
    ОстаткиИПродажиРазбивка.Месяц КАК Месяц,
    ОстаткиИПродажиРазбивка.ОстатокНаНачало КАК ОстатокНаНачало,
    ОстаткиИПродажиРазбивка.ОстатокНаКонец КАК ОстатокНаКонец,
    ОстаткиИПродажиРазбивка.КоличествоПродажи КАК КоличествоПродажиМесяц,
    ОстаткиИПродажиРазбивка.СтоимостьОстатокНаНачало,
    ОстаткиИПродажиРазбивка.СтоимостьОстатокНаКонец,
    РасчетЛиквидности.СтоимостьКонечныйОстаток
ИЗ
    РасчетЛиквидности КАК РасчетЛиквидности
        ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиИПродажиРазбивка КАК ОстаткиИПродажиРазбивка
        ПО РасчетЛиквидности.РазделительКлассификации = ОстаткиИПродажиРазбивка.РазделительКлассификации
            И РасчетЛиквидности.Номенклатура = ОстаткиИПродажиРазбивка.Номенклатура
            И (ВЫБОР
                КОГДА РасчетЛиквидности.РазделительКлассификации = "По всему предприятию"
                    ТОГДА ИСТИНА
                КОГДА РасчетЛиквидности.РазделительКлассификации = "По организациям"
                    ТОГДА РасчетЛиквидности.РазделКлассификации = ОстаткиИПродажиРазбивка.Организация
                КОГДА РасчетЛиквидности.РазделительКлассификации = "По складам"
                    ТОГДА РасчетЛиквидности.РазделКлассификации = ОстаткиИПродажиРазбивка.Склад
                ИНАЧЕ ЛОЖЬ
            КОНЕЦ)
1 2249 0
ДобавленоVital731 день назад
Отредактировано645 дней назад


Добавить комментарий

Добавить статью!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Остатки с разбивкой по периодам в запросе 1С

Часто перед программистом 1с возникает следующая задача: в запросе требуется взя...

Печатная форма 1С ТОРГ-16 Акт о списании товаров с себестоимостью на конец месяца

Здесь представлена внешняя печатная форма ТОРГ-16(Акт о списании товаров) для ко...

Создание простого отчета на 1С

Рассмотрим процесс написание простого отчета с использованием Системы компоновки...

Создание внешнего отчета в 1с 8

Рассмотрим создание внешнего отчета в 1с 8 без использования системы компоновки ...

Настройка двухстороннего обмена данными между конфигурациями "Управление торговлей 10.3" и "Бухгалтерия предприятия 2.0" в 1С 8

В этой статье мы рассмотрим как настроить двухсторонний обмен данными между конф...

Новое

Скачать печатные формы документа "Реализация товаров и услуг" 1С 8.2

Печатные формы из релиза 1C:Бухгалтерия 2.0.64.5 Скачать бесплатно печатную фор...

Как снять и поставить конфигурацию 1С на поддержку

В этой статье я расскажу как снять конфигурацию 1С 8 частично или полностью с по...

Как сделать резервную копию 1С

Чтобы обезопасить себя от частичной или полной потери данных, перед тем как прои...

Настройка двухстороннего обмена данными между конфигурациями "Управление торговлей 10.3" и "Бухгалтерия предприятия 2.0" в 1С 8

В этой статье мы рассмотрим как настроить двухсторонний обмен данными между конф...

Тестирование и исправление информационной базы 1С 8

Тестирование и исправление информационной базы 1С 8 необходимо выполнять в случа...