МЕТОДИ ФОРМИ СПИСКУ ДОВІДНИКА

Вживаються в модулях форми списку довідника без префікса Приводяться в табл 511

Методи форми елемента довідника

Таблиця 511

Метод

Опис

датаТек = ІспользоватьДату

([ДатаНов])

Має те ж призначення, що і однойменний метод табл 58

владТек =ІспользоватьВладельца

([Власник], [флагІзм])

Задає власника для форми списку підлеглого довідника Має той же опис, що

і однойменний метод табл 58 Приклад см

в розд 5103

родТек = ІспользоватьРодітеля ([батько],[ФлагІзм])

Задає батька для форми списку підлеглого довідника Має той же опис, що

і однойменний метод табл 58

іерархТек= ІерархіческійСпісок

([Ієрарх], [флагІзм])

Якщоієрарх = 1,то багаторівневий довідник буде відображатися по групах у вигляді ієрархічного списку (див, наприклад, рис 51) якщоієрарх =0, то елементи у вікні виводу слідують без урахування ієрархії, відсортовані, наприклад, по

коду (див рис 52) ЯкщофлагІзм= 1, то користувач може інтерактивно вмикати / вимикати режим введення списку довідника по групах, і не може, якщофлагІзм= 0 ТиповофлагІзм

=  1 Повертає 1, якщо показ списку елементів

здійснюється за групами, або 0-в іншому випадку

вибТек = ВиборГруппи ([вибНов])

Має те ж призначення, що і однойменний метод табл 58

Метод

Опис

редактТек= РедактіроватьВДіалоге

([Редакт], [флагІзм])

Якщо редакт = 1, то редагування елемента (групи) довідника буде здійснюватися з використанням форми цього елемента (групи) Такі форми, звичайно ж, повинні бути заготовлені заздалегідь Якщо редакт = 0, то елемент (група) редагується в рядку форми списку довідника Якщо флагІзм = 1, то користувач може інтерактивно змінювати режим редагування довідника, і не може, якщо флагІзм = 0 Типово флагІзм = 1 Повертає 1, якщо редагування на момент виклику методу здійснюється в діалозі, або 0-в іншому випадку

спісТек = СохраненіеПеріодіческіх Реквізитів (варіант, [Список])

Має те ж призначення, що і однойменний метод табл 58

сортТек = Сортування

{[Сорт], [флагІзм])

Задає символьним параметром сорт спосіб сортування даних в діалозі форми списку довідника Завжди параметр сорт можна задати рівним Код або Найменування. Також як сорт можна передати рядок з імям реквізиту, що має властивість Сортування Якщо флагІзм = 1, то користувач може інтерактивно змінювати спосіб упорядкування даних, і не може, якщо флагІзм = 0 По умолча-

нию флагІзм = 1 Повертає 1, якщо редагування на момент виклику методу здійснюється в діалозі, мул і 0 в іншому випадку

УстановітьОтбор (Реквієм, знач)

Обмежує обсяг виведених в діалозі форми списку довідника даних: відображаються тільки ті елементи, реквізит Реквієм яких має значення знач Параметр Реквієм це рядок із значенням, що збігається з імям реквізиту Для цього реквізиту має бути задане властивість Відбір з реквізиту

(Див рис 529, б) Якщо Реквієм порожній рядок, то відбір відключається Тип (різновид типу) параметра знач визначається типом реквізиту, за яким встановлюється відбір

прапор = ПолучітьОтбор (Реквієм, знач)

відиТек = ВідиОтбора

(СпісокРекв)

Повертає в параметри реквієм та знач поточний відбір елементів довідника Параметри мають той же зміст, що й однойменні параметри методу УстановітьОтбор Повертає 1, якщо відбір заданий, або 0 в іншому випадку

Задає параметром спісокРекв список реквізитів,

за якими в інтерактивному режимі можна встановлювати відбір Параметр спісокРекв це рядок, що містить одне або кілька розділених комами імен відбору, наприклад Освіта або Імя,, ГодРожденія

Метод

Опис

прапор = ЗакладкіОтбора (Реквієм, [Знач])

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

в розд 5912

ИспользоватьСписокЭлементов

(СЗнач)

Встановлює фільтр, що дозволяє відображати тільки ті елементи довідника, значення яких містяться в списку значень сЗнач Якщо список порожній, то фільтр відключається Після виклику методу

на непустому списком не можна вводити, копіювати і переміщати елементи довідника Приклад вживання см в розд 592

спісТек = ПросмотрІсторіі ([список])

Має те ж призначення, що і однойменний метод табл 58

ПрикладУ зумовленою процедурі прочинене модуля форм и списку довідника Сотруднікі_2 задаються способи представлення даних

процедура відкриття () перем обр

/ / Висновок даних здійснюється в діалозі форми без урахування ієрархії

/ / Спосіб виведення зміні не підлягає

/ / Сортування проводиться по найменуванню

/ / Спосіб сортування може змінюватися інтерактивно

/ / Редагування запису виконується в діалозі або в документі,

/ / Якщо реквізит ПріказПріем містить посилання на документ Наказ про прийом на роботу

/ / Крім того, встановлюємо відбір з реквізиту Освіта і виводимо після

/ / Відкриття список співробітників з вищою освітою ІерархіческійСпісок (0, 0) Сортування (Найменування, 1)

/ / Режим редагування можна міняти інтерактивно РедактіроватьВДіалоге (1, 1)

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

/ / Шукаємо вищу освіту

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

/ / Другий параметр методу УстановітьОтбор повинен мати різновид типу

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

УстановітьОтбор (Освіта, обрТекущійЕлемент ()) інакше

Попередження

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

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

5123&nbsp&nbsp Приречення ПРОЦЕДУРИ МОДУЛЯ ФОРМИ СПИСКУ ДОВІДНИКА

Включаються програмістом в модуль форми списку довідника по мірі необхідності Приводяться в табл 512

Табліца512

Попереднє визначення процедури модуля форми списку довідника

Процедура

Опис

ПріВводеСтрокі ()

Викликається до початку введення нового рядка у формі списку довідника

ПріРедактірованііНовой Рядки ()

Викликається в момент початку введення даних в новий рядок форми списку довідника

ПріНачалеРедактірованія Рядки ()

Викликається в момент початку редагування даних в існуючій рядку форми списку довідника

ПріЗапісі ([перРекв])

Має те ж призначення, що і однойменна зумовлена ​​процедура модуля форми елемента (групи) довідника

ПріПереносеЕлемента ВДругуюГруппу ([Елемент], [група])

Викликається при інтерактивному перенесення елемента в іншу групу довідника Формальний параметрелемент містить стерпний елемент, а група це група, в яку елемент переноситься

ПріВибореРодітеля

([Батько])

Викликається при виборі (подвійному ударі мишею або натискання на Enter) батька (групи) Параметр батько, якщо присутній, має тип Довідник і містить обраний елемент-батько

ПріВибореВладельца

([Власник])

Викликається при інтерактивному виборі власника Тут вибір

це переміщення з одного елемента довідника-господаря на інший Параметрвласник,якщо присутній, має тип Довідник і містить обраний елемент-власник Приклад див розд 5103

ПріСменеІерархіі

([Ієрарх])

Викликається при інтерактивній зміну способу подання списку елементів довідника (ієрархічний неієрархічні) Числовий параметр ієрарх, якщо він присутній, дорівнює одиниці, якщо встановлюється ієрархічний спосіб, або нулю в іншому випадку

ПріУстановкеОтбора

([Реквієм], [знач])

Викликається при інтерактивній установці відбору (див розд 59) Параметр Реквієм це рядок, що містить імя реквізиту, за яким відбір встановлений, наприклад Освіта, знач значення (критерій) відбору

