Show/Hide Toolbars

Справочник по интерфейсу администратора



К текущей (актуальной) версии файла вы можете обратиться непосредственно через ДП.

smart_dp_file

 Обращение к файлу, вложенному в ДП.

Для обращения к файлам, вложенным в текущую задачу, используется коллекция "Связи файлов с задачами", а для обращения к файлам, вложенным в ДП в текущей задаче - "Связи файлов с ДП".

Работая с этими коллекциями, вы можете выбирать как сам элемент, так и его свойство FileInfo, которое содержит полную информацию о файле.

smart_file_element
smart_file_fileinfo

 Отбор файлов, вложенных в задачу (два варианта).

!warning Отбор по объектам "Связи файлов с задачами" и "Связи файлов с ДП" дает корректные результаты только в контексте текущей задачи.

Смарт-выражение, использующее отбор из объектов "Связи файлов с задачами" или "Связи файлов с ДП", может возвращать как один, так и несколько файлов (список). Кроме того, если смарт-выражение должно вернуть несколько файлов, можно использовать объединение. Например, чтобы вложить в письмо все файлы, вложенные в задачу, и файл, вложенный в ДП в этой задаче, можно использовать такое-смарт-выражение:

smart_dp_file_5

 В письмо вкладываются файлы из задачи и файл из ДП.

Версии файла

Обращаться можно не только к текущей версии, но и к любой предыдущей версии файла. Самый простой вариант получить ссылку на определенную версию файла - сформировать строку типа FileID.VersionID.

smart_dp_file_3

 Пример обращения к первой версии файла, вложенного в ДП.

!warning Версии файла могут быть скрытыми (служебными). Такие версии не отображаются в истории версий в пользовательском интерфейсе, но к ним можно обратиться, например, через смарт-выражение. Скрытые версии создаются с помощью смарт-действия "Скопировать версию файла" с включенным флажком "Системная копия". Кроме того, скрытые версии могут создаваться при акцепте подписи, в момент сохранения "цифрового снимка" задачи. Создание таких скрытых копий определяется флажком "Создавать системные копии вложенных файлов при акцепте подписи" в настройках категории, ДП "Файл" или колонки "Файл" в ДП "Таблица".

Вложение файлов из других задач

Объекты "Связи файлов с задачами" и "Связи файлов с ДП" можно использовать напрямую только в контексте текущей задачи. Чтобы обратиться к файлам, вложенным в другую задачу, можно использовать конструкцию смарт-выражения как на скриншоте ниже. Исходная задача имеет ID=123456. Смарт-пакет с действием "Вложить файл" запускается из целевой задачи.

smart_dp_file_4

 Пример копирования всех вложенных файлов из одной задачи в другую.

Способ, описанный выше, можно использовать только чтобы обратиться сразу ко всем файлам, вложенным в исходную задачу. Если нужно выбрать один из вложенных файлов или файл, вложенный в ДП, следует использовать SQL-запрос.

Обращение к файлам через SQL-запрос

Для обращения к файлам, в том числе из других задач, можно использовать запросы к БД. Если "Первая Форма" использует собственное файловое хранилище, то данные о файлах содержаться в таблице FileStorageFiles, а связи с задачами и ДП - в таблицах FileStorageFileToTasksLinks и FileStorageFileToExtParamLinks.

Пример запроса T-SQL для выбора последней версии файла 1.docx из задачи с ID=123456:

SELECT CAST(dbo.FileStorageFiles.FileId AS varchar(MAX)) + '.' + CAST(dbo.FileStorageFiles.LatestVersionId AS varchar(MAX)) AS Expr1
FROM dbo.FileStorageFiles

    INNER JOIN dbo.FileStorageFileToTaskLinks ON dbo.FileStorageFiles.FileId = dbo.FileStorageFileToTaskLinks.FileId
WHERE (dbo.FileStorageFileToTaskLinks.IsDeleted = 0) AND (dbo.FileStorageFileToTaskLinks.TaskId = 123456) AND (dbo.FileStorageFiles.Name = '1.docx')

 

Пример запроса T-SQL для выбора последней версии файла из ДП с ID=99 в задаче с ID=123456:

SELECT CAST(dbo.FileStorageFiles.FileId AS varchar(MAX)) + '.' + CAST(dbo.FileStorageFiles.LatestVersionId AS varchar(MAX)) AS expr1
FROM dbo.FileStorageFiles

    INNER JOIN dbo.FileStorageFileToExtParamLinks ON dbo.FileStorageFiles.FileId = dbo.FileStorageFileToExtParamLinks.FileId
WHERE (dbo.FileStorageFileToExtParamLinks.TaskId = 123456) AND (dbo.FileStorageFileToExtParamLinks.ExtParamId = 99)