Вопрос

Проблема при добавления пользовательского раздела в хронологию

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



1. Создал CHGiftRequestTimelineItemViewModel

define("CHGiftRequestTimelineItemViewModel", ["CHGiftRequestTimelineItemViewModelResources", "BaseTimelineItemViewModel"],

    function() {

        Ext.define("Terrasoft.configuration.CHGiftRequestTimelineItemViewModel", {

            alternateClassName: "Terrasoft.CHGiftRequestTimelineItemViewModel",

            extend: "Terrasoft.BaseTimelineItemViewModel"

        });

    });

2.  Создал CHGiftRequestTimelineItemView

// Определение модуля и его зависимостей.

define("CHGiftRequestTimelineItemView", ["CHGiftRequestTimelineItemViewResources", "BaseTimelineItemView"], function() {

    // Определение класса представления плитки.

    Ext.define("Terrasoft.configuration.CHGiftRequestTimelineItemView", {

        extend: "Terrasoft.BaseTimelineItemView",

        alternateClassName: "Terrasoft.CHGiftRequestTimelineItemView",

        // Переопределенный метод, возвращающий общую конфигурацию плитки.

        getBodyViewConfig: function() {

            // Получение стандартных настроек.

            var bodyConfig = this.callParent(arguments);

            // Добавление конфигураций дополнительных полей.

            return bodyConfig;

        }

    });

});

 

3. Отредактировал таблицу TimelinePageSetting(добавил первый объект в jsonб перед тем вытащил то что там было и сформировал на основе этого новый json)



declare @json varchar(max) = N'

[

  {

    "entityConfigKey": "667D4B5C-FF4E-46CE-A204-CC34CF2CAF29",

    "referenceColumnName": "CHAccount",

    "entitySchemaName": "CHGiftRequest",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "706f803d-6a30-4bcd-88e8-36a0e722ea41",

    "entitySchemaName": "Activity",

    "typeColumnName": "Type",

    "typeColumnValue": "fbe0acdc-cfc0-df11-b00f-001d60e938c6",

    "referenceColumnName": "Account",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "09a70391-b767-40ab-97b8-6d1b538adbe6",

    "entitySchemaName": "Activity",

    "typeColumnName": "Type",

    "typeColumnValue": "e2831dec-cfc0-df11-b00f-001d60e938c6",

    "referenceColumnName": "Account",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "aeca6df0-5c89-4066-bdfa-eff486ae8fed",

    "entitySchemaName": "Call",

    "referenceColumnName": "Account",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "35b5c45f-36e7-450f-a282-81c56624d29e",

    "entitySchemaName": "SocialMessage",

    "referenceColumnName": "EntityId",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "59de07a7-28dd-4dc9-a106-a07cb9981423",

    "entitySchemaName": "AccountFile",

    "typeColumnName": "Type",

    "typeColumnValue": "529bc2f8-0ee0-df11-971b-001d60e938c6",

    "referenceColumnName": "Account",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "26d211f2-dcbb-4df8-bc17-32e316c73e78",

    "entitySchemaName": "Lead",

    "referenceColumnName": "QualifiedAccount",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "0bb69933-4ddc-4d89-88c6-ee1d33048e30",

    "entitySchemaName": "Opportunity",

    "referenceColumnName": "Account",

    "masterRecordColumnName": "Id"

  },

  {

    "entityConfigKey": "09a6dad5-036b-4075-a813-e8278a5360ea",

    "referenceColumnName": "Account",

    "typeColumnName": "Type",

    "typeColumnValue": "539bc2f8-0ee0-df11-971b-001d60e938c6",

    "entitySchemaName": "AccountFile",

    "masterRecordColumnName": "Id"

  }

]'

DECLARE @BinaryVariable2 VARBINARY(MAX); 

SET @BinaryVariable2 = CONVERT(VARBINARY(max), @json)

IF (select COUNT(*) from TimelinePageSetting where [Key]='AccountPageV2') > 0 

    UPDATE TimelinePageSetting set Data = @BinaryVariable2 where [Key]='AccountPageV2'

ELSE

    INSERT INTO TimelinePageSetting ([Key], [Data]) VALUES ('AccountPageV2', @BinaryVariable2)

 

4. Создал новую запись в таблице TimelineTileSetting



declare @json varchar(max) = N'

{

 "entitySchemaName": "CHGiftRequest",

 "viewModelClassName": "Terrasoft.CHGiftRequestTimelineItemViewModel",

 "viewClassName": "Terrasoft.CHGiftRequestTimelineItemView",

 "orderColumnName" : "CreatedOn", 

 "authorColumnName" : "CHOwner",

 "captionColumnName" : "CHName"

}'

DECLARE @BinaryVariable2 VARBINARY(MAX); 

SET @BinaryVariable2 = CONVERT(VARBINARY(max), @json)

IF (select COUNT(*) from TimelineTileSetting where [name]='CHGiftRequest') > 0 

    UPDATE TimelineTileSetting set Data = @BinaryVariable2 where [name]='CHGiftRequest'

ELSE

    INSERT INTO TimelineTileSetting ([name], [Data]) VALUES ('CHGiftRequest', @BinaryVariable2)

Проверил все изменения в конфигурационные объекты были произведены, но в хронологии новый раздел так и не добавился. Подскажите в чем может быть проблема. Заранее благодарен за помощь

Нравится

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

Есть подробная инструкция по добавлению с кучей шагов. Может, у Вас что-то пропущено? Ну и банально, может, после чистки Redis и перезапуска сайта всё появится?

Зверев Александр,

Не помогло. Вроде ничего не пропустил сделал все как в инструкции. Поэтому и пишу сюда)

Попробуйте создать на тесте ещё один. Если создастся нормально, то в первый раз что-то пропущено.

Конфиг чувствителен к регистру, скорее всего надо заменить "entityConfigKey": "667D4B5C-FF4E-46CE-A204-CC34CF2CAF29", на "entityConfigKey": "667d4b5c-ff4e-46ce-a204-cc34cf2caf29"

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