Картинки в 1С

1С платформа 8.2.х

Сразу: хранение картинок в 1С - это жесть, надо же было такое выдумать…

Так как 1С умеет работать с тонким клиентом и веб-клиентом, был придуман следующий механизм хранения файлов:

  • Файл помещается во Временное хранилище и находится там либо пока его не удалят, либо пока жива форма, к которой привязаны данные. В этом случае файл должен быть передан методом
    ПоместитьВоВременноеХранилище()

    не в виде пути в файловой системе, а в виде значения. Обратно его можно получить методом

    ПолучитьИзВременногоХранилища()

    .

  • Файл можно поместить в Хранилище методами
    ПоместитьФайл()

    и

    ПоместитьФайлы()

    , да еще и указать отображать ли диалог выбора.

Складываем файл во временное хранилище, затем выбираем и отображаем в поле картинки.

Процедура ПоместитьФайл(Файл)
     // Сохраняем изображение во Временное Хранилище
     ИзображениеФото = Новый Картинка(Файл.ПолноеИмя);
     Если ИзображениеФото <> Неопределено Тогда
       АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ИзображениеФото);
     КонецЕсли;
КонецПроцедуры
 
Процедура ОтобразитьКартинку()
     // Считаем что адрес картинки во временном хранилище хранится в ТаблицеЗначений с названием "ТабличноеПолеИзображений"
     // в 3-й колонке
     // А поместить изображение надо в элемент Поле картинки с именем "ИзображениеНоменклатуры"
 
     // Выбираем текущую строку
     ТекущаяСтрокаТаблицы = ЭтаФорма.ЭлементыФормы.ТабличноеПолеИзображений.ТекущаяСтрока;
 
     // Получаем адрес изображения во Временном Хранилище
     АдресВременногоХранилища = ТекущаяСтрокаТаблицы[3];
 
     // Отрисовать картинку
     Картинка = ПолучитьИзВременногоХранилища(АдресВременногоХранилища);
     ЭлементыФормы.ИзображениеНоменклатуры.Картинка = Картинка;
 
КонецПроцедуры
  • software/1c/1c-picture.txt
  • Последнее изменение: 2017/05/09 18:34
  • 127.0.0.1