/*
* Вызывает Бизнес-процесс обновления отклика в мероприяиях.
*/
callMassiveChangeResponseEventProcess: function (resultValueId) {
	let selectedItems = this.getSelectedItems();
	if (!Ext.isEmpty(resultValueId) && !Ext.isEmpty(selectedItems)) {
 
		let selectedItemsJson = JSON.stringify(selectedItems);
 
		let args = {
			sysProcessName: "NrbMassiveChangeResponseEvent",
			parameters: {
				NrbRecordsId: selectedItemsJson,
				NrbEventResponseId: resultValueId
			},
			callback: function () {
                       //скрытие маски
				this.hideBodyMask();
                       //перезагрузка детали
				this.reloadGridData();
			},
			scope: this
		};
		ProcessModuleUtilities.executeProcess(args);
	};
},

 

Нравится

Поделиться

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

У меня есть деталь, она находится на странице заявки, мне нужно переопределить кнопку добавления на детали, что успешно сделал, но для моей логики мне надо отследить с какого именно раздела она была нажата и получить id, такое возможно?

Нравится

2 комментария
addRecord: function() {
              	var defaultValues = this.get("DefaultValues");
 
              	this.console.log("Данные")
              	this.console.log(defaultValues);
			 	this.showInformationDialog("Select All not implemented yet...");
 
 
			// 	//this.callParent(arguments);
 
			 },

Случайно нашел, в дефолт валуис =) содержится необходимая нам информация , айди и представление

Dima Avdoshin,

Все правильно там оно и лежит. Можете еще вывести console.log(this); там в values и не только можно найти интересные значения.

Также можно самому дописывать значения в defaultValues в коде карточки на которой размещена деталь.

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

Добрый день. Можете подсказать как добавить дополнтельную кнопку после + и троеточия? 

 

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

Нравится

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

Например так, в схему нужно детали добавить код:

diff: /**SCHEMA_DIFF*/[
	{
		"operation": "insert",
		"name": "ButtonName",
		"parentName": "Detail",
		"propertyName": "tools",
		"values": {
			"itemType": Terrasoft.ViewItemType.BUTTON,
			"style": Terrasoft.controls.ButtonEnums.style.DEFAULT,
			"caption": resources.localizableStrings.ButtonCaption,
			"visible": { 
				"bindTo": "isButtomEnabled" 
			},
			"click": { 
				"bindTo": "buttomClick" 
			}
		}
	}
]/**SCHEMA_DIFF*/,

isButtomEnabled - метод для проверки видимости кнопки, если нужно всего отображать, то просто вернуть true

"caption": resources.localizableStrings.ButtonCaption - название кнопки (из строк локализации)

buttomClick - метод, который запускается при клике на кнопку

Например так, в схему нужно детали добавить код:

diff: /**SCHEMA_DIFF*/[
	{
		"operation": "insert",
		"name": "ButtonName",
		"parentName": "Detail",
		"propertyName": "tools",
		"values": {
			"itemType": Terrasoft.ViewItemType.BUTTON,
			"style": Terrasoft.controls.ButtonEnums.style.DEFAULT,
			"caption": resources.localizableStrings.ButtonCaption,
			"visible": { 
				"bindTo": "isButtomEnabled" 
			},
			"click": { 
				"bindTo": "buttomClick" 
			}
		}
	}
]/**SCHEMA_DIFF*/,

isButtomEnabled - метод для проверки видимости кнопки, если нужно всего отображать, то просто вернуть true

"caption": resources.localizableStrings.ButtonCaption - название кнопки (из строк локализации)

buttomClick - метод, который запускается при клике на кнопку

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

Добрый день всем!

Можно ли в детали с редактируемым реестром сделать возможность вывода значения в процентах? То есть в БД будет лежать значение 0.2. А выводиться будет 20% (со знаком процента).

Пока в голову только пришла идея с добавлением строкового значения в таблицу в БД, в которой будет лежать строка "20 %" и соответственно её выводом, но такое решение некрасивое

Нравится

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

Линар, наверное, так будет действительно проще. Ещё можно смотреть в сторону доработки схемы ConfigurationGridUtilities, отвечающей за такой реестр: добавления там проверки на конкретное поле конкретного объекта и преобразовании в нужный вид при открытии в функции generateActiveRowControlsConfig и при сохранении в saveDataRow. Вопрос модификации редактируемого реестра с другой целью описан тут.

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

Есть Объект со статусами Новое-В работе-Выполнено. В объекте есть деталь. Запись объекта создает Подразделение "А". Создает в статусе "Новое". Добавляет данные в деталь. Потом переводят в статус "В работе". Данные из детали анализирует подразделение "Б". Когда завершают работу, переводя на статус "Выполнено".

Требуется запретить изменять объект и данные в детали для подразделения "А" в момент когда статус объекта не равен "Новое". Если с запретом на изменение данных проблем нет - все решается администрированием Объекта по записям и наследование полномочий в детали от Объекта, а бизнес-процессом отбираем права на редактирование при смене статуса. То вот с запретом на добавление данных в деталь случился небольшой затык. Как это можно сделать?

