AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.01.2006, 18:39   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
можно ... но сложно как-то ...
Вот пример попроще:
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   #2  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
?
Спасибо! Действительно проще.

После моего кода, таблицы остаются не синхронизированными:

PHP код:
public void run()
{
    
UtilIdElements      utilIdElements;
    
TreeNode            treeNode;
    
TreeNodeIterator    it = new TreeNodeIterator();
    
str                 propertyStr;
    
Application         application = new Application();
    ;

    
treeNode    TreeNode::findNode("\\Data Dictionary\\Tables");
    
it          treenode.AOTiterator();
    
treeNode    it.next();

    while(
treeNode)
    {
        
treeNode.AOTrestore();

        if(
strScan(treeNode.AOTname(),'sys',1,100))
            continue;
        if(
strScan(treeNode.AOTname(),'DEL',1,100))
            continue;
        if(
strScan(treeNode.AOTname(),'xRef',1,100))
            continue;

        
propertyStr treeNode.AOTgetProperties();

        if(
createdBy)
            
propertyStr this.updateTreeNodeProperties(propertyStr,'CreatedBy');

        
treeNode.AOTsetProperties(propertyStr);
        
treeNode.AOTsave();

        
application.dbSynchronize(SysTableBrowser::treeNode2TableId(treeNode));

        
treeNode it.next();
    }



Последний раз редактировалось DreamCreator; 25.01.2006 в 11:06.
Старый 25.01.2006, 11:17   #3  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Помимо того что не синхронизируется, не могу понять такую закономерность:

Если мой класс (наследник RunBaseBatch, в нем весь алгоритм, и он вызывается)
имеет RunOn:

-- Server : не синхронизирует и не изменяет свойства у таблиц! (т.е. вообще не работает)

-- CalledFrom,Client -- изменяет свойства, но не синхронизирует!


Оставляю возможность, что я чего не досмотрел, но пока вопрос!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Удаление отгрузочной накладной программно Sada DAX: Программирование 14 03.11.2006 09:01
навязчивая синхронизация Антон Солдатов DAX: Функционал 11 22.04.2005 11:04
Как программно изменить к-во в строке заказа в форме SalesTable BorDark DAX: Программирование 2 13.01.2005 17:02
Репликация и синхронизация Tays DAX: Администрирование 12 24.11.2004 12:18
синхронизация с outlook alpine DAX: Функционал 7 09.06.2004 13:53
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 14:05.