1с динамический список флажок

Иногда требуется дать возможность пользователю отметить определенные строки табличного поля, чтобы выполнить над ними определенное действие. Например, построить отчет только по выбранным группам товаров, сформировать пачку для Пенсионного фонда только для отмеченных сотрудников и другие подобные задачи.

Версия 1С:Предприятия 8 предоставляет простой механизм для реализации такой функциональности. В колонке табличного поля можно легко отобразить флажок, который пользователь сможет переключать одинарным щелчком мыши. Список отмеченных элементов можно хранить в переменной модуля, которая будет являться одной из универсальных коллекций значений.

Ниже приведены два примера. Первый пример показывает реализацию отметки строк в табличном поле, связанном с таблицей значений, а второй пример — при отображении динамического списка, например, списка элементов справочника «Номенклатура».

Пример 1. Отметка строк в табличном поле, связанном с таблицей значений

Основные принципы реализации этой возможности следующие:

  1. Список отмеченных строк нужно хранить, например, в коллекции типа «Соответствие».
  2. Текущее состояние флажков нужно отображать с помощью обработчика события ПриВыводеСтроки.
  3. Отслеживать переключение флажка и соответствующим образом изменять коллекцию в обработчике события » ПриИзмененииФлажка «.

Например, ниже представлен модуль формы обработки, в диалоге которой размещено табличное поле, тип значения которой «ТаблицаЗначений». В редакторе форм в это табличное поле добавлены следующие колонки:

  • «ФИО» (является колонкой таблицы значений, т.е. заполнено свойство «Данные»)
  • «Отметка» (является обычной колонкой табличного поля, не связана ни с какой колонкой таблицы значений, т.е. свойство «Данные» незаполнено).

В модуле формы размещены приведенные ниже процедуры. Обратите внимание, что процедуры тпСотрудникиПриВыводеСтроки и тпСотрудникиПриИзмененииФлажка являются обработчиками событий табличного поля, т.е. они назначены в палитре свойств для соответствующих событий.

Пример 2. Отметка строк в табличном поле, отображающем динамический список

Аналогичным образом можно реализовать отметку строк для динамического списка, например, элементов справочника или документов. Ниже показано табличное поле, отображающее список элементов справочника «Номенклатура».

Программный модуль, реализующий отметку строк в динамическом списке, приведен ниже. Обратите внимание, что теперь список отмеченных элементов хранится не в объекте типа «Соответствие», как в предыдущем примере, а в объекте типа «СписокЗначений». Это сделано исключительно для демонстрации гибкости платформы 1С:Предприятия 8.0.

Вы можете посмотреть внешнюю обработку » marks.epf «, в которой содержатся два приведенных выше примера. Обратите внимание, что для просмотра второго примера требуется, чтобы в конфигурации был справочник «Номенклатура».

Внешняя обработка с примерами находится на CD-ROM в каталоге 1CITSEXEExamples81

1С ЗуП 2.5
Пытаюсь осваивать программу, но не совсем получается.
Стоит задача по сотруднику определить всё вышестоящее начальство над ним — начальник отдела, начальник управления и так до ген. директора.
Структура подразделений кривая, поэтому кодом я смог определить только иерархию подразделений, к чему отдел относится. Но не получилось однозначно определить кто в этих подразделениях руководитель.
Пытался вот так:

В общем сбоит, где идет совмещение должностей, но это совмещение идет через заведение должности. Например: «главный инженер — начальник отдела», а в этом отделе идет еще «и.о. начальника отдела». Как идентифицировать — не понятно. Тем более по справочнику руководящая верхушка вообще вынесена за пределы своих подразделений в отдельное и не связанное с другими.

Поэтому решил добавить флажок.
Есть стандартная форма списка (справочник Сотрудники), на ней есть слева дерево отбора со списком подразделений, справа выводятся сотрудники по выбранному подразделению. Хочу что бы на части где список сотрудников можно было проставлять флажок, кто начальник.

Хранить данные связи между подразделение и сотрудником (кто руководитель) решил в регистре сведений: «РуководителиОтделов».
История когда и кто начальником был мне не нужна, поэтому регистр будет «Непериодический».
1 подразделение — 1 галочка.
Поэтому делаю измерение: «Подразделение», тип: СправочникСсылка.ПодразделенияОрганизаций.
Т.к. если подразделения не будет, то не будет и начальника, ставим галочку у измерения «Ведущее».
По подразделению мне нужно получать руководителя, поэтому в ресурсы добавляю «Руководитель», тип: СправочникСсылка.СотрудникиОрганизаций

Регистр создан. А вот дальше у меня засада.
Хранить дублирующую информацию в справочнике сотрудники не вижу смысла. Поэтому думал делать через реквизит формы (флажок) с типом: РегистрСведенийМенеджерЗаписи.РуководителиОтделов.
По моей логике в списке сотрудников на против каждого появляется поле-флажок, где я могу щелкнуть установив его начальником подразделения по которому произведен отбор. Ну и при отборе по подразделению, у меня напротив начальника, если такой есть, высвечивается проставленный флажок.

Затык встал в том, что список сотрудников выводится в табличном поле с типом «СправочникСписок.СотрудникиОрганизации», и не получается в него вклинить новую колонку с реквизитом формы.
Т.е. создал колонку, поставил «элемент управления флажок», но в графе Данные моего реквизита формы нет.
Я понимаю. что там выводит поля справочника сотрудников, но как добавить в эту табличную часть еще и поле регистра?

Возник вопрос, чего я делаю не так? И на сколько логика моя правильная?

mp 12.03.2012 02:29
Прочитано: 6545
v8.2 УП Имеем динамический список -дс, где Основная Таблица — Справочник1 с булевым реквизитом Отметка. ДинСписок выводится элементом Таблица в управляемой форме.

Необходимо в режиме списка (а не элемента) отмечать некоторые элементы справочника Флажком. Проблема в том, что флажок в управляемой форме отображается, Но в режиме недоступном для непосредственного изменения. Изменять приходится только в режиме редактирования элемента, что Не удобно.

Свойство «Доступность» установлены и для Таблицы в целом и для колонки «Отметка»
Для динамического списка Редактирование по Ролям установлено.

Понравилась статья? Поделиться с друзьями:
Vkontakte.INFO
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: