Имя: Пароль:
1C
1С v8
Построитель+ИсточникДанных+Сортировка
0 Ivan093
 
17.08.12
12:44
Пишу отчет на основе универсального в УТ 10.3
Построителю подсовываю уже готовый результат запроса:

ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапроса);    
     ИсточникДанных.Колонки.Контрагент.Измерение = Истина;
   ИсточникДанных.Колонки.Менеджер.Измерение = Истина;
   ИсточникДанных.Колонки.ДокументОтгрузки.Измерение = Истина;

Проблема в том, что чтобы я ни добавлял в настройку сортировки универсального отчета -- сортировка не работает.
Он выводит в каком-то своем порядке.
Мне же надо отсортировать по представлению Менеджер,Контрагент.
Что я забыл сделать?
1 ptiz
 
17.08.12
12:47
1) Можно добавить колонки "МенеджерНаименование" и пр.
2) Сделать запрос и выкинуть построитель
2 Ivan093
 
17.08.12
13:02
забыл написать колонки МенеджерНаименование и КонтрагентНаименование добавлял -- эффект тот же.
3 0Mint
 
17.08.12
13:06
А текст запроса можно глянуть?
4 Ivan093
 
17.08.12
13:11
По полям ресурсов сортирует, а по измерениям нет
5 Ivan093
 
17.08.12
13:14
Вот текст запроса:

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

ИЗ
   РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(&ДатаОтчета, ДокументРасчетовСКонтрагентом ССЫЛКА Документ.РеализацияТоваровУслуг {(ДоговорКонтрагента).*, (Сделка).*, (Контрагент).*, (Организация).*}) КАК ТабОстатки
ГДЕ
   ТабОстатки.СуммаВзаиморасчетовОстаток > 0

УПОРЯДОЧИТЬ ПО
   МенеджерНаименование,    
   КонтрагентНаименование,
   ДатаДокумента
6 ptiz
 
17.08.12
13:23
(4) А ты сделай ресурсом МАКСИМУМ(МенеджерНаименование) и т.п.
7 acsent
 
17.08.12
13:25
зачем в построитель передавать результат запроса?
8 Ivan093
 
17.08.12
13:27
(7) Мне нужно промежуточный результат обработать через код. В запрос построителю не подсунешь конструкцию вида "ВЫБРАТЬ * ИЗ &Таблица". Приходится так извращаться.
9 0Mint
 
17.08.12
13:28
(7) Верно говорит.
В самом тексте запроса надо определить поля сортировки для построителя непосредственно, и добавить поля с функцией ПРЕДСТАВЛЕНИЕ().
10 0Mint
 
17.08.12
13:29
УПОРЯДОЧИТЬ ПО
   МенеджерНаименование,
   КонтрагентНаименование,
   ДатаДокумента
{УПОРЯДОЧИТЬ ПО
   КонтрагентНаименование,
   МенеджерНаименование}
11 0Mint
 
17.08.12
13:30
(8) СКД?
12 Ivan093
 
17.08.12
13:32
(10) Это бесполезно, т.к. в построитель передается источник данных, а не текст запроса.
(11) Универсальный отчет
13 0Mint
 
17.08.12
13:35
(12) Предлагаю использовать СКД вместо универсального.
14 Ivan093
 
17.08.12
13:41
Дак вот хотелось бы, чтобы отчет "вписался" в УТ 10.3, а там все на универсальном.
15 Ivan093
 
17.08.12
13:42
Тем более все работает кроме сортировки...
16 Ivan093
 
17.08.12
13:47
Он сортирует только по тем полям, которые на экране. Вывел МенеджерНаименование -- тогда сортирует, но это все равно не дело, мне эти поля не нужны видимые...