IE2017

Пример дерева справочника с пометками (через AktiveX)

Программирование - Практика программирования

Пример построения дерева справочника с пометками и с последующей обработкой только помеченных элементов.

Решение не оптимальное и вряд ли применимо к большим справочникам, зато наглядное.
Делалось для конкретной ситуации, поэтому решение не универсальное
Требует вк 1С++ (2.5.0.6)

Без помощи http://www.1cpp.ru/forum/YaBB.pl ничего бы не получилось, спасибо всем, кто помог, за советы и примеры

АктивИкс вроде стандартный MS-овский, но похоже появляется только с установкой Офиса.
Возможное решение проблемы прилагается ( опять же найдено на http://www.1cpp.ru/forum/YaBB.pl )

ps. это только пример, но уже применяемый на практике

Скачать файлы

Наименование Файл Версия Размер
axTree
.1207743117 410,61Kb
25.09.09
46
.1207743117 410,61Kb 46 Скачать
возможное решение проблем
.1207743213 474,45Kb
25.09.09
27
.1207743213 474,45Kb 27 Скачать

См. также

Комментарии
1. Игорь Шеремет (ivsher) 27.01.12 12:48 Сейчас в теме
Хороший пример для начала работы с активиксом, и достаточно полезный. Немного подправил процедуру для атоматической пометки всех потомков выбранного узла, так как оригинальня процедура на моем справочнике работала с ошибками, да и в моем варианте получилось поменьше строк...
Процедура ПометитьВходящие(Node)
//проверяем есть ли у обрабатваемого узла потомки
//если есть то выполняем пометку всех потомков
//если потомков нет, то никаких действий выполнять ненадо
Если Node.Children > 0 Тогда
Пометка = Node.Checked;
//позицианируемся на первый элемент узла
NodeCh = Node.Child;
NodeCh.Checked = Пометка;
//если у текущего узла есть потомки
Если NodeCh.Children > 0 Тогда
ПометитьВходящие(NodeCh);
КонецЕсли;
//пока не достигнем последнего узла цикл
Пока NodeCh.Key<>NodeCh.LastSibling.Key Цикл
NodeCh = NodeCh.Next;
NodeCh.Checked = Пометка;
//если у текущего узла есть потомки
Если NodeCh.Children > 0 Тогда
ПометитьВходящие(NodeCh);
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
Оставьте свое сообщение