ПрикладПри перенесенні елемента в іншу групу довідника Сотруднікі_2 необхідно змінити його код, привівши у відповідність з правилами його автоматичного призначення Правила такі: в якості перших цифр коду елемента береться код батька, якщо батько розташований на другому рівні довідника Сотруднікі_2, або код батька, збільшений у 10 разів, якщо батько лежить на першому рівні (всього в довіднику Сотруднікі_2 три рівня) Наступні цифри коду співробітника утворюють

зростаючу послідовність цілих позитивність чисел Цю схему реализ ует функція СоздатьКод Її алгоритм наведено в розд 5822 Правда, в ньому замість функції СоздатьКод використана однойменна процедура

функція СоздатьКод (група) далі

процедура ПриПереносеЭлементаВДругуюГруппу (елемент, група) новКод = СоздатьКод (група)

/ / Новий код для стерпного в іншу групу елемента

УстановітьАтрібут (Код, новКод)

КонецПроцедури / / ПриПереносеЭлементаВДругуюГруппу

функція СоздатьКод (група)

перем сСотр_2, максКод, двеЦіфр, послЦіфр перем двеЦіфрУмнНаК, к

двеЦіфр = (группаУровень () = 1, 10 * группаКод, 1 * группаКод)

/ / Знайдемо максКод максимальний код співробітника в межах підрозділу сСотр_2 = СоздатьОбект (СправочнікСотруднікі_2) сСотр_2ИспользоватьРодителя (група)

/ / Здійснимо перебір у порядку зростання кодів елементів сСотр_2ПорядокКодов ()

сСотр_2ВибратьЕлементи ()

максКод = 0

поки сСотр_2ПолучітьЕлемент ()> 0 цикл максКод = 1 * сСотр_2Код

конецЦікла / / Поки

/ / Шукаємо наступні цифри максКод і потім наступні цифри коду

/ / Нового співробітника Будемо множити двеЦіфр на 10, поки не перевищимо максКод

к = 1

двеЦіфрУмнНаК = двеЦіфр

поки двеЦіфрУмнНаК < максКод цикл двеЦіфрУмнНаК = двеЦіфрУмнНаК * 10;

конецЦікла / / Поки

/ / Наступні цифри коду нового співробітника

послЦіфр = (максКод = 0, 1, максКод двеЦіфрУмнНаК / 10 + 1)

/ / Отже, повернемо код нового співробітника

повернення Число (Рядок (двеЦіфр) + Рядок (послЦіфр)) КонецФункции / / СоздатьКод

Всі розглянуті в поточному розділі способи доступу до реквізитів довідника вже нами вживалися Тут же ми наведемо деякі узагальнення

Значення реквізиту довідника можна отримати, створивши обєкт типу Довідник і застосувавши слідом відомі методи доступу до реквізитів обєкта (див табл 58) Причому значення коду (або іншого реквізиту) атрибута Батько (Власник) можна п олучая наступним чином:

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

сСотр_2НайтіПоКоду (301, 0)

//

Шукаємо у всьому довіднику

Повідомити (сСотр_2РодітельКод)

//

Код атрибута Батько

У формах елемента, групи і списку довідника його реквізити доступні безпосередньо і можуть бути використані як елементи діалогу або змінних модулів цих форм

Функція ОткритьФорму і метод модуля форми ОткритьПодбор повертають до нтекст відкритої форми Тому, якщо відкритий довідник, можна звернутися до його р еквізіту через отриманий контекст (див розд 54)

Якщо обєкт, наприклад Співробітник, має тип Довідник і є компонентом іншого обєкта, наприклад документа ПріказОПріеме, то до реквізиту обектакомпонента можна звернутися, використавши, наприклад, такий шлях:

<Створюємо об'єкт док з різновидом типу ДокументПріказОПріеме>

<Знаходимо потрібний документ (наказ)>

/ / Читаємо значення реквізиту Освіта в довіднику, на який вказує

/ / Реквізит Співробітник знайденого документа ПріказОПріеме обр = докСотруднікОбразованіе

Джерело: Бартеньев О В 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>

*

*