Добрый день! Помогите, пожалуйста, разобраться с такой проблемой. Необходимо сделать фильтрацию поля (UsrJob), чтобы в зависимости от введённых в него данных менялся список возможных данных для поля PEKAdressIspolnitel. Пользовался статьёй на сайте Академии Террасофта по созданию фильтрации, сделал по аналогии вот такой код:

rules: {
"UsrJob": {
FiltrationUsrJobByPekAdressIspolnitel: {
ryleType: resources.Enums.ryleType.Filtration,
autocomplete: true,
autoClean: true,
baseAttributePatch: "PEKAdressIspolnitel",
comparisonType: Terrasoft.ComparisonType.EQUAL,
Type: BusinessRuleModule.enums.RuleType.attribute,
attribute: "PEKAdressIspolnitel"
}
}
}

При этом мне не зайти в раздел с этими полями после сохранения этого кода. Как мне подсказали, ошибка заключается в следующем: “В переменной rules отсутствует свойство Enums”. Подскажите, пожалуйста, какие свойства и где нужно добавить?

Нравится

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

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

Из того, что явно бросается в глаза:

"Семёнов Дмитрий Александрович" написал:

Type: BusinessRuleModule.enums.RuleType.attribute

Там должно быть:

type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,

Также нужно смотреть на консольную ошибку. Возможно Вы не подключили BusinessRuleModule.

"Семёнов Дмитрий Александрович" написал:ryleType: resources.Enums.ryleType.Filtration,

Должно быть так

BusinessRuleModule.enums.RuleType.FILTRATION

и в функцию в самом начале модуля BusinessRuleModule не забудьте

Спасибо, код подправил немного.
define("SfRepairPage", ["BusinessRuleModule", "SfRepairPageResources", "GeneralDetails"],
function(BusinessRuleModule, resources, GeneralDetails) - добавил BusinessRuleModule.

Исправил rules:

rules: {
"UsrJob": {
FiltrationUsrJobByPekAdressIspolnitel: {
ryleType: BusinessRuleModule.enums.RuleType.FILTRATION,
autocomplete: true,
autoClean: true,
baseAttributePatch: "PEKAdressIspolnitel",
comparisonType: Terrasoft.ComparisonType.EQUAL,
type: BusinessRuleModule.enums.ValueType.ATTRIBUTE,
attribute: "PEKAdressIspolnitel"
}
}
}

Но всё равно раздел зависает при попытке его открыть.

"Семёнов Дмитрий Александрович" написал:Но всё равно раздел зависает при попытке его открыть

F12 и Консоль с ошибками поможет вам :) смотрите в чем проблема в ней

Пишет, что: Uncaught Terrasoft.InvalidFormatException: Неверный формат правила FiltrationUsrJobByPEKAdressIspolnitel

не вижу ничего ошибочного в коде...
разве что вот сюда добавить:

define("SfRepairPage", ["terrasoft", "BusinessRuleModule", "SfRepairPageResources", "GeneralDetails"],
function(Terrasoft, BusinessRuleModule, resources, GeneralDetails)

Добавил, но не помогло( Прикрепил ошибку в консоли.

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