Как отключить сохранение записи при добавлении записей на деталь
Друзья, подскажите, как правильно и безболезненно отключить сохранение карточки, при добавлении записей на деталь (которая находится в этой карточке), да так отключить, чтобы ничего не сломать? :)
![]()
Нравится
Как по мне не очень логичное решение, т.к. карточка может быть новой. И чтобы добавить запись детали нужно сперва сохранить карточку, чтобы 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,
Да должно и так отработать, протестируйте!
Григорий Чех,
Да, уже потестил, как раз то поведение что и нужно. Спасибо всем, и Дмитрию, и Вам, Григорий :)