В разделе Заказ, вкладка Продукты, захожу в Настройки детали и тут хочу создать Бизнес правило. Условие должно ссылаться на поле "Скидка, %" но оно отсутвсует в выборе и много других полей тоже. Объясните пожалуйста почему, и как сделать, что бы оно появилось? Спасибо.

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

Нравится

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

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

 

Действительно при выборе колонки в окне выбора колонки с типом "Валюта" недоступны к выбору. Мы зарегистрировали идею для команды разработки для улучшения этого поведения.

 

Как обходное решение, вы можете искать поле напрямую через поле выбора:

 

Хорошего дня! 

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

 

Действительно при выборе колонки в окне выбора колонки с типом "Валюта" недоступны к выбору. Мы зарегистрировали идею для команды разработки для улучшения этого поведения.

 

Как обходное решение, вы можете искать поле напрямую через поле выбора:

 

Хорошего дня! 

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

Допоможіть, будь ласка.

Я створив об'єкт UsrAppMobNotifications.

В ньому є буулівська змінна UsrBoolRead, Мені необхідно на версії 8.1 налаштувати бізнес правило, щоб при відкриті ізапису цього об'єкту користувачем змінна UsrBoolRead, ставала true.



код сторінки запису мобільного додатку (UsrMobileUsrAppMobNotificationsRecordPageSettingsPortal ) не містить жодних блоків,



Питання 1. як додати своє бізнес правило. Питання



2. Намагався самостійно на основі прикладів скласти правило, але воно не працює .



Terrasoft.sdk.Model.addBusinessRule("UsrAppMobNotifications", {

name: "SetUsrBoolReadTrueRule",

ruleType: Terrasoft.RuleTypes.Custom,

events: [Terrasoft.BusinessRuleEvents.Load],

executeFn: function(model, rule, column, customData, callbackConfig) { model.set("UsrBoolRead", true);

Ext.callback(callbackConfig.success, callbackConfig.scope);

}

});

Нравится

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

Добрий день,

 

Відповідь на питання 2: даний підхід не працює в Freedom UI мобільному додатку, він робочий лише для 7x інтерфейсу. Для нового UI ми все ще працюємо над можливістю створювати бізнес правила через інтерфейс.

 

Якщо сторінка відкривається в мобільному додатку в старому інтерфейсі, то у старому інтерфейсі правило, яке Ви створили, має спрацювати (не забудьте його додати в маніфесті в відповідну модель UsrAppMobNotifications в масив ModelExtensions і перелогінитись в мобільний додаток)

Oscar Dylan,  Якщо при додаванні розділу у мобільний додаток встановити галочку Freedom UI, розділ відкривається у UI інтерфейсі і бізнес правила не спрацьовують.



Уточніть, будь ласка, для Freedom UI інтерфейсу мобільного додатку на даний момент не можливо додати бізнес правила навіть кодом? 

 

 

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

Столкнулся с проблемой. Настраиваю бизнес-правило, в котором в условии проверяю роль смотрящего:

Изображение удалено.К сожалению, правило не отрабатывает. Пробовал подставлять разные роли, как организационные, так и функциональные. Пробовал убирать у пользователя все роли, кроме администратора - все безрезультатно.

Может на работу правила влияет еще что-то?

Единственно, правило отработало, если указать конкретный контакт текущего пользователя:

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

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

Подскажите, пожалуйста, может есть решение. Возможно это баг?

Нравится

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

Добрый день!



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



Мы зарегистрировали пожелание для реализации фунционала в следущих релизах.

Добрый день!



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



Мы зарегистрировали пожелание для реализации фунционала в следущих релизах.

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

Добрый день!

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

Вот - один из вариантов кода, который я пытался использовать:

Terrasoft.sdk.Model.addBusinessRule("UsrZakupka", {

    name: "UsrAutoSetUsrDepartByCreatedBy",

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["CreatedBy"],

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

    executeFn: function(record, rule, column, customData, callbackConfig, event) {

        var department = record.get("CreatedBy.Department");

            record.set("UsrDepart", department, true);

        Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);

    }

});

Подскажите,  пожалуйста, каким образом можно получить запись с данными(через esq пытался, тоже ничего)

Нравится

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

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

при загрузке лукапного поля все его поля автоматом не подтягиваются. Только Id и его дисплейное поле (Name). Поэтому, чтобы получить какое-то другое поле, нужно сделать отдельную загрузку по лукапному значению. Как вариант, можно использовать утилитный метод Terrasoft.DataUtils.loadRecordById или Terrasoft.DataUtils.loadRecords:

Terrasoft.DataUtils.loadRecordById({
   recordId: recordId,
   modelName: modelName,
   columns: [],
   expandLookupColumns: false,
   callback: function(loadedRecord) {
      // Здесь получаешь значение департамента, устанавливаешь его в поле UsrDepart и вызываешь success правила.
      Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);
   },
   scope: this
});

Алёна Доля,

Спасибо за пояснение.

Правило вроде отрабатывает, но как-то через раз, и только на одном значении...

Такой код:

Terrasoft.sdk.Model.addBusinessRule("Zakupka", {

    name: "AutoSetDepartByOrder",

    ruleType: Terrasoft.RuleTypes.Custom,

    triggeredByColumns: ["Order"],

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

    executeFn: function (record, rule, column, customData, callbackConfig, event) {

        var order = record.get("Order");

        var orderId = order ? order.get("Id") : null;

        if (orderId) {

            Terrasoft.DataUtils.loadRecordById({

                recordId: orderId,

                modelName: "Order",

                columns: ["Podrazdel","Account"],

                expandLookupColumns: false,

                callback: function (loadedRecord) {

                    var department = loadedRecord.get("Podrazdel");

                    var departmentId = department ? department.get("Id") : null;

                    record.set("Depart", departmentId, true);

                    var account = loadedRecord.get("Account");

                    var accountId = account ? account.get("Id") : null;

                    record.set("Account", accountId, true);

                    Ext.callback(callbackConfig.success, callbackConfig.scope, [true]);

                },

                scope: this

            });

        }

    }

});

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

