Книга знаний

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-2025 | Mista.ru

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