|
![]() |
#1 |
Участник
|
|
|
![]() |
#2 |
Боец
|
Вот простенький джобец, который позволяет локализовать проблемную таблицу.
X++: //DSPIC static void synchronizationCheck(Args _args) { Dictionary dictionary = new Dictionary(); TableId tableId; RunbaseProgress runbaseProgress = new RunbaseProgress(); ; tableId = dictionary.tableNext(tableId); runbaseProgress.setTotal(dictionary.tableCnt()); runbaseProgress.setCaption("SynchronizationCheck"); while (tableId) { appl.dbSynchronize(tableId, false, true, false); runbaseProgress.setText(tableId2Name(tableId)); info (strfmt("Table '%1' - OK", tableId2Name(tableId))); runbaseProgress.incCount(); tableId = dictionary.tableNext(tableId); } } |
|
![]() |
#3 |
Участник
|
Цитата:
Вчера как раз тоже написал подобный джоб, может кому пригодится: 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). |
![]() |
#4 |
Боец
|
Цитата:
По-моему, некорректный джобец. Во-первых, он работает до первой ошибки, во-вторых, имя таблицы с ошибкой как раз не выводится, а в инфологе только куча строк "Table xxx - ОК".
![]() Цитата:
Вчера как раз тоже написал подобный джоб...
![]() ![]() |
|
![]() |
#5 |
Участник
|
Цитата:
Цитата:
![]() |
|
Теги |
ax4.0 |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|