Вывести\изменить статус клиента по нажатию на кнопку.
![]()
Есть кнопка "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 перенесите в карточку редактирования вашей секции!!!