Добрый день! Прошу уточнить, если ли возможность добавить условие бизнес-правила по роли текущего пользователя (а не конкретному пользователю), например:

Отобразить вкладку Админ только пользователям с ролью System Administrator

 

Нравится

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

Нет. Есть обходной способ через права на операции. Приоткрытии страница проверяется право на операцию и атрибуту присваивается значение True/False. А далее уже бизнес правило на этот атрибут/

Вот подробно на Tech Hour

Здравствуйте, Павел!

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

Тем не менее в качестве обходного решения Вы можете либо добавить всех пользователей, что входят в роль, отдельным условием в бизнес правиле, либо использовать настройку прав доступа по колонкам:
https://academy.terrasoft.ru/docs/user/ustanovka_i_administrirovanie/up…

В планах развития продукта есть задача на рассмотрение реализации данного функционала базовыми средствами.

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

Добрый день, есть задача:
По условию сделать 10 полей обязательными для заполнения, 
Интересует есть ли возможность не создавать 10 бизнес-правил, а подредактировать одно бизнес-правило?

Нравится

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

Открыть код схемы и с помощью copy-paste быстро создать  и подредактировать остальные 

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

Спасибо, в атрибутах колонок?

Сергей Рогов,

нет, в businessRules: /**SCHEMA_BUSINESS_RULES*/

https://academy.terrasoft.ua/docs/developer/front-end_development/clien…

 

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

Спасибо!

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

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

Суть, откуда потребность. 

Есть страница с множеством вкладок, которые показываются в зависимости от условий. И когда мы показываем эти вкладки, то надо делать их активными. Сейчас это можно реализовать только через код на странице (а как же LowCodeNoCode?)

 

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

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

 

Спасибо за выбор нашего продукта.

 

С уважением,
Кучер Виталина
Оператор
Группа компаний Terrasoft

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

На текущий момент в бизнес-правилах при указании действия Заполнять значения поля, если не указать параметр значения поля, то сохранение правила блокируется с сообщением "Поле в действии: Необходимо указать значение. "

В текущей реализации нет нормальной возможности очистить значение поля через бизнес-правило.

Было бы корректно, считать незаполненный параметр, как желание очистить значение в соответствии с типом поля.
 

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

Дополню своё же предложение:
Было бы весьма полезно, если бы при заполнении данного параметра, можно было бы указывать и конкретное значение для поля.

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

Добрый день!
Столкнулся с проблемой, что бизнес-правило в мобильном приложении не отрабатывает на действие изменения значения в поле колонки вот здесь:

 

Но при этом бизнес-правило успешно отрабатывает когда я не меняю число 20 в поле выше, а когда добавляю новую запись в продвигаемые продукты  и ввожу значение в поле:

Код бизнес-правила:
 

Terrasoft.sdk.Model.addBusinessRule("ActivityPromProduct", {
    name: "OpportunityAmountValidatorRule",
    ruleType: Terrasoft.RuleTypes.Custom,
    triggeredByColumns: ["QuantityPrescription"],
    events: [Terrasoft.BusinessRuleEvents.ValueChanged],
    executeFn: function(model, rule, column, customData, callbackConfig) {
        var revenue = model.get("QuantityPrescription");
		if (model.phantom){
			model.set("QuantityPrescription", 5, true);
		}
		else{
			model.set("QuantityPrescription", 7, true);
		}
        Ext.callback(callbackConfig.success, callbackConfig.scope);
    }
});

 

Нравится

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

Добрый день, Сергей.

Попробуйте также в events добавить событие Terrasoft.BusinessRuleEvents.Save и проверьте работу.

 

events: [Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save]

 

Mykhailo Storozhuk,

Добрый день! Не помогло, всё-равно при вводе значения в поле и сохраняется введённое мной значение, а не например, 5 или 7 как из кода выше по идее должно быть.

Симонов Сергей Сергеевич,

Добрый день, Сергей.

1) Добавили ли Вы схему, в которой настраиваете это бизнес правило в манифест мобильного приложения? Корректно ли Вы это сделали?  
2) Попробуйте также вообще удалить правило и посмотреть будет ли изменяться значение при создании новой записи. 
3) Кроме того, нужно провести отладку кода внутри мобильного приложения и посмотреть вызывается ли нужный метод.
4) Возможно у Вас есть еще одно бизнес правило, которое может нарушать логику текущего? Проверьте бизнес правила связанные с проблемными колонками.

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

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

Добрый день.

Есть необходимость на преднастроенной странице отображать список пользователей (по ФИО) входящих в выбранную организационную роль.

Какие условия бизнес-правила страницы необходимо указать? 

Нравится

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

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

 

Если правильно понимаю задачу, то базовыми элементами не получиться отображать список пользователей с фильтрацией по определенной организационной роли без дополнительных кастомизации логики. По поводу кастомизации есть несколько тем где поднимались подобные вопросы,  надеюсь Вам это будет полезно. https://community.terrasoft.ru/questions/spravochniki-v-prednastroennoy… и https://community.terrasoft.ua/questions/neskolko-voprosov-po-prednastr…

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

Добрый день!

Подскажите, пожалуйста, можно ли каким-то образом включать и отключать бизнес-правила на странице через механизм Feature Toggle?

Попробовал вот так, не работает:

businessRules: /**SCHEMA_BUSINESS_RULES*/{
"vsDirectCalc": {
              	//Прямой расчет: Показывать элемент на странице
				"b9d8b16c-d477-45cc-acc6-5b0954b609cd": {
					"uId": "b9d8b16c-d477-45cc-acc6-5b0954b609cd",
					"enabled": {"bindTo": "Terrasoft.Features.getIsEnabled('vsTMA1418')"},	
					"removed": false,
					"ruleType": 0,
					"property": 0,
					"logical": 0,
					"conditions": [
						{
							"comparisonType": 3,
							"leftExpression": {
								"type": 1,
								"attribute": "ScTmaMechanic"
... и т. д.

 

Нравится

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

Добрый день.

 

Подобный подход не сработает, свойство enabled принимает только true или false, байндинги для него не работают (только если вопрос касается бизнес-правил).

 

К сожалению, на текущий момент, подобный подход через механизм Feature Toggle отсутствует.

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

Есть необходимость с помощью бизнес-правил отображать одну из двух деталей с одинаковыми заголовками по некоему условию. Предположим, есть детали:

Пользователи (USERDetail1) и Пользователи (USERDetail2)

 

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

 

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

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

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

Потому, лучше сочетать - заголовок, а в скобках название

 

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

Cогласен!

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

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

Сделали атрибут (LOOKUP) на странице, который ссылается на SysAdminUnit (но пробовали и с другими объектами - то же самое).

"UsrCurrentUserRole": {
    "dataValueType": Terrasoft.DataValueType.LOOKUP,
    "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
    "isLookup": true,
    "referenceSchemaName": "SysAdminUnit"
}

Задали в бизнес-правилах его сравнение со значением Lookup. Всё сохранилось (в коде страницы тоже), всё работает корректно.

Но если зайти в это бизнес-правило, то не старые установленные значения не отображаются.

Что ещё надо указать, чтобы всё работало корректно? 

Нравится

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

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

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

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

Проблема может быть из-за того что это системный справочник SysAdminUnit.

Создайте подобное новое правило из редактора бизнес правил и посмотрите в секции businessRules как оно будет описано.

Полозюков Евгений Петрович пишет:

Я же именно так и делал. И оно описано корректно, и даже работает. Но если хотите исправить, то при открытии видим, что всё пусто 

Баг или фича?

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

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

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

Проблема может быть из-за того что это системный справочник SysAdminUnit.

Полозюков Евгений Петрович пишет:
Я не понимаю что вы такое пытаетесь сделать.

Я хочу создавать такое правило из Мастера страницы, настраивая бизнес-правила, а потом менять их, если необходимо.
И при этом не лезть в код.

От справочника не зависит 

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

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

 

Вообще вести серьезную разработку и не лезть в код нельзя.

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

Коллеги, здравствуйте.

Не до конца понимаю как задать фильтрацию выпадающего списка времени для полей с типом "Дата/Время" в карточке.

Идея в том, чтобы ужать выпадающий список под рабочие часы (9:00-18:00).

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

Спасибо!

Нравится

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

Александр, это поле — компонент ядра, в конфигурации он не дорабатывается. Можно сделать рядом два поля: одно для ввода только даты, без времени, а другое — справочное с выпадающим списком только рабочего времени. И программно сводить их значения в одно поле объекта с полной датой.

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

Была такая же идея по поводу ограничения расписания, добавил и Вашу о поле ввода времени.

Александр, это поле — компонент ядра, в конфигурации он не дорабатывается. Можно сделать рядом два поля: одно для ввода только даты, без времени, а другое — справочное с выпадающим списком только рабочего времени. И программно сводить их значения в одно поле объекта с полной датой.

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

Была такая же идея по поводу ограничения расписания, добавил и Вашу о поле ввода времени.

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