Класс "Дерево на ТЗ" предназназначен для работы с ТЗ, имеющей свойства дерева. В нем присутствуют стандартные методы "Дерева" с измененным синтаксисом - класс сразу обращается к ТЗ на форме и добавлено немного своих. 1. Дерево (<Контекст>,<Таблица>) - возвращает атрибут формы таблицы. Используется в других методах этого класса, указанных в описании. 2. Заполнить(<Таблица>,<Источник>,<ИсключатьПомеченные>,<ДобавлятьПустыеСтроки>) Метод позволяет заполнить дерево в ТЗ из указанного источника. В данной версии источник - справочник, количество уровней - 5. При необходимости метод может быть дописан для других источников, количество уровней увеличено. Благодаря использованию "Выполняемого модуля" это не займет много времени. Параметры: <Таблица> - таблица значений.Условия заполнения таблицы для источника типа "Справочник": идентификаторы колонок должны быть аналогичны идентификаторам реквизитов справочника (также код и наименование), колонка для размещения элемента должна иметь идентификатор "ТекущийЭлемент" В случае несоответствия колонки будут не заполнены. Если в таблице отсутствуют обязательные колонки "Уровень" "Пиктограмма" и "Ветка" метод сам вставит недостающие колонки. <Объект> - строка с указанием полного типа объекта. Необязательный параметр для случая, когда (для справочгика) имеется колонка "ТекущийЭлемент", тип буден определен из параметров этой колонки. <ИсключатьПомеченные> - число. Необязательный параметр. В случае установки значения = 1, помеченные на удаление объекты будут пропущены. <ДобавлятьПустыеСтроки>- число. Необязательный параметр. В случае установки значения = 1, для групп, не имеющих вложений будут добавлены пустышки с пиктограммой элемента. При заполнении дерева метод формирует список узлов, который при необходимости возвращается в контект формы таблицы и в дальнейшем может использоваться для методов "Развернуть" и "Свернуть".
3. Развернуть(Контекст, Таблица,Узлы). 4. Свернуть(Контекст, Таблица,Узлы). Методы позволяю Развернуть/свернуть как все дерево, так и выбраный узел. Параметр <Узлы> - необязательный параметр. В случае его отсутствия, дерево будет развернуто\свернуто методом перебора строк дерева. В случае передачи значения типа "Строка" - будет свернут/развернут указанный узел. В случае передачи списка узлов (см.выше) будут развернуты/свернуты узлы, номера строк которых есть в списке. Изначально в нем присутствуют все узлы. Использование списка узлов значительно ускоряет метод.
|