Здравствуйте, Я хочу чтобы по нажатия на кнопке "Печать" вызвался "Бизнес-процесс" и внутри "Бизнес-процесс" создать файл с содержанием в формате ".docx", дальше сохранить файл в Деталь "Файлы и ссылки". Подскажите пожалуйста как сделать и есть пример?

Нравится

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

Добрый день.



Вы можете создать указанный вами бизнес процесс, использовав данную инструкцию с Академии: https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

Malika,

Спасибо, Вам Малика

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

Здравствуйте!

Создал новую деталь по инструкции.

https://academy.creatio.com/documents/technic-sdk/7-15/adding-attachments-detail#

 

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

Схемы:

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

Деталь:

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

Файл загружается в таблицу. После перезагрузки страницы содержимое на детали не показывает. Ошибка: 

Uncaught 1.       i {message: 'Значение аргумента "columnPath" не может быть пустым'}

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

Не пойму, что ещё нужно настроить?

Нравится

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

Добрый день,

 

скорее всего, были заданы неверные привязки детали.

Пожалуйста, сравните деталь в Мастере с базовой деталью:

 

 

Также хочу обратить внимание, что при добавлении детали в конкретный раздел, должна быть привязка по этому разделу. Например, для раздела Контакты, деталь будет называться Contact's attachment.

 

Кроме того, провести анализ по скриншоту ошибки затруднительно. Для дальнейшего анализа попрошу предоставить схему страницы, где создана деталь, и скриншот настройки в Мастере.

 

С уважением,

Глеб.

Gleb Tkach, Постараюсь поэтапно приложить.

Имеется такая же деталь файлы и ссылки на странице, которая работает. Назову так: 

"Файлы и ссылки33" - работает,

"Файлы и ссылки22" - не работает.

Деталь "Файлы и ссылки33" была создана ранее  не мной. Сравниваю с ней.

Схема страницы:

define("CasePage", [], function() {
               return {
                              entitySchemaName: "Case",
                              attributes: {},
                              modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,
                              details: /**SCHEMA_DETAILS*/{
                                            "FileForCaseDetail6803fbd2": {
                                                           "schemaName": "FileForCaseDetail",
                                                           "entitySchemaName": "FileForCase",
                                                           "filter": {
                                                                          "detailColumn": "Case",
                                                                          "masterColumn": "Id"
                                                           }
                                            },
                                            "Schema44Detail284e7799": {
                                                           "schemaName": "Schema44Detail",
                                                           "entitySchemaName": "PrintServiceFile",
                                                           "filter": {
                                                                          "detailColumn": "Case",
                                                                          "masterColumn": "Id"
                                                           }
                                            }
                              }/**SCHEMA_DETAILS*/,
                              businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,
                              methods: {},
                              dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,
                              diff: /**SCHEMA_DIFF*/[
                                            {
                                                           "operation": "insert",
                                                           "name": "FileForCaseDetail6803fbd2",
                                                           "values": {
                                                                          "itemType": 2,
                                                                          "markerValue": "added-detail"
                                                           },
                                                           "parentName": "Tab548d2867TabLabel",
                                                           "propertyName": "items",
                                                           "index": 24
                                            },
                                            {
                                                           "operation": "insert",
                                                           "name": "Schema44Detail284e7799",
                                                           "values": {
                                                                          "itemType": 2,
                                                                          "markerValue": "added-detail"
                                                           },
                                                           "parentName": "Tab548d2867TabLabel",
                                                           "propertyName": "items",
                                                           "index": 25
                                            }
                              ]/**SCHEMA_DIFF*/
               };
});

Прикладываю файлы в деталь:

Обновляю страницу:

 

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

Как можно удалить файл в ходе БП ?

Пример: 

Нужно в  ходе БП удалить все файлы кроме файла который загрузили в конце (По дате ) Изображение удалено.

Прикрепленные файлы

Нравится

2 комментария
Лучший ответ

Добрый день.

 

Можно в БП реализовать такую логику 2-мя стандартными элементами.

1. С помощью элемента 'Чтение данных' получить Id последней загруженной записи:

2. С помощью элемента 'Удаление данных':

Добрый день.

 

Можно в БП реализовать такую логику 2-мя стандартными элементами.

