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