Вопрос

Добрый день. Версия 7.12.

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

Возникает при открытии вкладки с деталями, страница на этом перестаёт грузиться и зависает.

У меня такой же вопрос

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

Уточните, после каких изменений начала возникать описанная проблема?

Стандартно таких деталей нет. Если их схемы ставили из пакета, что-то могли развернуть неверно или не полностью.

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

Добрый вечер!

После переустановки ОС на Win 10, в CRM не работает часть функционала.

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

2. При нажатии правой кнопкой мыши по любому проекту, список предлагаемых опций урезанный.

3. При использовании функции «Глобальный поиск», нет возможности перейти ни к одному из найденных пунктов. Система выдает предупреждение.

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

 

4. При попытке открыть меню Файл-Настройки-Системные настройки, CRM выдает ошибку .

 

Прочитала на community (https://community.terrasoft.ru/questions/obnovlenia-win10-i-terrasoft-34) , что в версии 3.3.4 можно удалить обновление KB4074588, но к сожалению, такой технической возможности у нас в компании нет. Подскажите, пожалуйста, как можно решить эти проблемы? Спасибо!

У меня такой же вопрос

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

Под Windows 10 не работают полноценно ни 3.3.2, ни 3.4.0. Нужно обновляться с 3.3.2 на 3.4.1: скачивать новые файлы программы, менять номер версии в базе в tbl_DatabaseInfo и покупать заново лицензии. Либо же продолжать использовать предыдущие версии Windows.

И, заодно, если у кого-то 3.3.1, там обновление, помимо упомянутого, требует дополнительных шагов.

Зверев Александр, Александр, спасибо за ответ! К сожалению, обновиться до версии 3.4.1 нет возможности, по политике компании.
Всё дело в том, что на первых ПК с обновленной ОС, CRM работал корректно, как и на Win 7.

Но на ПК, которые ставим сейчас, CRM работает не корректно. Сравнили версии ОС, они разные. Обратились сейчас в наш тех.отдел. Чтобы они попытались понять в чем разница, между версиями на ОС Win 10. Ждем от них ответа.

Так в том и дело, что Win10 перестала нормально работать с 3.3.2 и 3.4.0 начиная с одного из её обновлений около года назад.

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

Добрый день!

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

Поэтому появляется три вопроса:
1) как осуществить функционал вставки из буфера? Например: находясь в поле "Решение" нажимается вставка скриншота из буфера и в детали "Файлы и ссылки" этого обращения появляется файл с названием "Решение_Название файла"
2) вставка документа (например pdf) путем перетаскивания его на поле "Решение" и чтобы он появлялся в детали "Файлы и ссылки" этого обращения появляется файл с названием "Решение_Название файла"
3) как добавить в шаблон, который отправляется автоматически, эти самые файлы? С использованием макросов invoke?

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

У меня такой же вопрос

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

По размеру, есть системная настройка «Максимальный размер загружаемого файла» (MaxFileSize). По умолчанию там 10 Мб, можно менять.

По шаблону со вложением, см. приложение.

По остальному, в теории, такое возможно. Например, на детали файлов в любом разделе есть место для перетаскивания файла. См. в FileDetailV2 логику, связанную с DragAndDropContainer:

onFileSelect: function(files) {
	if (files.length <= 0) {
		return;
	}
	const config = this.getUploadConfig(files);
	const isNewRecord = this.getIsNewRecord();
	this.set("FileUploadConfig", config);
	if (isNewRecord) {
		const args = {
isSilent: true,
messageTags: [this.sandbox.id]
		};
		this.sandbox.publish("SaveRecord", args, [this.sandbox.id]);
	} else {
		this.upload(config);
	}
},
 
 
/**
 * Uploads files using FileAPI.
 * @private
 * @param {Object} config File upload configuration.
 * @param {Function} callback Callback.
 */
upload: function(config, callback) {
	this.Terrasoft.ConfigurationFileApi.upload(config, callback);
},
 
 
onUpload: function() {
	this.showBodyMask();
},
 
initDropzoneEvents: function() {
	const dropZone = document.getElementById("DragAndDropContainer");
	if (!dropZone) {
		return;
	}
	if (this.Terrasoft.Features.getIsEnabled("CheckMasterRecordEditRights") &&
!this.get("CanEditMasterRecord")) {
		return;
	}
	this.Terrasoft.ConfigurationFileApi.initDropzoneEvents(dropZone, function(over) {
		if (over) {
dropZone.classList.add("dropzone-hover");
		} else {
dropZone.classList.remove("dropzone-hover");
		}
	}, function(files) {
		this.onFileSelect(files);
	}.bind(this));
},
 