1. С помощью элемента 'Чтение данных' получить Id последней загруженной записи:

2. С помощью элемента 'Удаление данных':

Спасибо 

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

Добрый день!

Использую версию 7.18.2.

Необходимо файлы, которые находятся в письме прикрепить к созданному обращению.

С помощью БП реализую следующее:

1. Приходит электронное письмо с вложением (файлы, документы и т.п.);

2. Получаю данные из письма (Заголовок, Тело письма, ....);

3. Получаю данные по отправителю;

4. Создаю новое обращение;

5. Прикрепляю файлы которые были в письме (их может быть несколько) к только что созданному Обращению (объект "файл и ссылки объекта раздела Обращения").

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

Но есть проблема! Отправляю письмо для проверки. При проверке выясняется следующее: файлы могут прикрепляться к Обращению (добавляться в объект "файл и ссылки объекта раздела Обращения"), а могут и не прикрепляться. Если было несколько вложений в письме, то может на деталь добавиться несколько одинаковых файлов, файлы дублируются. В чем может быть проблема?

Нравится

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

Добрый день, Павел.

Это нестандартное поведение такого бизнес-процесса, так как вне зависимости от количества файлов они все должны обрабатываться корректно. Я так понимаю, каких-то закономерностей не выявлено? Возможно проблема воспроизводится только с конкретными типами файлов?

 

Попробуйте также создать отдельный бизнес-процесс для тестирования обработки файлов, и проверить, будут ли правильно прикрепляться файлы в разных объектах, например, из контакта в контрагент.

Олег Нефедьев,

Спасибо за ответ. Закономерности нет. Не зависит от формата.

Создавал БП которое отслеживает изменения в ActivityFile. Файлы добавляются, но если их количество в письме больше одного, то создаются дубликаты этих файлов, т.е. прикреплено к письму 2, 4, 7 штуки, то добавляется 4, 8, 14 соответственно. Если одно вложение, то все нормально.

Pavel Litvinovich,

В таком случае рекомендую направить обращение в техническую поддержку, так как в рамках обсуждения в этом посте будет проблематично выяснить причину проблемы.

Олег Нефедьев,

Спасибо!

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

Доброго времени суток , необходимо к стандартной детали "файлы и ссылки" добавить поля сумма и тд, пробовал создать деталь унаследованной от объекта файлы и ссылки , добавил CSS файл к данному модулю , но при загрузке изображения выдает ошибку "Ошибка загрузки файла"

Нравится

5 комментариев
Лучший ответ

Кирилл Паксюдкин,

Если для всех то заместить объект File или же если вам например только для файлы и ссылки активностей то 

ActivityFile

Не понял вас какое отношение имеет добавление CSS файла к добавлению полей к детали.

Вам нужно для начала расширить базовый объект Файлы и ссылки (если добавлять для всех деталей) Или расширить например Файлы и ссылки в Активности если доп поля нужны только для детали в Активностях

2 Разблокировать мастер настройки колонок для детали Файлы и ссылки. Подробнее тут

3 Настроить деталь

Григорий Чех,  т.е добавить замещающий объект с родилельским объектом FileDetailV2 и добавить к нему необходимые мне поля ? (с разблокировкой разобрался)

Кирилл Паксюдкин,

Если для всех то заместить объект File или же если вам например только для файлы и ссылки активностей то 

ActivityFile

Григорий Чех,

я заместил деталь добавил необходимые мне дополнительные поля и  сзвязал с разделом, далее  настроил колонки чтобы показывались мои доп поля , но при добавлении не выскакивают мои поля не смотря на то что в "карточка схемы" я полям добавил свойство "enabled": true   Как видите только стандартные поля видны.... Заранее спасибо)

Свойство «enabled» отвечает за доступность для редактирования, за видимость отвечает свойство «visible». Ограничения работы с ним описаны тут.

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

Добрый день!

Создал кастомную страницу в разделе Активности, добавил деталь Файлы и ссылки активности. В данный момент в данной детали нет возможности настроить колонки и отсортировать файлы (например, по дате создания).

Можно ли как-то добавить доп. колонки к данной детали и настроить сортировку файлов?

Нравится

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

Попробуйте переопределить метод getGridDataColumns

 

getGridDataColumns: function () {
                var config = this.callParent(arguments);
 
                config["Название колонки"] = {
                    path: "Название колонки",
                    orderPosition: 1,
                    orderDirection: this.Terrasoft.OrderDirection.ASC
                };
 
 
                return config;
            },

 

Здравствуйте!

На Академии присутствует детальная инструкция: https://academy.terrasoft.ru/documents/technic-sdk/7-11/otobrazhenie-dopolnitelnyh-kolonok-na-detali-fayly-i-ssylki

Проводили данный опыт давным-давно.

Все что вам необходимо это добавить данный метод

getGridSettingsMenuItem: function() {
	return this.getButtonMenuItem({
		Caption: "Настройка колонок",
		Click: {"bindTo": "openGridSettings"}
	});
}

Таким образом вы сможете получить доступ к стандартной настройке колонок в этой детали)

Сортировка настраивается в методе:

getGridDataColumns: function() {
	return {
		"Id": {path: "Id"},
		"SysAdminUnit": {path: "SysAdminUnit"},
		"SysAdminUnit.SysAdminUnitTypeValue": {path: "SysAdminUnit.SysAdminUnitTypeValue"},
		"Name": {path: "KmName", orderPosition: 1, orderDirection: Terrasoft.OrderDirection.DESC}
	};
}

Кстати у выше упомянутой статьи странно, но уровень сложности очень высокий, хотя кастомизация ну если не типовая, то тривиальная.

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

Добрый день!

В рамках интеграции сайта клиента с bpm`online появилась необходимость добавлять с сайта файлы на деталь "Файлы и ссылки" обращения. Для этого был написал веб-сервис для добавления файла, так выглядит метод добавления:

 [OperationContract]
        [WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
        ResponseFormat = WebMessageFormat.Json)]
      public string InserCaseFile(CaseFileData data)
    {
      try
      {
        var appConnection = HttpContext.Current.Application["AppConnection"] as AppConnection;
        var userConnection = HttpContext.Current.Session["UserConnection"] as UserConnection;
        var caseFile = new Terrasoft.Configuration.CaseFile(userConnection);
 
    //    byte[] bytes = Convert.FromBase64String(data.File);
     ASCIIEncoding ascii = new ASCIIEncoding();
    var t = ascii.GetBytes(data.File);
	Stream stream = new MemoryStream(t);
 
          var id = Guid.NewGuid();
          caseFile.SetDefColumnValues();
           caseFile.Id = id;
           caseFile.Name = data.Name;
           caseFile.Size = (int)stream.Length;
           caseFile.SetStreamValue("Data", stream);
           caseFile.CaseId = new Guid(data.CaseId);
          caseFile.Save();
          return "Ok";
      }
      catch(Exception er)
      {
        return er.ToString();
      }
 
    }

Для тестирования с помощью SelectQuery веб-службы DataService был получен уже существующий в bpm файл *.txt, при получении значения из колонки Data в json возвращалась строка в кодировке 7-bit ASCII. 

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

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

Нравится

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

Здравствуйте,

Посмотрите, как передается файл в ConfigurationFileApi, метод upload.

И принимается в схеме FileApiService, метод public string Upload(Stream fileContent)

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

Добрый день, коллеги.  Проблема была в TypeId, как и написал Максим. Спасибо.

я имею в виду поле TypeId='529BC2F8-0EE0-DF11-971B-001D60E938C6' (это тип File из таблицы FileType)

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

Создал деталь, унаследовался от FileDetailV2, при обновлении страницы (с очисткой кеша, или без - не имеет значения) файлы не отображаются, выдает ошибку:
GET http://***************/1/Nui/Terrasoft/ImageListViewModel.js?_dc=1480419... 404 (Not Found)
Помогает только релогин, или обновление страницы, на которой нет этой детали.
Такая же проблема наблюдается в стандартной EmailFileDetailV2. Подскажите возможно ли решить.
Версия 7.5.0.1328
P.S. Варианты ответов вроде "в 7.8 такой проблемы нет" не являются решением проблемы.

Нравится

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

Уточните каким образом была создана данная деталь (по возможности прикрепите исходный код схем детали).

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