Добрый день!
Хочу добавить панель редактирования текста к существующему полю сообщения, но необходимая панель у него не появляется

Следовал инструкции https://community.terrasoft.ua/questions/izmenenie-teksta-v-kommentariy…

Для этого создал замещающую модель представления базовой схемы SocialFeed из пакета ESN, после чего удалось отрисовать новое поле с редактором

 

diff: [
// Сообщение в которое хочу добавить редактор текста 
//Зеленый блок на картинке
{
	"operation": "insert",
	"name": "SocialMessageEdit",
	"parentName": "SocialMessageEditContainer",
	"propertyName": "items",
	"values": {
		"generateId": false,
		"className": "Terrasoft.ESNHtmlEdit",
		"itemType": Terrasoft.ViewItemType.MODEL_ITEM,
		"dataValueType": Terrasoft.DataValueType.TEXT,
		"contentType": Terrasoft.ContentType.RICH_TEXT,
		"labelConfig": {
			"visible": false
		},
		"keydown": {bindTo: "onKeyDown"},
		"enterkeypressed": {bindTo: "onEnterKeyPressed"},
		"value": {bindTo: "SocialMessageText"},
		"placeholder": {bindTo: "Resources.Strings.WritePostHint"},
		"classes": {
			htmlEditClass: ["postMessage", "placeholderOpacity", "feedMaxWidth"]
		},
		"focus": {bindTo: "onSocialMessageEditFocus"},
		"focused": {bindTo: "SocialMessageEditFocused"},
		"blur": {bindTo: "onSocialMessageEditBlur"},
		"markerValue": "postMessageMemoEdit",
		"height": "26px",
		"prepareList": {bindTo: "prepareEntitiesExpandableList"},
		"list": {bindTo: "entitiesList"},
		"listViewItemRender": {bindTo: "onEntitiesListViewItemRender"},
		"autoGrow": true,
		"autoGrowMinHeight": 26,
		"customItemAttributes": {
			schema: {
				property: "schemaName",
				attribute: "data-schemaname"
			}
		}
	}
},
 
//Поле с редактором, которое удалось добавить
//Красный блок на картинке
{				
	"operation": "insert", // Операция добавления компонента на страницу.
	"name": "Message",//"Message", // Имя колонки схемы, к которой привязан компонент.
	"parentName": "SocialMessageEditContainer", // Мета-имя родительского контейнера, в который добавляется поле.
	"propertyName": "items", // Поле добавляется в коллекцию компонентов родительского элемента.
	"values": {
		// Заголовок поля.
		"contentType": this.Terrasoft.ContentType.RICH_TEXT,
		"labelConfig": {
			"visible": false
		},
		// Расположение поля.
		"layout": {						
			"column": 0, // Номер столбца.						
			"row": 0, // 5 Номер строки.						
			"colSpan": 12, // 12 Диапазон занимаемых столбцов.
			"layoutName": "SocialMessageEditContainer"
		},
		"height": "50px",
		"styles": {
			"background-color": "white"
		},
		"controlConfig": {  //здесь и ниже код для того, чтобы в примечания можно было добавлять картинки
			"imageLoaded": {
				"bindTo": "SortIcon"//"insertImagesToNotes"
			},
			"images": {
				"bindTo": "SummariesIcon"//"NotesImagesCollection"
			}
		}
	}
}
]

Вот такой результат вижу сейчас

Нравится

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

Если попробовать операцией merge изменить зеленый блок, функциональность не проявляется

 