onRender: function() {
	this.callParent(arguments);
	this.initDropzoneEvents();
...

 

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

Я не могу найти где можно увидеть список файлов к Обращению.
Само обращение отображается по запросу 
***bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseCollection(guid'ae67f3b8-c319-4a59-9d97-f8585f6b3d33')
Но внутри него я не могу найти список прикрепленный файлов.

Вопрос.

Где искать ? 

У меня такой же вопрос

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

Для каждой детали используется свой адрес в OData. Файлы обращения, соответственно, будут: ***bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseFileCollection/. Там можно посмотреть Id файлов и связи с обращениями. А непосредственно скачивание производить в FileService.

Я правильно понял чтоб мне найти файл который принадлежит к обращению мне нужно считать все файлы которые отдает CaseFileCollection и пройти все skiptoken ? После того как считал найти в них ид моего обращения ? И лишь потом узнать что за файл.  

Нет ли другого метода ? Т.е. сделать какой-то запрос чтоб по ид обращения он выдал мне список файлов которые есть в данном обращении ? 

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

не хватило разума мне понять.
view-source:https://*****.bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseFileCollection?$filter=Name eq 'WhatsApp Image 2018-01-16 at 14.15.07 (1).jpeg'
По такому запросу ответ отдает верный.

view-source:https://*****.bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseFileCollection?$filter=CaseId eq guid'829a0b1a-650b-4844-b664-59053f9434ad'
По этому запросу отдает Элемент коллекции с именем CaseId не найден

Что он от меня хочет ? 

CaseFileCollection?$filter=Case/Id eq guid'829a0b1a-650b-4844-b664-59053f9434ad'

 

Спасибо!
Никогда б не догадался. Ниже привожу рабочий пример.
https://*.bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseFileCollection?$filter=Case/Id eq guid'1f779f3d-60b4-4a2c-a4b4-43e2cf89d8f0'

ссылку выше про  FileService. Я почитал. Но результата опять нет. 
 

http://адрес_сайта/0/rest/FileService/GetFile/e9eafee9-c4e4-4793-ad0a-003bd2c6a9b4/935b6ecb-3509-4c8a-bc7e-03ab0661da24

Тут первый GUID — ID схемы ContactFile (видно в URL, если её открыть в дизайнере), второй — ID записи в таблице.

Я думал что по этому запросу https://*.bpmonline.com/0/ServiceModel/EntityDataService.svc/CaseFileCollection?$filter=Case/Id eq guid'1f779f3d-60b4-4a2c-a4b4-43e2cf89d8f0'
я узнаю ид файла. Но нет. Ид тут другой. И ID схемы CaseFileCollection Тоже у меня нет.
Вопрос. 
Где я должен получить эти ИД ? 

По ссылке написано всё верно. Первый Id — для схемы CaseFile посмотрите в дизайнере. Второй — Id нужной записи в этой таблице, которую Вы получите по результату CaseFileCollection.

Да, все верно. Я не туда смотрел. Спасибо.

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

Всем доброго времени суток.

Не нашёл чего-то - есть ли возможность вызвать веб-сервис (такой https://academy.terrasoft.ru/documents/administration/7-13/integraciya-…) из клиентской схемы?

В примерах вижу только вызов из бизнес-процессов.

У меня такой же вопрос

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

Вы можете вызвать сервис реализованный на C# так:

ServiceHelper.callService("UsrSaveProcedure", "ProcedureSql",
 
                function(response) {
 
                    console.log(response.ProcedureSqlResult);
 
                }, {CardId: this.get("Id")}, this);

А через вызванный сервис на клиенте, но уже на серверной части можете вызывать любые внешние веб-сервисы.
Или вы имеете ввиду, что-то иное?

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

Всем доброго времени суток. Версия 7.12.

Есть справочник "Объекты администрирования" и есть одно из его представлений - "Роли". А можно ли отфильтровать только организационные роли?

У меня такой же вопрос

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

SELECT *
  FROM SysAdminUnit
 where sysadminUnittypeValue =0

Денис, здравствуйте!

Информация есть на Академии (https://academy.terrasoft.ru/documents/base/7-13/chasto-zadavaemye-vopr…):

В этом объекте содержится организационная структура компании: пользователи, организационные и функциональные роли. Каждая запись в таблице относится к определенному типу, для которого указывается цифра (“SysAdminUnitTypeValue”). Например, организационной роли соответствует цифра “1”, роли руководителей — цифра “2”, а пользователям — цифра “4”.

Также пример фильтрации ниже:

 Рис. 1

Рис. 2

Вильшанский Дмитрий пишет:
Например, организационной роли соответствует цифра “1”, роли руководителей — цифра “2”, а пользователям — цифра “4”.

Дмитрий, а почему в системе:

с "1" только "System administrators",

а с "0" - "Sales Department", "All portal users", "Accounting Department" и "All employees"

Хотя, в списке организационных полей есть и те, и другие

Владимир Соколов,

по моему, там ещё есть разница между понятиями Организация и Подразделение.

У меня в итоге всё что мне нужно фильтруется вот таким образом:

var typeFilter = Terrasoft.createFilterGroup();
typeFilter.setLogicalOperation(1);
typeFilter.add("ManagerFilter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "SysAdminUnitTypeValue", 2));
typeFilter.add("DivFilter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "SysAdminUnitTypeValue", 1));
typeFilter.add("OrgFilter", Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "SysAdminUnitTypeValue", 0));
filterGroup.add("typeFilter", typeFilter);

 

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

Добрый день. 

BPM service, облако. 

Столкнулся со следующей проблемой - пользователи портала не видят сообщения (email) в обращениях на Портале. 

Пересмотрел, кажется, все, что можно. Помогите разобраться где этот момент настраивается. 

У меня такой же вопрос

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

Необходимо с помощью процесса на добавление/изменение "Activity" и добавление в объект "Email message" (у нас в процессе на все три события)  раздавать дополнительно права на e-mail сообщения (Activity) нужным пользователям портала (например, мы выдавали контакту инцидента и его руководителю).

И посмотрите, есть ли на чтение объекта Activity права у All portal users

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

Добрый день!

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

Стоит менять бизнес правило на атрибуты (читал что-то подобное в других темах, но до конца не понял) или есть другой, более простой, вариант?

У меня такой же вопрос

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

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

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

Всем доброго времени суток. Версия 7.12.

Два вопроса (не связанных друг с другом):

1. Есть ли возможность вызвать какую-либо функцию после авторизации? Для примера - показывать окно с сообщением сразу после авторизации пользователя. Попробовал добавлять такие вызовы в схемы, загружающиеся только один раз (MainHeaderSchema, CommunicationPanel и т.д.), но вот проблема - если пользователь нажмёт F5, то снова сработает загрузка, а значит - вызов окна.

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

2. Есть ли в фильтрах - https://academy.terrasoft.ru/documents/technic-sdk/7-8/rabota-s-filtram… (именно в варианте для клиентской части) фильтрация "последних нескольких записей"? Т.е. к примеру, фильтрация по колонке с датой:

var dateColumn = esq.addColumn("UsrDate");
dateColumn.orderDirection = Terrasoft.OrderDirection.DESC;
dateColumn.orderPosition = 0;

выведет все записи в порядке убывания значений колонки UsrDate. А как мне вытащить только, допустим, первые пять?

У меня такой же вопрос

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

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

2. Вам нужно указать при обращении к EntitySchemaQuery кол-во выводимых записей в запросе:

  var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
   }

Алла Савельева, чтобы взять именно последние записи еще нужно осортировать например по дате создания записи, както так   :)

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
      rootSchemaName: "UsrTable",
      rowCount: 5
}
var createdOnColumn = esq.addColumn("CreatedOn");
createdOnColumn .orderDirection = Terrasoft.OrderDirection.DESC;
createdOnColumn .orderPosition = 0;

 

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

Всем доброго времени суток. Версия 7.13.

На демо-площадке добавил кнопку и модуль в коммуникационную панель, для примера полностью скопировал код из статьи: http://beta-community.bpmonline.com/articles/kak-dobavit-knopku-v-kommu…

В результате новая вкладка появилась, но она пустая, а при открытии возникает ошибка в консоли:

Ошибка возникает в функции generateSchemaStructure, вызываемой в init модуля UsrMyMenuModule внутри this.callParent(arguments).

Что не так? Помню, что в 7.12 успешно добавлял свою вкладку на панель.

У меня такой же вопрос

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

Добрый день

Данная ошибка свидетельствует о том, что у вас есть в вашем скрипте UsrMyMenu синтаксическая ошибка (лишняя запятая, не закрытая скобка..)

При сохранении схемы проверьте наличие ошибок, выдаваемых валидатором (сообщения о лишних пробелах можно игнорировать), а также можете воспользоваться любым JS online валидатором 

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