Добрый день.

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

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

Нравится

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

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

 

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

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

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

В бизнес-процессе есть элемент "Преднастроенная страница", которая показывается определенному пользователю для заполнения данных. 

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

 

Нравится

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

У элемента "Преднастроенная страница" есть поле "Кому открыть страницу?", указываете в формуле нужного контакта.

У элемента "Преднастроенная страница" есть поле "Кому открыть страницу?", указываете в формуле нужного контакта.

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

Доброго времени суток, коллеги подскажите пожалуйста есть ошибка которая часто повторяется когда переходишь по преднастроенным старницам нажимаешь на кнопку для перехода к следующей странице в строке браузера урл меняется на следующую страницу при этом переход не осуществляется страница остается текущая в консоли появляется следующая ошибка Cannot set property 'showNextPrcEl' of undefined  (скрине 1). Сделал замещение в модуле CustomProcessPageV2Utilities что бы посмотреть что приходит в объекты currentState и newState в методе completeExecution оба не пустые (скрин 2). в БП процесс движется к следующему элементу если есть или если он конечный то завершается без ошибок. Подскажите  что может быть и как поправить заранее благодарен

Нравится

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

Дмитрий, тут Вы писали, что это ещё связано с элементом привязки процесса к объекту. Или « Cannot set property 'showNextPrcEl' of undefined» само по себе, а остановки при попытке привязки сами?

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

Добрый день,

Есть несколько преднастроенных страниц (использую в БП). Необходимо настроить валидацию определенных полей (напр. только цифры).
Пробовала настроить по аналогии с валидацией на странице раздела, но на преднастроенной странице валидация не срабатывает.

Явно, я что-то упускаю срецифическое для преднастроенных страниц? Просьб направить в правильном направлении.

Пример метода, которй я использую:

            setValidationConfig: function() {
               this.addColumnValidator("CrpINN", this.innValidator);
            },
                innValidator: function(value) {
                var invalidMessage = "";
                var isValid = true;
                var number = value || this.get("CrpINN");
                isValid = (Ext.isEmpty(number) ||
                    new RegExp("^[0-9]{8}$").test(number));
                if (!isValid) {
                    invalidMessage = this.get("Resources.Strings.InvalidINNCodeFormat");
                }
                return {
                    invalidMessage: invalidMessage
                };
            },
      

Заранее спасибо.

 

 

Нравится

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

судя по всему проблема в том, что преднастроенная страница и обычная страница раздела унаследованы от разных родителей. Следовательно в зависимости преднастроенной нужно добавить тот модуль, в котором реализован функционал валидации. Беглым поиском нашел BaseSchemaViewModel, однако не уверен на 100%.

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

Вадим Косарев,

 Спасибо! Я обязательно разберусь с зависимостями.

 

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

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

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

 

setValidationConfig: function() {
             this.addColumnValidator("CrpPortalProductRequest1.CrpINN", this.innValidator);
            },
                innValidator: function(value) {
                
                var invalidMessage = "";
                var isValid = true;
                var number = value || this.get("CrpPortalProductRequest1.CrpINN");
            
                isValid = (Ext.isEmpty(number) ||
                    new RegExp("^[0-9]{8}$").test(number));
                if (!isValid) {
                    invalidMessage = this.get("Resources.Strings.InvalidINNCodeFormat");
                }
                return {
                    invalidMessage: invalidMessage
                };
            },

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

В разделе есть действие, которое для выделенных записей реестра запускает настроенный бизнес-процесс, меняющий значение поля или полей в этих записях.
Первым элементом бизнес-процесса идет преднастроенная страница, в которой сверху отображается список значений, которые пользователь может установить для изменения, а внизу идет деталь, которая должна отображать список с выделенными записями реестра + по логике работы процесса у пользователя должна быть возможность добавить ещё дополнительные записи в этой форме, если он это выбрал не все нужные записи на этапе запуска БП.

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

Нравится

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

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

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

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

Создана преднастроенная страница.

При открытии два обязательных поля

Проблема. Обязательность первого поля не работает. Система позволяет сохранить данные с незаполненным полемИзображение удалено.

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

Так же на атрибут повешен признак isRequired: true

Однако это не дает ровным счетом ничего

Так же, ни последующая валидация при сохранении, ни правила не помогли

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

Спасибо

 

Нравится

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

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

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

Алла Савельева, Пробовал бизнес-правила. Не помогло.
Спасибо

Дубов Андрей Владимирович,

Приведите пример Вашего кода

Без изучения кода карточки сложно сказать.

Как обходной вариант, на уровне БП проверять значение, если пусто, показывать сообщение и карточку повторно, пока не заполнит правильно.

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