{				
	"operation": "merge", // Операция добавления компонента на страницу.
	"name": "SocialMessageEdit",//"Message", // Имя колонки схемы, к которой привязан компонент.
	"parentName": "SocialMessageEditContainer", // Мета-имя родительского контейнера, в который добавляется поле.
	"propertyName": "items", // Поле добавляется в коллекцию компонентов родительского элемента.
	"values": {
		// Заголовок поля.
		"contentType": this.Terrasoft.ContentType.RICH_TEXT,
		"labelConfig": {
			"visible": false
		},
		// Расположение поля.
		"layout": {						
			"column": 0, // Номер столбца.						
			"row": 0, // 5 Номер строки.						
			"colSpan": 12, // 12 Диапазон занимаемых столбцов.
			"layoutName": "SocialMessageEditContainer"
		},
		"height": "50px",
		"styles": {
			"background-color": "white"
		},
		"controlConfig": {  //здесь и ниже код для того, чтобы в примечания можно было добавлять картинки
			"imageLoaded": {
				"bindTo": "SortIcon"//"insertImagesToNotes"
			},
			"images": {
				"bindTo": "SummariesIcon"//"NotesImagesCollection"
			}
		}
	}
}

 

Полный код замещающей модели представления базовой схемы SocialFeed :

https://datagr-my.sharepoint.com/:u:/g/personal/serhii_udielov_datagroup_ua/Efsq1LLC5wJOuTQV_9Ld4nMB3Y12zlmuLfn96ROGOyQHJA?e=jjhI5y 

Добрый день,

 

У меня получилось такое сделать, только нужно еще с кнопкой Publish доделать (пробовал через новые контейнеры сделать, но кнопку адекватно переместить не смог):

Сам код:

define("SocialFeed", ["ESNHtmlEditModule", "SocialMentionUtilities", "css!SocialMessagePublisherModule", "NotesUtilities"
], function() {
	return {
      	entitySchemaName: "SocialMessage",
      	mixins: {
			NotesUtilities: "Terrasoft.NotesUtilities"
		},
      	attributes: {
        	"NotesImagesCollection": {dataValueType: Terrasoft.DataValueType.COLLECTION}
		},
 
      	methods: {
          /**
			 * @inheritdoc
			 * @overridden
			 */
          	init: function(callback, scope) {
                this.callParent(arguments); 
                this.mixins.NotesUtilities.initNotesImagesCollection.call(this);
        	},
          	onNotesImagesUploadComplete: function() {
                this.hideBodyMask(); 
                this.updateFileDetail(); 
        	}, 
        	onNotesImagesUpload: function() { 
                this.showBodyMask(); 
        	},
 
          	onButtonClick: function(){
				console.log("Test");
            },
 
			postPublishActionsVisible: function() {
				return true;
			}
        },
 
		diff: /**SCHEMA_DIFF*/[
			{
					"operation": "insert",
					"name": "MessageContainer",
					"parentName": "SocialFeedHeader",
					"propertyName": "items",
					"values": {
						"itemType": Terrasoft.ViewItemType.CONTAINER,
						"items": []
					}
				},
			{				
				"operation": "insert",
				"name": "Message",
				"parentName": "MessageContainer", 
				"propertyName": "items",
				"values": {
					"contentType": this.Terrasoft.ContentType.RICH_TEXT,
					"labelConfig": {
						"visible": false
					},
					"value": {bindTo: "SocialMessageText"},
					"layout": {						
						"column": 0,						
						"row": 0,						
						"colSpan": 12,
                      	"layoutName": "SocialFeedHeader"
					},
					"height": "50px",
					"styles": {
							"background-color": "white"
					},
					"controlConfig": {
						"imageLoaded": {
							"bindTo": "SortIcon"
						},
						"images": {
							"bindTo": "NotesImagesCollection"
						}
					}
				}
			},
 
			{
					"operation": "insert",
					"name": "MessagePublishButtonContainer",
					"parentName": "MessageContainer",
					"propertyName": "items",
					"values": {
						"generateId": false,
						"itemType": Terrasoft.ViewItemType.CONTAINER,
						"classes": {
							wrapClassName: ["publishButtonWrap"]
						},
						"visible": {bindTo: "postPublishActionsVisible"},
						"items": []
					}
				},
 
			{
					"operation": "insert",
					"parentName": "MessagePublishButtonContainer",
					"name": "MessagePublishButton",
					"propertyName": "items",
					"values": {
						"generateId": false,
						"caption": {bindTo: "Resources.Strings.Publish"},
						"itemType": Terrasoft.ViewItemType.BUTTON,
						"style": Terrasoft.controls.ButtonEnums.style.GREEN,
						"click": {bindTo: "onPostPublishClick"},
						"markerValue": "publishPostMessageButton",
						"classes": {
							textClass: ["floatRight"]
						},
						"clickDebounceTimeout": 1000
					}
				},
			{
				"operation": "remove",
				"name": "SocialMessageContainer"
			}
		]/**SCHEMA_DIFF*/
	};
});

Сообщения публикуются при нажатии на Publish, осталось только переместить саму кнопку.

Oleg Drobina,
Супер! Получилось отобразить редактор, поигрался немного с индексами и вышло более-менее корректно отобразить необходимые панельки

Но теперь появилась следующая проблема :
при попытке добавить изображение с локального устройства, ловлю такое (картинка не загружаеться):

Мой текущий код елемента :
{                
              "operation": "insert",
                "name": "Message",
                "parentName": "MessageContainer", 
                "propertyName": "items",
                "values": {
                      //"bindTo": "Message",
                      "itemType": Terrasoft.ViewItemType.MODEL_ITEM,
                      //"dataValueType": Terrasoft.DataValueType.TEXT,
                    "contentType": this.Terrasoft.ContentType.RICH_TEXT,
                      //"className": "Terrasoft.ESNHtmlEdit", //- removed redactor
                    "labelConfig": {
                        "visible": false
                    },
                      // "keydown": {bindTo: "onKeyDown"}, //invalid logic in side chat
                    // "enterkeypressed": {bindTo: "onEnterKeyPressed"}, //invalid logic in side chat
                    "value": {bindTo: "SocialMessageText"}, //+
                    //"placeholder": {bindTo: "Resources.Strings.WritePostHint"},
                      "focus": {bindTo: "onSocialMessageEditFocus"},
                    "focused": {bindTo: "SocialMessageEditFocused"},
                    "blur": {bindTo: "onSocialMessageEditBlur"},
                    "markerValue": "postMessageMemoEdit",
                    "layout": {                        
                        "column": 0,                        
                        "row": 0,                        
                        "colSpan": 12,
                          "layoutName": "SocialFeedHeader"
                    },
                    "height": "26px",
                      //"classes": {
                    //        htmlEditClass: ["placeholderOpacity"]
                    //},
                    "styles": {
                            "background-color": "white"
                    },
                    "controlConfig": {                          
                        "imageLoaded": {
                            "bindTo": "SortIcon"
                        },
                        "images": {
                            "bindTo": "NotesImagesCollection"
                        }
                    }
                },
                  "index" : 0
            },

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

Добрый день. Мне необходимо перенести права доступа на записи активностей, которые были разданы бизнес процессом на другую систему, в какую таблицу они(права) пишутся?

Нравится

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

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

 

Для каждого объека есть отдельная таблица с правами, названия у них по типу:

Sys[Название Объекта]Right 

Например - SysCaseRight, SysContactRight. Нужно только подставить название нужного объекта в середину.

 

С уважением,

Мирослава

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

 

Для каждого объека есть отдельная таблица с правами, названия у них по типу:

Sys[Название Объекта]Right 

Например - SysCaseRight, SysContactRight. Нужно только подставить название нужного объекта в середину.

 

С уважением,

Мирослава

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

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

Мне надо повесить проверку для фильтра "Заголовок".
Если с обычным фильтром можно как-то решить вопрос через getFilter, то как стучать в расширенные?
 

Нравится

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

Здравствуйте Владислав,

 

С расширенными фильтрами так же само, как и с обычными: как только нажимается кнопка "Применить", чтобы применить расширенный фильтр, вызывается тот же метод getFilters из BaseDataView. То есть нужно смотреть как можно заменить логику этого метода.

 

С уважением,
Олег

