Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)
Делаю отчет в Обработке (1 часть), а именно обход справочника "Контрагенты" по иерархии:
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Наименование КАК Наименование
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|
|УПОРЯДОЧИТЬ ПО
| Наименование ИЕРАРХИЯ";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
// Вставить обработку выборки ВыборкаДетальныеЗаписи
Отступ = "";
Для Шаг = 0 По Выборка.Уровень() Цикл
Отступ = Отступ + " ";
КонецЦикла;
//Сообщить(Отступ + Выборка.Наименование);
Область = Макет.ПолучитьОбласть("Значения");
Область.Параметры.Контрагенты = Отступ + Выборка.Наименование;
ТабДок.Вывести(Область);
КонецЦикла;
Макет = ПолучитьМакет("Макет");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка,
| Контрагенты.Представление
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ИТОГИ ПО
| Ссылка ИЕРАРХИЯ";
РезультатЗапроса = Запрос.Выполнить();
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьСсылкаИерархия = Макет.ПолучитьОбласть("СсылкаИерархия");
ОбластьСсылка = Макет.ПолучитьОбласть("Ссылка");
ТабДок = Новый ТабличныйДокумент;
ТабДок.Очистить();
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаСсылка = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаСсылка.Следующий() Цикл
Если ВыборкаСсылка.ТипЗаписи() = ТипЗаписиЗапроса.ИтогПоИерархии Тогда
Область = ОбластьСсылкаИерархия;
Иначе
Область = ОбластьСсылка;
КонецЕсли;
Область.Параметры.Заполнить(ВыборкаСсылка);
ТабДок.Вывести(Область, ВыборкаСсылка.Уровень());
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать();
Vidocq05 @ Сегодня, 16:11
,
Благодарю. Вроде это оно...
Немного не понял:
Область.Параметры.Заполнить(ВыборкаСсылка);
|УПОРЯДОЧИТЬ ПО
| Ссылка
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК Ссылка,
| Контрагенты.Представление
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.ЭтоГруппа = ЛОЖЬ
|ИТОГИ ПО
| Ссылка ИЕРАРХИЯ";
Vidocq05 @ Сегодня, 17:25
,
Благодарю... и как я сам до такого не додумался :-)
А как сделать спойлеры без учета всяких Иерархий...
Например, просто спрятать в спойлер определенную область макета?
Имеется код выполнения заполнения определенной области в макете, как только заканчивается, то эту область замочить в спойлер
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua