Цитата:
Сообщение от Freeman
получить значение ID
|
Код:
Master.UpdateBatch;
// использовать filterGroup, Для фильтрации только "новых" данных?
//т.к. запись может быть не одна: нужно пробежаться по всем новым запися, while not Detail.EOF ??
Detail.FieldByName('TicketID').AsInteger := Master.FieldDyName('ID').AsIntger;
Detail.UpdateBatch;
Цитата:
Сообщение от Freeman
Как понимаю, пакетный режим должен быть включен для подчиненного набора данных, а на мастере -- наоборот
|
Вот эту часть не понял совсем.
Хотите сказать
Код:
Master.LockType := ltOptimistic;
Но тогда документ будет попадать в БД без возможность отмены действий. Или я чего-то не понимаю.
Ещё мне неясны слова
Цитата:
Сообщение от Freeman
нужно в рамках одной транзакции
|
Что это значит?
BD в папке release (просто откомпилировать в release и всё само заведётся)
Обе таблицы (tMaster и tDetail находятся в режиме
ltLockBatchOptimistic )
Собственно, что писать в коде кнопки @Сохранить изменения и какие дополнительные манипуляции необходимо произвести?
Проблема в том, что:
Код:
tDetail.MasterSource := dsDetail;
После того как
записи в Master присваивается ID, и Detail теряет связь, с Master, потому что у Detail записей в колнке 'MasterID' ничего ещё нет.
Нужен дополнительный tDetail_Temp, который не связан по MasterSource ?? и использовать его как временное хранилище? =\ попахивает "быдлокодом"