Робота з неактуальними (недійсними) об’єктами, методичні матеріали навчального центру

Методична рекомендація (корисна порада)

1. Дана рекомендація діє для ситуацій, коли будь-який об'єкт інформаційної бази перестає бути актуальним – назавжди чи на якийсь час (співробітник звільняється або йде в декретну відпустку, підрозділ розформується тощо). При цьому видаляти цей об'єкт з бази неприпустимо, щоб не порушувати цілісність посилань: на нього повинні посилатися інші раніше створені об'єкти. Наприклад, об'єкт типу Файл повинен містити в полі Автор посилання на співробітника, що звільнився, і після його звільнення.

2. Для заборони вибору неактуальних об'єктів за допомогою автопідбору та швидкого вибору в полях введення слід вибрати один із двох підходів до реалізації (2.1 або 2.2). Проілюструємо їх на прикладі користувачів інформаційної системи, облік яких ведеться в довіднику Користувачі .

Для обліку неактуальних користувачів у довідника Користувачі додані реквізит Недійсний ( Бульово ), за промовчанням Брехня .

2.1. Якщо заборона має діяти у всіх або більшості полів введення форм системи, то вона задається за замовчуванням.

2.1.1. У модулі менеджера довідника Користувачі реалізуються обробники Обробка ОтриманняДанихВибору та ОбробкаОтриманняФорми для встановлення параметрів відбору. Приклад реалізації цих обробників для довідника Користувачі:

Процедура ОбробкаОтриманняДанихВибору(ДаніВибору, Параметри, СтандартнаОбробка) Якщо Не Параметри.Отбор.Властивість("Недійсний") Тоді Параметри.Отбор.Вставити("Недійсний", Брехня); КінецьЯкщо; КінецьПроцедури

Процедура ОбробкаОтриманняФорми(ВидФорми, Параметри, ВибранаФорма,ДодатковаІнформація, СтандартнаОбробка) Якщо ВидФорми ="ФормаВибору" Тоді Параметр Змінений = Брехня; Якщо не Параметри.Властивість("Відбір") Тоді Параметри.Вставити("Відбір", Новий Структура("Недійсний", Брехня)); Параметр Змінений = Істина; ІнакшеЯкщо не Параметри.Отбор.Властивість("Недійсний") Тоді Параметри.Отбор.Вставити("Недійсний", Брехня); Параметр Змінений = Істина; КінецьЯкщо;

// Цей код потрібен, щоб були використані змінені нами значення параметрів Якщо параметр Змінено Тоді СтандартнаОбробка = Брехня; ВибранаФорма = "ФормаВибору"; // передаємо ім'я форми вибору КінецьЯкщо; КінецьЯкщо; КінецьПроцедури

2.1.2. Для тих реквізитів, де цю поведінку потрібно змінити (наприклад, потрібно виводити всіх користувачів або має працювати інше обмеження) слід явно встановити властивості параметрів вибору і зв'язку параметрів вибору з необхідними в конкретному контексті значеннями вибору:

  • якщо потрібно вибирати недіючих користувачів, вказуємо у властивості реквізиту «Параметри вибору» значення Відбір. Недійсний (Брехня) ,
  • а якщо не потрібно обмежувати вибір взагалі, то обидва значення - Істина і Брехня.

2.2. Якщо заборона на вибір неактуальних об'єктів залежить від контексту (сценаріїв роботи), то не слід його встановлювати за замовчуванням.

  • Модуль менеджера посібника Користувачі не реалізується.
  • У найпростішому випадку, у всіх об'єктах, у яких є реквізити типу Довідник Посилання. Користувачі встановлюють значення властивостей «Параметри вибору» та «Зв'язки параметрів вибору», як описано вище у пункті 2.1.2.
  • У тих випадках, коли критерій обмеження не може бути описаний параметрами вибору, то реалізуються обробники форми Обробка Отримання Даних Вибору, Обробка Вибору та Закінчення Введення Тексту,а також розробляється окрема форма вибору, в якій реалізується та сама логіка обмеження.

3. У формі списку користувачів (в меню «Всі дії») рекомендується додати команду «Показувати недійсних користувачів». З її допомогою можна відкрити картку користувача і знову зробити користувача дійсним (наприклад, співробітницю, яка повернулася з декретної відпустки).

4. Для відображення неактуальних об'єктів у списках рекомендується використовувати елемент стилю Текст Забороненої Комірки Колір (192,192,192).