Задача: с помощью процесса создать вложение файла для некоторого объекта системы
В пользовательской задаче есть переменная типа file-description (io.jmix.bpm.entity.FileDescription), которая позволяет выбрать файл из системы.
Далее необходимо создать объект Attachment и в него прописать параметры выбранного файла. Но в Attachment описание файла содержится типом FileRef (io.jmix.core.FileRef). и при попытке присвоить туда переменную процесса получаем закономерную ошибку:
Вопрос: как решается подобная задача (создать вложение из процесса) ?
Как вы уже заметили, если сохранить файл из InputDialog формы, то файл сохранится в байтовом массиве в объекте специального типа io.jmix.bpm.entity.FileDescription. У нас есть задачка на добавление комментария, чтобы сделать этот тип более понятным для пользователя.
Чтобы получить FileRef нужно где-то явно сделать преобразование FileDescription в FileRef. Если сущность Attachment у вас создаётся выделенной сервис таской, то можно это преобразование сделать прямо в этой сервис таске.
Либо можно отдельной сервис-таской преобразовать FileDescription в FileRef, положить FileRef в переменные процесса и дальше уже работать с переменной FileRef (использовать её в дата-тасках и т.п.).