V8 Універсальне збереження

Універсальний алгоритм збереження\відновлення дерев на формі.Автор статті: Violently Остання редакція №1 від 30.01.07
Ключові слова: Дерево, зберегти, відновити, записати, побудувати

У цій статті пропоную розглянути універсальний алгоритм відновлення дерев.Вступ:На початковій стадії моєї роботи так склалося, що мені постійно давали робити документи, у яких на формі необхідно було подавати дані в ієрархічному вигляді. У зв'язку з цим за збереження документа необхідно було якось запам'ятовувати дерево. Намучавшись вдосталь з індивідуальним кожному за документа алгоритмом, було вирішено розробити універсальний.Опис універсального алгоритму збереження:Щоб реалізувати алгоритм, знадобиться таке:1. Припустимо, що дерево на формі у Вас вже є і воно якось заповнюється або Ви його заповнюєте самі - неважливо. 2. Додаємо на форму в дерево дві колонки, у мене це буде: «ІндексПочаток» та «ІндексКінець», вони матимуть рядкову виставу у 200 символів. (Дані колонки потім рекомендується просто приховати, оскільки вони мають суто службовий характер). 3. Створюємо табличну частину документа, яка міститиме реквізити, кількість і тип яких залежатимуть від кількості та типу колонок на дереві форми. (Грубо кажучи, переносимо колонки у табличну частину). 4. Після чого на процедурі «ПріЗаписи» (загалом на Ваш розсуд) будемо зберігати дерево в табличну частину. Наприклад, я покажу, як це зроблено в мене: 4.1. Спочатку викликається процедура «Зберегти Дерева»:

Пункт 4.2. складається з Процедури та Функції. Функція потрібна дляотримати код для подальшого відновлення дерева.

5. Відновлюємо дерево, прописавши наступний на процедурі «При Відкритті»: