Функционал:
В обработке реализован отбор строк для данных с типом «ДеревоЗначений» по параметрам, аналогично стандатному отбору строк для данных с типом «ТаблицаЗначений».
Загруженное ДеревоЗначений в исходном виде или с наложенным фильтром можно сохранить в файл, а после открыть из файла и продолжить работу.
Использование:
Загрузить данные можно тремя способами:
- Открыть из файла, предварительно сохранённого из данной обработки. Расширение файла по умолчанию *.vt1c (Value Tree 1C), но можно выбрать любое.
- Получить из запроса. Окно работы с запросом открывается по кнопке, представляет из себя нечто похожее на окно консоли запросов. Результат всегда выводится в виде дерева. Для того, чтобы дерево выглядело именно деревом, а не таблицей, в запросе должны быть поля группировки и группировочные поля в итогах.
- Передать ДеревоЗначений можно параметром в экспортную функцию обработки:
ОтборДляДереваЗначений(ДеревоЗначений)
Параметр «ДеревоЗначений» — исходное ДеревоЗначений
При нажатии кнопки «ОК», функция возвращает исходное ДеревоЗначений с текущим отбором строк.
Горячие клавиши:
Основное окно
- Ctrl+O — Открыть файл
- Ctrl+S — Сохранить файл
- Ctrl+Q — Открыть окно работы с запросом
- F5 — Применить установленный отбор
Окно работы с запросом
- F2 — Параметры
- F5 — Выполнить запрос
- Ctrl+Q — Конструктор запроса
- Ctrl+E — Использовать результат запроса
Особенности и ограничения:
- Отбор строк происходит на самом последнем уровне вложенности в каждой ветке дерева.
- Нетипизированные поля недоступны для отбора
- Отбор по полю с именем «Родитель» не увенчается успехом, т.к. у строки ДереваЗначений есть своё поле «Родитель», коророе хранит строку уровнем выше.
Применение:
Для работы с ранее сохранённым деревом или полученным из запроса достаточно просто запустить обработку (Файл — Открыть). У пользователя должны быть права на открытие внешних обработок.
Обратиться к функции из любого места конфигурации можно:
- если обработка встроена в конфигурацию
Обработки.<ИмяОбработкиВКонфигурации>.ОтборДляДереваЗначений(ДеревоЗначений)
- если обработка установлена во внешние
ОбработкаДрева = Справочники.ВнешниеОбработки.НайтиПоКоду("<КодОбработки>");
ДвоичныеДанные = ОбработкаДрева.ХранилищеВнешнейОбработки.Получить();
ИмяФайла = ПолучитьИмяВременногоФайла("epf");
ДвоичныеДанные.Записать(ИмяФайла);
ОбработкаДрева = ВнешниеОбработки.Создать(ИмяФайла);
ДеревоЗначенийПослеОтбора = ОбработкаДрева.ОтборДляДереваЗначений(ДеревоЗначений);
Перспективы развития:
- Возможность отбора на любом уровне
- Суммирование на верхних уровнях
- Свои формулы расчёта на разных уровнях
- Ваши идеи и пожелания