Отчет формируется как надо, НО некоторые колонки не входят в "Группировка", собственно по ним и на
Процедура Сформировать()
Перем Запрос, ТекстЗапроса, Таб;
ТД=ТекущаяДата();
ЦенаРозничная = 0;
Прибыль = 0;
Эффективность = 0;
стр=0;
Пер1 = 0;
Пер2 = 0;
СуммаТовара = 0;
ВыбФирма=ПолучитьПустоеЗначение("Справочник.Фирмы");
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Обрабатывать НеПомеченныеНаУдаление;
|Номенклатура = Регистр.ОстаткиТоваров.Товар.ТекущийЭлемент;
|Склад = Регистр.ОстаткиТоваров.Склад.ТекущийЭлемент;
|ОстатокТовара = Регистр.ОстаткиТоваров.ОстатокТовара;
|Фирма = Регистр.ОстаткиТоваров.Фирма.ТекущийЭлемент;
|Группировка Номенклатура упорядочить по Номенклатура.ПолнНаименование,Номенклатура.Артикул,Номенклатура.Наименование,Ном
енклатура.ЦенаПрих,Номенклатура.кРоз,Номенклатура.ЦенаРозница,Номенклатура.кОпт,Н
оменклатура.ЦенаОпт,Номенклатура.кКрОпт,Номенклатура.ЦенаКрупныйОпт ,Номенклатура.Артикул без групп все ВошедшиеВЗапрос;
|Функция ОстатокТовараКонОст = КонОст(ОстатокТовара);
|Функция ЦенаПрихода = Сумма(Номенклатура.ЦенаПрих);
|Условие(Номенклатура в ВыбТовар);
|Условие(Фирма=ВыбФирма);
|";//}}ЗАПРОС
Наимен=ВыбТовар.ПолучитьЗначение(1);
Наимен = "Группа товаров: " + ВыбТовар.ПолучитьЗначение(1);
Если ВыбТовар.РазмерСписка()>1 Тогда
Наимен = "Группа товаров: " + ВыбТовар.ПолучитьЗначение(1) + ", " + ВыбТовар.ПолучитьЗначение(2);
КонецЕсли;
Если ВыбТовар.РазмерСписка()>2 Тогда
Наимен = "Группа товаров: " + ВыбТовар.ПолучитьЗначение(1) + ", " + ВыбТовар.ПолучитьЗначение(2) + ", " + ВыбТовар.ПолучитьЗначение(3);
КонецЕсли;
Если ВыбТовар.РазмерСписка()>3 Тогда
Наимен = "Группа товаров: " + ВыбТовар.ПолучитьЗначение(1) + ", " + ВыбТовар.ПолучитьЗначение(2) + ", " + ВыбТовар.ПолучитьЗначение(3) + ", " + ВыбТовар.ПолучитьЗначение(4);
КонецЕсли;
Если ВыбТовар.РазмерСписка()>4 Тогда
Наимен = "Группа товаров: " + ВыбТовар.ПолучитьЗначение(1) + ", " + ВыбТовар.ПолучитьЗначение(2) + ", " + ВыбТовар.ПолучитьЗначение(3) + ", " + ВыбТовар.ПолучитьЗначение(4) + ", " + ВыбТовар.ПолучитьЗначение(5);
КонецЕсли;
Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
Возврат;
КонецЕсли;
// Подготовка к заполнению выходных форм данными запроса
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Сформировать");
// Заполнение полей "Заголовок"
Таб.ВывестиСекцию("Заголовок");
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Итог0=0;
Пока Запрос.Группировка(1) = 1 Цикл
// Заполнение полей РасходнаяРеализатора
стр=стр+1;
//Вопрос касается этих значений
Пер1 = Запрос.ЗначениеУпорядочивания(1,4);
Пер2 = Запрос.ОстатокТовараКонОст;
СуммаТовара = Пер1*Пер2;
ЦенаРозничная = Запрос.ЗначениеУпорядочивания(1,6);
Прибыль =ЦенаРозничная-Пер1;
МинОстаток = Запрос.Номенклатура.МинимальныйОстаток;
/////////////////////////////////////////////////////////////////////////////////////
Итог0 = Итог0+Пер1*Пер2;
Таб.ВывестиСекцию("РасходнаяРеализатора");
КонецЦикла;
// Заполнение полей "Итого"
Таб.ВывестиСекцию("Итого");
// Вывод заполненной формы
Таб.ТолькоПросмотр(1);
Таб.Показать("Сформировать", "");
КонецПроцедуры
Каким способом можно сделать сортировку по выбранным колонкам?
Ковыряю 1С 8.2.14.528 конфигурация УТП ред. 1.2.1.3
1С 8.3 (8.3.1.531) конфиг УТ 2.3.16.1
1С 7.7 Торговля+Склад