Список значений на форме 1С с галочками и картинками

Список значений 1С на форме может быть отображен с картинками (у каждого значения своя картинка).


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

Список значений на форме 1С с галочками и картинками — в толстом клиенте в свойствах списка значений на форме установите галочки «Отображать картинку» и «Отображать пометку».

Список значений на форме 1С с галочками и картинками — в тонком клиенте мы создали реквизит формы и перетащили на форму, он «превратился» в таблицу с одной колонкой.

У реквизита формы есть подчиненные колонки «Пометка» и «Картинка». Перетащите их в колонки таблицы на форме – и они тоже будут отображены.

В обработчике события формы ПриОткрытии(), где мы добавляли значения списка, пропишем начальные значения галочек и нужные картинки.

Нам понадобятся названия картинок.

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

Картинки конфигурации хранятся в ветке Общие/Общие картинки.

Также названия можно посмотреть нажав кнопку выбора картинки в любом месте, где она есть.

Например, заглянем в свойства таблицы (у нас же таблица на форме), свойства «Картинка строк», нажмем кнопку «…» для выбора картинки.

Пример программного кода обработчика события ПриОткрытии() формы:


&НаКлиенте
Процедура ПриОткрытии(Отказ)
     
     ВыберитеЗначение.Добавить(0, "Создать документ", Истина, БиблиотекаКартинок.АктивныеПользователи); //третий параметр – установленная по умолчанию галочка «пометки», четвертый – имя картинки
     ВыберитеЗначение.Добавить(1, "Редактировать документ",, БиблиотекаКартинок.АктивироватьЗадачу); //обратите внимание - здесь пропущен третий параметр, галочка «пометки» будет снята, а картинка установлена
     ВыберитеЗначение.Добавить(2, "Удалить документ"); //а здесь мы не стали устанавливать ни картинку, ни галочку
     
КонецПроцедуры

В обработчике результатов выбора пользователя мы теперь будем проверять не выделенные строки, а установленные галочки:
[VIP_CONTENT]

//Галочка может быть включена у любых строк, а не только у выделенных, поэтому обойдем в цикле все значений списка
Для каждого Знч из ВыберитеЗначение Цикл
     //Имеет смысл проверять только если установлена пометка
     //Пометка – это значение с типом «Булево» (истина/ложь)
     Если Знч.Пометка Тогда
          //Здесь мы только если пометка установлена
          //Далее смотрим какое значение у этого «элемента списка значений»
          Если Знч.Значение = 0 Тогда
               Сообщить("Вы выбрали 'Создать документ'");
          КонецЕсли;
          Если Знч.Значение = 1 Тогда
               Сообщить("Вы выбрали 'Редактировать документ'");
          КонецЕсли;
          Если Знч.Значение = 2 Тогда
               Сообщить("Вы выбрали 'Удалить документ'");
          КонецЕсли;               
     КонецЕсли;
КонецЦикла;

[/VIP_CONTENT]