Добрый вечер ! Как настроить бизнес правила для группы полей которые находятся во вкладке.

Пример

На странице раздела есть вкладка под названием "Карточка" Code (ProjectMap)

в "Карточка" есть 5 групп полей .

Нужно чтобы  (Если)

поле "Название проекта" (Поле не находится в той же вкладке) НЕ Заполнено 

ТО

Делать поле редактируемым 

и тут уже не поле, а группы полей которые находятся во вкладке "Карточка"

Пробывал следующим образом : Тип "Поле" заменяю на "Атрибут" тут пишу Code(ProjectMap) (Система определяет его ) после сохраняю обнавляю, но б.правило не отрабатывает . 

Для теста попробывал сделать редактируемым какое-то НЕ Атрибут а обычное Поле - всё ок , всё робит .

 

Нравится

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

Добрый день!

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

Как вариант можно настроить несколько бизнес-правил редактирования на все поля из группы.

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

Yanina Ryssjanova,

 

Добрый день. Полей много - всего  45  ))) 

Просто скрывать для этой задачи к сожалению не получится ) Информация должна быть видимым (( ,спасибо за отклик! 

Tigran Gevorgyan пишет:

Yanina Ryssjanova,

Добрый день. Полей много - всего  45  ))) 

Просто скрывать для этой задачи к сожалению не получится ) Информация должна быть видимым (( ,спасибо за отклик! 

Сделайте 2 вкладки. На одной одно состояние (редактируемое), на другое - другое. Прячьте ненужную вкладку с помощью правил

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

 

Да, как вариант подойдёт , но в этом случае тоже потребуется для отображении значений полей в 2 вкладках 45 правил . Решил созданием 45 правил , пока не решут вопрос с разрабом. Всем спасибо .

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

Всем привет!

Добавила в бизнес правилах такие условия редактирования поля: 

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

При наступании на активный рядок в консоли появляется ошибка "Product.UsrBasicPriceExist" была удалена или переименована. Но поле в Продуктах(UsrBasicPriceExist) точно существует. Кто-то пробовал делать что-то подобное в бизнесс правилах? Возможно лучше переписать условие кодом?

Нравится

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

Анастасия, здравствуйте.



Для исправления необходимо включить фичу LoadLookupColumnsInEditGrid, скрипт во вложении.



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

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

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



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

 

Скрипт включения фичи ниже.

 

DECLARE @featureCode varchar(max) = 'LoadLookupColumnsInEditGrid',

 @featureId uniqueidentifier;

set @featureId = (select top 1 Id from Feature where Code = @featureCode);

IF @featureId is null

BEGIN

 insert into Feature

  (Name, Code)

 values

  (@featureCode, @featureCode);

 set @featureId = (select top 1 Id from Feature where Code = @featureCode);

END;

delete from AdminUnitFeatureState where FeatureId = @featureId;

insert into AdminUnitFeatureState

 (SysAdminUnitId, FeatureState, FeatureId)

values

 ('A29A3BA5-4B0D-DE11-9A51-005056C00008', 1, @featureId),

 ('720B771C-E7A7-4F31-9CFB-52CD21C3739F', 1, @featureId);

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

Добрый день! 



Каким образом можно реализовать автозаполнение региона и федерального округа при выборе города, это должно быть два бизнес-правила? 

Нужно использовать 3 справочника (города, регионы, федеральные округа)? 

Можно ли использовать один многоуровневый справочник? Если да, то как его создать? 

Нравится

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

Справочник города содержит страну и регион (область/штат называется). Справочник Регион содержит страну. Как вариант добавить в справочники Город и Регион (обласи/штаты) поле Федеральный округ (тоже справочником). Далее создать правила по фильтрации значений в справочниках Регион от Федерального округа, Город от Региона в правиласх поставить галки. Все будет работать.

примеров в системе много

Справочник города содержит страну и регион (область/штат называется). Справочник Регион содержит страну. Как вариант добавить в справочники Город и Регион (обласи/штаты) поле Федеральный округ (тоже справочником). Далее создать правила по фильтрации значений в справочниках Регион от Федерального округа, Город от Региона в правиласх поставить галки. Все будет работать.

примеров в системе много

Алексей Следь,

Спасибо! 

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

Добрый день! 



Как настроить бизнес-правило для автоматического заполнения логического поля при выборе определенного значения из справочника.  

Нравится

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

Насколько знаю, сейчас такой функционал недоступен.

Вариант 1 - это написать спкрип на странице редактирования.

Вариант 2 - попробовть в справочнике добавить логическое поле и из него уже заполнять значение бизнес-правилом. 

 

Я бы сделал первым вариантом.

Насколько знаю, сейчас такой функционал недоступен.

Вариант 1 - это написать спкрип на странице редактирования.

Вариант 2 - попробовть в справочнике добавить логическое поле и из него уже заполнять значение бизнес-правилом. 

 

Я бы сделал первым вариантом.

Алексей Следь,

Спасибо! 

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

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

Отобразить вкладку Админ только пользователям с ролью 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…

 

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

Спасибо!

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