Доброго времени суток коллеги. Имею справочник "Тип документа", при выборе определенного значения в логическом поле "Резидент" нужно автоматический проставляться галочка.
Попробовал через this.set("UsrTypeDoc").value, не получается. Прощу направить на верный путь. Спасибо
Если я вас правильно понял, вы хотите при изменении значения в поле "Тип документа"=="Биом паспорт"
Установить в поле Резидент =true, в противном случае false
Если так, то решение для вас будет такое:
В атрибутах:
UsrTypeDoc:{
dataValueType: Terrasoft.DataValueType.LOOKUP,
dependencies:[{
columns:["UsrTypeDoc"],
methodName:"onChangeUsrTypeDoc"}]},
в методах:
onChangeUsrTypeDoc: function(){
var type =this.get("UsrTypeDoc");if(type && type.value==="уникальнынй идентификатор из БД равный значению Биом паспорта"){this.set("Резидент(указать на англ)", true);}else{this.set("Резидент(указать на англ)", false);}}
Если же вы хотите при установке в поле Резидент галочки, изменить поле "Тип документа".
То решение будет аналогичным, но в обратном виде:
Резидент(указать на англ):{
dataValueType: Terrasoft.DataValueType.BOOLEAN,
dependencies:[{
columns:["Резидент(указать на англ)"],
methodName:"onChangeResident"}]},
в методах:
onChangeResident: function(){
var resident =this.get("Resident");if(resident){this.set("UsrTypeDoc", {value:"здесь ID из БД которое равно Биом паспорту", displayValue:"а здесь значение поля Name из БД"});}else{//очистить или установить другое значение, смотря что нужно в данном случае}}
Если я вас правильно понял, вы хотите при изменении значения в поле "Тип документа"=="Биом паспорт"
Установить в поле Резидент =true, в противном случае false
Если так, то решение для вас будет такое:
В атрибутах:
UsrTypeDoc:{
dataValueType: Terrasoft.DataValueType.LOOKUP,
dependencies:[{
columns:["UsrTypeDoc"],
methodName:"onChangeUsrTypeDoc"}]},
в методах:
onChangeUsrTypeDoc: function(){
var type =this.get("UsrTypeDoc");if(type && type.value==="уникальнынй идентификатор из БД равный значению Биом паспорта"){this.set("Резидент(указать на англ)", true);}else{this.set("Резидент(указать на англ)", false);}}
Если же вы хотите при установке в поле Резидент галочки, изменить поле "Тип документа".
То решение будет аналогичным, но в обратном виде:
Резидент(указать на англ):{
dataValueType: Terrasoft.DataValueType.BOOLEAN,
dependencies:[{
columns:["Резидент(указать на англ)"],
methodName:"onChangeResident"}]},
в методах:
onChangeResident: function(){
var resident =this.get("Resident");if(resident){this.set("UsrTypeDoc", {value:"здесь ID из БД которое равно Биом паспорту", displayValue:"а здесь значение поля Name из БД"});}else{//очистить или установить другое значение, смотря что нужно в данном случае}}
С точки зрения дальнейшей поддержки правильнее сделать в справочнике "тип документа" логическое поле "резидент". Затем создать БП (в 7.17 такое уже есть). Пример тут. У меня поля "Комплект" - логическое.
Ислам, пример настройки такого бизнес-правила есть тут. Но в 7.13, насколько помню, оно ещё не поддерживалось. Значит, нужно кодом, как выше предложили. Либо, если мгновенное изменение в уже открытой карточке не важно, поле можно заполнять в бизнес-процессе (отдельном или встроенном в объект).