Заполнение полей в Преднастроенной странице по процессу
Коллеги, добрый день.
Возникла следующая проблема: создали преднастроенную страницу (добавили нужные поля и кнопки). На странице должно быть 4 LOOKUP поля и 1 TEXT. Лукап поля должны заполняться автоматически и быть недоступными для редактирования. Заполнение полей должно происходить в процессе из объекта Юр. Лиц, но не получается заполнить эти поля (не отображаются на странице).
Код прилагаю. В процессе, соответственно, указываю параметры процесса в полях, которые должны быть предзаполнены.
Можете подсказать, как решить данную проблему?
С уважением,
Дмитрий
function(ProcessPageUtilities, Enums) {
return {
mixins: {
BaseProcessViewModel: "Terrasoft.CustomProcessPageV2Utilities"
},
attributes: {
"Account": {
dataValueType: Terrasoft.DataValueType.LOOKUP,
referenceSchemaName: "Account"
},
"Category": {
dataValueType: Terrasoft.DataValueType.LOOKUP,
referenceSchemaName: "AccountCategory"
},
"CurrentManager": {
dataValueType: Terrasoft.DataValueType.LOOKUP,
referenceSchemaName: "Contact"
},
"NewManager": {
dataValueType: Terrasoft.DataValueType.LOOKUP,
referenceSchemaName: "Contact"
},
"RefillReason": {
name: "Reason",
dataValueType: Terrasoft.DataValueType.TEXT
}
},
methods: {
/* onEntityInitialized: function() {
this.callParent(arguments);
var processData = this.get("ProcessData");
var processParameters = processData.parameters;
if (processParameters) {
this.set("CurrentManager", processParameters.CurrentManager);
this.set("NewManager", processParameters.NewManager);
this.set("Account", processParameters.Account);
this.set("Category", processParameters.Category);
this.set("RefillReason", processParameters.RefillReason);
}
},*/
getHeader: function() {
return this.get("Resources.Strings.HeaderLcz");
},
initHeaderCaption: Ext.emptyFn,
onNextButtonClick: function() {
this.acceptProcessElement("NextCode");
},
onDiscardChangesClick: function() {
this.cancelProcessElement("CancelCode");
},
loadVocabulary: function(args, tag) {
var column = this.getColumnByName(tag);
args.schemaName = column.referenceSchemaName;
this.callParent(arguments);
}
},
diff: /**SCHEMA_DIFF*/[
{
"operation": "remove",
"name": "CloseButton"
},
{
"operation": "remove",
"name": "actions"
},
{
"operation": "remove",
"name": "SaveButton"
},
{
"operation": "remove",
"name": "DelayExecutionButton"
},
{
"operation": "remove",
"name": "ViewOptionButton"
},
{
"operation": "insert",
"parentName": "LeftContainer",
"propertyName": "items",
"name": "SendToApproveButton",
"values": {
caption: { bindTo: "Resources.Strings.SendToApproveButtonCaption" },
itemType: Terrasoft.ViewItemType.BUTTON,
classes: {textClass: "actions-button-margin-right"},
style: Terrasoft.controls.ButtonEnums.style.GREEN,
click: {bindTo: "onNextButtonClick"}
}
},
/* {
"operation": "insert",
"parentName": "LeftContainer",
"propertyName": "items",
"name": "NotSendToApproveButton",
"values": {
caption: { bindTo: "Resources.Strings.NotSendToApproveButtonCaption" },
itemType: Terrasoft.ViewItemType.BUTTON,
classes: {textClass: "actions-button-margin-right"},
style: Terrasoft.controls.ButtonEnums.style.RED,
click: {bindTo: "onDiscardChangesClick"}
}
},*/
{
"operation": "insert",
"parentName": "Header",
"propertyName": "items",
"name": "CurrentManager",
"values": {
"caption": { "bindTo": "Resources.Strings.CurrentManagerLcz" },
"contentType": Terrasoft.ContentType.LOOKUP,
"bindTo": "CurrentManager",
"layout": { "column": 0, "row": 2, "colSpan": 12 },
"enabled": true
}
},
{
"operation": "insert",
"parentName": "Header",
"propertyName": "items",
"name": "NewManager",
"values": {
"caption": { "bindTo": "Resources.Strings.NewManagerLcz" },
"contentType": Terrasoft.ContentType.LOOKUP,
"bindTo": "NewManager",
"layout": { "column": 0, "row": 3, "colSpan": 12 },
"enabled": true
}
},
{
"operation": "insert",
"parentName": "Header",
"propertyName": "items",
"name": "Account",
"values": {
"caption": { "bindTo": "Resources.Strings.AccountLcz" },
"contentType": Terrasoft.ContentType.LOOKUP,
"bindTo": "Account",
"layout": { "column": 0, "row": 0, "colSpan": 12 },
"enabled": true
}
},
{
"operation": "insert",
"parentName": "Header",
"propertyName": "items",
"name": "Category",
"values": {
"caption": { "bindTo": "Resources.Strings.CategoryLcz" },
"contentType": Terrasoft.ContentType.LOOKUP,
"bindTo": "Category",
"layout": { "column": 0, "row": 1, "colSpan": 12 },
"enabled": true
}
},
{
"operation": "insert",
"parentName": "Header",
"propertyName": "items",
"name": "RefillReason",
"values": {
"caption": { "bindTo": "Resources.Strings.RefillReasonLcz" },
"contentType": Terrasoft.ContentType.LOOKUP,
"bindTo": "RefillReason",
"layout": { "column": 0, "row": 4, "colSpan": 12 },
"enabled": true
}
}
]/**SCHEMA_DIFF*/,
userCode: {}
};
});
Нравится
Добрый день.
Для решения Вашей задачи необходимо:
1) Заполнить свойство Parameters в структуре схеме необходимыми Вам атрибутами.
2) Добавить элемент "Преднастроенная страница" в БП.
3) Убедиться, что у элемента появились необходимые параметры.
3) Заполнять в БП параметры элемента (пункт 2).
При открытии карточки атрибуты уже будут присутствовать.
"Мотков Илья" написал:1) Заполнить свойство Parameters в структуре схеме необходимыми Вам атрибутами.
Илья, не совсем понятно о каких Parameters идет речь.
Подскажите, пожалуйста, где и что нужно прописать, чтобы иметь возможность передавать параметры в преднастроенную страницу из других элементов БП и как обрабатывать результаты, полученные в преднастроенной странице дальше в других элементах БП??
Добрый день, Дмитрий.
Наглядно показал на скриншоте.
Примеры работы с параметрами в js коде, Вы можете посмотреть в схеме LeadManagementDistributionPageV2
Тёскин Дмитрий Валерьевич,
Вы прикалываетесь? серьезно? в
LeadManagementDistributionPageV2 нет параметров.
Если в дереве элементов нужной страницы нет параметров, можете их добавить в дереве, указав им название и тип. После этого, когда будете добавлять эту страницу в процесс как преднастроенную, в её свойствах подтянутся параметры.