Как добавить поле зависящее от другого поля BPMonline 7.2.0.900
Добрый день!
Нужно создать 2 поля на странице продажи. В первом выбирается тип, во втором выбирается значения соответствующие выбранному типу.
Как это можно осуществить?
Нравится
Довольно просто. По аналогии с полями контакт-контрагент:
[javascript]
{
type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
name: 'Contact',
columnPath: 'Contact',
dataValueType: Terrasoft.DataValueType.LOOKUP,
visible: true,
rules: [
{
ruleType: BusinessRuleModule.enums.RuleType.FILTRATION,
autocomplete: true,
autoClean: false,
baseAttributePatch: 'Account',
comparisonType: Terrasoft.ComparisonType.EQUAL,
type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
attribute: 'Account'
} ]
},
[/javascript]
Здравствуйте, Василий!
Попробуйте воспользоваться предоставленной выше рекомендацией . Также советую обратить Ваше внимание на топик Настройка логики полей в BPMonline 7.0.
Акмаль, спасибо за предоставленный совет.
Приятного дня!
я делал по аналогии.
Этот код нужно вставлять в замещающий клиентский модуль же?
Я его вставлял туда, но у меня в результате просто белое окно при патытке редактировать продажу.
Затем я удалил содержимое процедуры и опубликовал еще раз, в замещающем клиентском модуле. Вот что оставил, но при нажатии на изменить продажу все ровно чистый экран:
[javascript]
define('OpportunityPage', ['terrasoft', 'Opportunity', 'OpportunityPageStructure', 'OpportunityPageResources'],
function(Terrasoft, Opportunity, structure, resources) {
return structure;
});
[/javascript]
При этом, потом если заходить в замещающий модуль для редактирования кода, всплывает сообщение "Не удалось загрузить Silverlight Plug-In". Он начинает подгружаться, только после перезапуска сайта и выключения/включения плагина.
Акмаль, куда вообще нужно вставлять этот код???
Спасибо за Ваше обращение. Мы зарегистрировали его в Службе технической поддержки и назначили специалиста, который сможет Вас компетентно проконсультировать по данному вопросу.
Спасибо, все работает !!!
Но, у меня тогда еще вопрос:
Почему у меня без копирования всего кода все работало при добавлении детали?
Код в замещающем модуле, куда добавлял деталь:
[javascript]
define('AccountPage', ['terrasoft', 'Account', 'AccountPageStructure', 'AccountPageResources'],
function(Terrasoft, Account, structure, resources) {
structure.userCode = function() {
this.schema.rightPanel.push({
name: 'Product',
schemaName: 'UsrSupplierProductDetail',
type: Terrasoft.ViewModelSchemaItem.DETAIL,
filterPath: 'UsrSupplier',
filterValuePath: 'Id',
caption: resources.localizableStrings.SupplierProductDetailCaption,
visible: true,
collapsed: true,
leftWidth: '60%',
rightWidth: '40%',
wrapContainerClass: 'control-group-container'
});
};
return structure;
});
[/javascript]
Когда я добавлял деталь, я код не копировал из страницы контрагента, и пустого экрана у меня не было (все работало). Когда я начал добавлять поле, я опирался на это и не копировал код из родительского модуля. В результате, у меня получился просто пустая страничка продажи. Вопрос: "Почему у меня без копирования всего кода все работало при добавлении детали?"
использовал
[javascript]
leftPanel.push
[/javascript]