Удалось достать значения фильтров, но понял что используя getFilter мою задачу реализовать не выйдет. Во-первых я никак не могу переопределить кнопку "применить" из схемы которая рисует и собирает конфиг расширенного фильтра - ExtendedFilterEditModelV2.
Во-вторых, как я понял, в коробке при инициализации раздела по дефолту применяется фильтрация из профайла текущего пользователя и метод getFilter при открытии раздела отрабатывает несколько раз.

Прикрепляю код переопределенной схемы раздела.
 

define("ActivitySectionV2", ["ExtendedFilterEditModelV2"], function(ExtendedFilterEditModelV2) {
	return {
		entitySchemaName: "Activity",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		methods: {
 
            getFilters: function () {
                var filters = this.callParent(arguments);
                var customFilters = filters.contains("CustomFilters") ? filters.get("CustomFilters") : null;
                //debugger;
                var count = 0;
                for(var i in customFilters.collection.keys) { 
                    if(customFilters.collection.items[i].isEnabled && customFilters.collection.items[i].leftExpressionCaption == "Заголовок"){ 
                        var headerCaption = customFilters.collection.items[i].rightExpression.parameter.value; //rightExpression.parameter.value
                        if(headerCaption == null || headerCaption.length < 3) { 
                            this.showInformationDialog("WORKING");
                            //this.applyFilters();
                            return filters;
                        }
                    }
                }
                return filters;
            },
 
            applyButton: function() {
                this.showInformationDialog("btn handler works");
            },
        }
 
	};
});

По сути минимально хотелось бы достичь фикса кнопки applyButton, чтобы при apply отлавливать фильтрацию и отображать свое сообщение пользователю.
Буду благодарен за любую помощь.

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

Приветствую, коллеги!
В процессе выполнения одного кейса столкулся с непониманием как это реализовать.
Кейс таков: 
Необходимо создать форму такого вида:

Мне нужна кастомная вьюха со стилями и сеткой creatio, без привязки к разделу.
Создал объект , который наследует BaseEntity, добавил необходимые поля со скрина, но с реализацией пейджи как поступить не знаю.
Подскажите в каком направлении двигаться.

 

Нравится

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

Владислав, добрый день!

Пример подобной страницы. В разделе Документы добавлена кнопка открытия страницы:

define("DocumentSectionV2", [], function() {
	return {
		entitySchemaName: "Document",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
					"operation": "insert",
					"name": "OpenCustomPageButton",
					"values": {
						"style": "red",
						"itemType": 5,
						"caption": {
							"bindTo": "Resources.Strings.OpenCustomPageButtonCaption"
						},
						"click": {
							"bindTo": "onOpenCustomPageButtonClick"
						}
					},
				"parentName": "CombinedModeActionButtonsCardLeftContainer",
				"propertyName": "items",
				"index": 9
			}
		]/**SCHEMA_DIFF*/,
		methods: {
			onOpenCustomPageButtonClick: function() {
				var config = {
					moduleId: "SectionModuleV2_DocumentSectionV2_CardModuleV2_chain",
					moduleName: "CardModuleV2",
					operation: "add",
					schemaName: "UsrObjectWithoutSectionPage"
				};
				this.openCardInChain(config);
			},
		}
	};
});

Сама страница объекта без раздела:

define("UsrObjectWithoutSectionPage", [], function() {
  return {
    entitySchemaName: "UsrObjectWithoutSection",
    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/[
		{
				"operation": "insert",
				"name": "Namec84346b3-955b-4b9e-b061-af463ee8d8da",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 0,
						"layoutName": "ProfileContainer"
					},
					"bindTo": "UsrName"
				},
				"parentName": "ProfileContainer",
				"propertyName": "items",
				"index": 0
			}
	]/**SCHEMA_DIFF*/,
    methods: {}
    };
});

 

Владислав, добрый день!

Пример подобной страницы. В разделе Документы добавлена кнопка открытия страницы:

define("DocumentSectionV2", [], function() {
	return {
		entitySchemaName: "Document",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
					"operation": "insert",
					"name": "OpenCustomPageButton",
					"values": {
						"style": "red",
						"itemType": 5,
						"caption": {
							"bindTo": "Resources.Strings.OpenCustomPageButtonCaption"
						},
						"click": {
							"bindTo": "onOpenCustomPageButtonClick"
						}
					},
				"parentName": "CombinedModeActionButtonsCardLeftContainer",
				"propertyName": "items",
				"index": 9
			}
		]/**SCHEMA_DIFF*/,
		methods: {
			onOpenCustomPageButtonClick: function() {
				var config = {
					moduleId: "SectionModuleV2_DocumentSectionV2_CardModuleV2_chain",
					moduleName: "CardModuleV2",
					operation: "add",
					schemaName: "UsrObjectWithoutSectionPage"
				};
				this.openCardInChain(config);
			},
		}
	};
});

Сама страница объекта без раздела:

define("UsrObjectWithoutSectionPage", [], function() {
  return {
    entitySchemaName: "UsrObjectWithoutSection",
    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
    diff: /**SCHEMA_DIFF*/[
		{
				"operation": "insert",
				"name": "Namec84346b3-955b-4b9e-b061-af463ee8d8da",
				"values": {
					"layout": {
						"colSpan": 24,
						"rowSpan": 1,
						"column": 0,
						"row": 0,
						"layoutName": "ProfileContainer"
					},
					"bindTo": "UsrName"
				},
				"parentName": "ProfileContainer",
				"propertyName": "items",
				"index": 0
			}
	]/**SCHEMA_DIFF*/,
    methods: {}
    };
});

 

Дима Вовченко,

Благодарю Вас за ответ, Дмитрий!

 

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

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

Например у меня есть правило:

rules: {

            "Status": {

                "FiltrationStatusNrbUseInCalls": {

                    ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,

                    autocomplete: true,

                    autoClean: true,

                    baseAttributePatch: "Finish",

                    comparisonType: Terrasoft.ComparisonType.EQUAL,

                    type: BusinessRuleModule.enums.ValueType.CONSTANT,

                    value: true

                },

        },

},

и оно не работает, ошибки в консоли нет.

но если я буду фильтровать по полю с id (например укажу baseAttributePatch: "Id"? а в value конкретный Id), то фильтр работает.

 "Status" указан в атрибутах, как виртуальная колонка.

Нравится

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

Решила вопрос сама, где бы не располагалась фильтрация, будь то в секции filters у атрибута, или в rules, для справочников типа ENUM это не работает. Помогло только вынести метод getLookupQuery и все его зависимые методы на страницу. 

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

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

Я разрабатываю свое модально окно, по нажатию на кнопку в карточке, хочу открыть модальную форму, в которой есть ряд справочных полей. Каждое справочное поле описано в атрибутах как виртуальная колонка, я накладываю какие-то фильтры на них, но эти фильтры почему-то не срабатывают.
Как добавляю модальное окно: 

1) Создаю в пакете модель представления страницы и указываю в качестве родителя BaseModalBoxPage

2) Код страницы:

 define("NrbTestModalBox", [],
    function() {
        return {
            mixins: {},
            messages: {},
            attributes: {
                "Contact": {
                    isRequired: true,
                    dataValueType: Terrasoft.DataValueType.LOOKUP,
                    referenceSchemaName: "Contact",
                    type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
                    lookupListConfig: {
                        filters: [
                            function () {
                                debugger;
                                var filterGroup = Ext.create("Terrasoft.FilterGroup");
                                filterGroup.add("ContactFilter",
                                                Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "CreatedById", null));

                                return filterGroup;
                            }
                        ]
                    }
                },
            },
            details: {},
            diff: /**SCHEMA_DIFF*/[

                {
                    "operation": "insert",
                    "name": "mainBoxContainerGrid",
                    "parentName": "CardContentWrapper",
                    "propertyName": "items",
                    "values": {
                        "itemType": Terrasoft.ViewItemType.GRID_LAYOUT,
                        "items": []
                    }
                },
                {
                    "operation": "insert",
                    "parentName": "mainBoxContainerGrid",
                    "propertyName": "items",
                    "name": "Contact",
                    "values": {
                        "bindTo": "Contact",
                        "caption": "Контакт",
                        "contentType": Terrasoft.ContentType.ENUM,
                        "layout": {
                            "column": 0,
                            "row": 0,
                            "colSpan": 24
                        }
                    },
                }
            ]/**SCHEMA_DIFF*/,
            methods: {
                init: function() {
                    this.callParent(arguments);
                },
 
                getLookupQuery: function(filter, column) {
                    var esq = this.callParent(arguments);
                    var lookupListConfig = this.getLookupListConfig(column);
                    if (lookupListConfig) {
                        this.Terrasoft.each(lookupListConfig.columns, function(column) {
                            if (!esq.columns.contains(column)) {
                                esq.addColumn(column);
                            }
                        }, this);
                    }
 
                    var schemaColumn = this.getColumnByName(column);
                    if (schemaColumn.lookupListConfig && schemaColumn.lookupListConfig.filter) {
                        esq.filters.addItem(schemaColumn.lookupListConfig.filter());
                    }
 
                    return esq;
                },
                getLookupListConfig: function(columnName) {
                    var schemaColumn = this.getColumnByName(columnName);
                    if (!schemaColumn) {
                        return null;
                    }
                    var lookupListConfig = schemaColumn.lookupListConfig;
                    if (!lookupListConfig) {
                        return null;
                    }
                    var excludedProperty = ["filters", "filter"];
                    var config = {};
                    this.Terrasoft.each(lookupListConfig, function(property, propertyName) {
                        if (excludedProperty.indexOf(propertyName) === -1) {
                            config[propertyName] = property;
                        }
                    });
                    return config;
                }
            }
        };
    });

 

3) Вызываю модальное окно так: 

this.sandbox.loadModule("ModalBoxSchemaModule", {
id: this.sandbox.id + "_NrbTestModalBox", //NrbCompleteCallModalBox
instanceConfig: {
     moduleInfo: {
           schemaName: "NrbTestModalBox",
     },          
 }
});

 

 

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

Нравится

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

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

Однако, возможно дело в том, как вы в атрибуте работаете со значением CreatedBy.

Для теста создал подобный фильтр для поля Owner:

attributes: {
			"Owner": {
                "dataValueType": Terrasoft.DataValueType.LOOKUP,
                "lookupListConfig": {
                    "filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            filterGroup.add("TestSd",
                                Terrasoft.createColumnIsNullFilter("[Contact:Id].CreatedBy")
										   );
                            return filterGroup;
                        }
                    ]
                }
			}
		},

Обратите внимание каким образом я ищу контакты с CreatedBy null:

Terrasoft.createColumnIsNullFilter("[Contact:Id].CreatedBy").

Возможно данный пример вам поможет.

Показать все комментарии
Лучший ответ
[OperationContract]
        [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped,
            RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json,
             UriTemplate = "/UpdateUser/{id}")]
        [return: MessageParameter(Name = "result")]
 
        public Result UpdateUser(PortalUser user, string id){}

UriTemplate = "/UpdateUser/{id}" если я тебя правильно понял

[OperationContract]
        [WebInvoke(Method = "POST", BodyStyle = WebMessageBodyStyle.Wrapped,
            RequestFormat = WebMessageFormat.Json,
            ResponseFormat = WebMessageFormat.Json,
             UriTemplate = "/UpdateUser/{id}")]
        [return: MessageParameter(Name = "result")]
 
        public Result UpdateUser(PortalUser user, string id){}

UriTemplate = "/UpdateUser/{id}" если я тебя правильно понял

Dima Avdoshin, 

дякую :)

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

Коллеги, здравствуйте.

Подскажите, пожалуйста, смогу ли я создать новый раздел на портале Customer Portal по базовому объекту, например, "Активность" и, соответственно, настроить страницу портала, автоматизацию и пр? В академии я вижу такие формулировки, которые, как кажется, могут относиться к моему вопросу, но смысл их мне неочевиден:

1. Дополнительные разделы: возможность создания 3 (трёх) кастомных разделов для ваших портальных пользователей. Кастомный раздел — новый раздел, дополнительно созданный в системе, но без возможности наследования функционала базовых разделов - https://www.terrasoft.ru/portal/price

2. Пользовательские разделы портала создаются с нуля и должны иметь минимальную связь с данными разделов основного приложения - https://academy.terrasoft.ru/docs/user/drugie_reshenija/portal/obzor_po…

 

Нравится

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

Здравствуйте, Игнат!

Клиентский портал (Customer Portal) действительно позволяет настраивать и использовать до трех пользовательских разделов на портале.

Пользовательский раздел сначала нужно создать в приложении и затем на его основе создать портальную версию этого раздела. Разделы [ Обращения ] и [ База знаний ], также доступны пользователям клиентского портала, а для пользователей продукта Creatio Bank Customer Journey будет доступен раздел [ Заявки ]. Дополнительно можно вывести на портал раздел [ Документы ], если он доступен в основном приложении.

Обратите внимание, что создание раздела на основе лицензируемого объекта из состава базового продукта не считается пользовательским разделом.

 

А можно ли в кастомном разделе отображать деталь с Активностями, связанными с этой записью раздела?

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

Добрый вечер ! Как настроить бизнес правила для группы полей которые находятся во вкладке.

Пример

На странице раздела есть вкладка под названием "Карточка" Code (ProjectMap)

в "Карточка" есть 5 групп полей .

Нужно чтобы  (Если)

поле "Название проекта" (Поле не находится в той же вкладке) НЕ Заполнено 

ТО

Делать поле редактируемым 

и тут уже не поле, а группы полей которые находятся во вкладке "Карточка"

Пробывал следующим образом : Тип "Поле" заменяю на "Атрибут" тут пишу Code(ProjectMap) (Система определяет его ) после сохраняю обнавляю, но б.правило не отрабатывает . 

Для теста попробывал сделать редактируемым какое-то НЕ Атрибут а обычное Поле - всё ок , всё робит .

 

Нравится

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

Добрый день!
На данный момент делать всю группу редактируемой пользовательскими средствами нет возможности.
Как вариант можно настроить несколько бизнес-правил редактирования на все поля из группы.
Либо настроить видимость данной группы только при определенных условиях, а когда она видна, тогда ее можно и редактировать соответственно.

Yanina Ryssjanova,

 

Добрый день. Полей много - всего  45  ))) 

Просто скрывать для этой задачи к сожалению не получится ) Информация должна быть видимым (( ,спасибо за отклик! 

Tigran Gevorgyan пишет:

Yanina Ryssjanova,

Добрый день. Полей много - всего  45  ))) 

Просто скрывать для этой задачи к сожалению не получится ) Информация должна быть видимым (( ,спасибо за отклик! 

Сделайте 2 вкладки. На одной одно состояние (редактируемое), на другое - другое. Прячьте ненужную вкладку с помощью правил

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

 

Да, как вариант подойдёт , но в этом случае тоже потребуется для отображении значений полей в 2 вкладках 45 правил . Решил созданием 45 правил , пока не решут вопрос с разрабом. Всем спасибо .

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

Создан шаблон. В нем есть макрос Status# - "Статус обращения" при рассылке направляется получателю на английском языке - EN.

В шаблон был добавлен язык RU - но статус по прежнему направляется на языке EN. Выбрать RU по умолчанию нет возможности, возможности удалить EN и оставить RU также нет.

Приходиться каждый раз заходить в шестеренку и менять вручную. Как сделать RU  по умолчанию только для этого шаблона?

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

Нравится

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

Евгения, здравствуйте.

Насколько мне известно, [#Status#] берёт локализованное значение из справочника стадий, опираясь на язык общения контакта, потому не играет роли сам язык шаблона.

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

 

Дополнительно на команде разработки есть задача на доработку этого функционала.

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