Для того, чтобы поле "Решение" в карточке обращения стало обязательным, Вы можете воспользоваться мастером раздела, для этого:
1. Перейдите в "Обращения" и нажмите кнопку "Вид"-->"Открыть мастер раздела"
2. Выбрав пакет для редактирования, перейдите на страницу редактирования обращения, потом на детали "Решение", выбрав колонку "Решение" нажмите кнопку "Изменить" и Вы сможете в открывшемся окне поставить признак "Является обязательным"
Тогда оно станет просто обязательным, а не обязательным по условию.
Мой вопрос звучал так: Как можно сделать такое поле обязательным по какому-либо условию
( например, при состоянии "разрешено" требовать обязательность его заполнения)
причем обычное бизнес-правило для обязательности поля
ruleType: BusinessRuleModule.enums.RuleType.BINDPARAMETER,
// Правило регулирует свойство REQUIRED поля.
property: BusinessRuleModule.enums.Property.REQUIRED,
conditions...
Александр, как я уже писала, конкретно для этого поля не работает подобное бизнес-правило.
"Solution: {
"Rule1": {
ruleType: BusinessRuleModule.enums.RuleType.BINDPARAMETER,
property: BusinessRuleModule.enums.Property.REQUIRED,
conditions: [{
leftExpression: {
type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
attribute: "Status",
attributePath: "IsResolved"
},
comparisonType: this.Terrasoft.ComparisonType.EQUAL,
rightExpression: {
type: BusinessRuleModule.enums.ValueType.CONSTANT,
value: true
}
}]
}
}
}
Любое другое поле из карточки напишу вместо "Solution" - будет работать.
Для поля же "Решение" (Solution) не работает - с ошибкой вылетает.
Возможно дело в том, что само поле на карточке отображается не так, как все остальные поля - а как кусок текста
Если добавить
{
"operation": "merge",
"name": "Solution",
"values": {
"caption": {
"bindTo": "Resources.Strings.SolutuinCaption"
},
"isRequired": true
}
}
то возле поля появляется красная звездочка, но обязательным оно не становится.
И в любом случае это же необязательность по условию...
поле "Решение" в карточке отображается как структурированный текст.
Может быть в том случае как-то по-другому надо проверять заполненность?
В таком случае, Вы можете переопределить метод Save и провести валидацию в нем, например вот так:
save: function () {
if (this.get("Solution")) {
this.callParent(arguments);
} else {
this.showInformationDialog("Необходимо заполнить поле решение");
}
}
Произвели анализ изменений, которые требуются для решения Вашей задачи.
И получили результат:
HTML - контролл типа RICHTEXT, которым является данное поле «Решение» не поддерживает данную функциональность..
У нас возникла такая же задача сделать поле "Решение" обязательным по условию, скажите пожалуйста, стало ли это возможно в версии 7.10.2? Или предусмотрено реализация данной возможности в других релизах?