Время создания
Фильтры
			/**
			* Блокирует открытие карточки редактирования.
			*/
			editRecord: Terrasoft.emptyFn,

 

Нравится

Поделиться

0 комментариев
Показать все комментарии
//атрибуты
"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

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