![]() |
#5 |
Участник
|
Цитата:
Вчера как раз тоже написал подобный джоб, может кому пригодится: X++: // Синхронизация с выводом наименований "неправильных" таблиц static void DbSynchronize(Args _args) { #AviFiles Dictionary dictionary; DictTable dictTable; int i; SysOperationProgress progress; ; dictionary = new Dictionary(); progress = SysOperationProgress::newGeneral(#AviUpdate, "Синхронизация", dictionary.tableCnt()); for (i = 1; i <= dictionary.tableCnt(); i++) { dictTable = new DictTable(dictionary.tableCnt2Id(i)); if (dictTable.isSql() && ( !dictTable.configurationKeyId() || isConfigurationkeyEnabled(dictTable.configurationKeyId()) ) ) { try { progress.setText(dictTable.name()); progress.setCount(i); if (!appl.dbSynchronize(dictTable.id(), false, true, false)) { warning(strfmt("Проблемы с таблицей %1 (Id = %2)!", dictTable.name(), dictTable.id())); } } catch (Exception::Error) { warning(strfmt("Проблемы с таблицей %1 (Id = %2)!", dictTable.name(), dictTable.id())); } } } info("Синхронизация завершена"); } - некорректные данные в таблице SqlDictionary (чаще всего - их отсутствие), - нарушение уникального индекса (самая "попса" - табличка InventDim при отключении складской аналитики) |
|
|
За это сообщение автора поблагодарили: DarLord (0). |