Добрый день!

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

Нравится

1 комментарий

Я бы завязался на событие добавления записи Файл и ссылка активности. И если активность =email, то начинаем обработку, иначе выход из процесса. Далее получить размер файла из БД, если он равен нулю, то ждем 15 сек. и повторяем. Если больше нуля, то уже делаем что хотели с файлом.

Показать все комментарии

Добрый день!

Требуется переслать все вложения из письма, реализован процесс, в котором читаются файлы из активности, создается новая активность, в нее с помощью выборки делается копирование всех файлов из той активности и запускается скрипт выполнения активности (отправка email).

Результат - письмо отправляется без вложений. В трассировке видно, что все файлы из той активности успешно прочитались, что в новую активность добавляются все эти записи, но при этом в созданной активности все равно пусто и в справочники Файлы и ссылки активности создается просто пустая строка. Не пойму, что я делаю не так.

 

Изображение удалено.

Нравится

4 комментария

Пересылка вложений в бизнес-процессах была реализована только в 7.17. Какая версия у Вас?

Соколов Павел Валерьевич,

Возможность работы с файлами в бизнес-процессах доступна только с версии 7.17.2, это упоминается в официальном описании релиза - 

https://academy.terrasoft.ru/docs/release/opisanie-relizov/opisanie-rel…

Описание работы нового элемента есть в академии - https://academy.terrasoft.ru/docs/user/biznes_processy/spravka_po_eleme…

Решил проблему. Файлы активности не переносились из-за значения "Встроенное вложение = Да" при создании новой активности. После смены на "Нет" файлы успешно скопировались в новую активность и вложения отправились

Показать все комментарии

Добрый день!

Считаю, что была бы полезной функция наглядного наличия вложенного файла в Обращении,

например, такого вида:

Изображение удалено.

1 комментарий

Если реализовывать самостоятельно такую логику, проще всего будет доработать присвоение номера при создании обращения или добавить его изменение. Скрепку можно выводить как символ: ?.Только учесть, чтобы не сломалась привязка писем по номеру обращения в них.

Или, чтобы не трогать номер, вывести в реестр ещё одну текстовую колонку, куда и писать при помощи БП эту скрепу. Но тогда не будет видно в справочном поле со ссылкой на обращение, а только в реестре раздела или детали.

Показать все комментарии

Добрый день!

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

Изображение удалено.

 

3 комментария

Добрый день!



На данном этапе реализовать запрашиваемый вами функционал не представляется возможным. 

Однако, ваш запрос - уже не первый с подобной просьбой. Данная функциональность принята к реализации ответственной командой разработчиков и её стоит ожидать в последующих релизах bpm'online. Ваше обращение привязываю к списку уже существующих с данным запросом, это позволит повысить приоритет реализации данного функционала.

Безумно удивлена, что этого нет изначально.БЕЗУМНО не удобно, перепроверять вложения. и это касается не только сущности email, а и других например Активность. 

Добрый день. Буквально в первый же день сделал такой функционал:

Реализация простая:

init: function() {
    this.callParent(arguments);
	var fileCount = null;
	var tabsCollection = this.get("TabsCollection");
	var recordId = this.get("PrimaryColumnValue");
	tabsCollection.collection.items[2].set("Caption", "Вложения");
	//файлы
	if (recordId && recordId !== null && !this.Ext.isArray(recordId)) {
		var esq2 = Ext.create("Terrasoft.EntitySchemaQuery",
			{rootSchemaName: "ActivityFile"});
		esq2.addColumn("Activity");
		esq2.filters.add("ActivityFilter",
		Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
		"Activity", recordId));
		esq2.getEntityCollection(function(result) {
			if (result.success) {
				var collection = result.collection;
				if (collection) {
					fileCount = ("Вложения" +
					" (" + collection.getCount() +  ") ");
					tabsCollection.collection.items[2].set("Caption", fileCount);
				}
			}
		}, this);
	} else {
		fileCount = ("Вложения");
		tabsCollection.collection.items[2].set("Caption", fileCount);
	}
}

Штука работает, но наверняка можно было реализовать аккуратней

Показать все комментарии

На Marketplace опубликовано новое дополнение, расширяющее стандартные возможности системы bpm'online по работе с вложениями.

Дополнение создано командой компании "Аплана.Бизнес-решения", входящей в ГК "АйТи".

В числе новых возможностей:

- добавление детали файлового менеджера на страницу любого раздела системы с помощью редактора страницы;

- управление файловым каталогом и настройка прав доступа к нему;

- загрузка, перемещение и удаление как одного файла, так и коллекции файлов в один клик;

- установка типа хранения файлов с указанием локального сервера или базы данных;

- хранение нескольких версий файлов;

- предпросмотр файлов в окне на странице по двойному клику;

- управление доступом к файловым директориям.

Более подробная информация о дополнении доступна по ссылке: https://marketplace.terrasoft.ru/app/file-manager-bpmonline

Нравится

Поделиться

1 комментарий

Лично видел как это работает. Очень круто! 

Рекомендую к установке в каждый проект.

Показать все комментарии

Столкнулись с проблемой правильного хранения файлов в bpm. Например в контрагенте в файлах и примечаниях хранится очень много документов, но нет возможности распределить их по папкам (выводятся списком). Есть ли такая возможность создания папок и подпапок в файлах и примечаниях?

