====== Картинки в 1С ====== 1С платформа 8.2.х Сразу: хранение картинок в 1С - это жесть, надо же было такое выдумать... ===== Описание ===== Так как 1С умеет работать с тонким клиентом и веб-клиентом, был придуман следующий механизм хранения файлов: * Файл помещается во Временное хранилище и находится там либо пока его не удалят, либо пока жива форма, к которой привязаны данные. В этом случае файл должен быть передан методом ПоместитьВоВременноеХранилище() не в виде пути в файловой системе, а в виде значения. Обратно его можно получить методом ПолучитьИзВременногоХранилища(). * Файл можно поместить в Хранилище методами ПоместитьФайл() и ПоместитьФайлы(), да еще и указать отображать ли диалог выбора. ===== Пример ===== Складываем файл во временное хранилище, затем выбираем и отображаем в поле картинки. Процедура ПоместитьФайл(Файл) // Сохраняем изображение во Временное Хранилище ИзображениеФото = Новый Картинка(Файл.ПолноеИмя); Если ИзображениеФото <> Неопределено Тогда АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ИзображениеФото); КонецЕсли; КонецПроцедуры Процедура ОтобразитьКартинку() // Считаем что адрес картинки во временном хранилище хранится в ТаблицеЗначений с названием "ТабличноеПолеИзображений" // в 3-й колонке // А поместить изображение надо в элемент Поле картинки с именем "ИзображениеНоменклатуры" // Выбираем текущую строку ТекущаяСтрокаТаблицы = ЭтаФорма.ЭлементыФормы.ТабличноеПолеИзображений.ТекущаяСтрока; // Получаем адрес изображения во Временном Хранилище АдресВременногоХранилища = ТекущаяСтрокаТаблицы[3]; // Отрисовать картинку Картинка = ПолучитьИзВременногоХранилища(АдресВременногоХранилища); ЭлементыФормы.ИзображениеНоменклатуры.Картинка = Картинка; КонецПроцедуры {{tag>1с картинка поле_картинки ВременноеХранилище временное_хранилище отобразить_картинку}}