Вопрос

Вывести\изменить статус клиента по нажатию на кнопку.

Есть кнопка "Accept", по нажатию на нее нужно изменить статус клиента.
 

Добавил атрибуты 

	attributes: {
	 "Account": { //название таблицы
    		lookupListConfig: {
         			"columns": ["elcOnBoardingClientStsId"] //название колонки в таблице
    }
},

Пробовал делать 
 

this.loadLookupDisplayValue("Account", valueId);

// в различных вариантах

Пробовал и так 
 

	attributes: {
	 "elcOnBoardingClientStsId": { //название таблицы
    		lookupListConfig: {
         			"columns": ["Name"] //название колонки в таблице
    }
},

Результат отрицательный.
Подскажите, как же это сделать?

Нравится

7 комментариев
Лучший ответ

Лихо вы в секции к данным карточки обращаетесь

модифицируйте 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 перенесите в карточку редактирования вашей секции!!!

Показать все комментарии