Нравится

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

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

Стандартно она такая:

/**
 * Determines, if add record button is enabled.
 * @private
 * @returns {Boolean} - Flag of add record button enabled.
 */
_isAddRecordButtonEnabled: function() {
	const isDetailEnabled = this.get("IsEnabled");
	if (this.isEmpty(isDetailEnabled)) {
		return true;
	}
	return isDetailEnabled;
},
 
/**
 * ########## ########### ###### ########## ######.
 * @return {Boolean}
 */
getAddRecordButtonEnabled: function() {
	return this._isAddRecordButtonEnabled();
},
 
/**
 * ########## ########### ###### # #### ########## ######.
 * @return {Boolean}
 */
getAddTypedRecordButtonEnabled: function() {
	return this._isAddRecordButtonEnabled();
},

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

 

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

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

Есть деталь с набором однотипных boolean-полей. Количество записей, отображаемых в детали, может исчисляться несколькими десятками. Изображение удалено.

Стандартно в Creatio подгрузка новых записей делается через кнопку "Показать больше" внизу детали. Но при большом количестве записей прокрутка списка уводит заголовки столбцов за пределы видимости. В моем примере, как можно видеть, по тексту столбца понять, что за столбец, нереально, а запомнить их порядок наизусть - пользователям неудобно, и их можно понять...



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

В общем, очевидных решений тут два:

1. Зафиксировать заголовки сверху грида и скроллить грид где-то внутри себя.

2. Как-то заменить скроллинг грида - вместо кнопки "Показать больше" сделать постраничное листание списка с номерами страниц и ограниченным количеством записей на каждой странице.



Третье, неочевидное решение -

3. Вывесить всплывающие подсказки на строки грида, чтобы при наведении на столбец всплывало его название. Сошло бы на худой конец.



Проблема в том, что я не знаю, как реализовать любое из этих решений, да и возможно ли реализовать их вообще (версия 7.15). Подскажете?

Нравится

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

Юрий, фиксация заголовков реализована в 7.15.2. Если у Вас 7.15.0, то обновитесь. Но это для основного реестра. Для детали — пока только идея заведена.

Юрий, фиксация заголовков реализована в 7.15.2. Если у Вас 7.15.0, то обновитесь. Но это для основного реестра. Для детали — пока только идея заведена.

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

Пробывал разные варианты и filterMethod и lookupListConfig с указанием нужного поля, но для редактируемого реестра не заводится, каким еще способом можно отфильтровать записи справочного поля в детали с редактируемым реестром при создании или же изменении записи на детали?

Нравится

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

Добрый вечер.

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

Проблема решена при помощи переопредления метода:

getGridRowViewModelConfig: function(config) {

                var result = this.callParent(arguments);

                if (result && result.rowConfig && result.rowConfig.Contact) {

                    result.rowConfig.Contact.lookupListConfig = {

                        "filters": [

                            function() {

                                var vendor = this.get("Vendor");

                                var filterGroup = Ext.create("Terrasoft.FilterGroup");

                                if (vendor && vendor.value) {

                                    filterGroup.add("Account",

                                        Terrasoft.createColumnFilterWithParameter(

                                            Terrasoft.ComparisonType.EQUAL, "[AccountInVendor:Account:Account].Vendor", vendor.value));

                                } else {

                                    filterGroup.add("Empty", Terrasoft.createColumnIsNullFilter("Id"));

                                }

                                

                

                                return filterGroup;

                            }

                        ]

                    };

                }

                return result;

            },

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

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

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

Нравится

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

Добрый день!



Есть необходимость упростить работу пользователей с подчиненной деталью.

Слева расположить главную деталь (например, со списком контактов), а справа от неё деталь с документами выделенного контакта.

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



Кто-то реализовывал что-то подобное? Есть примеры или идеи, куда копать?



Спасибо

Нравится

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

Доброе утро.

Делала подобное, только детали располагала одна под другой.

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

Доброе утро.

Делала подобное, только детали располагала одна под другой.

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

Владимир, ещё тему двух деталей и нужных связей обсуждали тут.

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

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

Доброго дня, коллеги!

 

У меня появилась потребность через полнотекстовый поиск находить строку из детали. Как правильно редактировать этот поиск, чтобы можно было находить информацию из деталей? Сама деталь основана на новом объекте.

 

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

Нравится

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

Михаил, насколько понимаю, сейчас такое нельзя:

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

Но уже зарегистрирована идея расширения поиска на детали. Там же предлагают обходное решение: при помощи БП копировать значения поля всех записей с детали в специально созданное поле в объекте раздела и искать по нему.

Михаил, насколько понимаю, сейчас такое нельзя:

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

Но уже зарегистрирована идея расширения поиска на детали. Там же предлагают обходное решение: при помощи БП копировать значения поля всех записей с детали в специально созданное поле в объекте раздела и искать по нему.

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