helpf.pro
Регистрация

v8: Отчет по разным периодам

Einstein
28.03.2013 11:47Прочитано: 5222
Есть простенький запрос:
Код 1C v 8.х
 ВЫБРАТЬ
ОтгрузкаОбороты.Номенклатура КАК Номенклатура,
ОтгрузкаОбороты.СуммаОборот КАК СуммаОборот,
ОтгрузкаОбороты.Период КАК Период

ИЗ
РегистрНакопления.Отгрузка.Обороты(&Нач, &Кон, Месяц, ) КАК ОтгрузкаОбороты
Стоит задача выводить в отчет несколько разных периодов для сравнения в основном берется один меся прошлого года и сравнивается с месяцем этого года. Вопрос в том как лучше это сделать?Попробовал через построитель отчета задал в одборе периодичность месяц и добавил период, как тип сравнения список значения, а уже в список значения добавляю начало каждого месяца, которые хочу сравнить, результат получаю в принципе тот который мне нужен. Так можно вобще делать?
Yandex
Возможно, вас также заинтересует
Реклама на портале
DJ_Serega
28.03.2013 12:32Ответ № 1
(0) Einstein, Ну если получается то можно )

У меня вот такой запрос получился. В итоге одной строкой по номенклатуре. Есть колонки За этот и прошлый год, а также разница ;)
Код 1C v 8.х
 
"ВЫБРАТЬ
| ОтгрузкаОбороты.Номенклатура КАК Номенклатура,
| ОтгрузкаОбороты.Период КАК ЭтотПериод,
| НАЧАЛОПЕРИОДА(ОтгрузкаОбороты.Период, ГОД) КАК ЭтотГод,
| ОтгрузкаОбороты.СтоимостьОборот КАК ЭтотСуммаОборот,
| NULL КАК ПрошлыйПериод,
| NULL КАК ПрошлыйГод,
| NULL КАК ПрошлыйСуммаОборот
|ПОМЕСТИТЬ Выборка
|ИЗ
| РегистрНакопления.Продажи.Обороты(&Нач, &Кон, Месяц, ) КАК ОтгрузкаОбороты
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПрошлыйОтгрузкаОбороты.Номенклатура,
| NULL,
| NULL,
| NULL,
| ДОБАВИТЬКДАТЕ(ПрошлыйОтгрузкаОбороты.Период, ГОД, -1),
| НАЧАЛОПЕРИОДА(ДОБАВИТЬКДАТЕ(ПрошлыйОтгрузкаОбороты.Период, ГОД, -1), ГОД),
| ПрошлыйОтгрузкаОбороты.СтоимостьОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты(ДОБАВИТЬКДАТЕ(&Нач, ГОД, -1), ДОБАВИТЬКДАТЕ(&Кон, ГОД, -1), Месяц, ) КАК ПрошлыйОтгрузкаОбороты
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Выборка.Номенклатура КАК Номенклатура,
| МАКСИМУМ(Выборка.ЭтотПериод) КАК ЭтотПериод,
| МАКСИМУМ(Выборка.ЭтотГод) КАК ЭтотГод,
| СУММА(Выборка.ЭтотСуммаОборот) КАК ЭтотСуммаОборот,
| МАКСИМУМ(Выборка.ПрошлыйПериод) КАК ПрошлыйПериод,
| МАКСИМУМ(Выборка.ПрошлыйГод) КАК ПрошлыйГод,
| СУММА(Выборка.ПрошлыйСуммаОборот) КАК ПрошлыйСуммаОборот,
| СУММА(ЕСТЬNULL(Выборка.ЭтотСуммаОборот, 0) - ЕСТЬNULL(Выборка.ПрошлыйСуммаОборот, 0)) КАК Разница
|ИЗ
| Выборка КАК Выборка
|ГДЕ
| Выборка.Номенклатура = &Номенклатура
|
|СГРУППИРОВАТЬ ПО
| Выборка.Номенклатура
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура"
Подсказка: Для быстрого поиска ответов - используйте 'Поиск'
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.