Найти в Дзене
Web-Admin

Добавление картинки в базу и отображение её на форме в 1С

Сразу скажу — я всегда был и буду против добавления любых файлов в базу данных 1С — максимум шаблоны для генерации отчётов.

Понимаю зачем это нужно 1С, когда они во все свои стандартные конфигурации чуть ли не к каждому документу и справочнику дают возможность прикрепить файлы — и это нужно, что бы потом хвастаться, что вот 1С спокойно справляется с базой в 10-20-100 терабайт.

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

Лучший вариант по добавлению файлов, по моему мнению, это добавлять ссылки на файлы в каком то общем хранилище, ну и соответственно при добавлении файлов копировать их в это общее хранилище.

Загрузка картинки в базу

Но, хоть я и против таких манипуляций с файлами, но иногда поступают требования от заказчиков на загрузку картинок в базу, да и никто не отменял две задачи на экзамене 1С Специалист.

Первым делом необходимо создать реквизит в справочнике (в книгах по 1С рекомендуют делать, либо отдельный подчиненный справочник, либо регистр сведений) с типом Хранилище Значений.

-2

Далее в редакторе формы объекта необходимо создать реквизит с типом строка и перенести его на форму. Созданный элемент на форме должен иметь тип — Поле картинки.

-3

Следующим этапом создаётся команда и переносится на форму в виде кнопки.

-4

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

-5

В свойствах команды в поле Действие нажимаем лупу и создаём процедуру на клиенте со следующим содержанием:

-6

Картинка должна начать отображаться на форме. Но это ещё не всё. Картинка пока находится во временном хранилище. Теперь её нужно сохранить в базу данных и для этого пишется следующая процедура на событие формы ПередЗаписьюНаСервере

-7

И это ещё не всё. Теперь необходимо сохранённую картинку показать при открытии элемента справочника и для этого на событие формы ПриЧтенииНаСервере пишим следующую процедуру:

-8

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

-9

Оригинал статьи, где есть возможность скопировать код, находится на сайте Web-Admin.ru