Есть 2 компанента: чекбокс (UsrIsKeyContact) и поле справочник (UsrLoyality) как сделать так, когда ставится галочка на чекбокс выбиралось одно значение из справочника, а когда снимался чек-бокс ставилось другое значение?
Объясните как нубу.
Как я понял, мне надо создать замещающий модуль для модуля контактов, и там что-то прописать. Но что?
Нравится
Здравствуйте!
Нужно прописать логику заполнения поля.
Например, добавить в страницу редактирования следующую логику - при изменении поля UsrIsKeyContact устанавливать в поле UsrLoyality нужно значение.
Для этого:
1) Установите зависимость поля UsrLoyality от значения поля UsrIsKeyContact. это делается приблизительно следующим кодом:
attributes: { "UsrLoyality": { dependencies: [ { columns: ["UsrIsKeyContact"], methodName: "setMyValue" } ] } },
2) Реализовать метод setMyValue, который заполнит поле UsrLoyality нужным значением.
Пример кода:
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); } } },
Рекомендация для версии 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:
attributes: { "UsrLoyality": { dependencies: [ { columns: ["UsrIsKeyContact"], methodName: "setMyValue" } ] } },
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
Здравствуйте!
Попробуйте так:
var id1 = { value: "aae7efd5-4ef8-4815-b748-ee353a22e21e", displayValue: "1" }; var id2 = { value: "faec5bcc-b748-44b7-a402-75d3a24ef045", displayValue: "2" };
Где displayValue: это значение из колонки "Название".