ВІДБІР за реквізитами ДОВІДНИКА

Дозволяє, наприклад, в довіднику Сотруднікі_2 відобразити тільки співробітників, що мають, скажімо, вищу освіту Ця можливість надається завдяки тому, що для реквізиту Освіта задані властивості Сортування і Відбір з реквізиту (рис 529, б) Причому такі властивості можна задати тільки для непериодического реквізиту Відбір з реквізиту, який не має таких властивостей, неможливий

5911 ІНТЕРАКТИВНЕ УПРАВЛІННЯ відборі

Відбір даних з реквізиту може бути реалізований або інтерактивно, або про-

граммно У першому випадку слід використовувати іконки панелі інструментів форми списку довідника Вибір іконки відкриє діалог (рис 545), в якому задається значення (критерій) відбору і запускається або відключається відбір

Рис 545 Відбір з реквізиту Освіта

Список існуючих значень реквізиту Освіта заповнюється даними з довідника Образованіе_2 Він же є джерелом даних для поля Значення відбору Заповнивши ці список і поле (або що-небудь одне) і натиснувши на кнопку Встановити відбір, що встановлює відбір за заданим значенням, ми замість повного списку співробітників отримаємо відфільтрований наведений на рис 546 список (виводиться без існуючої ієрархії даних)

Рис 546 Співробітники з вищою освітою

Після кількох відборів по різним значенням реквізиту (або декількох ре квиI зітов) ми маємо можливість встановити відбір за списком, виведеному при виборі j іконкиотображающей історію відборів (рис 547)

Зауваження:

Рис 547 Установка відбору в списку вікна Історія відборів

1 Іконкивідображаються на панелі інструментів форми списку довідника при наявності в ньому реквізитів, що мають властивість Отоор з реквізиту

2 Історія відборів запамятовується з довідником і не може бути відредагована

5912 ЗАВДАННЯ ВІДБОРУ У ПРОГРАМІ

Відкриваючи форму списку довідника в програмі, використовуємо для завдання критерію відбору метод УстановітьОтбор, який може бути викликаний тільки в модулі форми списку довідника, наприклад в його зумовленою процедурі прочинені Також у ній можна задати і закладки відбору, наприклад:

/ / Створена для форми списку довідники Сотруднікі_2

/ / Встановлює закладки відбору з реквізиту Освіта процедура відкриття ()

перем обр

обр = СоздатьОбект (СправочнікОбразованіе_2)

/ / Шукаємо початкову освіту

якщо обрНайтіПоНаіменованію (Н, 0) = 1 тоді

/ / Другий параметр методу ЗакладкіОтбора повинен мати різновид типу

/ / СправочнікОбразованіе_2

ЗакладкіОтбора (Освіта, обрТекущійЕлемент ()) ІерархіческійСпісок (0, 1) / / Можна міняти режим відображення

інакше Попередження

(В довіднику Образованіе_2 немає запису, що починається з букви Н”) КонецЕсли

КонецПроцедури / / прочинене

Діалог форми, списку довідника С6труднікі_2 із закладками відбору з реквізиту Освіта наведено на рис 548

Рис 548 Закладки відбору з реквізиту Освіта

Зауваження:

1 Список закладок відбору з реквізиту, якщо довідник відображається без урахування ієрархії (не по групам), містить всі існуючі значення реквізиту (рис 548), включаючи пусте, і редагуванню не підлягає Так, з нього не можна видалити закладку <Пусте значення> або додати ятати Всі співробітники

2 При виведенні ієрархічного списку співробітників відображаються тільки закладки, дозволяють відобразити непорожній список Так, якщо в підрозділі 01/1 є співробітники тільки з вищою і середньою освітою, то діалог форми списку прийме наведений на рис 549 вигляд

Рис 549 Закладки відбору для підрозділу 01/1 при виведенні даних з урахуванням ієрархії

Закладки відбору зникнуть з діалогу, якщо метод ЗакладкіОтбора викликати наступним чином:

