Имя: Пароль:
1C
 
как правильно перебирать запрос с итогами ?
0 Trotter
 
06.09.18
07:43
Привет. Есть такой запрос:
ВЫБРАТЬ
    Продажи.Период КАК Период,
    Продажи.Регистратор КАК Регистратор,
    Продажи.НомерСтроки КАК НомерСтроки,
    Продажи.Активность КАК Активность,
    Продажи.УправленческийУчет КАК УправленческийУчет,
    Продажи.ПодразделениеКомпании КАК ПодразделениеКомпании,
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Поставщик КАК Поставщик,
    Продажи.Покупатель КАК Покупатель,
    Продажи.СтатусПартии КАК СтатусПартии,
    Продажи.ХозОперация КАК ХозОперация,
    Продажи.ДоговорВзаиморасчетов КАК ДоговорВзаиморасчетов,
    Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    Продажи.СкладКомпании КАК СкладКомпании,
    Продажи.Рецептура КАК Рецептура,
    Продажи.СтавкаНДС КАК СтавкаНДС,
    Продажи.Партия КАК Партия,
    Продажи.Проект КАК Проект,
    СУММА(Продажи.Количество) КАК Количество,
    СУММА(Продажи.Сумма) КАК Сумма,
    СУММА(Продажи.СуммаНДС) КАК СуммаНДС,
    СУММА(Продажи.СуммаСкидки) КАК СуммаСкидки,
    СУММА(Продажи.СуммаУпр) КАК СуммаУпр,
    СУММА(Продажи.КоличествоКомплексныхОбедов) КАК КоличествоКомплексныхОбедов,
    СУММА(Продажи.СебестоимостьУпр) КАК СебестоимостьУпр,
    СУММА(Продажи.Себестоимость) КАК Себестоимость,
    СУММА(Продажи.СуммаНДСВходящий) КАК СуммаНДСВходящий
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период МЕЖДУ &нДата И &кДата

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

И всё меня в нём устраивает, вроде как.
Но когда я начинаю перебирать результат сталкиваюсь с проблемой.
Первом делом я хочу передать номенклатуру в функцию, НО первой строчкой в результате идёт ИТОГ по регистратору и Номенклатура = NULL
И Как тут лучше быть ?
1 Zmich
 
06.09.18
07:50
(0).
ВыборкаРегистраторов = Запрос.Выполнить.Выбрать(ОбъодРезультатаЗапроса.ПоГруппировкам, "Регистратор");
Пока ВыборкаРегистраторов.Следующий() Цикл
  // тут Номенклатура будет Null
  Выборка = ВыборкаРегистраторов.Выбрать();
  Пока Выборка.Следующий() Цикл
    Номенклатура = Выборка.Номенклатура; // а тут уже не Null
  КонецЦикла;
КонецЦикла;
2 Trotter
 
06.09.18
07:56
(1) Спасибо, сейчас затестирую, как - то я об этом даже и не подумал.
3 Trotter
 
06.09.18
08:21
всё. спасибо. то что нужно.
Мб тут подскажете как в итогах высчитать средние значения того или иного поля ?
4 catena
 
06.09.18
08:31
(3)Использовать агрегатную функцию СРЕДНЕЕ, не?
5 ILM
 
гуру
06.09.18
08:38
Как бы включив телепатию в отчете нужны средняя цена продажи и одновременно итоги продаж. Что-то типа набора полей: сумма, количество, цена мин, цена макс, цена средняя, кол-во контрагентов, кол-во продаж, среднее кол-во. Но вот что с этим потом делать непонятно)))
6 Trotter
 
06.09.18
08:38
(4) Да это понятно, например есть Сумма и количество, как посчитать цену в запросе дабы потом применить агрегатную функцию СРЕДНЕЕ ?
7 Trotter
 
06.09.18
08:38
(5) +))
8 catena
 
06.09.18
08:46
(6)Разделить? В чем проблема-то, что не получается?
9 Trotter
 
