Довідковий матеріал

Робота з неактуальними (недійсними) об'єктами

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

Абстрактна картка працівника зберігається в архіві та пов’язана з активним документом, а приглушений маркер показує, що об’єкт тимчасово недійсний.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Записатися телефоном