Вопрос

Как отключить сохранение записи при добавлении записей на деталь

Друзья, подскажите, как правильно и безболезненно отключить сохранение карточки, при добавлении записей на деталь (которая находится в этой карточке), да так отключить, чтобы ничего не сломать? :)

Изображение удалено.

Нравится

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

Как по мне не очень логичное решение, т.к. карточка может быть новой. И чтобы добавить запись детали нужно сперва сохранить карточку, чтобы id записи появился в базе.

Но если это действительно необходимо, посмотрите в сторону замещения метода addRecord из BaseGridDetailV2. Замещать его нужно на схеме детали.

В данноме методе идет проверка на: (isNewCard || isCardChanged). В этом случае карточка сперва сохранятся. Можете выпилить условие isCardChanged.

Как по мне не очень логичное решение, т.к. карточка может быть новой. И чтобы добавить запись детали нужно сперва сохранить карточку, чтобы id записи появился в базе.

Но если это действительно необходимо, посмотрите в сторону замещения метода addRecord из BaseGridDetailV2. Замещать его нужно на схеме детали.

В данноме методе идет проверка на: (isNewCard || isCardChanged). В этом случае карточка сперва сохранятся. Можете выпилить условие isCardChanged.

Дмитрий А.,

Посмотрю, спасибо. Но в этом разделе у нас есть миникарточка, так что с этой стороны проблем не возникнет.

Переопределите в детали метод addRecord, примерно так 

addRecord: function(editPageUId) {
	editPageUId = editPageUId || this.getFirstEditPageUId();
	if (!this.getIsCardValid()) {
		return;
	}
	this.set("CardState", enums.CardStateV2.ADD);
	this.set("EditPageUId", editPageUId);
	this.set("PrimaryValueUId", null);
	this.openCardByMode();				
}

 

Григорий Чех,

А вот так можно? Или лучше напрямую как Вы показали?

getIsCardNewRecordState: function() {
    return false;
},
getIsCardChanged: function() {
    return false;
}

 

Alex Zaslavsky,

Да должно и так отработать, протестируйте!

Григорий Чех,

Да, уже потестил, как раз то поведение что и нужно. Спасибо всем, и Дмитрию, и Вам, Григорий :)

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