Коллеги, здравствуйте. Возникла проблема - веб-сервис возвращает значения, однако мы не можем их увидеть на преднастроенной странице в bpmonline - в соответствующих полях отображаются 0 (если числовое) и пустота (если строковое). Другие веб-сервисы отображаются корректно, проблема только с одним конкретным. При этом, сам веб-сервис работает корректно, т.е. формирует и отправляет нужный запрос на bpmonline, а дальше мы не можем его отобразить. Используем простой бизнес-процесс, в котором элементы веб-сервис и преднастроенная страница. Будем признательны за помощь

Нравится

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

Добрый день,

Проблема может быть в типах данных. Если бы вы предоставили скриншоты вашего БП, вам бы быстрей помогли с вашей проблемой.

Добрый день,

Проблема может быть в типах данных. Если бы вы предоставили скриншоты вашего БП, вам бы быстрей помогли с вашей проблемой.

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

1. Фильтрация лукапа такое же как и в обычной карточке?

Вот такой код:

"UsrLookup2": {
                lookupListConfig: {
                    filter: function() {
                        var filters = new Terrasoft.createFilterGroup();
                        filters.name = "CategoryFilter";
                        filters.logicalOperation = Terrasoft.core.enums.LogicalOperatorType.AND;
                        filters.isEnabled = true;
                        filters.addItem(Terrasoft.createColumnFilterWithParameter(
                            Terrasoft.ComparisonType.NOT_EQUAL, "МоеПоле", ""));
                        //filters.addItem(Terrasoft.createIsNotNullFilter("МоеПоле"));
                        return filters;
                    }
                }
            }

Не срабатывает - в окне выбора остаются записи которые должны были пропасть, кроме того в запросе к БД - нет такого фильтра

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

Нравится

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

Радчук Виталий Владимирович,

По фильтрации лукапа: строчку 

filters.logicalOperation = Terrasoft.core.enums.LogicalOperatorType.AND;
замените на

filters.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;

И уберите вот эту строчку 

filters.isEnabled = true;

И ещё почитайте этот пост.

По второму вопросу смотрите статью на академии.

По фильтрации попробуйте вместо Вашего кода написать таким образом:

"UsrLookup2": {
                lookupListConfig: {
                    filter: function() {
                        var filters = new Terrasoft.createFilterGroup();
                        filters.logicalOperation = Terrasoft.core.enums.LogicalOperatorType.AND;
                        filters.isEnabled = true;
                        filters.add("CategoryFilter", Terrasoft.createColumnFilterWithParameter(
                            Terrasoft.ComparisonType.NOT_EQUAL, "МоеПоле", ""));
                        //filters.addItem(Terrasoft.createIsNotNullFilter("МоеПоле"));
                        return filters;
                    }
                }
            }

 

По второму вопросу посмотрите обсуждение здесь.

Алла Савельева,

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

	var config1 = {
					serviceName: "ShowReport1CService",
					methodName: "CreateReport3",
					callback: function(response) {
						var result = response.CreateReport3Result;
					},
					data: {
					},
					scope: this,
					timeout: 1000000
				};
				ServiceHelper.callService(config1);

и на стороне сервера

[OperationContract]
		[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped,
		ResponseFormat = WebMessageFormat.Json)]
		public string CreateReport3()
		{
			return "asd";

В чем моя ошибка?

Радчук Виталий Владимирович,

По фильтрации лукапа: строчку 

filters.logicalOperation = Terrasoft.core.enums.LogicalOperatorType.AND;
замените на

filters.logicalOperation = this.Terrasoft.LogicalOperatorType.AND;

И уберите вот эту строчку 

filters.isEnabled = true;

И ещё почитайте этот пост.

По второму вопросу смотрите статью на академии.

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

Добрый день!

Есть БП с элементом преднастроенная страницы. Список параметров страницы в процессе работы изменился. Часть параметров была удалена (знаю, что так нельзя, но уже свершившийся факт). Тем не менее в процессе удаленные параметры закешировались и при настройке отображения страницы отображаются. Но при добавлении нового параметра на страницу, в списке параметров в БП новые параметры не отображаются. При создании нового элемента процесса новые параметры подтягиваются, но при попытке сохранения выдает ошибку.

Открываю метаданные страницы и вижу что с этим ID как раз прописан удаленный параметр данной страницы. Вопрос: как решить данную проблему и обновить список параметров для страницы?

Нравится

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

Добрый день, Дмитрий!

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

Пробовали удалить из процесса и добавить заново элемент с данной преднастроенной страницей?

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

Коллеги, подскажите, как в преднастроенной странице, которая в бизнес-процессах сделать зависимость полей?

Есть два поля "Страны" и "Города" оба поля лукапы. Как при выборе Страны фильтровать значения в поле "Города"?

 

Нравится

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

Евгений, посмотрите с 24 минуты https://academy.terrasoft.ru/webinar/qa-sessiya-po-funkcionalnosti-plat…

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

Настройка бизнес-правил для преднастроенных страниц реализована в версии 7.12.0. Вы можете настроить бизнес - правила для добавления фильтрации по аналогии с настройкой в мастере раздела.

Для Вашей задачи правило будет выглядеть примерно следующим образом: Если - то.

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