27.11.2022 Ярослав Копытов 19846
Работа с изображением в 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.



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


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



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



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


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


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

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

Наши проекты

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автома...

Группа компаний ТМ «Дружба народов»
Группа компаний ТМ «Дружба народов»

Отрасль:
Пищевая промышленность

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

- Переход на новый релиз 2.1 программы «1С:ERP Управление предприятием»
- Разра...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Перевод зарплатных баз с версии ЗУП 2.5 на версию ЗУП 3.1.
- Сопровождение в п...

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

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

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

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

АО «Аэроклуб»
АО «Аэроклуб»

Отрасль:
Услуги в области делового туризма

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

Проведение серии интервью с руководством и ключевыми специалистами Разраб...

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

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

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

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

АО "Нижегородский водоканал"
АО "Нижегородский водоканал"

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

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

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

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

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

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

ОАО «Интер РАО – Электрогенерация»
ОАО «Интер РАО – Электрогенерация»

Отрасль:
Электрогенерация

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

Для работы 2500 пользователей в 9 часовых поясах организована территориально-...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

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

Оформление заказов поставщикам Оформление заказов покупателей Управление ...

ООО «Мир Аксиомы»
ООО «Мир Аксиомы»

Отрасль:
Аудиторские и консалтинговые услуги

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

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные ...

 ЗАО "Инвестгеосервис" -ДО
ЗАО «Инвестгеосервис»

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

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

- Работа с файлами;
- Делопроизводство;
- Процессы движения документов; ...

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

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

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

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