+380 (68) 223 35 83 +380 (50) 192 03 11 tov@notai.ua

Ієрархічні довідники


В системі Облік-НОТАІ є п'ять ієрархічних довідників:

  • Контрагенти
  • Товари
  • Каталог для веб-магазину
  • Файли
  • Щоденник

"Ієрархічний" означає що в довіднику елементи можна групувати в папки (групи), як це робиться, наприклад, в файлової системі вашого комп'ютера. Система підтримує довільну вкладеність в цих довідниках. Це означає що користувач може будувати скільки завгодно складну структуру своїх довідників. В "Облік-НОТАІ" застосовується алгоритм зберігання і розвузловки графа, який робить можливим швидко працювати з такими великими структурами. Однією з таких операцій є переміщення. Ви можете переміщати елементи та папки (з вкладеними у них іншими папками і елементами) в будь-яке місце побудованої вами ієрархії.

Для вибору папки відкривається ієрархічний список, а не дерево. Чому зроблено так. Коли у вашому дереві десяток-другий папок, це не має великого значення. Але ми орієнтуємося на підприємства, які працюють з великим асортиментом. І у таких підприємств ієрархія каталогу товарів, наприклад, може бути дуже гіллястою і численною. Щоб відкрити дерево - програмі потрібно 1) развузловать весь граф, це призводить до більшої кількості запитів до бази на сервері, і 2) завантажити на клієнта всі елементи ієрархії відразу. Ми ж намагаємося зробити так, щоб наша задача могла без зусиль працювати на низькій швидкості інтернету, яка буває, наприклад, на мобільному телефоні. У загальному випадку тут можна оптимізувати і зробити завантаження кожного рівня в момент клацання на плюсик в дереві. Тут суб'єктивно. Я, наприклад, не люблю працювати з деревами, коли натискаючи на плюсик я повинен чекати. Підхід зі списком дозволяє завантажувати на клієнта завжди один рівень ієрархії, це економить і ресурси на сервері, і ресурси на клієнті. Але є ще одна незаперечна перевага списку - пошук елемента.

Наприклад, я не пам'ятаю де в ієрархії лежить група, яка мені потрібна і її треба знайти. Можна зробити пошук і для першого і для другого варіанта реалізації (і у вигляді дерева, і у вигляді списку) і він цілком успішно працюватиме. Але давайте розгянемо більш складну задачу: мені потрібно вибрати всі папки в яких присутнє слово "фітінг". Папки знаходяться в різних гілках ієрархії і на різному рівні вкладеності. Я не знаю як точно називається папка, але, дивлячись на її назву, я буду впевнений яку мені треба вибрати. У дереві вам треба буде обходити всі вузли розкриваючи всі гілки ієрархії. А ось в списку відпрацює все просто. Набираємо в пошуковому рядку "фітінг", бачимо всі варіанти в вигляді єдиного списку, вибираємо потрібний.

Більш того, де б ви не знаходилися в рівні ієрархії, коли ви шукаєте, то пошук здійснюється по всьому в довіднику. Коли з'являється список знайдених елементів, то в кожному елементі вказується шлях до нього.

У списку є тільки один недолік - немає кореневого елемента, який я можу вибрати. (На дереві я зазначив де він знаходиться.) Тому в панелі інструментів списку присутня кнопка "В корінь", яка відправляє елемент або папку на самий верх ієрархії.

Також алгоритм розвузловки графа дозволяє відразу виявляти можливі зациклення. Наприклад, якщо ви батьківську папку спробуєте перемістити у вкладену папку в рамках однієї гілки ієрархії, то система цю дію не виконає і попередить вас про це.

КОНТАКТИ:
ТОВ "НОТАІ"
+380 (68) 223 35 83
+380 (50) 192 03 11
tov@notai.ua
62103, м.Богодухів, Харьківська обл.
вул.Свято-Духівська, 7а, офіс № 7