Добрый день коллеги.

Столкнулся со странной ситуацией. Обратился к ТС, но все же решил и тут задать свой вопрос:

При реализации очередной кастомизации необходимо было выполнить запрос EntitySchemaQuery:

    

    var esq = new EntitySchemaQuery(UserConnection.EntitySchemaManager.GetInstanceByName("ServiceEngineer"));

    var colId = esq.AddColumn(esq.CreateAggregationFunction(AggregationTypeStrict.Count, "Id"));

    var esqFilter = esq.CreateFilterWithParameters(FilterComparisonType.Equal, "ServiceItem", serviseId);

    esq.Filters.Add(esqFilter);

    result = esq.GetSelectQuery(UserConnection).GetSqlText();

    return result;

Реализовывал с использованием ServiceHelper, где для анализа данных реализовал два метода: GET и POST.

Странность заключается в том, что исходный код у данных методов одинаков, а результат разный (см. аттач GET.png и POST.png)

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

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

Нравится

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

Вероятно, дело не в GET и POST, а в том, что второй раз запускается под пользователем, у которого нет прав на таблицу ServiceEngineer. См. тут или тут.

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

Ситуация по шагам: 

1. Клиент пишет обращение 

2. Ему приходит оповещение (Ваше обращение зарегистрировано т.д.) 

3. Клиент отвечает на это оповещение что-либо. 

4. В системе создается новое обращение 

5. Клиенту приходит еще одно оповещение соответственно. 

 

Разворачивал демостенд, насколько понимаю это является стандартной логикой BPM. 

Вопрос:

Можно ли избежать такой ситуации? Как сделать так, что бы при ответе на оповещение не создавалась новое обращение? 

Нравится

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

Новые письма привязываются к существующим инцидентам, если в их тексте есть упоминания номера, например №SR-12345.Значит, нужно в автоматическом шаблоне или в ручном ответе указывать номер в таком формате. Тогда при ответе будет не создаваться новое, а переоткрываться старое. Формат задаётся в системной настройке «Маска номера обращения». 

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

Добрый день!

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

Возможно ли реализовать данный кейс посредством бизнес-процессов?

Нравится

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

Возможно

стартовый сигнал изменение состояния обращения на закрыто (отменено/огтклонено), дальше меняете состояния у всех не закрытых обращений у которых Id из стартового сигнала родитель!

Возможно

стартовый сигнал изменение состояния обращения на закрыто (отменено/огтклонено), дальше меняете состояния у всех не закрытых обращений у которых Id из стартового сигнала родитель!

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

Благодарю! Сработало.

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

Добрый день. Версия 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);

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

Или вы имеете ввиду, что-то иное?

Вы можете вызвать сервис реализованный на 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

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



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

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