ЗакладкіОтбора (“) / / Прибираємо закладки відбору

Таким чином, щоб відображати діалог з закладками відбору або без них, ми повинні мати можливість в модулі списку довідника викликати метод ЗакладкіОтбора з аргументами, які встановлюють або прибирати закладки Щоб цю можливість реалізувати, введемо в діалог форми списку довідника Сотруднікі_2 прапорець Закладки відбору з освіти (рис 550), дамо йому імя заклі звяжемо з ним формулу (процедуру) ПоказатьЗакладкі, яку, так само як і зумовлену процедуру прочинене, розмістимо в модулі форми списку довідника

Рис 550 Діалог форми списку довідника Сотруднікі_2 з прапорцем Закладки відбору за освітою

Код процедури ПоказатьЗакладкі простий:

/ / Показує / ховає закладки відбору за освітою процедура ПоказатьЗакладкі ()

перем значОтбора

якщо закл = 1 тоді / / Показати закладки значОтбора = (ЕтоГруппа () = 0, Освіта, “) ЗакладкіОтбора (Освіта, значОтбора)

інакше / / Прибрати закладки ЗакладкіОтбора (“)

КонецЕсли

КонецПроцедури / / ПоказатьЗакладкі

Зауваження   Замість процедури ПоказатьЗакладкі з прапорцемзаклможна повязати формулу

? (Закл = 0, ЗакладкіОтбора (“),

ЗакладкіОтбора (Освіта, (ЕтоГруппа () = 0, Освіта, “)))

розмістивши її в полі Формула вікна завдання властивостей прапорця

Код зумовленою процедури прочинене можна доповнити наступними операторами:

закл = 1 / / Додаються в процедуру прочинене ЗакладкіОтбора (Освіта, “)

КонецПроцедури / / прочинене

Також нагадаємо, що модуль форми списку довідника Сотруднікі_2 містить наведену в розд 5824 зумовлену процедуру ПриНачалеРедактированияСтроки

Крім розглянутого методу ЗакладкіОтбора для організації відбору можуть бути також вжиті методи УстановітьОтбор, ПолучітьОтбор і ВідиОтбора Вони, так само як і метод ЗакладкіОтбора, можуть зявлятися тільки в модулі форми списку довідника Опис методів см в розд 5125

592 ФІЛЬТРАЦІЯ ДАНИХ

Здійснюється методом ИспользоватьСписокЭлементов, приймаючим як параметр список елементів довідника, які слід відобразити у формі його списку Що заносяться в список значення повинні мати тип Довідник У разі порожнього списку виводяться всі дані довідника

ПрикладУ формі списку довідника Сотруднікі_2 відображаються тільки співробітники, оклад яких більше або дорівнює 2500 руб

/ / Міститься в модулі форми списку довідника Сотруднікі_2 процедура відкриття ()

перем сЗнач, сСотр_2

сЗнач = СоздатьОбект (СпісокЗначеній)

сСотр_2 = СоздатьОбект (СправочнікСотруднікі_2)

/ / Дата для періодичного реквізиту Оклад сСотр_2ІспользоватьДату (РабочаяДата ())

/ / Позиціонуємо на першого запису довідника Сотруднікі_2 сСотр_2ВибратьЕлементи ()

поки сСотр_2ПолучітьЕлемент () = 1 цикл якщо сСотр_20клад> = 2500 тоді

/ / Додаємо в список елемент довідника сЗначДобавітьЗначеніе (сСотр_2ТекущійЕлемент ())

КонецЕсли

конецЦікла / / Поки сСотр_2 = 0

/ / Задаємо фільтр для довідника Сотруднікі_2

ИспользоватьСписокЭлементов (сЗнач) КонецПроцедури / / прочинене

Зауваження  Неможливо одночасно застосувати і відбір і фільтрацію даних

Джерело: Бартеньев О В 1С: Підприємство: програмування для всіх Базові обєкти та розрахунки на одній дискеті М: Діалог-МІФІ, 2005 464 с

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*