To George Nordic:
Не вижу ничего предосудительного в вызове write() на DS. Если создана новая запись, будет вызван insert(), если сохраняется существующая - update(). Вы же не имеете ничего против сохранения записи кнопкой "Save" сразу после ее создания

(если задача так поставлена) ?
To Garic:
Работаю с 3.0 недавно, поясните вкратце, что и для чего делает метод DS.forceWrite().
И опять же про обязательные поля: если задача ставится таким образом, что записи должны сохраняться сразу (решал как-то подобную задачу), все проектируется для автоматического заполнения обязательных полей. А при сохранении через DS.write(), как и при ручном сохранении, все проверки выполнятся автоматически и запись просто не сохранится при наличии ошибок.