Добавить картинку в табличную часть 1с
Отображение картинок в табличном поле
Отображение картинок в колонках табличного поля имеет ряд особенностей .
Так , если табличное поле отображает таблицу значений или дерево значений , можно установить необходимой колонке табличного поля колонку картинки . Для этого необходимо в палитре свойств в свойстве " Данные картинки " колонки табличного поля указать имя колонки картинки ( при этом соответствующая колонка автоматически добавится в таблицу или дерево значений ), а в свойстве " Картинки строк " указать картинку - коллекцию , содержащую все необходимые картинки . Стоит отметить , что картинки , составляющие коллекцию , должны быть расположены горизонтально и иметь размер 16 x 16 точек . Далее , при заполнении таблицы значений или дерева значений необходимо в колонке картинки установить индекс картинки в этой коллекции . Приведенный ниже пример показывает , как отобразить картинки в табличных полях , отображающих таблицу и дерево значений . В этом примере используется два табличных поля , каждое из табличных полей содержит по одной колонке - колонке картинки. Первое из них отображает таблицу значений ( реквизит ТЗ ) , а второе дерево значений ( реквизит ДЗ ).
Заполнение источников данных происходит при обработке события ПередОткрытием() формы :
Также можно связать данные картинки колонки табличного поля с колонкой таблицы значений , содержащей собственно картинку . Для этого необходимо при заполнении таблицы значений присваивать картинки соответствующей колонке . Затем связать колонку таблицы значений с колонкой табличного поля , отображающей картинку . В приведенном ниже примере используется табличное поле ТабличноеПоле 1 содержащее одну колонку ( Колонка1 ), отображающую картинку .
Заполнение таблицы значений происходит при обработке события формы ПередОткрытием() . Сначала в таблицу значений ( реквизит ТЗ ) добавляется колонка картинки ( Картинка ), затем происходит заполнение таблицы значений . В конце осуществляется привязка колонки таблицы значений к колонке табличного поля . Для этого используется свойство ДанныеКартинки колонки табличного поля .
Существует также другой способ отображения картинок в табличном поле . Для этого необходимо использовать событие табличного поля ПриВыводеСтроки() . Этот способ подходит для табличных полей , отображающих как динамические списки так и статические данные . При использовании данного способа картинку необходимо устанавливать при обработке события ПриВыводеСтроки() . Приведенный ниже пример показывает типичное применение этого способа . В этом примере используется табличное поле , отображающее таблицу значений . Табличное поле содержит две колонки : колонку картинки ( Колонка1 ) и колонку данных ( Колонка2 ).
Таблица значений заполняется при обработке события ПередОткрытием() формы :
Картинки для первой колонки устанавливаются при обработке события ПриВыводеСтроки() . Следует заметить , что в приведенном примере для демонстрации возможностей используются два метода установки картинки : используя свойство ИндексКартинки отображаемой ячейки и используя метод УстановитьКартинку() .
Google выдал довольно много вариантов исполнения, но ни один из них у меня не сработал.
Поэтому решил написать эту статью, думаю начинающим специалистам будет полезно.
Итак есть два способа задать место для картинки в макете:
1) Вставить картинку в макет, как отдельный объект, обращение будет происходить по Имени
2) Привязать её к конкретной ячейке, обращение будет происходить по Параметру Картинки
В первом случае картинка не может быть больше выделенной области и при этом может быть перемещена пользователем при просмотре печатной формы.
-Пример перемещения картинки при просмотре:
-Вот так будет выглядеть изменение размера в свойствах картинки с Пропорционально на Реальный размер
Во втором случае картинка будет жестко привязана к ячейке и может растягиваться пропорционально ширине колонки. (*будет растягиваться по ширине картинки пропорционально ширине ячейки. )
Ниже пример с картинками разных размеров и пропорций.
Далее перейдем непосредственно к коду обработки
Функция, формирующая печатную форму:
Здесь нас интересует только вторая и третья (закомментированная) строки.
необходима для того, чтобы картинки не выходили за границы листа при печати
позволят распечатать макет в альбомной ориентации по умолчанию.
Вывод картинки на форму рассмотрим на примере табличной части так как в обоих случаях код практически идентичен.
В 4ой строке находим файл картинки в базе
ТекущаяСтрока.Номенклатура - Ссылка на необходимый элемент справочника
“ФайлКартинки” – Наименование реквизита содержащего картинку
В 5ой строке проверяем наличие картинки в вышеуказанном реквизите. Без этого при попытке печати форма выдаст ошибку, если хоть одна из картинок не заполнена.
ФайлКартинки . Наименование – проверяемый реквизит, если файла картинки нет, то его наименование будет не заполнено.
С 6-ой по 13-ую строки (как и 4-ая) фрагмент типового кода УТ 11.4 отвечающего за печать картинок
И наконец непосредственно помещение картинки на макет:
Для первого способа:
Для второго способа:
Всё готово, вы великолепны !
Образец обработки будет в прикрепленных файлах.
В этой статье научимся добавлять в табличный документ картинки. Вы узнаете, как вставить конкретную картинку в табличный документ, а также как подгрузить картинку из общих картинок конфигурации и из хранилища значений.
Вставить картинку в табличный документ 1С
Научимся вставлять картинки в макет табличного документа 1С. Для того, чтобы вставить картинку в табличный документ необходимо воспользоваться командой «Картинка…» тогда, когда табличный документ открыть и на нем установлен фокус. Команда «Картинка…» находится по следующему пути в конфигураторе 1С: «Главное меню – Таблица — Рисунки».
Откроется окно «Выбор картинки».
В этом окне есть несколько вариантов выбора. В закладке «Из библиотеки» мы можем выбрать или общую картинку конфигурации, или стандартную картинку платформы 1С.
На закладке «Из файла» мы можем загрузить нужную картинку из файловой системы.
Вставим картинку из файла. Для этого на закладке «Из файла» следует нажать на кнопку «Выбрать файл».
Найти нужный файл в открывшемся окне «Выбор картинки».
После выбора рисунка, вы можете сделать белый цвет прозрачным. Для этого следует нажать на кнопку «Установить прозрачный цвет», после этого ваш курсор станет «карандашом», и этим курсором необходимо кликнуть по белому цвету картинки.
В результате, белый цвет уйдет.
После нажатия на кнопку «Ок» окна «Выбор картинки», картинка отобразится в табличном документе.
Заметьте, что вокруг вставленной картинки имеется рамка. Для того, чтобы убрать эту рамку, откроем палитру свойств картинки.
И в свойстве Линия установим значение «Нет линии».
В результате, рамки во круг картинки не станет.
Добавим макету область, создадим форму, команду формы, в которой будем выводить табличный документ на просмотр.
И посмотрим, как выведется наш табличный документ с картинкой.
Вывести картинку в табличный документ 1С
Приведенный выше способ отображение картинок статичен: мы вручную при создании макета выбираем ту или иную картинку, которая будет всегда в этом макете отображаться. Но, очень часто возникают ситуации, когда нужно картинку подгружать или из библиотеки картинок, или из хранилища значений.
В этой статье Вы узнаете, как загружать и хранить картинки в хранилище значений:
В учебной конфигурации у справочника Контрагенты был создан реквизит Логотип, тип которого Хранилище значения.
В этом реквизите хранятся картинки.
Теперь, сделаем табличный документ, на котором будет выводиться информация об контрагенте, а также картинка, которая привязана к этому контрагенту.
Есть несколько способов вывода картинки на табличный документ, разберем один из них.
Создадим макет табличного документа, в котором создадим область и зададим несколько параметров, в которые будем выводить информацию о контрагенте.
Теперь, в макет добавим пустую картинку. Нам следует выполнить команду «Рисунок…» по уже знакомому пути «Главное меню – Таблица — Рисунки», но не выбирать ни какую картинку ни где, а просто нажать на кнопку «Ок».
Будет добавлена пуста картинка (скорее всего, она будет маленького размера).
Откроем палитру свойств этой картинки, изменим имя, уберем рамку и установим авторазмер картинки.
Всё! Макет готов, теперь создадим на управляемой форме реквизит Контрагент, поле ввода контрагента, а также команду для вывода табличного документа.
Создадим обработчик команды и функцию, в которой будем выводить в табличный документ данные контрагента.
Мы получили данные контрагента через запрос. Обращаю ваше внимание на поле «Контрагенты.Логотип КАК Логотип», так мы получаем хранилище значения. Пока все вывели табличный документ без рисунка. Реализуем возможность вывода рисунка. Для этого, вставим после вывода параметров области (ИНН,КПП, название) следующий код.
В этом коде, из хранилища значений, которое в поле Логотип выборки, получим двоичный файл (//1). Потом создадим объект Картинка конструктором на основе двоичных данных (//2), вторым параметром Истина мы установили прозрачность картинки. И присвоим свойству Картинка рисунку области табличного документа, который мы добавили пустым, созданную картинку (//3).
По сути, мы программным способом «загрузили» картинку в свойство Картинка созданного нами пустого рисунка.
Если мы сейчас попробуем показать этот табличный документ, то на нем отобразится картинка.
Рассмотрим ещё, как программным способом вывести общую картинку. Например, в моей конфигурации имеется общая картинка под названием «Общий логотип».
Выведем эту картинку в уже созданный ранее табличный документ.
Для этого, также как и в первый раз, добавим на табличный документ пустую картинку, которую назовем ОбщийЛоготип, и у которой уберем обводку.
Нам осталось вывести эту картинку при формировании табличного документа. Делается это гораздо проще, чем с картинкой из хранилища значений: просто присваиваем свойству Картинка, вновь добавленному рисунку табличного документа, общую картинку из библиотеки картинок.
После этого, общая картинка будет выведена в табличный документ.
Другие статьи про табличные документы в 1С:
Более подробно и основательно разработка в 1С дается в моей книге: «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
- Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника;
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
В табличной части есть документы заявки от покупателя, нам нужно добавить картинку для отображения статуса документов заявка - проведен , не проведен, помечен на удаление.
Похожие FAQ
Еще в этой же категории
Вывод картинки (изображения) на печать, в макет (табличный документ) 32
// 1-й вариант //Как вывести картинку в табличный документ? ТабДок = Новый ТабличныйДокумент; Макет = ОбработкаОбъект.ПолучитьМакет(" Макет" ); ОбластьКартинки = Макет.ПолучитьОбласть(" ОбластьСКартинкой" ); Картинка = Новый Картинка(ПутьККа Вывести табличный документ в PDF 18
Данный пример работает на платформе выше 8.2.13 Макет = ПолучитьМакет(" Макет" ); ОбластьШапка = Макет.ПолучитьОбласть(" Шапка" ); ТабДок = Новый ТабличныйДокумент; ОбластьШапка.Параметры.НомерДок = Номер; ОбластьШапка.Параметры.ДатаДок = Как программно изменить текст, цвет, фон ячейки или области табличного документа? 7
Ниже приведено несколько полезных шаблонов кода по работе с табличным документом: //Пример получения текста ячейки ПолеТабДок = ЭлементыФормы.тдПолеТабличногоДокумента; ПолеТабДок.Область("R1C2").Текст = спрНоменклатура.Наименование; ПолеТабДок Вывод колонтитулов программно ВерхнийКолонтитул, НижнийКолонтитул 6
Колонтитул является специальным текстом, выводимым вверху или внизу каждой страницы при выводе документа на печать. В тексте колонтитула можно использовать следующие управляющие конструкции: > ( >) - при печати в данном месте будет выведен номер ст Функция загружает весь табличный документ в таблицу значений 6
// Вариант 1 // По переданному табличному документу возвращает таблицу значений, // при условии что в первой строке таблицы - идентификаторы колонок // Автор : dimoff Функция ПолучитьТЗИзМакета(ТабДок, КолонкаИндекса = 1) Экспорт ТаблицаДанн Посмотреть все в категории Табличный документ
Перерыл интернет для поиска решения следующей задачи: Вывести картинку состояния в табличную часть (динамический список).
Задача:1. Рядом с ссылкой на документ выводить картинку "Проведен, Помечен на удаление, Записан, Документа нет".
Получилось следующее:
Что нужно что бы так получилось:1. Со стороны кода.
2. Со стороны формы:
За оформление извиняюсь. Рисовал с помощью ножниц =).
Похожие FAQ
Динамический отчет на СКД с разными вариантами 4
На днях делал несколько однотипных отчетов на СКД. Общий принцип: формируются все варианты отчета, указанные в настройках схемы и каждый вариант выводится на отдельной вкладке. Потом возникла мысль попробовать объединить все схемы в один отчет Как получить координаты выделенной области на Яндекс Карте? 3
На одном проекте потребовалось получать координаты выделенной области на яндекс карте, после долгих изучений получилось следующее: Вид Формы: На карте выделяете объект, нажимаете кнопку Получить координаты выделенной области и заполняется таб Как узнать версию конфигурации и платформы 1С? 6
Иногда бывает, что нужно узнать версию платформы и конфигурации 1С и версию конфигурации. Обычно это необходимо, чтобы определить нужны ли обновления платформы или конфигурации в данный момент или если Вы обращаетесь к специалистам в службы поддерж Полезные возможности редактора кода 1С 28
Мне частенько приходится взаимодействовать с 1С-разработчиками, и во время совместной работы над проектами замечаю, что далеко не все из них хорошо знают свой главный инструмент – «Конфигуратор». Причем это не относится к степени крутости девелопера Установка сервера 1С 8.3 и PostgreSQL 9.2 на CentOS 1
Заказали виртуальный сервер на FastVPS, купили мини сервер 1С и пришло время установки. В сети нашлась хорошая статья , где все по порядку: Итак, устанавливаем минимальный CentOS, настраиваем имена хостов, DNSы и сетевые подключения и приступаем Посмотреть все результаты поиска похожих
Еще в этой же категории
Читайте также: