Есть 2 компанента: чекбокс (UsrIsKeyContact) и поле справочник (UsrLoyality) как сделать так, когда ставится галочка на чекбокс выбиралось одно значение из справочника, а когда снимался чек-бокс ставилось другое значение?
Объясните как нубу.
Как я понял, мне надо создать замещающий модуль для модуля контактов, и там что-то прописать. Но что?
Нравится
Здравствуйте!
Нужно прописать логику заполнения поля.
Например, добавить в страницу редактирования следующую логику - при изменении поля UsrIsKeyContact устанавливать в поле UsrLoyality нужно значение.
Для этого:
1) Установите зависимость поля UsrLoyality от значения поля UsrIsKeyContact. это делается приблизительно следующим кодом:
[javascript]
attributes: {
"UsrLoyality": {
dependencies: [
{
columns: ["UsrIsKeyContact"],
methodName: "setMyValue"
}
]
}
},
[/javascript]
2) Реализовать метод setMyValue, который заполнит поле UsrLoyality нужным значением.
Пример кода:
[javascript]
methods: {
setMyValue: function() {
var id1 = ""; /*укажите Id значение которое необходимо установить в поле UsrLoyality, если UsrIsKeyContact - true*/
var id2 = ""; /*укажите Id значение которое необходимо установить в поле UsrLoyality, если UsrIsKeyContact - fasle*/
var usrIsKeyContact = this.get("UsrIsKeyContact");
if (usrIsKeyContact) {
this.set("UsrLoyality", id1);
}
else {
this.set("UsrLoyality", id2);
}
}
},
[/javascript]
Рекомендация для версии 7.Х, но не для 2.8...
Илья Викторович, исходя из описания Вы используете 7.х.
Решить можно с помощью бизнес-правил - https://academy.terrasoft.ru/documents/technic-sdk/7-9/biznes-pravila-i…
Можете для решения используйте следующий топик - http://www.community.terrasoft.ru/forum/topic/20619 или http://www.community.terrasoft.ru/forum/topic/22255 или http://www.community.terrasoft.ru/forum/topic/13681
Переместите, пожалуйста, тему в корректную ветку:smile:
"Демьяник Алексей" написал:
Я все равно не понимаю как это сделать... Открываю автоматически созданный модуль (после редактирование дизайна раздела), и просто даже если сразу его сохранить выдает ошибку компиляции (почти на каждую строку кода ругается).
Вопрос в том, как создать событие. Как подписать чек бокс на событие checkedChange?
"Михайловский Илья Викторович" написал:Вопрос в том, как создать событие. Как подписать чек бокс на событие checkedChange?
"Михайловский Илья Викторович" написал:Вопрос в том, как создать событие. Как подписать чек бокс на событие checkedChange?
См. мой ответ выше - это подписка на изменение колонки UsrIsKeyContact:
[javascript]
attributes: {
"UsrLoyality": {
dependencies: [
{
columns: ["UsrIsKeyContact"],
methodName: "setMyValue"
}
]
}
},
[/javascript]
JS не компилируется - при сохранении проверяется только синтаксис (отступы, пробелы и т.д), но никак не функциональность кода.
"Демьяник Алексей" написал:
JS не компилируется - при сохранении проверяется только синтаксис (отступы, пробелы и т.д), но никак не функциональность кода.
[s]Ага я уже понял. Еще вопрос, куда добавлять код в ContactPageV2 или ContactSectionV2?
Если добавить в страницу, то при открытии контакта - ничего не грузится.
Если добавить в секцию, то при открытии раздела "Контакты" идет бесконечная загрузка...[/s]
Все, сорри. Была ошибка в форматировании, скобка закрвающая фигурная скобка стояла не там где нужно. Все работает. СПАСИБО!
А нет, появилась другая проблема. UsrLoyalty - это поле из справочника.
Что нужно указывать в id1: this.set("UsrLoyality", id1);
пробовал как в шарпах по индексам, пробовал просто по значению, все равно пишет: undefined
Нужно указать Id значения в справочнике. У вас есть доступ к базе данных?
"Демьяник Алексей" написал:Нужно указать Id значения в справочнике. У вас есть доступ к базе данных?
Насколько я понимаю нет, все через сайт делаю...
Но вот открыл в браузере, мб это оно
для одного значения
#BaseLookupConfigurationSectionDataGridGrid-item-aae7efd5-4ef8-4815-b748-ee353a22e21e
для другого
#BaseLookupConfigurationSectionDataGridGrid-item-faec5bcc-b748-44b7-a402-75d3a24ef045
Уставливал эти айдишки (aae7efd5-4ef8-4815-b748-ee353a22e21e) и все равно Undefined
Здравствуйте!
Попробуйте так:
[javascript]
var id1 = {
value: "aae7efd5-4ef8-4815-b748-ee353a22e21e",
displayValue: "1"
};
var id2 = {
value: "faec5bcc-b748-44b7-a402-75d3a24ef045",
displayValue: "2"
};
[/javascript]
Где displayValue: это значение из колонки "Название".