Книга знаний

Рекламное место пустует
1С:Предприятие

Карта книги знаний - вариант алгоритма

По аналогии с отчетом "Схема подчинения документов", можно сделать такой же отчет "карта книги знаний", вот алгоритм.Автор статьи: Гений 1С | Редакторы: Nirvana
Последняя редакция №3 от 21.01.13 | История
URL: http://kb.mista.ru/article.php?id=365

Ключевые слова: книга знаний, алгоритм, Миста, mista


Предлагаю сделать для книги знаний возможность вывода карты ссылок.

Карта должна выглядеть так:
= Внедрения 1С
==== На заводе РогаИКо
==== На заводе СеверСталь
==== За рубежом
====== В Америке
======== Как в Америке ускорили 1С за счет Дяди Билла
====== В ЮАР
======== http//Ссылка на внешний сайт3
======== http//Ссылка на внешний сайт4
==== По СНГ
= Ускорение 1С
==== Компонента для ускорения перебора идентификаторов
==== Компонента для удаления глюка с 100% зависоном
======== http//Ссылка на внешний сайт1
======== http//Ссылка на внешний сайт2
==== Программные прибабахи
====== Ускорение свертки
====== Полезные приемы для увеличения быстродействия
====== Как в Америке ускорили 1С за счет Дяди Билла

Карта строится по ссылкам, которые есть на странице. Волшебник говорит, что такая информация уже есть в виде отдельной таблицы.
Карта строится или по всей КЗ или по выбранному разделу КЗ.

Пусть есть таблица Ссылки (Откуда, Куда, Внешняя) - с какой страницы на какую идет ссылка и является ли ссылка внешней по отношению к книге знаний.


Итак, алгорим такой:

В СписокСтатей получаем список всех статей из выбранного раздела КЗ или вообще всех статей (в зависимости от выбранного фильтра);
Сортируем СписокСтатей по имени, или по дате обновления, или по автору (в зависимости от выбранного упорядочивания);
В СписокКорней получаем список всех статей, на которые нет ссылок;
Если в СписокКорней нет статей Тогда    Заносим в СписокКорней первый элемент списка СписокСтатей.
Заводим пустой список СписокВыведенных;
Для Каждого Статья Из СписокКорней Цикл
   Выполняем ВывестиРекурсивно(Статья, 1);
КонецЦикла;

Процедура ВывестиРекурсивно(Статья, Уровень):
Выводим с отступом Уровень статью.
Если статья в списке СписокВыведенных Тогда Возврат;
Заносим в СписокВыведенных статью Статья.
Получаем в список СписокДетей все статьи, которые входят в СписокСтатей, на которые есть ссылка из данной статьи.
Для Каждого Статья Из СписокДетей Цикл
   Выполняем ВывестиРекурсивно(Статья, Уровень+1);
КонецЦикла;

Таким образом, одна статья может повториться несколько раз, но зацикливания не будет. Для формирования списков, понятное дело используются запросы SQL.

Предлагаю сделать для книги знаний возможность вывода карты ссылок
Закладка

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2011 | Mista.ru

Яндекс.Метрика