Файлы на задаче

Добрый день, подскажите, как в алгоритме ухода с этапа обратиться к файлам, которые прикреплены к задаче (если задача еще не завершена)?

Комментарии

  • отредактировано 18 июл

    Добрый день!
    Не до конца понятен целевой кейс, уточните пожалуйста - с какой целью хотите обратиться к прикрепленным к задаче файлам?

  • Добрый день! Не получили уточнения по кейсу, направляем общие рекомендации:
    1. Прикреплённые файлы в бизнес-процессе
    По умолчанию файлы, прикреплённые в рамках хода бизнес-процесса, сохраняются в маршрутном объекте. Чтобы они отображались, необходимо добавить в маршрутный объект системный атрибут "Прикреплённые файлы" как существующий.
    2. Отображение файлов
    Отображение файлов в атрибуте "Прикреплённые файлы" зависит от настройки "Транслировать файлы в маршрутный объект автоматически при прикреплении":

    • Если "Транслировать файлы в маршрутный объект автоматически при прикреплении" = true - то файлы в маршрутный объект прокидываются сразу при прикреплении к задаче (в блок Исходящие документы).
    • Если "Транслировать файлы в маршрутный объект автоматически при прикреплении" = false (null) - то файлы в маршрутный объект прокидываются при завершении задачи (текущий функционал)
    1. Проверка прикрепления файлов
      Вы можете проверять наличие файлов через атрибут маршрутного объекта, однако в системе уже реализован более удобный встроенный функционал - управление документами на этапе задачи.
      Рекомендуем использовать настройку "Управление документами": https://docs.greendata.ru/platform/ru/document-management-task-element-tab.html
      Если в поле "Алгоритм обязательности" вы зададите условие (например, true) и укажете требуемую классификацию, завершить задачу будет невозможно до тех пор, пока не будут прикреплены файлы с указанной классификацией.
      При попытке завершить задачу без прикрепленных файлов пользователь увидит предупреждающее сообщение:


      Если уточните детали вашего кейса - сможем предложить более точное решение.
  • отредактировано 19 авг

    Добрый день! Спасибо за подробный ответ!
    Нам бы очень подошла настройка "Транслировать файлы в маршрутный объект автоматически при прикреплении". Но к сожалению в нашей версии платформы ее нет:

    но вроде нашли в существующих атрибутах, вынесем, протестируем и вернемся

  • отредактировано 26 авг

    @Vladislav_Grachev
    Добрый день! Протестировали настройку "Транслировать файлы в маршрутный объект автоматически при прикреплении".
    Файл действительно пробрасывается в заявку сразу при прикреплении, это здорово.
    Но если исполнитель передумал и удалил файл, то он из заявки уже не удаляется.
    Как раз для подобных случаев хотелось бы иметь возможность обращаться напрямую к списку файлов, прикрепленных к задаче. Можно было бы сравнить этот список со списком на заявке и удалить файл.
    Но как и для других кейсов, получается такой возможности нет?

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

  • Здравствуйте, очень ждем ответ

  • отредактировано 28 авг

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

  • Валерия, добрый день!
    Задача в работе, постараемся подготовить и предоставить ответ к понедельнику

  • Валерия, добрый вечер! Задача пока в работе, постараемся в ближайшие дни предложить адекватное прикладное решение этого кейса.

  • Можно просто подсказать таблицу, в которой хранятся исходящие файлы. Думаю этого будет достаточно, если в ней хранится дата прикрепления файла в задачу или хотя бы ее идент.

  • Столкнулись с еще одной проблемой. Если убрать галку "Транслировать файлы", то на проверках ухода с этапа алгоритмы, которые обращаются к Прикрепленным файлам на заявке "не считывают" те файлы, которые были прикреплены на задаче.
    То есть нельзя, например, проверить прикрепленный файл на наличие подписи - до ухода с задачи.

    Опять же если включить галку "Транслировать файлы" возникает опасность, что файлы удалят с задачи, а в заявке они останутся.

  • @ValeriyaTuritsyna написал:
    Можно просто подсказать таблицу, в которой хранятся исходящие файлы. Думаю этого будет достаточно, если в ней хранится дата прикрепления файла в задачу или хотя бы ее идент.

    Валерия, добрый вечер!
    Таблицы с файлами прикрепленными к задаче -
    wf_process_task_wflo (исходящие) и wf_process_task_wfli (входящие)
    Запросом ниже можно получить ID файла и дату его создания:
    select wptw.file_id, ff.create_date from wf_process_task_wflo wptw
    left join fs_file ff on ff.id = wptw.file_id>

  • Спасибо!

  • Валерия, добрый день!
    Подскажите пожалуйста, получилось ли использовать таблицу с файлами для настройки и решения Вашего кейса? Также подскажите - каким образом организовали проверку подписи в файле?

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

  • Отлично, мы думали о варианте, при котором возможную ошибку пользователя можно предотвратить пакетным действием с помощью кнопки с модулем пользовательского интерфейса "Модальное окно подтверждения действия" и выносом этой кнопки на визуал экземпляра типа с родительским типом ДО. Задача на процессе. Либо же реализовать эту проверку в жизненном цикле того же типа. Подскажите пожалуйста, а как Вы реализовали решение кейса?

  • отредактировано 10 сен
    1. Отключили трансляцию файлов сразу в заявку
    2. На уходе с этапа алгоритм теперь смотрит не только на файлы в ЗПР с нужными классификациями, но и в таблицу Исходящих на задаче. Если в общей сумме все классификации есть, то сообщение при уходе не всплывает и задача завершается. Иначе - выходит сообщение с перечислением отсутствующих классификаций.
    3. На алгоритм видимости подсказки "Пакет документов не полный" тоже добавили проверку из п.2. Но тут проблема в том, что алгоритм видимости не триггерится при прикреплении документов в исходящие(. Только если страничку с задачей обновят. Пришлось оставить так - не очень наглядно конечно, но хотя бы удалось условие ухода с этапа скорректировать.

    P.S: если подскажете, как триггерить алгоритмы визуала задачи при креплении файлов - будем признательны, т.к. такая проблема уже не раз поднималась при разработке

  • Кейс с подписями также решился добавлением в алгоритм ухода с этапа проверки на наличие в системе подписей по всем файлам в Исходящих (для определенной классификации).
    Настройка на этапе "Только новый файл" = Нет позволяет выводить все файлы заявки на задачу, поэтому проверка всегда захватывает все файлы ЗПР.
    Кейс с ошибкой пользователя - удалением файла с задачи - решили еще одной проверкой на уходе с этапа:
    прохожу по всем файлам с задачи с заданной классификацией и сравниваю с файлами на заявке. если файл без подписи был удален, то кол-во файлов не совпадает при уходе с этапа, тогда выходит блокирующее предупреждение, что нужно удалить файл и из заявки.

  • @Vladislav_Grachev написал:
    мы думали о варианте, при котором возможную ошибку пользователя можно предотвратить пакетным действием с помощью кнопки с модулем пользовательского интерфейса "Модальное окно подтверждения действия" и выносом этой кнопки на визуал экземпляра типа с родительским типом ДО. Задача на процессе. Либо же реализовать эту проверку в жизненном цикле того же типа. Подскажите пожалуйста, а как Вы реализовали решение кейса?

    а какой кейс вы тут имели в виду? проверку на что?

  • @ValeriyaTuritsyna написал:
    а какой кейс вы тут имели в виду? проверку на что?

    Валерия, добрый день!
    Думали о такой реализации:
    1. Создать прикладной тип с родителем ДО. Задача на процессе;
    2. в него добавить объектный атрибут с ссылкой на FS_FILE;
    3. создаем визуал задачи, на него выносим наш объектный атрибут и скрываем/временно скрываем исходящие файлы;
    4. далее два варианта:
    4.1. добавить в событие "После сохранения" алгоритм, который будет переносить файлы из временного атрибута в исходящие файлы или напрямую в маршрутный объект;
    4.2. вынести на визуал или в шапку кнопку с аналогичным алгоритмом, который будет переносить файлы с нашего атрибута в исходящие файлы или напрямую в маршрутный объект. При необходимости можно добавить действие, которое будет выводить пользователю модальное окно с запросом подтверждения, например: "Все ли файлы корректны и готовы к прикреплению?"

Войдите или Зарегистрируйтесь чтобы комментировать.