Загальні відомості про організацію зберігання даних
1. Під час проєктування системи одним із завдань є вибір типів об'єктів метаданих для реалізації зберігання відповідних сутностей предметної області. Неправильний вибір типів об'єктів призводить до неефективності прикладного рішення, неможливості його подальшого розвитку та унеможливлює адаптацію до можливих змін складу розв'язуваних завдань.
|
Методична рекомендація (корисна порада) |
1. Під час проєктування системи одним із завдань є вибір типів об'єктів метаданих для реалізації зберігання відповідних сутностей предметної області. Неправильний вибір типів об'єктів призводить до неефективності прикладного рішення, неможливості його подальшого розвитку та унеможливлює адаптацію до можливих змін складу розв'язуваних завдань.
2. Під час вибору типу об'єктів метаданих у загальному випадку слід керуватися такою схемою прикладного рішення:
* Стрілки на схемі позначають взаємозв'язки між даними (взаємні посилання).
На схемі виділяються такі блоки:
1. Умовно-постійна інформація. До цієї частини належить інформація, яка вводиться один раз, порівняно рідко змінюється та багаторазово використовується. Прикладом такої інформації можуть бути різні класифікатори, налаштування, переліки, реєстри, нормативно-довідкова інформація тощо.
2. Різні події процесів предметної області, які прив'язані до часу та можуть породжувати під час реєстрації різні відомості, змінювати значення показників. Приклад — документообіг підприємства, ведення обліку; реєстрація заявок, дзвінків тощо.
3. Накопичені відомості, значення показників, які характеризують процеси та поточний стан прикладної області. На відміну від перших двох частин, ці дані мають необ'єктну природу й не є самостійними сутностями з погляду прикладної області. Приклад — історія продажів товару, залишки на складах, поточний бухгалтерський баланс, історія зміни курсів валют тощо.
Окремо виділяються засоби для аналізу та обробки даних, звіти, механізми, які спираються на дані всіх інших блоків, але самі даних не містять.
Докладніше про завдання та принципи зберігання інформації див. у книзі «Професійна розробка в системі 1С Підприємство 8» розділ 6.
2.1. Таким чином, спрощено, для кожної сутності предметної області необхідно вибрати відповідний блок за такою схемою:
-
Якщо необхідно зберігати порівняно рідко змінювану інформацію, не прив'язану до часу, то це блок умовно-постійної інформації (1).
-
Якщо необхідно реєструвати події, що потребують документального підтвердження з відстеженням послідовності подій на часовій осі, то це блок подій процесів предметної області (2).
-
В іншому разі сутність має належати до блоку відомостей і значень показників (3).
Докладніші критерії вибору того чи іншого блоку:
| Критерій / блок |
Умовно-постійна інформація |
Події процесів предметної області |
Накопичені відомості, значення показників |
| Основне призначення | Необхідно зберігати нормативно-довідкову інформацію, реєстри | Необхідно реєструвати події процесів, забезпечувати документальне підтвердження відомостей | Необхідно зберігати дані, які характеризують процеси та поточний стан прикладної області |
| Відстеження зміни стану | Не потрібне | Потрібна реєстрація документа до обліку, скасування реєстрації обліку документа, облік запусків або завершень процесу, зміни стану завдань, формування рухів | Не потрібне |
| Ієрархія, групування даних | Потрібні ієрархія та групування, можливі між різними сутностями | Не потрібні | Не потрібні |
| Ключові властивості | Необхідно мати найменування, код | Необхідно враховувати дату події, її номер | Не потрібно |
| Зберігання значень додаткових реквізитів сутності | Необхідно зберігати рідко змінювані реквізити довільних даних | Необхідно зберігати посилання на інші об'єкти та значення параметрів, що характеризують подію | Необхідно зберігати лише значення реквізитів для інших об'єктів бази |
| Нумерація | Потрібні серії кодів за всіма елементами цього типу або в межах ієрархії | Потрібні серії номерів за всіма елементами цього типу або в межах періоду за датою, наскрізна нумерація об'єктів різних типів | Не потрібна |
2.2. Потім необхідно ухвалити рішення про конкретний вид типу об'єкта метаданих усередині вибраного блоку:
2.2.1. Для зберігання умовно-постійної інформації:
1. Якщо потрібне зберігання плану рахунків для організації обліку за принципами подвійного запису, то використовується спеціалізований об'єкт метаданих «План рахунків».
2. Якщо потрібне зберігання переліку видів розрахунку для організації обліку нарахувань та утримань, то використовується спеціалізований об'єкт метаданих «План видів розрахунку».
3. Якщо потрібно зберігати одиничне значення, яке редагує користувач (як правило, це адміністратор, що виконує налаштування системи), яке не потребує посилань з інших даних, то використовується об'єкт метаданих «Константа».
4. Якщо необхідно визначити фіксований список значень, що не редагується користувачем, без будь-яких додаткових реквізитів, то використовується об'єкт метаданих «Перелік».
5. Якщо потрібно зберігати список характеристик (властивостей), причому склад самого списку, тип характеристик, їх склад визначаються користувачем, то використовується об'єкт метаданих «План видів характеристик».
6. В інших випадках, як правило, використовується об'єкт метаданих «Довідник»
Докладніші критерії вибору того чи іншого виду об'єкта метаданих:
| Критерій / тип об'єкта |
Константа | Перелік | План видів характеристик |
Довідник |
| Основне призначення | Потрібне зберігання одиничних значень, наперед визначених даних | Потрібне зберігання списку незмінних уявлень без їх додаткових атрибутів | Потрібне зберігання списку сутностей і значень характеристик екземплярів сутності | Потрібне зберігання списку об'єктів і значень їх атрибутів |
| Додавання та редагування користувачем | Потрібна лише зміна значення | Не потрібні | Потрібні додавання, видалення та зміна елементів, редагування складу та значень характеристик сутності | Потрібні додавання, видалення, зміна елементів |
| Ієрархія, групування даних | Не потрібні | Не потрібні | Потрібні в межах однієї сутності | Потрібні в межах однієї сутності або між різними сутностями |
| Зберігання значень додаткових реквізитів сутності | Не потрібне | Не потрібне | Необхідно зберігати довільні дані для атрибутів сутності | Необхідно зберігати довільні дані для атрибутів сутності |
| Зберігання списків значень додаткових реквізитів | Не потрібне | Не потрібне | Потрібне зберігання списків наборів значень реквізитів для сутності | Потрібне зберігання списків наборів значень реквізитів для сутності |
| Можливість введення на підставі інших об'єктів | Не потрібна | Не потрібна | Необхідне введення нових елементів з використанням інформації інших об'єктів | Необхідне введення нових елементів з використанням інформації інших об'єктів |
| Нумерація | Не потрібна | Не потрібна | Потрібні серії кодів за всіма елементами одного типу або в межах групування | Потрібні серії кодів за всіма елементами одного типу або в межах групування чи підпорядкування |
2.2.2. Для зберігання подій процесів предметної області:
1. Якщо потрібен облік одиничних подій, адресованих деякому виконавцю (користувачеві, співробітнику, групі або ролі), не потрібне формування рухів за результатами події, то використовується об'єкт метаданих «Завдання»
2. Якщо потрібно реєструвати в системі виникнення та хід регулярного процесу, що складається з послідовності дій (подій), то використовується об'єкт метаданих «Бізнес-процес». Для обліку подій, дій у межах процесу використовується об'єкт метаданих «Завдання»
3. В інших випадках, як правило, використовується об'єкт метаданих «Документ»
Докладніші критерії вибору того чи іншого виду об'єкта метаданих:
| Критерій / тип об'єкта |
Завдання | Бізнес-процес (із завданнями) |
Документ |
| Основне призначення | Необхідно вести облік одиничних подій, адресованих деяким виконавцям | Необхідно вести облік послідовності подій, адресованих деяким виконавцям | Необхідна реєстрація подій у часі, генерування вторинних даних, що відповідають цим подіям |
| Вкладеність | Не потрібна | Потрібен облік процесів, вкладених в інші процеси (ієрархія завдань) | Не потрібна |
| Об'єднання в журнали | Не потрібне | Не потрібне | Необхідне об'єднання документів різних видів в одному журналі |
| Стан об'єкта | Потрібні стани «новий», «виконано» | Потрібні стани «новий», «у роботі», «завершено» | Потрібні стани «проведено», «не проведено» |
| Нумерація | Потрібні серії номерів за всіма завданнями цього виду або в межах періоду за датою | Потрібні серії номерів за всіма процесами цього виду або в межах періоду за датою, нумерація подій усередині процесу | Потрібні серії номерів для документів різних видів — наскрізні або в межах періоду за датою |
2.2.3. Для зберігання накопичених відомостей, значень показників:
1. Якщо потрібне зберігання даних обліку з використанням принципу подвійного запису, то використовується спеціалізований об'єкт метаданих «Регістр бухгалтерії».
2. Якщо потрібне зберігання результатів розрахунку обліку нарахувань та утримань, то використовується спеціалізований об'єкт метаданих «Регістр розрахунку».
3. Якщо потрібне зберігання змін показників — надходження та витрачання, отримання залишків і оборотів за період, то використовується об'єкт метаданих «Регістр накопичення».
4. В усіх інших випадках використовується об'єкт метаданих «Регістр відомостей».
| Критерій / тип об'єкта |
Регістр накопичень | Регістр відомостей |
| Основне призначення | Потрібне зберігання змін даних — надходження та витрачання значень показників | Потрібне зберігання інформації у вигляді наборів записів, реєстрація деяких відомостей, значень |
| Отримання даних | Потрібне отримання залишків, оборотів даних | Необхідне отримання зрізу інформації на момент часу або поточного значення показників |
| Підтвердження походження даних | Потрібний обов'язковий зв'язок із реєструвальним документом | Зв'язок не обов'язковий |
Докладніші критерії вибору того чи іншого виду об'єкта метаданих:
3. Приклад вибору типів об'єктів метаданих.
Нехай деяка організація займається періодичним анкетуванням. Під час заповнення анкети вказується дата анкетування. В анкеті вказується набір запитань, результатом заповнення анкети є набір відповідей. Сутність «Анкета» прив'язана до дати, породжує статистику — відповіді на запитання.
Таким чином, маємо:
- Періодична подія, прив'язана до дати, породжує значення параметрів. Це — другий блок «події предметної області».
- Далі уточнюємо всередині блоку «подій предметної області»: оскільки анкета формує вторинні дані — результати відповідей на запитання, то, отже, це має бути документ.