![]() |
#4 |
MCITP
|
![]() Цитата:
Сообщение от miklenew
![]() Тоже надоела ненужная синхронизация.
В результате переписал метод вот так: X++: boolean dbSynchronize(tableId tableId = 0, // 0 = all tables, non-zero is a valid table handle boolean syncAsNeeded = true, // true = objects touched in the AOT, false = unconditional synchronize boolean continueOnError = true, boolean showProgress = true ) // true = report all problems, but throw only after all tables are synchronized, false = stop synchronize after first error/problem { SqlSyncPending sqlSyncPending = new SqlSyncPending(); boolean ok; ; setPrefix("@SYS22807"); if (SQLSyncPending.databaseTouched() && Box::yesNo("Синхронизировать?", DialogButton::Yes) == DialogButton::Yes) ok = super(tableId, syncAsNeeded, continueOnError, showProgress); else { new SQLSyncPending().databaseTouched(false); ok = true; } if (ok && this.isRunningMode()) { SysApplicationSetup::saveApplicationVersion(SysApplicationSetupMode::Synhronize); // HansBred - SP4 - PS #5544 SysSQLInitDbTriggers::CheckExistsDBTriggers(); } return ok; } Может кто знает как довести до ума? Когда просто синхронизиться таблица "по требованию" то "точед"==false и у вас синхронизация никогда не выполняется. В случае же изменения EDT там будет true. Т.е. надо спрашивать только тогда когда SQLSyncPending.databaseTouched()==true (ну или вообще всегда ![]()
__________________
Zhirenkov Vitaly |
|