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Объект ворда сразу поместить его во временное хранилище и получить его адрес, не сохраняя на компе клиента? Или как-то иначе напрямую прикрепить его в ПрикрепленныеФайлы?
|
|
2
Torquader
25.04.14
✎
18:14
|
Давайте, лучше я вас сохраню на дискетку, а потом назад достану, когда мне скучно будет ^_^
|
|
7
Torquader
25.04.14
✎
19:04
|
(6) Когда 1С научится свои объекты в OLE превращать - тогда проблем не будет.
Любой Compound-объект можно сохранить через интерфейс IStream, чтобы потом можно было назад прочитать (вспомните, как картинки вставляются в Word или Excel), но 1С пока к такому подходу не готова.
|
|