Имя: Пароль:
1C
1С v8
Как поместить COMОбъекта Word.Application во временное хранилище?
0 s3lla
 
25.04.14
17:49
Подскажите,
Есть COMОбъект Word.Application. Получил его заполняя шаблон с областями через функции БСП. С документом все в порядке, можно его открывать, сохранять и прочие методы Document Class.
Хочу сформированный документ прикрепить к справочникам ПрикрепленныеФайлы, дальше запутался, через какие функции его можно прикрепить к какому-либо из <ИмяСправочника>ПрикрепленныйФайлы программно.

Сделал в итоге таким образом
- сохранил документ в локальной папке клиента
    
        COMСоединение = Handler.COMСоединение;    
    Word = COMСоединение.Application;
    Док=Word.Documents(1);
    ПутьКФайлу =КаталогПользователя + Имя + ".doc";
    Док.SaveAs(ПутьКФайлу);
    COMСоединение.Application.Quit();
    
    Возврат ПутьКФайлу;

- по пути к файлу получил его, преобразовал в двоичные данные и поместил во временное хранилище

        Файл = ПутьКФайлу;
    ДвоичныеДанные = Новый ДвоичныеДанные(Файл);
    
    АдресВоВременномХранилище = ПоместитьВоВременноеХранилище(ДвоичныеДанные);

- имея адрес во временом хранилище вызывал на сервере метод

ДобавленныйФайл = ПрисоединенныеФайлы.ДобавитьФайл(
        ДокументСсылка,
        ИмяФайла,
        "doc",
        ТекущаяДатаСеанса(),
        ТекущаяДатаСеанса(),
        АдресВоВременномХранилище,
        Неопределено,
        ,
        Справочники.ДоговорыКонтрагентовПрисоединенныеФайлы.ПолучитьСсылку());

------------

Вопрос в том, могу ли я имея COMОбъект ворда сразу поместить его во временное хранилище и получить его адрес, не сохраняя на компе клиента? Или как-то иначе напрямую прикрепить его в ПрикрепленныеФайлы?
1 ДенисЧ
 
25.04.14
17:54
Ты хочешь ком-объект сохранить? О_о
2 Torquader
 
25.04.14
18:14
Давайте, лучше я вас сохраню на дискетку, а потом назад достану, когда мне скучно будет ^_^
3 spectre1978
 
25.04.14
18:19
А сильно придумано. Я бы не допер до такого... :)
4 Жан Пердежон
 
25.04.14
18:34
(0) кеп подсказывает, что надо прикреплять файл
5 Зойч
 
25.04.14
19:01
в 8.3 запрещено ком объекты в хранилище пихать
6 Wobland
 
25.04.14
19:02
это из той же серии, где надо ТабДокумент сразу в электрописьмо запихнуть? была пара веток
7 Torquader
 
25.04.14
19:04
(6) Когда 1С научится свои объекты в OLE превращать - тогда проблем не будет.
Любой Compound-объект можно сохранить через интерфейс IStream, чтобы потом можно было назад прочитать (вспомните, как картинки вставляются в Word или Excel), но 1С пока к такому подходу не готова.
Независимо от того, куда вы едете — это в гору и против ветра!