|
Вывести иерархический справочник в ТЗ |
☑ |
0
r1000
25.05.17
✎
10:24
|
Как вывести справочник в ТЗ сохраняя иерархию ? Нужно именно ТЗ, а дерево.
Пишу так:
Запрос.Текст =
"ВЫБРАТЬ
| СпрНоменклатура.Ссылка КАК Номенклатура
|ИЗ
|СГРУППИРОВАТЬ ПО
| СпрНоменклатура.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| СпрНоменклатура.ЭтоГруппа,
| СпрНоменклатура.Наименование
|ИТОГИ ПО
| Номенклатура ИЕРАРХИЯ";
потом делаю выборку и заполняю строки ТЗ.
Но в выборке иерархия не такая как в справочнике. Добавляются итоги, а они не нужны.
Что поправить в запросе, чтобы порядок выборки был как в справочнике ?
|
|
1
Ёпрст
гуру
25.05.17
✎
10:26
|
Выгрузи в ДеревоЗначения
|
|
2
Ёпрст
гуру
25.05.17
✎
10:27
|
ну и , упорядочивание выкини
|
|
3
Ёпрст
гуру
25.05.17
✎
10:27
|
и группировку
|
|
4
r1000
25.05.17
✎
10:33
|
упорядочивание мне нужно, т.к. пользователи справочник просматривают с определенными настройками сортировки.
|
|
5
Ёпрст
гуру
25.05.17
✎
10:38
|
(4)
Ну так тогда, что ле
ВЫБРАТЬ
Ссылка КАК Номенклатура
ИЗ Справочник.Номенклатура
УПОРЯДОЧИТЬ ПО
ЭтоГруппа ИЕРАРХИЯ,
Наименование
|
|
6
Antony8x
25.05.17
✎
10:39
|
(0) Так уберите "ИТОГИ" из запроса
|
|
7
r1000
25.05.17
✎
11:50
|
Получается очень похоже, но все равно не удается построить порядок такой же как в справочнике списке.
В выборке сначала идут самые вложенные папки. Т.е. сортировка справочника списка отличается от получаемой программно выборки, даже с такой же настройкой упорядочивания. Почему ?
|
|
8
r1000
25.05.17
✎
11:55
|
Вот запрос целиком. Мне нужно вывести внутренние цены для групп и элементов. но в такой же иерархии как в справочнике списка номенклатуры, но выводить нужно только те элементы, на которые установлены внутренние цены, а не все подряд. поэтому соединение.
ВЫБРАТЬ
СпрНоменклатура.Ссылка КАК Номенклатура,
ВложенныйЗапрос.Цена
ИЗ
Справочник.Номенклатура КАК СпрНоменклатура
ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
ЦеныВнутренние.Номенклатура КАК Номенклатура,
ЦеныВнутренние.Цена КАК Цена
ИЗ
РегистрСведений.ЦеныВнутренние.СрезПоследних(
,
) КАК ЦеныВнутренние) КАК ВложенныйЗапрос
ПО СпрНоменклатура.Ссылка = ВложенныйЗапрос.Номенклатура
УПОРЯДОЧИТЬ ПО
СпрНоменклатура.ЭтоГруппа ИЕРАРХИЯ,
СпрНоменклатура.Наименование
|
|
9
r1000
25.05.17
✎
11:57
|
далее следует
Результат = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
и потом обход дерева с заполнением строк ТЗ.
|
|
10
r1000
25.05.17
✎
12:00
|
Все получается с ЛЕВЫМ соединением и отсеканием элементов без внутренних цен на стадии заполнения, но справочник номенклатуры огромный и тупой перебор занимает нереальное время.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший