27.11.2022 Ярослав Копытов 22015
Работа с изображением в 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С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

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

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

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

- Управление складами;
- Управление заказами поставщиков;
- Управление зак...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

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

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

Автоматизация системы учета продаж газа на базе «1С:ERP Управление предприятием 2.0»
ООО «Эйр Продактс Газ»

Отрасль:
Производство промышленных газов

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

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

ООО “РТИТС”
ООО “РТИТС”

Отрасль:
Транспортные системы

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

Блок регламентированного кадрового учета и расчета заработной платы в 1С:ERP;...

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

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

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

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

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

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

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

Объемно-календарное планирование производства Автоматизация бизнес-проце...

ООО "НЦКТ"
ООО "НЦКТ"

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

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

Взаиморасчеты с покупателями
Автоматизация бизнес-процессов...

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

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

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетна...

Внедрение блока бухгалтерского учета «1С:Управление производственным предприятием»
ОАО «Издательство «Просвещение»

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

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

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

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

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

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

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

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад ...

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

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

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

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