Сразу скажу — я всегда был и буду против добавления любых файлов в базу данных 1С — максимум шаблоны для генерации отчётов.
Понимаю зачем это нужно 1С, когда они во все свои стандартные конфигурации чуть ли не к каждому документу и справочнику дают возможность прикрепить файлы — и это нужно, что бы потом хвастаться, что вот 1С спокойно справляется с базой в 10-20-100 терабайт.
По этой же причине 1С учит будущих программистов засовывать файлы в базу данных, добавляя целых 2 задачи по управляемым формам в экзамен на 1С Специалист по платформе.
Лучший вариант по добавлению файлов, по моему мнению, это добавлять ссылки на файлы в каком то общем хранилище, ну и соответственно при добавлении файлов копировать их в это общее хранилище.
Загрузка картинки в базу
Но, хоть я и против таких манипуляций с файлами, но иногда поступают требования от заказчиков на загрузку картинок в базу, да и никто не отменял две задачи на экзамене 1С Специалист.
Первым делом необходимо создать реквизит в справочнике (в книгах по 1С рекомендуют делать, либо отдельный подчиненный справочник, либо регистр сведений) с типом Хранилище Значений.
Далее в редакторе формы объекта необходимо создать реквизит с типом строка и перенести его на форму. Созданный элемент на форме должен иметь тип — Поле картинки.
Следующим этапом создаётся команда и переносится на форму в виде кнопки.
Так же процедуру ЗагрузитьКартинку (будет описана ниже) можно перенести в процедуру на событие «Нажатие» элемента формы Поле картинки, и тогда главное в свойствах этого элемента выставить, что данное поле является гиперссылкой.
В свойствах команды в поле Действие нажимаем лупу и создаём процедуру на клиенте со следующим содержанием:
Картинка должна начать отображаться на форме. Но это ещё не всё. Картинка пока находится во временном хранилище. Теперь её нужно сохранить в базу данных и для этого пишется следующая процедура на событие формы ПередЗаписьюНаСервере
И это ещё не всё. Теперь необходимо сохранённую картинку показать при открытии элемента справочника и для этого на событие формы ПриЧтенииНаСервере пишим следующую процедуру:
На этом всё. Теперь картинка показывается на форме сразу после выбора в диалоге выбора файлов, сохраняется в базе и при повторном открытии формы так же отображается.
Оригинал статьи, где есть возможность скопировать код, находится на сайте Web-Admin.ru