06.09.18
08:47
(8) подготовить это в запросе, ахинея какая - то получается:
ВЫБРАТЬ
    Продажи.Период КАК Период,
    Продажи.Регистратор КАК Регистратор,
    Продажи.НомерСтроки КАК НомерСтроки,
    Продажи.Активность КАК Активность,
    Продажи.УправленческийУчет КАК УправленческийУчет,
    Продажи.ПодразделениеКомпании КАК ПодразделениеКомпании,
    Продажи.Номенклатура КАК Номенклатура,
    Продажи.Поставщик КАК Поставщик,
    Продажи.Покупатель КАК Покупатель,
    Продажи.СтатусПартии КАК СтатусПартии,
    Продажи.ХозОперация КАК ХозОперация,
    Продажи.ДоговорВзаиморасчетов КАК ДоговорВзаиморасчетов,
    Продажи.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    Продажи.СкладКомпании КАК СкладКомпании,
    Продажи.Рецептура КАК Рецептура,
    Продажи.СтавкаНДС КАК СтавкаНДС,
    Продажи.Партия КАК Партия,
    Продажи.Проект КАК Проект,
    СУММА(Продажи.Количество) КАК Количество,
    СУММА(Продажи.Сумма) КАК Сумма,
    СУММА(Продажи.СуммаНДС) КАК СуммаНДС,
    СУММА(Продажи.СуммаСкидки) КАК СуммаСкидки,
    СУММА(Продажи.СуммаУпр) КАК СуммаУпр,
    СУММА(Продажи.КоличествоКомплексныхОбедов) КАК КоличествоКомплексныхОбедов,
    СУММА(Продажи.СебестоимостьУпр) КАК СебестоимостьУпр,
    СУММА(Продажи.Себестоимость) КАК Себестоимость,
    СУММА(Продажи.СуммаНДСВходящий) КАК СуммаНДСВходящий,
    ВЫРАЗИТЬ(Продажи.Количество / Продажи.Сумма КАК ЧИСЛО(15, 2)) КАК Цена
ИЗ
    РегистрНакопления.Продажи КАК Продажи
ГДЕ
    Продажи.Период МЕЖДУ &нДата И &кДата

СГРУППИРОВАТЬ ПО
    Продажи.Регистратор,
    Продажи.Период,
    Продажи.НомерСтроки,
    Продажи.УправленческийУчет,
    Продажи.ПодразделениеКомпании,
    Продажи.Номенклатура,
    Продажи.Поставщик,
    Продажи.Покупатель,
    Продажи.СтатусПартии,
    Продажи.ХозОперация,
    Продажи.ДоговорВзаиморасчетов,
    Продажи.ХарактеристикаНоменклатуры,
    Продажи.СкладКомпании,
    Продажи.Рецептура,
    Продажи.СтавкаНДС,
    Продажи.Партия,
    Продажи.Проект,
    Продажи.Активность,
    ВЫРАЗИТЬ(Продажи.Количество / Продажи.Сумма КАК ЧИСЛО(15, 2))
ИТОГИ
    СУММА(Количество),
    СУММА(Сумма),
    СУММА(СуммаНДС),
    СУММА(СуммаСкидки),
    СУММА(СуммаУпр),
    СУММА(КоличествоКомплексныхОбедов),
    СУММА(СебестоимостьУпр),
    СУММА(Себестоимость),
    СУММА(СуммаНДСВходящий)
ПО
    Регистратор
10 Trotter
 
06.09.18
08:48
Продажи.Сумма / Продажи.Количество
11 Trotter
 
06.09.18
08:50
всё разобрался, сейчас я навычисляю всякие вычисления, теперь то ) спасибо
12 ILM
 
гуру
06.09.18
10:46
(11) Большие знания - большие печали. Сделай тогда сразу и второй отчет сравнить период (месяц, год, квартал) % измения продаж, прибыли и цены динамику, можно даже диаграмму.

У меня есть отчет сделанный "насторону" для военных на СКД ,там около 20 показателей с расшифровкой исходных данных за два периода и динамика - портянка на 40 листов. Им нравятся, а мне нет)))