|
Вывод иерархического справочника в отчет | ☑ | ||
---|---|---|---|---|
0
padaril
12.10.11
✎
22:54
|
Пытаюсь сделать примерно следующее:
Процедура ДействияФормыВыполнить(Кнопка) ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОблСтрока = Макет.ПолучитьОбласть("Строка"); Запрос = Новый Запрос("ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура | |УПОРЯДОЧИТЬ ПО | Ссылка ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ"); Рез = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); НачатьАвтогруппировкуСтрок(); й=1; ВывестиСтроки(Рез, й); ЗакончитьАвтогруппировкуСтрок(); ТабДок.Показать(); КонецПроцедуры Процедура ВывестиСтроки(Стр, й) Для каждого Стр[й] из Стр.Строки Цикл ОблСтрока.Параметры.Заполнить(Стр[й]); ТабДок.Вывести(ОблСтрока,й); ВывестиСтроки(Стр[й], й+1); КонецЦикла; КонецПроцедуры Ругается в строке "Для каждого Стр[й] из Стр.Строки Цикл" : {Обработка.ПрайсЛист.Форма.Форма(27,17)}: Ожидается символ '=' Для каждого Стр<<?>>[й] из Стр.Строки Цикл (Проверка: Толстый клиент (обычное приложение)) |
|||
1
DrShad
12.10.11
✎
22:56
|
откуда такой стиль написания кода!?
|
|||
2
DrShad
12.10.11
✎
22:58
|
да и СКД давно уже в легкую выводит такие отчеты
|
|||
3
mikecool
12.10.11
✎
23:00
|
Стр[й] заменить на Стр везде
и (2) +1 или построитель |
|||
4
sanja26
12.10.11
✎
23:01
|
[й] зачем?
|
|||
5
padaril
12.10.11
✎
23:02
|
"Стр[й] заменить на Стр везде"
и что же это получится? |
|||
6
mikecool
12.10.11
✎
23:03
|
(5) получится хоть что то уподобоваримое
|
|||
7
mikecool
12.10.11
✎
23:03
|
+6 хорошо, замени на СтрИ
|
|||
8
mikecool
12.10.11
✎
23:04
|
+7 и почитай про описание Для Каждого
|
|||
9
padaril
12.10.11
✎
23:04
|
Для каждого Стр1 из РЗ.Строки Цикл
Обл.Параметры.Заполнить(Стр1); ТабДок.Вывести(Обл,1); Для каждого Стр2 из Стр1.Строки Цикл Обл.Параметры.Заполнить(Стр2); ТабДок.Вывести(Обл,2); КонецЦикла; КонецЦикла; пытаюсь модернизировать |
|||
10
sanja26
12.10.11
✎
23:05
|
Вместо Стр.Строки -> Стр ?
|
|||
11
padaril
12.10.11
✎
23:13
|
Как сделать, если не знаю глубину иерархии?
|
|||
12
padaril
12.10.11
✎
23:15
|
что-то ничего не приходит в голову умного
|
|||
13
padaril
12.10.11
✎
23:25
|
Всем спасибо, помогло:
Процедура ДействияФормыВыполнить(Кнопка) ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОблСтрока = Макет.ПолучитьОбласть("Строка"); Запрос = Новый Запрос("ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.Код КАК Код |ИЗ | Справочник.Номенклатура КАК Номенклатура | |УПОРЯДОЧИТЬ ПО | Код ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ"); Рез = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); ТабДок.НачатьАвтогруппировкуСтрок(); й=1; ВывестиСтроки(Рез, й, ТабДок, Макет); ТабДок.ЗакончитьАвтогруппировкуСтрок(); ТабДок.Показать(); КонецПроцедуры Процедура ВывестиСтроки(Стр, й, ТабДок, Макет) Для каждого Стр1 из Стр.Строки Цикл ОблСтрока = Макет.ПолучитьОбласть("Строка"); ОблСтрока.Параметры.Заполнить(Стр1); ТабДок.Вывести(ОблСтрока,й); ВывестиСтроки(Стр1, й+1, ТабДок, Макет); КонецЦикла; КонецПроцедуры |
|||
14
mikecool
12.10.11
✎
23:43
|
убери из ВывестиСтроки
ОблСтрока = Макет.ПолучитьОбласть("Строка"); передавай ее параметром, только перед установкой параметров их надо чистить (?) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |