8.х Загрузка Картинки из xls

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем alp, 14 фев 2011.

  1. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    попробовал создать макет "HTML Документ" и скопировать туда данные из экселя, объект картинка переносится , но она пустая(все белые).

    Если говорить о "xlsx" то как Вы имели ввиду сохранять программно или пользовательски ?
  2. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Попробуйте сначала пользовательски. Если получится - потом уж поковырять Workbook на метод SaveAs.
  3. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Проблема в том что у меня только 98 эксель :angry:
  4. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Сделано для win XP. Немного фантазии :angry:
    Смысл
    При открытии формы грузим библиотеку
    Код:
    ИмяФайла = КаталогПрограммы() + ИмяБиблиотекиClipboard;
    
    Файл = Новый Файл(ИмяФайла);
    Если Не Файл.Существует() Тогда
    ИзвлечьИЗаписатьБиблиотеку(ИмяФайла);
    КонецЕсли;
    
    Попытка
    ЗагрузитьВнешнююКомпоненту(ИмяФайла);
    Попытка
    КомпонентБО = Новый("AddIn.clipboard");
    Исключение
    Сообщить("Не удалось создать объект компоненты " + ИмяБиблиотекиClipboard, СтатусСообщения.Важное);
    КонецПопытки;    
    Исключение
    Сообщить(ОписаниеОшибки());
    КонецПопытки;
    
    
    При добавлении товара
    Код:
    НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
    
    НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
    
    Картинка.Copy();
    
    Попытка
    СтрокаКартинки = КомпонентБО.ПолучитьКартинкуИзБуфераОбмена(); 
    Если ЗначениеЗаполнено(СтрокаКартинки) Тогда
    ДанныеКартинки = Base64Значение(СтрокаКартинки);
    Картинка = Новый Картинка(ДанныеКартинки);
    КонецЕсли;
    Исключение
    Предупреждение("Ошибка при вставке изображения из буфера: " + Символы.ПС + ОписаниеОшибки());
    КонецПопытки;
    
    НовыйОбъект.Хранилище = Новый ХранилищеЗначения(картинка);
    НовыйОбъект.Записать();
    
    
    У меня на XP отработала нормально, за исключением какой-то ошибки с ценами, разберитесь, т.к. смотреть не стал.

    Просьба, когда допишите обработку подарить мне её для собственных нужд, просто хочу чтобы образец у меня в хранилище был

    Вложения:

  5. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26
    Обязательно скину обработку, тока скиньте dll пожалуйста...
  6. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Библиотека в обработке и разворачивается автоматически в каталог программы.
  7. TopicStarter Overlay
    alp
    Offline

    alp Опытный в 1С

    Регистрация:
    8 янв 2009
    Сообщения:
    432
    Симпатии:
    0
    Баллы:
    26

Поделиться этой страницей