Добрый день, пока глубоко не погружались в то как работает ML в Creatio, но из документации не понял - есть ли возможность прогнозировать даты?

Кейс для примера: у наших продуктов есть логистические статусы, изменение которых логируется (статус, дата начала). Хотелось бы загрузить это все в ML и по каждому продукту делать две прогнозные даты:

1. В какую дату будет следующий логистический статус (например в производстве).

2. В какую дату будет конечный логистический статус (например передан клиенту).

 

Есть ли такая возможность у сервиса?

 

 

Другой кейс. В нашем Service Enterprise, который использует ДИТ в разделе Обращения имеется поле Время разрешения. Значение может рассчитываться множеством параметром, в т.ч. в зависимости от SLA. Но пользователям хотелось бы показывать две даты: время разрешения по SLA (а оно всегда большое) и время разрешения прогнозное (на основании исторических данных похожих обращений).

Пример: время разрешения согласно SLA - 3 дня, однако судя по предыдущим похожим обращениям, такие запросы ранее решались в течении 3х часов. Чтобы успокоить пользователей. 

Нравится

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

Добрый день! 

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

 

 

Мне удалось сделать фильтр при изменении значении поле Вид процесса проекта фильтровать значение поле Тип проект в мобильном приложении.

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

Таблица Project содержет в себе поля

PsProcessType - вид процесса проекта и

ProjectSubType - тип проекта.

Соответственно данные этих полей берется из двух объектов справочников: 

PsProjectProcessType - Вид процесса проекта,

PsProjectSubType  - Тип проекта.

Объект PsProjectSubType содержит в себе связывающий двух столбец PsProjectProcessType.

Нравится

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

Добрый день,

 

Если связь между PsProjectProcessType и PsProjectSubType это связь один ко многим, то можно использовать MutualFiltration. Простой пример: фильтровать город по стране и наоборот. В таком случае код будет такой:

Terrasoft.sdk.Model.addBusinessRule('Contact', {
	ruleType: Terrasoft.RuleTypes.MutualFiltration,
	triggeredByColumns: ['Country'],
	filteredColumn: 'City',
	filteringPropertyName: 'Country'
});

В данной конфигурации есть два действия фильтрации:

 

Прямое: при выставлении поля-родителя фильтруемому полю выставляется фильтр (если поле-родитель заполнено)

Обратное: при выставлении фильтруемого поля, полю родителю автоматически выставляется значение (так как оно одно)

 

triggeredByColumns – имя колонки-родителя (один-ко-многим) в модели карточки

filteredColumn – имя фильтруемой колонки (один-ко-многим)  в модели карточки

filteringPropertyName – имя колонки-родителя в модели фильтруемого поля

Спасибо Oleg Drobina,

Реализовал фильтр следующим образом.

Terrasoft.sdk.Model.addBusinessRule('Project', {
    ruleType: Terrasoft.RuleTypes.MutualFiltration,
    triggeredByColumns: ["PsProcessType", "ProjectSubType"],
    connections: [
        {
            parent: "PsProcessType",
            child: "ProjectSubType",
            connectedBy: "PsProjectProcessType"
        }
    ]
});

Но есть одна проблема. При очистке значении поле Тип проекта  значение поле Вид процесса проекта  остается все еще выбранным. Нужно чтобы значение этого поле тоже сбрасывался. Или как можно сделать так, чтобы поле Вид процесса проекта выбрался автоматический, при выборе Типа проекта

Oleg Drobina, 

можете ответить на данный вопрос?

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

Добрый день!

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

Добавил конфигурационный модуль MobileProjectModuleConfig. Описал фильтр.

Потом добавил данный модуль в файл MobileApplicationManifestDefaultWorkplace в блок ModelExtensions.  Можете подсказать что я не так делаю.

 

Нравится

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

 Добрый день,

 

Сделал всё аналогично, кроме того, что не добавлял созданный модуль в ModelExtensions, а только в PagesExtensions. Код один в один с Вашим:

Terrasoft.sdk.Module.addFilter("Project", Ext.create("Terrasoft.Filter", {
    type: Terrasoft.FilterTypes.Group,
    subfilters: [
		Ext.create("Terrasoft.Filter", {
			compareType: Terrasoft.ComparisonTypes.NotEqual,
			property: "ParentProject",
			value: null
		})
	]
}));

Еще для чистоты эксперимента вывел в реестр проектов колонку Parent item и в результате, после перелогина в мобильное приложение после создания модуля и привязки его в манифесте к PagesExtensions, загрузились только записи с заполненным Parent item:

