27.11.2022 Ярослав Копытов 20724
Работа с изображением в 1С: поле картинки

Содержание:

    

1.     Способы хранения изображений в информационной базе данных 1С

 

В этой статье рассмотрим практическую задачу, как сделать для каждого товара из справочника номенклатуры хранение его изображение (картинка). То есть пользователь должен иметь возможность нажав на кнопку выбрать картинку, хранящуюся где-то на диске, и в результате, картинка должна отобразиться на форме выбранного товара.


Для решения этой задачи первым делом необходимо разобраться в способах хранения изображений в информационной базе данных 1С. Для этого существует специальный тип данных в 1С «Хранилище значений». Он позволяет хранить двоичные данные в произвольных файлах. Это могут быть изображения или документы в формате «Word» или «Excel», аудио или видео файлы, и так далее.


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


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


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

    

Пошаговый план действий выглядит так:

1. Создаем реквизит типа «Хранилище Значения» в справочнике номенклатура в 1С для картинки.

2. В форме элемента создаем реквизит формы «АдресКартинки» с типом «Строка».

3. Создаем элемент формы, связанный с реквизитом формы «АдресКартинки» (тип элемента – Поле картинки).

4. Обеспечим картинки. Поместим двоичные данные во временное хранилище (НачатьПомещениеФайла) и реквизиту «АдресКартики» присвоить адрес во временном хранилище данных.

5. Обеспечить сохранение картинки в реквизит в 1С «Изображение» и отображение при открытии формы (ПолучитьНавигационнуюСсылку).   


2.     Пошаговая инструкция создания реквизита типа «Хранилище Значения» в справочнике Номенклатура в 1С

 

Переходим в конфигуратор базы 1С и сразу в справочнике номенклатура в 1С создадим новый реквизит и назовем его «Изображение» с типом данных «Хранилище Значения».



Справочник Номенклатуры в 1С


Теперь перейдем в форму элемента справочника Номенклатура в 1С и создадим здесь реквизит с названием «АдресКартинки» и типом данных «Строка».



Форма элемента справочника Номенклатура в 1С


Следующим шагом будет создание элемента формы, связанного с этим реквизитом. Для этого, реквизит «АдресКартинки» можно просто перетащить мышкой (зажав ЛКМ) из правого списка в левый.



Создание элемента формы в 1С


По умолчанию для этого элемента выбран вид «Поле ввода». Меняем на «Поле картинки» и поставим флаг «Гиперссылка» для того, чтобы при нажатии на это поле, было возможно описать обработчик события 1С, связанного с нажатием.



Описать обработчик события в 1С


То есть при нажатии на это поле должен открываться диалог для выбора файла.

Кроме того, на закладке «Оформление» укажем «РазмерКартинки - Пропорционально» для того, чтобы при изменении размеров формы, картинка изменялась пропорционально размеру формы.



Закладка «Оформление» укажем «РазмерКартинки - Пропорционально»


И, последняя для этого элемента формы, настройка называется «ТекстНевыбраннойКартинки». Напишем здесь «Нажмите для выбора картинки».



Настройка «ТекстНевыбраннойКартинки»


Теперь необходимо обеспечить выбор картинки пользователем.

Для этого, перейдя в свойства элемента формы, на закладке «События», найдем событие, связанное с нажатием.



Закладка «События»



Найдем событие, связанное с нажатием


Создадим обработчик этого события на клиенте.



Обработчик этого события на клиенте


Для того, чтобы предоставить пользователю возможность выбрать файл, существует метод «НачатьПомещениеФайла». Следует отдельно отметить, этот метод не рекомендуется использовать начиная с версии 3.8.15.



Метод «НачатьПомещениеФайла»


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



Конечный результат



Задача выполнена


Таким образом можно считать задачу выполненной.


Специалист компании "Кодерлайн"

Ярослав Копытов

Наши проекты

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Документооборот (ECM):
- Учет рабочего времени;
Управление персоналом и ка...

ООО «Аэроэкспресс»
ООО «Аэроэкспресс»

Отрасль:

Внедренное типовое решение:
1С:ERP. Управление холдингом

· Планирование закупок · Управление закупочными процедурами, включая 223 ФЗ ...

Внедрение 1С:Управление торговлей в оптово-розничной компании «Много Плитки»
ООО «Много Плитки»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Закупки (снабжение) и управление отношениями с поставщиками:
- Оформление ...

ООО "ЛИКАРД" (Лукойл)
ООО "ЛИКАРД" (Лукойл)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Делопроизводство
• Учет и контроль исполнения поручений
Учет и хранение...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием для Украины

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Уч...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

Автоматизация документооборота в компании ООО "Ликард"
ООО «Ликард» (ОАО ЛУКОЙЛ)

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:Документооборот КОРП

- Отказ от бумажного документооборота, от громоздких систем на базе офисного...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление производственным предприятием

– Оформление заказов покупателей;
– Взаиморасчеты с покупателями;
– О...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

Отрасль:
Оптовая торговля

Внедренное типовое решение:
1С:Управление торговлей

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение