Платформа 3V/Формы/Действия/Выполнение пользовательского действия/Скачивание файла: различия между версиями
Перейти к навигации
Перейти к поиску
Строка 36: | Строка 36: | ||
| '''downloadLink''' || Ссылка для скачивания | | '''downloadLink''' || Ссылка для скачивания | ||
|- | |- | ||
− | | '''signs''' || Подписи файла | + | | '''signs''' || Подписи файла(нельзя вытянуть с помощью FileLinkTransitiveAttributeDefinitionDto) |
|- | |- | ||
| '''uploadDate''' || Дата загрузки | | '''uploadDate''' || Дата загрузки | ||
Строка 42: | Строка 42: | ||
|} | |} | ||
− | Для того, чтобы скачать файл из справочника требуется настроить выражение, в котором задать идентификатор | + | Для того, чтобы скачать файл из справочника требуется настроить выражение, в котором следует задать путь к методу скачивания файла. В параметр отдаётся вычислимый через FileLinkTransitiveAttributeDefinitionDto идентификатор('''''fileId''''') файла или ссылка на его скачивание('''''downloadLink'''''). |
<syntaxhighlight lang="JSON" line> | <syntaxhighlight lang="JSON" line> | ||
Строка 82: | Строка 82: | ||
"id": 2, | "id": 2, | ||
"name": "Выражение", | "name": "Выражение", | ||
+ | "code": null | ||
+ | } | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | Идентификатор выражения с вычисленным URL в пользовательском действии задаётся в свойстве '''''serviceUrlExpressionId'''''. | ||
+ | <syntaxhighlight lang="JSON" line> | ||
+ | { | ||
+ | "serviceUrl": null, | ||
+ | "serviceUrlExpressionId": 2, | ||
+ | "parameters": [], | ||
+ | "isAsync": false, | ||
+ | "httpMethod": "Get", | ||
+ | "bodyTemplateExpressionId": null, | ||
+ | "bodyTemplate": null, | ||
+ | "discriminator": "BusinessLogicApiAction", | ||
+ | "comment": null, | ||
+ | "enableExpressionId": null, | ||
+ | "id": 2, | ||
+ | "name": "Файл", | ||
"code": null | "code": null | ||
} | } |
Текущая версия на 10:58, 23 декабря 2021
Элемент атрибута типа Файл имеет следующий вид:
1 {
2 "$type": "FileLinkDto[]",
3 "$values": [
4 {
5 "fileId": "b94bd200-ab38-4584-b8ac-0d247c83dd91",
6 "fileName": "наименование.jpg",
7 "downloadLink": "/api/file/b94bd200-ab38-4584-b8ac-0d247c83dd91",
8 "signs": [],
9 "uploadDate": "2021-12-20T08:08:05.447Z"
10 }
11 ]
12 }
Для того, чтобы обратиться к значениям внутри атрибута следует использовать следующую структуру:
1 {
2 "attribute": {
3 "property": "FileId",
4 "discriminator": "FileLinkTransitiveAttributeDefinitionDto",
5 "id": 20
6 }
7 }
, где property может быть
property | |||
---|---|---|---|
fileId | GUID файла | ||
fileName | Наименование файла | ||
downloadLink | Ссылка для скачивания | ||
signs | Подписи файла(нельзя вытянуть с помощью FileLinkTransitiveAttributeDefinitionDto) | ||
uploadDate | Дата загрузки |
Для того, чтобы скачать файл из справочника требуется настроить выражение, в котором следует задать путь к методу скачивания файла. В параметр отдаётся вычислимый через FileLinkTransitiveAttributeDefinitionDto идентификатор(fileId) файла или ссылка на его скачивание(downloadLink).
1 {
2 "expression": "'https://api.3v-cloud.com/filestorage'+If(IsNullOrEmpty([1]), throw('Нет данных'), ValueOf([1], 0))",
3 "returnFirstParameterValue": false,
4 "operands": [
5 {
6 "dictionaryId": 1069,
7 "attributeId": null,
8 "filter": {
9 "value": {
10 "$type": "System.Int32[], System.Private.CoreLib",
11 "$values": [
12 1
13 ]
14 },
15 "attributeId": null,
16 "attribute": {
17 "discriminator": "OwnAttributeDefinitionDto",
18 "id": 1
19 },
20 "conditionType": "AttributeInCollection",
21 "discriminator": "ValueConditionalDictionaryCardsFilter",
22 "inversion": false,
23 "conditionId": null,
24 "conditionExpressionId": null
25 },
26 "attribute": {
27 "property": "DownloadLink",
28 "discriminator": "FileLinkTransitiveAttributeDefinitionDto",
29 "id": 20
30 },
31 "discriminator": "EntryExpressionByDictionaryRequest",
32 "id": 1,
33 "allowMultipleValues": false
34 }
35 ],
36 "id": 2,
37 "name": "Выражение",
38 "code": null
39 }
Идентификатор выражения с вычисленным URL в пользовательском действии задаётся в свойстве serviceUrlExpressionId.
1 {
2 "serviceUrl": null,
3 "serviceUrlExpressionId": 2,
4 "parameters": [],
5 "isAsync": false,
6 "httpMethod": "Get",
7 "bodyTemplateExpressionId": null,
8 "bodyTemplate": null,
9 "discriminator": "BusinessLogicApiAction",
10 "comment": null,
11 "enableExpressionId": null,
12 "id": 2,
13 "name": "Файл",
14 "code": null
15 }
Пример настройки можно увидеть здесь