Попробуйте полностью перелогиниться в мобильное приложение.

Спасибо большое, фильтр работает!

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

Приветствую!

Создал пакет проект (пробовал и через шаблон bpmonline и через clio create pkg)

При компиляции из студии изменения не подхватываются, clio restart делаю после build, приходится всю конфигурацию компилировать

 

Подскажите , может кто сталкивался? в какую сторону смотреть?

Нравится

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

Добрый день,

 

Для того, чтобы приложение подтягивало сборку из Пакета-Проекта, нужно:

  1. Название dll сборки Пакета-Проекта,  должно совпадать с названием пакета.
  2. dll сборка Пакета-Проекта должна находится в соответсвующей директории: 
    • TS.Conf/PackageName/Files/Bin/ (для Framework
    • TS.Conf/PackageName/Files/Bin/netstandard (для .NetCore)
  3. Для .NetCore флаг Feature-UseSeparateDirectoryToLoadPackageAssemblies (в Terrasoft.WebHost.dll.config) должен быть включен:
    <add key="Feature-UseSeparateDirectoryToLoadPackageAssemblies" value="true" />
  4. Cборка должна быть помечена аттрибутом:
    [assembly: PackageReferenceAssembly(RefAssemblyMarker.All)]
    и добавить: using Terrasoft.Core.Attributes;
    Это делается в AssemblyInfo.cs (папка Properties - Properties\AssemblyInfo.cs )
    Если используется, новая версия проекта *.csproj, то в нем AssemblyInfo.cs генерируется автоматически на основании проекта.
    Для того, чтобы небыло конфилктов автогенерируемой AssemblyInfo.cs с созаной вручную, нужно в проекте *.csproj, отключить автогенерацию AssemblyInfo.cs.
    Для этого в проект *.csproj, надо добавить запись:
    <PropertyGroup>
               .........................................
               <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
               .......................................
    </PropertyGroup>

 

Пример AssemblyInfo.cs

using System.Reflection;
using System.Runtime.InteropServices;
using Terrasoft.Core.Attributes;
 
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: PackageReferenceAssembly(RefAssemblyMarker.All)]
[assembly: AssemblyTitle("cliogate")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("cliogate")]
[assembly: AssemblyCopyright("Copyright ©  2019")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
 
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
 
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("e24226f9-c177-458f-af34-9338e2699983")]
 
// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.1.2")]
[assembly: AssemblyFileVersion("1.1.1.2")]

 

Если эти рекомендации не помогли решить проблему, обратитесь по адресу support@creatio.com, так как без прямого доступа сложно определить, в чем проблема.

 

С уважением,
Дарий

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

Добрый день,

 

При использовании глобального поиска у нас на портале не работают фильтры.

 

Т.е. поиск в глобальном поиске без фильтров и с испольозванием фильтров дают один и тот же результат. Фильтр не сужает результаты поиска.

 

Это так и должно быть?

Нравится

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

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

 

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

 

С уважением,

Мирослава

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

 

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

 

С уважением,

Мирослава

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

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

Добрый день, установили приложение Выделение цветом записей в разделе Заказы, установилось успешно (логи прикрепляю), но при переходе в раздел не выводит записи вовсе и ошибка в консоле. У нас sales enterprise edition cloud, версия  8.0.3.2908

 

 

 

 

 

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

Нравится

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

Елена, добрый день!
Проверил данное решение на базовой сборке sales enterprise edition cloud, версия  8.0.3.2908. Кейс не воспроизводится.

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

Спасибо, действительно не вывела колонку, поправила и все успешно работает.

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

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

 

Добавил действие в меню в страницу редактирования - скрин ошибок в комментарии:

 

            onMyButtonClick: function() {
                var Id =  this.get("Id");
                //console.log(Id);
                var args = {
                    sysProcessName: "ZbsAddTreatSessions",
                    parameters: {
                        TreatmentProgramId: Id
                    }
                };
                processModuleUtilities.executeProcess(args);    

            },
            getActions: function() {
                   var actionMenuItems = this.callParent(arguments);
                console.log(11);
                // Добавление линии-разделителя.
                actionMenuItems.addItem(this.getButtonMenuItem({
                    Type: "Terrasoft.MenuSeparator",
                    Caption: ""
                }));
                console.log(22);
                // Добавление пункта меню в список действий раздела.
                actionMenuItems.addItem(this.getButtonMenuItem({
                    // Привязка заголовка пункта меню к локализуемой строке
                    // схемы.
                      Caption: {bindTo: "Resources.Strings.CreateTreatSessionsCaption"},
                    // Привязка метода-обработчика действия.
                    Click: {bindTo: "onMyButtonClick"}
                }));
                console.log(33);
                 // Возврат дополненной коллекции действий раздела.
                return actionMenuItems;
            },                        
 

