1с отображать стандартную картинку
Отобразить в поле динамического списка картинку вместо стандартной галочки можно двумя способами.
Первый: для поля назначить картинку размером 32х16 пикселов, а в коде устанавливать параметр «ЗначениеКартинки» в истину или ложь, то в колонке будет отображена левая часть для значения «ложь» и правая – для значения «истина».
Код 1C v 8.х
Второй вариант:
Код 1C v 8.х
В отличие от предыдущего варианта, здесь мы отображаем или не отображаем произвольную картинку (в данном случае, размером 32х32). При этом нужно указывать свойство Картинка, иначе она не отображается (даже, если задать в редакторе формы).
Для картинок с индексом:
Выбираем шапку ячейки табличного поля или дерева. В свойствах оформления выбираем “Картинки строк”.
Выбираем файл с индексами картинок либо же конкретную картинку из коллекции.
В свойствах табличного поля создаем обработчик события “ПриВыводеСтроки”.
В него пишем(“Имя файла” меняем на название вашей ячейки):
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора
Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Поле выбора
Как ограничить список выбора? 8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит
Как активизировать, перевести фокус на необходимый элемент на форме? 6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Отображение картинок в табличном поле
Отображение картинок в колонках табличного поля имеет ряд особенностей .
Так , если табличное поле отображает таблицу значений или дерево значений , можно установить необходимой колонке табличного поля колонку картинки . Для этого необходимо в палитре свойств в свойстве " Данные картинки " колонки табличного поля указать имя колонки картинки ( при этом соответствующая колонка автоматически добавится в таблицу или дерево значений ), а в свойстве " Картинки строк " указать картинку - коллекцию , содержащую все необходимые картинки . Стоит отметить , что картинки , составляющие коллекцию , должны быть расположены горизонтально и иметь размер 16 x 16 точек . Далее , при заполнении таблицы значений или дерева значений необходимо в колонке картинки установить индекс картинки в этой коллекции . Приведенный ниже пример показывает , как отобразить картинки в табличных полях , отображающих таблицу и дерево значений . В этом примере используется два табличных поля , каждое из табличных полей содержит по одной колонке - колонке картинки. Первое из них отображает таблицу значений ( реквизит ТЗ ) , а второе дерево значений ( реквизит ДЗ ).
Заполнение источников данных происходит при обработке события ПередОткрытием() формы :
Также можно связать данные картинки колонки табличного поля с колонкой таблицы значений , содержащей собственно картинку . Для этого необходимо при заполнении таблицы значений присваивать картинки соответствующей колонке . Затем связать колонку таблицы значений с колонкой табличного поля , отображающей картинку . В приведенном ниже примере используется табличное поле ТабличноеПоле 1 содержащее одну колонку ( Колонка1 ), отображающую картинку .
Заполнение таблицы значений происходит при обработке события формы ПередОткрытием() . Сначала в таблицу значений ( реквизит ТЗ ) добавляется колонка картинки ( Картинка ), затем происходит заполнение таблицы значений . В конце осуществляется привязка колонки таблицы значений к колонке табличного поля . Для этого используется свойство ДанныеКартинки колонки табличного поля .
Существует также другой способ отображения картинок в табличном поле . Для этого необходимо использовать событие табличного поля ПриВыводеСтроки() . Этот способ подходит для табличных полей , отображающих как динамические списки так и статические данные . При использовании данного способа картинку необходимо устанавливать при обработке события ПриВыводеСтроки() . Приведенный ниже пример показывает типичное применение этого способа . В этом примере используется табличное поле , отображающее таблицу значений . Табличное поле содержит две колонки : колонку картинки ( Колонка1 ) и колонку данных ( Колонка2 ).
Таблица значений заполняется при обработке события ПередОткрытием() формы :
Картинки для первой колонки устанавливаются при обработке события ПриВыводеСтроки() . Следует заметить , что в приведенном примере для демонстрации возможностей используются два метода установки картинки : используя свойство ИндексКартинки отображаемой ячейки и используя метод УстановитьКартинку() .
Как в списке установить нестандартную картинку строки
Для решения данной задачи существует два способа. Рассмотрим их на примере.
Создание колонки
Колонку с картинкой можно связать с колонкой данных, содержащих значение типов Число или Булево . В нашем случае требуется одну и ту же картинку выводить вместо стандартной, поэтому добавленная колонка должна содержать значение Истина для всех строк. Для динамического списка её нужно добавить в запросе.
Примечание
Для колонки данных типа Булево значения инвертируются, т. е. Истина означает индекс 0, а Ложь – индекс 1 (это реализовано для удобства отображения картинок-флажков, когда у некоторых строк картинка по некоторому условию есть, а у других её нет).
В списке реквизитов для реквизита ИндексКартинки установим флажок ИспользоватьВсегда .
В списке элементов формы добавим колонку с видом Поле картинки. Значение будет указывать индекс конкретной картинки для конкретной строки в наборе картинок.
В свойстве Данные поля выберем Список.ИндексКартинки .
Набор картинок задается в свойстве поля Картинка значений .
Созданную колонку можно поместить в произвольное место таблицы как самостоятельную или объединить с одной из колонок в группу колонок с группировкой В ячейке . Объединим поле Картинка с колонкой Код :
В результате список примет вид, как показано на рисунке:
Переопределение стандартной картинки
Данный способ более удобен, поскольку не требуется создавать дополнительное поле и группировать его с другим полем, но он менее гибок, поскольку такая картинка всегда отображается в самой левой колонке, содержащей текст. В свойствах таблицы укажем нужную картинку в свойстве Картинка строк и установим свойство Данные картинки строк . Колонку для этого свойства нужно создать так же, как и в предыдущем способе.
В статье рассмотрен пример вывод изображения на управляемую форму элемента справочника при отказе режима модальности.
Применимость
В статье рассматривается платформа «1С:Предприятие» редакции 8.3. Представленная информация актуальна для текущих релизов платформы.
Работа с файлами (картинками) в интерфейсе Такси
Для увеличения нажмите на изображение.
Однако, если разрешить модальные окна, то мы столкнемся с проблемами при работе в web-клиенте.
Во-вторых, о работе с картинками в управляемых формах часто спрашивают.
Для увеличения нажмите на изображение.
Если планируете выгружать картинку (файл) из информационной базы обратно в файловую систему, то добавьте еще реквизит, который будет хранить исходное имя файла и его тип.
Далее, займемся формой. Как видно на картинке, реквизит с типом хранилище значений в форме недоступен.
Для увеличения нажмите на изображение.
Для увеличения нажмите на изображение.
Для увеличения нажмите на изображение.
Для увеличения нажмите на изображение.
Для увеличения нажмите на изображение.
Пару комментариев к вышеописанному коду:
Для увеличения нажмите на изображение.
Так, осталось теперь при записи элемента справочника записать данные из временного хранилища в реквизит элемента справочника. Описываем событие ПередЗаписьюНаСервере:
Для увеличения нажмите на изображение.
Осталось описать открытие формы, для отображения картинки уже сохраненной в реквизите элемента справочника.
Для увеличения нажмите на изображение.
Вот и все. Готовую базу можно взять тут.
PDF-версия статьи для участников группы ВКонтакте
Статья в PDF-формате
Комментарии / обсуждение (64):
// Данные = РегистрыСведений.СопоставлениеДанных.Данные;
КонецПроцедуры
А как ето зделать ? Какие елементы формы должны присутвовать ? Может ето и без етого справочника можно зделать ?
1. Создаем в конфигураторе новый справочник, подчиненный Номенклатуре (например, назовем его ПрисоединенныеКартинки). Добавляем для него реквизит ДанныеКартинки. Добавление картинки выполняем аналогично, как в статье, только работаем не со справочником Номенклатура, а с новым справочником ПрисоединенныеКартинки. Получится, что для одного элемента справочника Номенклатура можно создать несколько подчиненных элементов в справочнике ПрисоединенныеКартинки, в каждом из которых будет храниться своя картинка.
2. Вместо справочника можно использовать, например, регистр сведений для хранения данных картинок.
Етот код работает с тем што я выше скидивал а как теперь сюда всунуть етот регист сведений с етими картинками ?
Вот как добавляю в регистр сведенней картинки и в базе как бы данные есть в номенклатуре я могу посмтореть етот регистр и файлы што есть у каждой номенклатуре но как их отравить через етот не получаетса.
Читайте также: