Вопрос

Обязательность заполнения по признаку

Стоит задача: в зависимости от выбраного параметра в одном поле, сделать обязательным или не обязательным другое(бизнес-правила)

как здесь

https://academy.terrasoft.ru/documents/technic-sdk/7-13/pravilo-bindpar…

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

 Как мы видим в примере для сравнения используется следующая конструкция 

"value": ConfigurationConstants.ContactType.Client
ConfigurationConstants.ContactType.Client - системная константа.

В моем случае условные компании - справочник, который делал я сам. Соответсвенно, константы нет. Конструкция приравнивания к строке тоже не работает, к примеру так

"value": "Рога и копыта" 

Как дествовать в такой ситуации?

Нравится

5 комментариев
Лучший ответ

MaincRaft пишет:

Литвинко Павел,

stack: TypeError: this.get is not a function

Запишите значение   this.get("Рога и копыта").value в атрибут, а в правилах, сравнивайте с атрибутом

В примере на академии, сравнивается значение в справочнике Type с Id

Поэтому в вашем случае, нужно сделать так же, например так:

"value": this.get("Рога и копыта").value

Литвинко Павел,

stack: TypeError: this.get is not a function

MaincRaft пишет:

Литвинко Павел,

stack: TypeError: this.get is not a function

Запишите значение   this.get("Рога и копыта").value в атрибут, а в правилах, сравнивайте с атрибутом

Литвинко Павел, спасибо. Уточните пожалуйста. Это мне надо в модуле, где я работаю(страница редактирования), внести следующие изменения:

 

attributes: {
  // Имя атрибута.
  "NameAttribute": {
    // Тип данных.
    "dataValueType": this.Terrasoft.DataValueType.TEXT, //тип данных менять?
    // Тип колонки.
    "type": this.Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,//и колонок
    // Значение по умолчанию.
    "value": this.get("Рога и копыта").value
  }
}

А зачем вообще использовать код? Бизнес-правила можно настраивать пользовательскими средствами.

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