Как сделать множественный выбор в справочнике ? bpm 7.8

Нравится

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

Здравствуйте,
Поищите в системе упоминания строчки: multiSelect: true
Т.к. открыть справочник с мультивыбором можно передав в конфиг открытия именно это свойство. К примеру:

var config = {
   entitySchemaName: "Product",
   multiSelect: true,
   columns: ["Name", "Price", "Currency"]
};
 
this.openLookup(config, this.addCallBack, this);

А в функции колбека с результатом этого выбора уже что-то делать:

addCallBack: function(args) {
   this.selectedRows = args.selectedRows.getItems();
   this.selectedRows.forEach(function(item) {
      // какие-то действия
   }, this);
}

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

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

Пример можно найти в схеме ActivityParticipantDetailV2.

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

В версии 7.8 в кастомном разделе есть несколько страниц редактирования, в схемы которых мы периодически вносим свои изменения. С некоторых пор при переходе в дизайнеры некоторых страниц редактирования этого раздела из клиентского интерфейса стало выдавать ошибку "Невозможно настроить страницу. Для данной страницы нет возможности выполнить настройку при помощи мастера. Обратитесь к администратору системы". В чем может быть причина? Как исправить такую ошибку?

Нравится

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

Добрый день.

Как удалить деталь, которая обьявлена в родительской схеме, из замещаемой схемы?

Нравится

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

В системе по умолчанию в типе колонки "Справочник" стоит максимальное значение 15. Нужно увеличить его до 40, как можно это сделать?

Нравится

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

Добрый день!

Как в новом подходе смены стадии (версии 7.8) можно некоторые стадии сделать недоступными в зависимости от некоторых условий (заполненность полей или наличие определенных данных)?
Также, как сделать недоступными некоторые кнопки в Case (например, невозможность Resolve при незаполненности Solution)?

Было бы хорошо при этом еще выдавать информацию, что именно мешает выполнению данной стадии

case state

Нравится

5 комментариев

Это новый компонент - ActionsDashboard
Вам нужно заместить его схему и добавить свою логику
Подробности - в документации разработчика
https://academy.terrasoft.ru/documents/technic-sdk/7-8/dobavlenie-instr…
https://academy.terrasoft.ru/documents/technic-sdk/7-8/dobavlenie-novog…

"Симута Роман Русланович" написал:Подробности - в документации разработчика

Спасибо за прогнозируемый ответ.

Но документацию изучили. Про добавление нового канала вопрос не стоял.

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

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

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

Плотников ДИ,

Нет, сделали валидацию при сохранении. Конечно, неудобно, но работает

"Спасибо за прогнозируемый ответ." - тонко)

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

Подскажите, как сделать сортировку по умолчанию в мобильном приложении к примеру:
в Продажах по полю "Дата создания" DESC. Т.е. вверху самые новые Продажи.

Нравится

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

Коллеги, доброго времени суток.

Создали деталь с редактируемым реестром, всё по примеру: https://academy.terrasoft.ru/documents/technic-sdk/7-8/sozdanie-detali-s... + к детали добавлен выбор из справочника.

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

Версия 7.8.

Заранее спасибо за ответ.

Нравится

8 комментариев

Здравствуйте
Нужно в схеме детали для этой колонки установить свойство "enabled": false

Роман, здравствуйте! Можете пояснить - вот например, массив модификаций в схеме детали с редактируемым реестром:

// Массив модификаций.
            diff: /**SCHEMA_DIFF*/[
                {
                    // Тип операции — слияние.
                    "operation": "merge",
                    // Название элемента схемы, над которым производится действие.
                    "name": "DataGrid",
                    // Объект, свойства которого будут объединены со свойствами элемента схемы.
                    "values": {
	                    "className": "Terrasoft.ConfigurationGrid",
	                    "generator": "ConfigurationGridGenerator.generatePartial",
	                    "generateControlsConfig": {"bindTo": "generatActiveRowControlsConfig"},
	                    "changeRow": {"bindTo": "changeRow"},
	                    "unSelectRow": {"bindTo": "unSelectRow"},
	                    "onGridClick": {"bindTo": "onGridClick"},
	                    "activeRowActions": [
	                            {
	                                    "className": "Terrasoft.Button",
	                                    "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
	                                    "tag": "save",
	                                    "markerValue": "save",
	                                    "imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
	                            },
	                            {
	                                    "className": "Terrasoft.Button",
	                                    "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
	                                    "tag": "cancel",
	                                    "markerValue": "cancel",
	                                    "imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
	                            },
	                            {
	                                    "className": "Terrasoft.Button",
	                                    "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
	                                    "tag": "remove",
	                                    "markerValue": "remove",
	                                    "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
	                            }
	                    ],
	                    "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
	                    "activeRowAction": {"bindTo": "onActiveRowAction"},
	                    "multiSelect": {"bindTo": "MultiSelect"},
	                    "type": "listed",
			    "listedConfig": {
			    "name": "DataGridListedConfig",
							"items": [
								{
									"name": "UsrRoomNameLinkListedGridColumn",
									"bindTo": "UsrRoomNameLink",
                                                                        "enabled":false, 
									"position": {
										"column": 1,
										"colSpan": 10
									}
								},
								{
									"name": "UsrRoomsCountListedGridColumn",
									"bindTo": "UsrRoomsCount",
									"position": {
										"column": 11,
										"colSpan": 5
									}
								}
							]
						},
	            	}
                }
            ]/**SCHEMA_DIFF*/

UsrRoomNameLink - название той самой колонки, для которой требуется запретить редактирование. Если я там указываю enabled:false - это не срабатывает.

Попробуйте на том месте
"values": { "enabled":false}
только с запятой

Роман, всё равно не помогло.

Роман, всё равно не помогло.

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

Денис, колонку можно (и нужно) сделать недоступной для редактирования на странице редактирования детали.
Посмотрите как это реализовано в детали "Продукт в заказе" (OrderProductDetailV2). Реализация недоступности поля для редактирования происходит в OrderProductPageV2.

Всем спасибо за советы, задачу решил при помощи бизнес-правил.

"Смородинов Денис" написал:OrderProductDetailV2

Денис, подскажите как?

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

Добрый день.
Не совсем понятен механизм использования параметра placeholder в страницах редактирования, в частности интересует использование для элементов преднастроенной страницы (PreconfiguredPageV2)?

Нравится

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

Альтернативный вопрос.
Как Lable поля отобразить не слева, а над полем, как у элеметов в ProfileContainer страницы CasePage?
Изображение

Здравствуйте, за такое поведение элементов в левой панели ответственны css стили, среди которых, в частности:
display: inline-block;
text-align: left;
padding-left: 1px;
Написанные под селектором .left-modules-container и некоторыми доп. условиями в разных вариациях в BasePageV2CSS.
Вы можете дописать такие же стили, или другие, для своих элементов, подключив пользовательские стили, и написав их на удобных вам в вашей ситуации селекторах.

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

Рады сообщить о выпуске нового видеоурока по работе с продуктами линейки service bpm'online.

Из видеоурока "Обработка обращений в bpm'online" вы узнаете, какие стадии проходят обращения при обработке и какие инструменты есть в bpm'online для работы над обращениями.

Видео доступно по ссылке: Обработка обращений в bpm'online

Больше видеоуроков смотрите на сайте Академии Terrasoft.

Нравится

Поделиться

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

Здравствуйте. Есть две даты. Первая это дата регистрации клиента а вторая - это дата первого звонка клиенту. В БП хочу вычислить сколько секунд уходит на то чтобы связаться с клиентом после регистрации. Для этого нужно посчитать эти секунды.

Когда я отнимаю от второй даты первую , то получаю параметр типа Timespan. И не могу его записать не в дату не у время в параметрах БП. То в какой параметр мне его можна записать?

Короче, вопрос в том. что мне нужно получить целое значение в секундах этого времени и записать в карточку контакта. Есть идеи как это реализовать?

Нравится

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

Для структуры TimeSpan есть свойство TotalSeconds

ps поправил

Кажется, у TimeSpan есть свойство TotalSeconds

Да, есть но как его записать например в параметр t в БП.
И какого оно будет типа?

Спасибо, разобрался!

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