Фильтры
//атрибуты
"NrbContractNumber": {
    "contentType": this.Terrasoft.ContentType.SEARCHABLE_TEXT,
    "searchableTextConfig": {
        "listAttribute": "ContractNumberSearchList",
        "prepareListMethod": "prepareContractNumberSearchList",
        "listViewItemRenderMethod": "onContractNumberSearchListViewItemRender",
        "itemSelectedMethod": "onContractSearchItemSelected"
    },
},
"ContractNumberSearchList": {
    "dataValueType": Terrasoft.DataValueType.COLLECTION
},
 
//методы
init: function () {
    this.callParent(arguments);
    this.set("ContractNumberSearchList", new Terrasoft.Collection());
},
 
prepareContractNumberSearchList: function (filterValue) {
    if (filterValue.length >= 3) {
        this.searchContractByNumber(filterValue, this.loadSearchList, this);
    } else {
        this.clearSearchList("ContractNumberSearchList");
    }
},
 
searchContractByNumber: function (contractNumber, callback, scope) {
    const esq = Ext.create("Terrasoft.EntitySchemaQuery", {
        rootSchemaName: "NrbContract",
        rowCount: 10
    });
 
    esq.addColumn("Id", "Id");
    esq.addColumn("NrbNumber", "NrbNumber");
    esq.addColumn("NrbAccount.Id", "AccountId");
    esq.addColumn("NrbAccount.Name", "AccountName");
    esq.addColumn("NrbAccount.NrbKpp", "AccountKpp");
    esq.addColumn("NrbAccount.NrbTIN", "AccountTin");
    esq.addColumn("NrbAccount.NrbState.Name", "AccountState");
 
    esq.filters.addItem(Terrasoft.createColumnIsNotNullFilter("NrbAccount"));
    esq.filters.addItem(Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.START_WITH, "NrbNumber", contractNumber));
 
    esq.getEntityCollection(function (response) {
        Ext.callback(callback, scope, [response, "ContractNumberSearchList"]);
    }, scope || this);
},
 
loadSearchList: function (response, listName) {
    var list = this.get(listName);
    list.clear();
    list.loadAll(response.collection);
},
 
onContractNumberSearchListViewItemRender: function (item) {
    if (Ext.isEmpty(item)) {
        return;
    } 
    item.displayValue = item.values.NrbNumber;
    var itemValue = item.value = item.values.Id;
 
    var values = [
        item.values.NrbNumber,
        item.values.AccountName,
        item.values.AccountTin,
        item.values.AccountKpp,
        item.values.AccountState
    ].filter(function (item) {
        return !Ext.isEmpty(item);
    });
 
    var tpl = "<div	class=\"listview-item-info\" data-value=\"{0}\"> {1} </div>";
    item.customHtml = item.values.customHtml = this.Ext.String.format(tpl, itemValue, values.join(' | '));
},
 
onContractSearchItemSelected: function (contract) {
    if (Ext.isEmpty(contract)) {
        return;
    }
 
    this.loadLookupDisplayValue("Account", contract.values.AccountId);
    this.loadLookupDisplayValue("NrbContract", contract.values.Id);
    this.set("NrbName", contract.values.AccountName);
    this.set("NrbInn", contract.values.AccountTin);
    this.set("NrbKpp", contract.values.AccountKpp);
},

 

Нравится

Поделиться

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

а как это выглядит? :)

Присоединяюсь к вопросу выше)

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

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

Собственно настройка акций – это сердце программы лояльности. В этом разделе мы формируем то самое предложение, благодаря которому клиенты остаются с нами.

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

В новом релизе 2.18 Loyalty Creatio была поставлена цель – сделать возможности для настройки поощрений клиентов еще более гибкими и удобными, чтобы продукт был наиболее применимым к бизнесу наших клиентов.

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

Нравится

Поделиться

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

External File Storage for Creatio - программное решение, благодаря которому можно удобно хранить документы во внешних ресурсах, тем самым значительно разгрузить базу данных системы.

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

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

О том, что мы добавили в этот раз, можете почитать в нашей статье.

Нравится

Поделиться

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

#Вакансия 
#FullStack Developer [.NET+JS or Creatio or MS Dynamics CRM]
#Удалённо #fulltime
Компания : CRMGURU
 ====
💁‍♀Мы — компания - интегратор
🏆Более 10 лет выступаем для проектов крупного бизнеса, как #CRM- реализатор
🤺Работаем с #Creatio и #MSDynamicsCRM
🤾‍♂Включая интеграции разных подсистем.

🎊Скоро #НовыйГод и начало Нового проекта
🙏В ТОП-1 на Рынке страховых услуг субъекта
🙋‍♀Собираем в команду специалистов
👨‍💻CREATIO - РАЗРАБОТЧИКОВ и 👩‍🏫БИЗНЕС-АНАЛИЗа- евангелистов.

✈Проект с нуля, высонагруженная система
📊Планируется более 30 интеграций
🌪От 3000 пользователей на старте автоматизации.
😁😁😁Приглашаю обсудить! 🙂

TG/Skype: ❤💁@id390499615 (@artalex1234)

Нравится

Поделиться

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

smiley Skype/ Telegram artalex1234

📧 hr@crmguru.ru

Показать все комментарии
getNotificationRefundingMoney: function(fieldName) {
 
				this.showConfirmationDialog(
					`${resources.localizableStrings.DialogNotificationRefundingMoneyWarningTitle} 
					 ${resources.localizableStrings.DialogNotificationRefundingMoneyOfferTitle}
					 ${resources.localizableStrings.DialogNotificationRefundingMoneyTitle}`, 
					function(result) {
						if (result === "transfer") {
							this.loadLookupDisplayValue(fieldName, NrbDirectoryConstants.NrbCaseSubThema.Transfer);
						} else {
							return;
						}
					}, 
					[
						{
							className: 'Terrasoft.Button',
						 	returnCode: 'transfer',
						 	style: 'green',
						 	caption: resources.localizableStrings.ButtonTransferCaption
						},
						{
							className: 'Terrasoft.Button',
							returnCode: 'return',
							style: 'blue',
							caption: resources.localizableStrings.ButtonReturnCaption
						}
					]);
 
				$(".ts-messagebox-box").css({"width": "500px"});
				$(".ts-messagebox-box .ts-messagebox-caption").css({"text-align": "center"});
              	$(".ts-messagebox-box .t-btn-style-blue").css({"float": "right"});
			},
		});

 

Нравится

Поделиться

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