Нравится

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

Вот текст ошибки:

user: Supervisor/7f3b869f-34f3-4f20-ab4d-7480a5fdf647
 file: http://localhost:83/0/core/hash/ng-core/src/polyfills-es5.js?hash=b2d23…
 line: 1
 column: 16702
 message: Uncaught TypeError: Cannot read properties of undefined (reading 'apply') 
 date: Fri Aug 12 2022 00:19:01 GMT+0600 (East Kazakhstan Time)
 stack: TypeError: Cannot read properties of undefined (reading 'apply')
    at constructor.callModelMethod (http://localhost:83/0/core/hash/Terrasoft/controls/mixins/bindable.js?h…)
    at constructor.<anonymous> (http://localhost:83/0/core/hash/Terrasoft/controls/mixins/bindable.js?h…)
    at constructor.fire (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…)
    at constructor.continueFireEvent (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…)
    at constructor.fireEventArgs (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…)
    at constructor.fireEvent (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…)
    at constructor.onClick (http://localhost:83/0/core/hash/Terrasoft/controls/menu/basemenuitem.js…)
    at HTMLLIElement.eval (eval at cacheableFunctionFactory (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…), <anonymous>:6:13)
    at HTMLLIElement.wrap (http://localhost:83/core/7b05a4f154493931757b1cca921fc8a9/ExtJs/extjs-b…)
    at t.value (http://localhost:83/0/core/hash/ng-core/src/polyfills-es5.js?hash=b2d23…)

Добрый день,

 

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

Oleg Drobina, 

огромное спасибо, у меня получилось благодаря Вашей подсказке!

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

Добрый день! 

Как можно сделать экспорт существующих орг. и функц. ролей со связями между ними.

Нравится

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

Добрый день,

 

Спасибо за обращение.

 

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

 

С уважением,

Анастасия

Добрый день,

 

Спасибо за обращение.

 

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

 

С уважением,

Анастасия

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

Здравствуйте. Определил 2 поля в одной позиции, поставил условие для visible. Из-за статики рендерится только одно из полей, которое в дифе стоит первым. Переместить поля не вариант, так как мне нужно определить 2 разные формы на старнице в зависимости от условий.

Нравится

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

Владислав, добрый день!

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

 

Дима Вовченко,

У меня есть 2 справочника,в зависимости от них я должен открыть одну из страниц. Создал вторую страницу, добавил зависимость от необходимого справочника, но на Вашем скрине второе поле - как мне брать все значения справочника? 
Есть справочники "А" и "Б". При открытии страницы только один из справочников автозаполняется, на этом я и строил условия visible.

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

Нет, пришлось "чистить" все существующие поля под visible, после чего поигравшись с рассположением проблему решить удалось. Мне надо было отобразить 2 разные формы в зависимости от условия

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

Добрый день!
Есть пакет A в котором переопределена схема страницы раздела UsrTender1Page
Есть Пакет который зависит от пакета и в нем тоже есть переопределённая схема  UsrTender1Page.
Проблема заключается в том что Метод OnEntityInitialized не запускается в схеме UsrTender1Page из пакета B. В пакете А OnEntityInitialized запускается нормально
Пакет А мы трогать не можем так как доступ к нем закрыт и свою работу мы ведём в отдельном пакете B.
Метод init работает в обеих схемах.

В чем может быть причина? Как заставить OnEntityInitialized заработать?

Нравится

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

Чеботов Никита, Проблема в самой названии функции  пишется так: onEntityInitialized
А у вас: 
OnEntityInitialized. 

Для наглядности прикрепляю скрин:

 

Добрый день, 

Можете пожалуйста прикрепить код метода в вашей странице из пакета В ? 

Yurii,

Метод даже в таком виде не запускается. debugger не запускается, Если поставить точку останов то тоже не срабатывает

OnEntityInitialized: function() {
     this.callParent(arguments);
     debugger;
}

Метод Init работает стабильно

Чеботов Никита, Проблема в самой названии функции  пишется так: onEntityInitialized
А у вас: 
OnEntityInitialized. 

Для наглядности прикрепляю скрин:

 

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