Переработан механизм работы с файлами-вложениями из сообщений
- Добавил области формы - Реализована асинхронная работа с файлами
This commit is contained in:
@@ -3,6 +3,9 @@
|
||||
<WindowOpeningMode>LockOwnerWindow</WindowOpeningMode>
|
||||
<UseForFoldersAndItems>Items</UseForFoldersAndItems>
|
||||
<AutoCommandBar name="ФормаКоманднаяПанель" id="-1"/>
|
||||
<Events>
|
||||
<Event name="BeforeClose">ПередЗакрытием</Event>
|
||||
</Events>
|
||||
<ChildItems>
|
||||
<InputField name="Код" id="1">
|
||||
<DataPath>Объект.Code</DataPath>
|
||||
@@ -50,10 +53,10 @@
|
||||
<ContextMenu name="file_sizeКонтекстноеМеню" id="17"/>
|
||||
<ExtendedTooltip name="file_sizeРасширеннаяПодсказка" id="18"/>
|
||||
</InputField>
|
||||
<Button name="ПолучитьФайл" id="19">
|
||||
<Button name="СохранитьФайл" id="21">
|
||||
<Type>UsualButton</Type>
|
||||
<CommandName>Form.Command.ПросмотрФайла</CommandName>
|
||||
<ExtendedTooltip name="ПолучитьФайлРасширеннаяПодсказка" id="20"/>
|
||||
<CommandName>Form.Command.СохранитьФайл</CommandName>
|
||||
<ExtendedTooltip name="СохранитьФайлРасширеннаяПодсказка" id="22"/>
|
||||
</Button>
|
||||
</ChildItems>
|
||||
<Attributes>
|
||||
@@ -64,22 +67,37 @@
|
||||
<MainAttribute>true</MainAttribute>
|
||||
<SavedData>true</SavedData>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="ПросмотрФайла" id="1">
|
||||
<Attribute name="АдресВременногоХранилища" id="2">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Просмотр файла</v8:content>
|
||||
<v8:content>Адрес временного хранилища</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<Type>
|
||||
<v8:Type>xs:string</v8:Type>
|
||||
<v8:StringQualifiers>
|
||||
<v8:Length>0</v8:Length>
|
||||
<v8:AllowedLength>Variable</v8:AllowedLength>
|
||||
</v8:StringQualifiers>
|
||||
</Type>
|
||||
</Attribute>
|
||||
</Attributes>
|
||||
<Commands>
|
||||
<Command name="СохранитьФайл" id="1">
|
||||
<Title>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Получить файл</v8:content>
|
||||
</v8:item>
|
||||
</Title>
|
||||
<ToolTip>
|
||||
<v8:item>
|
||||
<v8:lang>ru</v8:lang>
|
||||
<v8:content>Просмотр файла</v8:content>
|
||||
<v8:content>Сохранить файл</v8:content>
|
||||
</v8:item>
|
||||
</ToolTip>
|
||||
<Action>ПросмотрФайла</Action>
|
||||
<Action>СохранениеФайла</Action>
|
||||
</Command>
|
||||
</Commands>
|
||||
</Form>
|
||||
@@ -1,17 +1,26 @@
|
||||
|
||||
#Область ОбработчикиКомандФормы
|
||||
|
||||
&НаКлиенте
|
||||
Процедура ПросмотрФайла(Команда)
|
||||
Процедура СохранениеФайла(Команда)
|
||||
|
||||
ИмяВременногоФайла = ПолучитьИмяВременногоФайла(РаботаСФайламиКлиентСервер.ПолучитьРасширениеИмениФайла(Объект.file_name));
|
||||
ДвоичныеДанные = ПолучитьДвоичныеДанныеНаСервере();
|
||||
ДвоичныеДанные.Записать(ИмяВременногоФайла);
|
||||
ЗапуститьПриложениеАсинх(ИмяВременногоФайла);
|
||||
АдресВременногоХранилища = АдресВременногоХранилища();
|
||||
Если ЭтоАдресВременногоХранилища(АдресВременногоХранилища) Тогда
|
||||
ПараметрыДиалога = Новый ПараметрыДиалогаПолученияФайлов();
|
||||
НачатьПолучениеФайлаССервера(АдресВременногоХранилища, СтрШаблон("%1%2", ПараметрыДиалога.Каталог, Объект.file_name));
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
&НаСервере
|
||||
Функция ПолучитьДвоичныеДанныеНаСервере()
|
||||
Функция АдресВременногоХранилища()
|
||||
|
||||
Возврат РеквизитФормыВЗначение("Объект").ДанныеФайла.Получить();
|
||||
ДвоичныеДанныеФайла = РеквизитФормыВЗначение("Объект").ДанныеФайла.Получить();
|
||||
Возврат ПоместитьВоВременноеХранилище(ДвоичныеДанныеФайла, УникальныйИдентификатор);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<VERSION>18</VERSION>
|
||||
<VERSION>19</VERSION>
|
||||
|
||||
Reference in New Issue
Block a user