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

 

Пытаюсь загрузить dll на вкладке "Внешние сборки". После выбора файла вылетает ошибка

Action: Change

ControlId: FileUploadEdit

SubmitAjaxEventConfig: {"config":{"extraParams":{}}}

 

Как можно решить данную проблему?

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

Нравится

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

Елена, причина может быть в следующем:

Из-за системных настроек ограничивающих виды вложений (File extensions DenyList) невозможно к пакету добавить библиотеку — вместо ошибки будет просто текст «ошибка в работе приложения». В логах  при этом также ничего очевидного.

Обходное решение: в справочник «Управление файлами \ Список исключений из проверки безопасности файлов» добавить: «/FileUpload.aspx».

В 7.17 это уже решено.

Елена, причина может быть в следующем:

Из-за системных настроек ограничивающих виды вложений (File extensions DenyList) невозможно к пакету добавить библиотеку — вместо ошибки будет просто текст «ошибка в работе приложения». В логах  при этом также ничего очевидного.

Обходное решение: в справочник «Управление файлами \ Список исключений из проверки безопасности файлов» добавить: «/FileUpload.aspx».

В 7.17 это уже решено.

Надо прописать именно /FileUpload.aspx в справочнике.

Андрей, картинка не грузится. И в чём отличие от того, что написал я?

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

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

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

Добрый день, Артем.



На текущий момент в системе не реализовано API для использования функциональности FileSecurity и вся функциональность описана в ядре, доступ к которому не предоставляется сторонним лицам.

Поэтому встроить эту проверку валидности в кастомный сервис загрузки пока не является возможным.



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

 

Уже зафиксировано пожелание иметь возможность использовать механизм валидации файлов для своих кастомных сервисов.

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

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

Я установил VISUAL SVN SERVER и создал хранилище,при нажатии на кнопку Browse,у меня всё корректно открываеться.Добавил хранилище в список хранилищ BPM ONLINE,но при попытке авторизации,авторизация не выполняется,просто идёт загрузка,и позже прерывается

Я думаю причина в том что Поставка на облаке не может подключиться к моему серверу SVN.

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

Нравится

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

Тут проблема не в BPM, а в сервере SVN. Он доступен только из локальной сети. Для того, чтобы он был доступен в интернет (тогда BPM в облаке его увидит), необходимо опубликовать его «во внешку» (например http://qaru.site/questions/2575332/is-it-possible-to-set-up-a-personal-svn-remote-repository-which-can-be-accessed-through-the-internet)

Напишите в тех поддержку террасофт и узнайте о возможности работы с svn из вашего облака

Тут проблема не в BPM, а в сервере SVN. Он доступен только из локальной сети. Для того, чтобы он был доступен в интернет (тогда BPM в облаке его увидит), необходимо опубликовать его «во внешку» (например http://qaru.site/questions/2575332/is-it-possible-to-set-up-a-personal-svn-remote-repository-which-can-be-accessed-through-the-internet)

https://academy.terrasoft.ru/documents/technic-sdk/7-13/rekomenduemaya-…

ВАЖНО

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

Для переноса изменений в приложение, размещенное в облаке, рекомендуется использовать возможности пользовательского интерфейса bpm'online. Использование WorkspaceConsole невозможно, поскольку у пользователя нет непосредственного доступа к базе данных облачного приложения.

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

Пользователь нажимает кнопку/действие - идет вызов Исходного кода. Там вылолняется работа и возвращает MemoryStream(это файл ПДФ)

Как теперь сделать чтобы этот файл или скачался или отобразился в новой странице?

Нравится

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

Как то так:

var response = System.Web.HttpContext.Current.Response;
	response.ClearContent();
	response.ContentType = "application/pdf";
	response.AddHeader("Content-Disposition", "inline; filename=" + docName);
	response.AddHeader("Content-Length", docStream.Size);
	response.BinaryWrite((byte[])docStream);
	response.End();

 

Как то так:

var response = System.Web.HttpContext.Current.Response;
	response.ClearContent();
	response.ContentType = "application/pdf";
	response.AddHeader("Content-Disposition", "inline; filename=" + docName);
	response.AddHeader("Content-Length", docStream.Size);
	response.BinaryWrite((byte[])docStream);
	response.End();

 

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

Благодарю, вот в итоге рабочий код:

var response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.ContentType = "application/pdf";
response.AddHeader("Content-Disposition", "inline; filename=Ведомость расчетов с клиентом.pdf");
response.AddHeader("Content-Length", f.GetLongLength(0).ToString());
response.BinaryWrite(f);
response.End();

f - это тип byte[]

Рад что у вас получилось smiley

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

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

В академии есть инструкция для настройки embeded детали. Но мне бы хотелось сделать обычную деталь.



Спасибо

Нравится

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

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

Что в Вашем понимании "обычная" деталь?

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

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

Помимо инструкции можете также посмотреть реализацию данной детали в пакете Mobile.

Добрый день!

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

Хочу отметить, что загруженные записи отображаются на страницы записи, а не на отдельной странице - http://prntscr.com/hpzz3r.

Вопрос: чем Вам не подходит встроенная деталь?

В версии bpm'online 7.11.3 добавлена возможность добавить деталь "Файлы и ссылки" в любой раздел мобильного приложения (если для аналогичного раздела деталь существует в основном интерфейсе) через мастер мобильного приложения.

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

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

Добрый день!

Возникла необходимость массовой загрузки файлов.
У нас есть раздел "Проекты", по которым приходят заявки на соответствующую деталь. В каждую заявку крепится скан-копия документа.
Хочется реализовать следующую схему загрузки: пользователь выбирает папку, имя у которой равно названию какого-нибудь проекта. Внутри папки лежат сканы документов, имена файлов соответствуют номерам заявок.
Реализация схемы в общих чертах понятна, есть только вопросы по инструментарию. Для выбора папки есть функция System.SelectDirectory. Есть ли возможность пробежаться по "внутренностям" папки, то есть перебрать файлы по именам, которые в ней лежат?

Да, чуть не забыл, пользуемся Terrasoft CRM 3.3.0.49.

Заранее спасибо!

Нравится

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

Здравствуйте, Николай!
для работы с файлами-папками используется обьект FSO
его методы-свойства можно найти в гугле (например, тут)

ориентировочный код:

//...
var FSO = GetFileSystemObject()
var _folder = FSO.GetFolder(FolderName);
LoadMaps(_folder)
//..

функции рекурсивные:

/////////////////////////////////////////////////////////////////////
//  Обход по папкам
/////////////////////////////////////////////////////////////////////
function  LoadMaps(_folder) { //debugger;
	//Log.Write(0, 'folder: ' + _folder.Path);	
	LoadMapsFromFolder(_folder);//обработка файлов в папке
	var more_folders = new Enumerator(_folder.SubFolders);
    for (;!more_folders.atEnd();more_folders.moveNext()){   //обход по подпапкам
        OneFolder = more_folders.item();
        LoadMaps(OneFolder);
    }
}
/////////////////////////////////////////////////////////////////////
//  Обход по файлам
/////////////////////////////////////////////////////////////////////
function LoadMapsFromFolder(_folder) {            
 
	var FolderPath = _folder.Path
    var more_files = new Enumerator(_folder.Files);
    for (;!more_files.atEnd();more_files.moveNext()){
		var one_file = more_files.item();	
		//обработка файла
		}
 
	} 
}

+подключите скрипт scr_FileUtils

Ольга,
спасибо большое за ответ! Пойду пробовать.

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