When opened, the process constantly shows the loading icon, it is not possible to make any changes to it. Tried looking at the metadata, but couldn't find any errors. Please tell me how to solve this problem

Нравится

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

Hello Hanna, 

 

Please write to support@creatio.com and clarify the website name. Also, provide external access to your website. 

 

Looking forward to hearing from you, 

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

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

Экспорт списка записей по дефолту сохраняет данные тех полей которые настроены через вид, как сделать так чтобы выводились в Excel все поля без настройки через Вид и без доп приложений из маркета ? Есть ли вариант без разраба ? 

Нравится

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

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

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

Пожелание зафиксировано и передано на ответственную команду разработки для рассмотрения реализации в будущих версиях.

С уважением,
Богдан

Можно настроить список в аналитике и экспортировать оттуда.

Можно добавить как справочник и экспортировать оттуда.

Можно в PowerBI получить данные через ODATA

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

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

Следовал инструкции 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"
			}
		}
	}
}
]

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

Нравится

5 комментариев

Если попробовать операцией 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
            },

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

 

 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);
        	},
			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": "insertImagesToNotes"
						},
						"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*/
	};
});

 

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

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

Нравится

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 будет доступен раздел [ Заявки ]. Дополнительно можно вывести на портал раздел [ Документы ], если он доступен в основном приложении.

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

 

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

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