Невелика задача
У тестовій конфігурації для елементів довідника "Співробітники" був створений механізм прикріплення файлів зображень. Однак при відкритті елемента поточне зображення можна подивитися лише відкривши прикріплений файл.
Наше завдання полягатиме в відображенні на формі елемента поточного зображення. Головна умова - доробка здійснюється для керованої форми.
Як це було раніше
Перш ніж перейти до вирішення завдання, розглянемо, як це реалізовувалося б для звичайної форми. У тестовій конфігурації для довідника "Співробітники" створено два реквізити:
- "Фото" - реквізит з типом "ХраніліщеЗначеній", в якому зберігаються двійкові дані файлу зображення.
- "Имяфайла" - строковою реквізит, в який записується ім'я файлу прикріпленого зображення.
На звичайній формі додається елемент "ФотоСотрудніка" з типом "Поле картинки".
У події "ПередОткритіем" форми додаємо наступний код:
І, вуаля! При відкритті відображається прікрепеленной раніше фото!
Вся завдання вирішилося в два етапи: додаємо поле картинки на форму, і перед відкриттям отримуємо картинку з реквізиту елемента довідника і присвоюємо елементу форми. З керованої формою все трохи складніше.
На керованої формі
На керованої формі просто так отримати картинку зі сховища значень не вийде, а вже тим більше помістити його на керовану форму. Оскільки керовані форми створені для чіткого поділу клієнтської і серверної сторони, то і логіка роботи буде інший.
Для відображення зображення для початку додамо строкової реквізит форми "ФотоСотрудніка", для якого на формі створимо елемент з типом "Поле картинки".
Тепер в обробнику форми "ПріСозданііНаСервере" додамо наступний програмний код:
В результаті при відкритті елемента ми побачимо наступне:
На цьому завдання повністю вирішена!
завдання вирішена
Завдання ми вирішили, але є куди оптимізувати! Файл краще винести в окрему таблицю, щоб час відкриття елемента Довідника не зросла при прикріпленні зображень великих розмірів. Але оптимізація вже виходить за рамки статті.
Завантажити тестову конфігурацію з прикладом зі статті.