Имя: Пароль:
1C
1С v8
Запись двоичных данных, полученных из внешней компоненты в файл
,
0 1yes
 
25.02.15
13:32
Метод Com-сервера  GetStoredData(ByVal DocumentID As Long, ByRef Data() As Byte) возвращает байтовый массив Data. Как его записать в файл на стороне 1С ?
1 1yes
 
26.02.15
11:22
Может пригодится кому:

Data = Новый COMSafeArray("VT_UI1",1);

Doc = Новый COMОбъект("MyCom.Document");
Doc.GetStoredData(12345, Data);

Поток = Новый COMОбъект("ADODB.Stream");
Поток.Mode = 3;
Поток.Type = 1;
Поток.Open();
Поток.Write(Data);
Поток.SaveToFile("d:\test.doc", 2);
Поток.Close();
2 D_E_S_131
 
26.02.15
11:24
А что это вообще за компонента "MuCom" (и где ее взять)?
3 1yes
 
26.02.15
11:33
(2) Это наша собственная. Она возвращает вордовский файл как байтовый массив
4 D_E_S_131
 
26.02.15
11:58
"Это наша собственная" тогда она конечно, да — кому-нибудь пригодится :)
5 H A D G E H O G s
 
26.02.15
12:05
Жесть.
6 1yes
 
26.02.15
12:16
(4)(5) Никакой жести. Я спросил. Никто не ответил. Это ответ мой вопрос (1).
7 Rebelx
 
26.02.15
12:31
(3) А можно поинтересоваться для общей образованности - зачем вородовский файл представлять в массиве байтов и потом сохранять его в файл?
8 DrZombi
 
гуру
26.02.15
12:34
(3) Тогда уж выложи для Всех, эту наработку. Вот тогда может и чего пригодится :)
9 DrZombi
 
гуру
26.02.15
12:35
(7) Главное процесс :)
10 igork1966
 
26.02.15
12:36
(7) +1
11 1yes
 
26.02.15
12:42
(7) Доступ к каталогам с файлами закрыт. И доступ осуществляется через COM сервер.
12 Психотерапевта Вызыва
 
26.02.15
12:42
(3) тупо
ФайлDOC = "C:\Мои документы\MyWord.doc";
ДвоичныеДанные = Новый ДвоичныеДанные(ФайлDOC);
а так не взлетело?
13 1yes
 
26.02.15
12:43
(12) Доступ к каталогам с файлами закрыт.
14 Rebelx
 
26.02.15
12:44
(11) я бы обошелся BASE64
15 Rebelx
 
26.02.15
12:45
(11) но у какого-то объекта есть ведь доступ к файлам? что это за объект?
16 1yes
 
26.02.15
12:49
(15) у Com - сервера.
17 DrZombi
 
гуру
26.02.15
12:49
(11) Дак, дайте Серверу 1С доступ к каталогам.
Да и подтягивайте файлы прямо из 1С с Сервера на Клиент :)

И без всяких ВК
18 DrZombi
 
гуру
26.02.15
12:50
(13) Этот код можно и на сервере выполнять, под учетной запись самого Сервера 1С.


В общем ВК не стоит затраченного на него времени :)
19 DrZombi
 
гуру
26.02.15
12:50
+(16) И как это все будет крутится на УФ?
20 DrZombi
 
гуру
26.02.15
12:52
(15) Поди выяснится щас, что ВК запускается с правами Админа, локально на каждом ПК :)
21 Rebelx
 
26.02.15
12:52
(16) что за ком-сервер?
22 1yes
 
26.02.15
12:52
(13) Хороший вариант. Просто Com сервер написан давно для других целей. А это одна из существующих на нем возможностей.
23 1yes
 
26.02.15
12:55
(21) Сервер, на котором реализована бизнес-логика и клиенты, которые к нему обращаются.