Підсистема - регістри правил - (поставляється з відкритим кодом)
У великій кількості практичних ситуацій регістр правил буде справжньою "паличкою-виручалочкою":
Підсистема "Регістр правил" може бути вбудована в будь-яку конфігурацію,. яка не використовує керовані форми. Далі фахівець з впровадження або "просунутий" користувач може самостійно створювати власні регістри правил, доповнювати існуючі (зумовлені) регістри - створювати вимірювання, ресурси і т.д.
Поставляється з відкритим кодом!
Дає економію одночасно за трьома напрямками: робочого часу кінцевого користувача, грошових коштів організації-клієнта, а також сил і нервів «впроваджувача».
Регістр правил це масив даних. визначає поведінку системи (підстановку значень атрибутів, застосування заданих алгоритмів розрахунку і т.д.) при виконанні тих чи інших умов.
Кожен регістр правил містить вимірювання і ресурси. Вимірювання - це умови, що визначають вибір ресурсу, який буде оброблятися системою.
Вимірювань може бути кілька, або всього одне. Але важливою особливістю регістру правил є те, що при незаповненому значенні виміру (тобто за відсутності умов) може підставлятися ресурс «за замовчуванням». Це виявляється дуже корисним в практичних ситуаціях, коли спочатку налаштовується поведінку системи під час відсутності умов, а потім обговорюються всі можливі умови.
Ще однією суттєвою рисою регістрів правил є те, що порядок вимірювань регістра визначає їх пріоритет. Таким чином, можна уникнути колізії умов, неминуче виникає при використанні жорстко прописаних алгоритмів.
У міру того, як у користувача з'являються нові умови, зростає складність програми, і регістр правил може доповнюватися новими вимірами, що в значній мірі спрощує модифікацію. Ми згодні з думкою, що чим складніше програма, тим менше в ній повинно бути жорстко прописаних умов, і тим більше повинно бути можливостей настройки. В інтересах як кінцевих користувачів, так і фахівців з розробки та впровадження, щоб, в залежності від мінливих умов, програма могла бути в будь-який момент перенастроєна силами самого користувача.
Ще одна перевага застосування регістрів правил полягає в тому, що всі налаштування зберігаються компактно, в одному масиві даних. Це, з одного боку, дозволяє зрозуміти логіку налаштувань навіть користувачеві середнього рівня, а, з іншого боку, спрощує пошук можливих неточностей в налаштуваннях.
Переваги використання регістрів правил в будь-якої конфігурації 1С: підприємство 8:
- Спрощує донастройку і перенастроювання системи користувачами
- Дозволяє зберігати список умов у вигляді масиву, що дозволяє візуально уявити логіку реакцій системи
- Здатне підвищити продуктивність роботи користувачів і знизити кількість помилок зарахунок настройки автозаповнення реквізитів
Розглянемо створення реєстру правил на прикладі. Необхідно налаштувати права користувачів на редагування документів різних видів в залежності від ряду умов: користувача, дати створення документа, поточної дати.
1. За кнопці "Додати" створюємо реєстр правил «Встановлення дати заборони редагування":
2. У дереві "Регістри правил" встаємо в розділ "Вимірювання" в новому регістрі і створюємо необхідні вимірювання:
3. У розділі "Ресурси" створюємо ресурс "Доступ".
4. Послідовно викликаємо форму редагування кожного вимірювання і ресурсу, описуємо властивості атрибута, властивості елементів управління, при необхідності створюємо Модуль атрибута. Якщо виконання модуля пов'язано з настанням події, на закладці "Подія" додаємо рядок і вибираємо подія зі списку подій.
Щоб спростити додавання часто використовуваних вимірювань і ресурсів, можна скористатися функцією автопідстановки зумовленого вимірювання або ресурсу. За посиланням в поле Найменування викликається список зумовлених вимірювань і ресурсів:
При виборі значення зі списку автоматично заповнюються закладки "Події" та "Модуль атрибута" відповідно до настройками зумовлених значень.
5. В результаті створюється реєстр правил такого вигляду:
Перший запис регістра визначає, що за замовчуванням всі користувачі матимуть доступ до редагування всіх документів. Далі починаємо вводити обмеження: забороняємо доступ до редагування документів виду "Документ 3" у віці одного дня - тобто від вчорашньої дати.
І, нарешті, "Користувач 2" зможе редагувати лише "Документ 3", створений в межах 30 днів до поточної дати.
Таким чином, створюється можливість настройки прав доступу. обмежена тільки однією умовою - наявністю логіки в запитах клієнта.
Після того, як регістр правил створений, виникає необхідність протестувати коректність його роботи.
За кнопці "Дії"> "Тестувати правила" викликається обробка тестування регістра правил.
Налаштування використання регістра правил проводиться за допомогою службового регістра правил - "Управління регістрами правил". Він викликається через довідник "Регістри правил". У службовому регістрі правил повинно бути визначено, за яких події, в яких видах об'єктів проводиться звернення до певного регістру правил.
Для регістра правил "Управління регістрами правил" діють наступні принципи:
1. Якщо правило створено, але значення атрибута не вибрано, правило буде застосовуватися до всіх значень даного атрибута.
Наприклад, якщо в правилі не вказано шлях до даних, звернення до регістру буде проводитися у всіх об'єктах при настанні заданого події.
2. Якщо до одного й того ж події і об'єкту прив'язане кілька регістрів правил, будуть послідовно виконуватися всі правила.
У регістрах правил діє механізм фільтрації, який спрощує відбір правил з заданими параметрами. Цей механізм зручний для використання в масивних регістрах правил (наприклад, під час налаштування підстановки типових операцій в документах).
За кнопці "Відбір" викличте діалог "Відбір та сортування":
1. Встановіть позначки в рядках вимірювань або ресурсів відбору, які будете використовувати.
2. Виберіть Тип порівняння
3. Виберіть Значення відбору.
За кнопці ОК в регістрі правил буде проведений відбір згідно із заданими параметрами.
модуль атрибута
При описі модуля атрибутів регістрів правил діють наступні правила і оператори:
Опис алгоритму визначення входять вимірювань
Оператор "ЗначеніеІзмеренія =" використовується для вказівки джерела, з якого буде вибиратися значення вимірювання регістра правил. Для зумовлених вимірювань значення вимірювань задається розробником, додатково описувати його не потрібно. Для користувальницьких вимірювань значення вимірювання повинно бути задано, в іншому випадку дане вимір в регістрі правил розглядатись не буде.
ЗначеніеІзмеренія = ПараметриСеанса. ТекущійПользователь;
В даному прикладі в якості вхідного значення вимірювання буде використаний поточний користувач, тобто користувач, який відкрив сеанс 1С: Підприємство.
Опис алгоритму обробки ресурсів
Оператор "" використовується для вчинення дії над ресурсом, отриманим в результаті виконання правила.
Опис загальних операторів
- при застосуванні до вимірювання дозволяє визначити джерело отримання значення вимірювання
- при застосуванні до ресурсу дозволяє при необхідності змінити входять параметри структури параметрів.
СтруктураПараметров. Відмова = Чи не;