24.01.2006, 15:58 | #1 |
Moderator
|
Синхронизация программно
Добрый вечер!
Не подскажите как программмно синхронизировать таблицу? |
|
24.01.2006, 16:01 | #2 |
Banned
|
Application::dbSynchronize(...)
|
|
24.01.2006, 16:33 | #3 |
Moderator
|
Спасибо!
Немного зациклился как передать в dbSynchronize() tableId.. Я перебираю таблицы, у меня есть treeNode. |
|
24.01.2006, 16:53 | #4 |
Участник
|
ну, всегда можно в крайнем случае воспользоваться
AOTgetProperties() - он вернет строку, и в ней должен быть первым свойством как раз tableid Думаю, просто, что есть и более изящный способ |
|
24.01.2006, 16:54 | #5 |
Administrator
|
можно воспользоваться стандатртными средствами:
X++: SysTableBrowser::treeNode2TableId(TreeNode treeNode);
__________________
Возможно сделать все. Вопрос времени |
|
24.01.2006, 17:12 | #6 |
Moderator
|
Большое Спасибо!!
|
|
24.01.2006, 17:19 | #7 |
Moderator
|
Извиняюсь за оффтоп:
Вот таким извращением можно менять свойства treeNode (Здесь свойства типа NoYes): PHP код:
|
|
24.01.2006, 18:39 | #8 |
Administrator
|
можно ... но сложно как-то ...
Вот пример попроще: X++: static void superJob(Args _args) { TreeNode treeNode = TreeNode::findNode('\\Data Dictionary\\Tables\\Address'); str properties = treeNode.AOTgetProperties(); str property; #Properties ; property = findproperty(properties, #PropertyTemporary); if (property == #PropertyValueYes) { properties = setproperty(properties, #PropertyTemporary, #PropertyValueNo); } treeNode.AOTsetProperties(properties); }
__________________
Возможно сделать все. Вопрос времени |
|
25.01.2006, 10:51 | #9 |
Moderator
|
Спасибо! Действительно проще.
После моего кода, таблицы остаются не синхронизированными: PHP код:
Последний раз редактировалось DreamCreator; 25.01.2006 в 11:06. |
|
25.01.2006, 11:17 | #10 |
Moderator
|
Помимо того что не синхронизируется, не могу понять такую закономерность:
Если мой класс (наследник RunBaseBatch, в нем весь алгоритм, и он вызывается) имеет RunOn: -- Server : не синхронизирует и не изменяет свойства у таблиц! (т.е. вообще не работает) -- CalledFrom,Client -- изменяет свойства, но не синхронизирует! Оставляю возможность, что я чего не досмотрел, но пока вопрос! |
|
25.01.2006, 12:04 | #11 |
Administrator
|
посмотрите параметры метода dbSynchronize. Второй параметр отвечает именно за принудительную синхронизацию.
И еще. Нет необходимости создавать экземпляр класса Application. Уже есть в системе глобальная переменная appl, созданная на сервере.
__________________
Возможно сделать все. Вопрос времени |
|
25.01.2006, 12:10 | #12 |
Moderator
|
Спасибо! Проблема полностью решена!
PHP код:
|
|
|
За это сообщение автора поблагодарили: CHESER85 (1). |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|