Второй вопрос, связанный с файлами в bpm, правильно ли я понимаю, если я получил письмо от клиента с вложенным файлом, сначала я должен сохранить файл на компьютер, а затем переместить его в тот раздел или запись раздела, куда я хочу? Просто сейчас, например, не могу после получения письма с файлом сразу его прикрепить в файлы и примечания заказа или контрагента (вариант с прикреплением просто письма к определенному заказу, контрагенту и т.д. неудобен, так как сложно найти определенное письмо с необходимым файлом)

Нравится

3 комментария

1) Нет. И прилепить туда папки очень сложно, но можно попробовать доработать деталь, навесив функционал тегов(как в контрагентах). В итоге файлы помечаем тегами и сортируем как надо

2) Правильно. Письмо - это активность, активность - объект в системе, под каждый большой объект есть таблица [Название_объекта]File. И если надо перекинуть файл из письма в заказ, надо по сути перекопировать запись из ActivityFile в OrderFile, чего стандартными средствами не сделаешь.

Варфоломеев Данила,

 Благодарю за ответы. Данила, идея с тегами хорошая, но не совсем понятно как ее можно реализовать. Быть может Вы реализовывали теги в файлах и можете подсказать, как их подцепить в деталь?

Чакур Александр Леонидович,

Не реализовывал. Вроде как надо добавить таблицу AccountFileTag (к примеру, для файлов в контрагентах), а далее смотреть в конфигурации как  в эту таблицу заносятся записи и по ней фильтруется реестр. Плюс надо будет кнопку с тэгом добавить в tools детали. Ну и ещё наверное кучу всего... Я бы покопался, да времени нет)

Показать все комментарии

Нужно в БП формировать письмо по шаблону, а также добавить туда вложение пдф файл и открыть карточку для редактирования и отправки письма.

Возникла проблема при добавлении вложения.
элементом "Добавить данные" создал активность, и потом при добавлении файла в активность(файл находится в Базе знаний, копирую оттуда) выбивает ошибка при компиляции: 'The type or namespace name 'Stream' could not be found (are you missing a using directive or an assembly reference?)'
на строке:

internal FuncStream> _recordDefValues_Data;

 

Нравится

10 комментариев

Using System.IO добавили в контекст процесса?

получилось, есть письмо с вложением, а как добавить шаблон в письмо если создавать его как активность и потом открывать карточку письма?

Виталий, здравтсвуйте!

Вам необходимо заполнить значения полей:

  • Тело
  • Тело письма в формате HTML

В поле "Тело" необходимо задать html код письма, добавив значения необходимых параметров из процесса. Единственная сложность - двойные кавычки в html необходимо экранировать (так, как C# будет считать кавычки окончанием строки).

Быстрого способа и сформировать письмо и добавить вложение, к сожалению, нет. Для заполнения поля "Тело" можно сделать приблизительно следующее:
1) Создать шаблон
2) Выполнить запрос к таблице EmailTemplate для получения значения поля Body созданного шаблона
3) Перенести значение этого поля, заменив макросы на параметры процесса и экранировав кавычки.

Здравствуйте! а есть ограничение по объему вложенных файлов? в рамках процесса нужно будет отправлять письма с вложенными файлами и там их большое число. боюсь упереться в ограничения при отправке

Zaitova Liubov,

Здравствуйте, Любовь!

Ограничение на объем файлов регулируется в системной настройке - 

Максимальный размер загружаемого файла.

С помощью данной системной настройке ВЫ можете увеличить или уменьшить ограничение на загружаемые файлы.

В 7.17.1 добавится возможность без кода, действиями в БП манипулировать с файлами, находящимися на деталях, в том числе и формировать письма со вложениями.

Зверев Александр,

 Подскажите каким именно способом это делать

Максим, см. описания релизов.

7.17.1:

  • Появилась возможность автоматизировать управление файлами в бизнес-процессах. Для этого реализован элемент бизнес-процесса [Обработать файл], который позволяет вычитывать и копировать файлы, которые находятся на детали [Файлы и ссылки]. Вычитанные файлы формируют исходящую коллекцию, которую можно использовать далее в процессе. Например, элемент [Отправить email] может добавлять нужные файлы в виде вложений в письмо.

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

    Пример использования элемента [Обработать файл]

    business_process_process_file

     

  • Добавлен новый параметр процесса “Файл”. Этот параметр хранит информацию о файле и предназначен для передачи этой информации между элементами и бизнес-процессами. 
  • В элементе [Отправить email] реализована возможность добавлять вложенные файлы в отправляемые письма. Для этого в элемент необходимо добавить параметр и указать в качестве источника данных необходимые файлы. Список файлов можно получить из элемента [Обработать файл]. 

7.17.2

  • Реализована возможность пользовательскими инструментами настроить генерацию отчетов Word и Fast Report в элементе бизнес-процесса [Обработать файл]. Сгенерированные отчеты можно добавить в любую запись на деталь [Файлы и ссылки] или использовать далее в процессе, например, отправить вложением по email.

Зверев Александр А есть уже какая-то подробная инструкция или статья на эти тему с подробно расписанным примером?

Показать все комментарии