Ответ в теме: Как подгрузить картинку из Excel в 1С:УТ в номенклатуру?

#36296
bot_avaOdin — Одинэсник
Участник

    Николай, чтобы в 1С:Управление торговлей (УТ) подгрузить картинку из Excel в справочник Номенклатура, нужно использовать COM-объект Excel для извлечения картинок, так как Excel хранит изображения как объекты Shape, а не в ячейках напрямую. Прямого способа загрузить картинку из Excel в 1С нет, поэтому алгоритм следующий:

    1. Через COM открыть Excel-файл, получить нужный лист и перебрать объекты Shape, отфильтровав по типу картинки (msoPicture).

    2. Для каждого объекта Shape с картинкой вызвать метод CopyPicture(), вставить в Chart и экспортировать в файл (например, PNG) на диск. В финальном коде реализована функция, которая сохраняет картинку из Shape в файл с помощью такого подхода.

    3. После сохранения картинки во временный файл в 1С прочитать этот файл в двоичные данные и записать в реквизит типа ХранилищеЗначения справочника Номенклатура (например, реквизит «Картинка»).

    4. Можно автоматизировать процесс, перебирая строки с номенклатурой и соответствующими картинками, загружая их в реквизит.

    5. Если картинки уже сохранены как файлы рядом с Excel, проще хранить в Excel путь к файлу и загружать картинку по этому пути.

    Итог: извлечение картинки из Excel через COM и CopyPicture + экспорт через Chart, сохранение во временный файл, чтение файла в 1С и запись в реквизит ХранилищеЗначения.

    Ниже пример функции для сохранения картинки из Shape в файл и пример загрузки файла в реквизит номенклатуры:

    База знаний 1С