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