Есть кнопка "Accept", по нажатию на нее нужно изменить статус клиента.
Добавил атрибуты
attributes: { "Account": { //название таблицы lookupListConfig: { "columns": ["elcOnBoardingClientStsId"] //название колонки в таблице } },
Пробовал делать
this.loadLookupDisplayValue("Account", valueId); // в различных вариантах
Пробовал и так
attributes: { "elcOnBoardingClientStsId": { //название таблицы lookupListConfig: { "columns": ["Name"] //название колонки в таблице } },
Результат отрицательный.
Подскажите, как же это сделать?
Нравится
Лихо вы в секции к данным карточки обращаетесь
модифицируйте diff
"click": {"bindTo": "onCardAction"},
"tag": "onAcceptButtonClick",
код метода onAcceptButtonClick перенесите в карточку редактирования вашей секции!!!
Не пойму при чем тут lookupListConfig, вам нужно сделать обработчик нажатия кнопки и в нем или
this.set("статус клиента", {value: valueId , displayValue: caption});
или
this.loadLookupDisplayValue("статус клиента", valueId);
Где:
"статус клиента" - это нахвание колонки объекта а не таблицы те открываете в конфигурации объект CheckCase(тот на основе которого создана ваша страница редактирования) и смотрите как в нем назівается ваша колонка "статус клиента" и подставляете ее
valueId - Id объекта (CheckCase колонка Id)
caption - отображаемое значение (CheckCase колонка Name)
Добавить комментарий
Григорий Чех,
По шагам, по написанному выше
"статус клиента" - это название колонки объекта
CheckCase - Это клиент.
valueId - Id объекта (CheckCase колонка Id)
onAcceptButtonClick: function() { this.set("elcOnBoardingClientSts", {value: "CF52E86D-D952-4F0B-B342-61FB980C0916" , displayValue: "CheckCase"}); //A08E2971-4AE0-401F-A33F-A3DDBB8EF4A7 },
Статус не меняется
Возмем valueId - id статуса - "A08E2971-4AE0-401F-A33F-A3DDBB8EF4A7"
name - Название статуса - "Accepted"
onAcceptButtonClick: function() { this.set("elcOnBoardingClientSts", {value: "A08E2971-4AE0-401F-A33F-A3DDBB8EF4A7" , displayValue: "Accepted"}); //A08E2971-4AE0-401F-A33F-A3DDBB8EF4A7 },
Статус не меняется
OLeg1020,
Для js кода все Guid приводите к LowerCase те вместо
"A08E2971-4AE0-401F-A33F-A3DDBB8EF4A7" пишите 'a08e2971-4ae0-401f-a33f-a3ddbb8ef4a7'
Григорий Чех,
Т.е. итоговый вариант ?
onAcceptButtonClick: function() { this.set("elcOnBoardingClientSts", {value: "a08e2971-4ae0-401f-a33f-a3ddbb8ef4a7" , displayValue: "Accepted"}); //a08e2971-4ae0-401f-a33f-a3ddbb8ef4a7 //cf52e86d-d952-4f0b-b342-61fb980c0916 },
Результат всё тот же.
Ошибки в консоли браузера? С
cf52e86d-d952-4f0b-b342-61fb980c0916 который есть в резальтатах SQL запроса что? и да ваши эксперемент с lookupListConfig вы удалили? Кэш браузера почистили. Если не помогло приводите весь код страницы
Григорий Чех,
Результат нажатия на кнопку
Листинг
define("AccountSectionV2", function() { return { entitySchemaName: "Account", details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/, diff: /**SCHEMA_DIFF*/[ { "operation": "insert", "parentName": "CombinedModeActionButtonsCardLeftContainer", "propertyName": "items", "name": "AcceptButton", "values": { "itemType": Terrasoft.ViewItemType.BUTTON, "caption": {bindTo: "Resources.Strings.AcceptanceButtonCaption"}, "click": {bindTo: "onAcceptButtonClick"}, "style": Terrasoft.controls.ButtonEnums.style.GREEN, "enabled": {bindTo: "ButtonEnabled"} } }, ]/**SCHEMA_DIFF*/, attributes: { "ButtonEnabled": { "dataValueType": Terrasoft.DataValueType.BOOLEAN, "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN, "value": true } }, methods: { onAcceptButtonClick: function() { console.log("beforeClick"); this.set("elcOnBoardingClientSts", {value: "cf52e86d-d952-4f0b-b342-61fb980c0916" , displayValue: "Accepted"}); console.log("afterClick"); //a08e2971-4ae0-401f-a33f-a3ddbb8ef4a7 - Accept //cf52e86d-d952-4f0b-b342-61fb980c0916 - id аккаунта }, } }; });
Лихо вы в секции к данным карточки обращаетесь
модифицируйте diff
"click": {"bindTo": "onCardAction"},
"tag": "onAcceptButtonClick",
код метода onAcceptButtonClick перенесите в карточку редактирования вашей секции!!!