![]() |
![]() |
![]() |
|
Хранение бинарных данных во внешней обработке. | ☑ | ||
---|---|---|---|---|
0
афаф
15.06.08
✎
11:17
|
Приветствую!
Поиск не помог - спрошу у знающих людей. Умеют ли внешние обработки хранить внутри себя бинарные данные например в хранилище значения? Ведь хранят же они картинки. Есть желание сделать отчет используюущий ВК, а саму ВК хранить внутри отчета - т.е. запустились, достали ВК, ею попользовались, удалили. Оставив для нужд пользователя вручную распаковать ВК... |
|||
1
ТелепатБот
гуру
15.06.08
✎
11:17
|
||||
2
афаф
15.06.08
✎
11:18
|
(1) Не, не то - это про базу, а мне надо хранить данные во внешней обработке...
|
|||
3
Господин ПЖ
15.06.08
✎
11:19
|
Курить Макет - Двоичные данные
|
|||
4
Мелкий бес
15.06.08
✎
11:34
|
ФайлДрайвера = Новый Файл(КаталогПрограммы() + "\1CScan.dll");
Если НЕ ФайлДрайвера.Существует() Тогда ДрайверДвоичныеДанные = ЭтотОбъект.ПолучитьМакет("Driver"); ДрайверДвоичныеДанные.Записать(КаталогПрограммы() + "\1CScan.dll"); КонецЕсли; Попытка ЗагрузитьВнешнююКомпоненту(КаталогПрограммы() + "\1CScan.dll"); Сканеры = Новый("AddIn.ScanManager"); Исключение Предупреждение("Не удалось загрузить внешнюю компоненту!"); Отказ = Истина; Возврат; КонецПопытки; |
|||
5
zyto
15.06.08
✎
12:31
|
(4)А как дллка попала в макет?
|
|||
6
Мелкий бес
15.06.08
✎
12:35
|
(5) в конструкторе макета после указания типа маета - двоичные данные появляется поле загрузки из файла
|
|||
7
MRAK
15.06.08
✎
13:03
|
а чем хранение в реквизите не нравится?
|
|||
8
Ковычки
15.06.08
✎
13:09
|
echo ====Начинаем вклейку >> ФайлОтчета
copy /b ФайлОтчета + /b НужныйФайл ФайлОтчета |
|||
9
афаф
15.06.08
✎
14:38
|
(4), (6) Премного благодарен, именно то, что нужно.
(7) Пример? (8) А разлеплять сию кашу как? |
|||
10
MRAK
15.06.08
✎
15:16
|
(9) посмотри, как в типовых обращаются к внешним обработкам.
|
|||
11
афаф
15.06.08
✎
15:29
|
(10) В типовых - их хранят в ХранилищеЗначения распаковывая в каталог временных файлов и от туда загружают.
Вот код из спр.ВнешниеОбработки в УПП ИмяФайла = ПолучитьИмяВременногоФайла(); ДвоичныеДанные = ВыбраннаяСтрока.ХранилищеВнешнейОбработки.Получить(); // у спр есть реквизит ХранилищеВнешнейОбработки тип ХранилищеЗначения. ДвоичныеДанные.Записать(ИмяФайла); Форма = ВнешниеОбработки.ПолучитьФорму(ИмяФайла); Форма.Открыть(); Идея достаточно близка к (4). Вопрос в том, как присобачить к обработке ХранилищеЗначения(стандартно платформа не дает делать у внешних обработок реквизиты с этим типом), да потом положить в него бинарник так, чтобы он хранился в теле обработки. Или имеется ввиду нечто другое? |
|||
12
MRAK
15.06.08
✎
15:50
|
(11) да, ошибся, во внешней нельзя. Тогда только в макете.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |