Как получить значение первичного ключа записи при сохранении в ручном режиме? - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть модель в режиме ручного сохранения и форма в режиме создания .Как только я добавляю детали и нажимаю на кнопку «Отправить», они должны создать запись и предупредить что-то вроде «Ваш запрос зарегистрирован с id = 7», где id - это идентификатор (первичный ключ).

Обратите внимание, что первичный ключ находится в автоувеличивается и генерируется динамически.

В ручном режиме сохранения я использую saveChanges для сохранения записи, но вижу ошибку:

SEVERE: Record RecordKey {key = private$ 2, ключ модели = 1ymdoCYoHKEGpumlXveKKZh_57jUjd9OY | 7LyXBUY46K9Jl6GRCy1DeL32kXmnGHis} уже удален. Ошибка: getProperty в объекте.(UserCreationRequest: 12: 37) в createUCR (UserCreationRequest: 11: 19) в UserCreationRequest.Container.UserCreationRequestPanel.UserCreationRequestPanelFooter.UserCreationRequestPanelSubmitButton.onClick: ошибка 1: 1 * 101

1014 *1016* 1014 *1016* 1016 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* *1014* 1016 * * * * * * Ошибка: 1 * 101 * 1016._key)

Код: (выполняется при нажатии кнопки отправки)

   widget.datasource.saveChanges(function(record) {
   alert('Your request is registered with id='+record._key);
   }

Может кто-нибудь посоветовать, как получить первичный ключ при сохранении в ручном режиме?

Дополнительная информация Ссылка:

Приведенный выше код работал для меня в другом месте для какой-то другой модели.Но не работает для текущей модели, не потому ли, что текущая модель имеет отношение?

Я добавил новый источник данных в раздел Источники данных текущей модели и, используя его, работает нормально.Но почему не работает нормально с оригиналом?

Также, к вашему сведению, this - похожая проблема, но это не помогло, так как это другой подход.Я стремлюсь сохранить с помощью самого виджета.

1 Ответ

0 голосов
/ 20 февраля 2019

Во-первых, нам нужно понять, что режим создания отличается от обычного режима.Имея это, мы можем сделать следующее:

Предполагая, что источником данных является MYDATASOURCE, источником данных формы должен быть MYDATASOURCE (create).Затем в событии onClick виджета кнопки submit внутри формы вставки используйте это:

widget.datasource.createItem(function(record){
  app.datasources.MYDATASOURCE.saveChanges(function(){
    console.log(record._key);
  });
});
...