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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.12.2008, 13:47   #21  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
блин чето другое и сломалось...выход то есть??? )
Старый 03.12.2008, 13:48   #22  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Создаете статический метод в этом же классе для формирования класса на сервере
static server RecordSortedList getRSL(TableId _tableId)
{
;
return new RecordSortedList(_tableId);
}

а в своем коде констрируете объект уже так:
transList = ВАШ_КЛАСС::getRSL(tableNum(LedgerJournalTrans));

В результате, получим объект на сервере.
Старый 03.12.2008, 13:49   #23  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
На классе свойство RunOn=Server
Может, правда, что-то другое сломаться)))
нее, много чего поломать можно . В смысле, заставить работать то можно, только больше хлопот.
Старый 03.12.2008, 13:52   #24  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
Eldar9x
ошибок нет...но и не добавилась запись...
Старый 03.12.2008, 13:57   #25  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
упс...извиняюсь...вроди чет пошло...теперь на код валюты ругается...заранее спасибо... )
Старый 03.12.2008, 14:01   #26  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Пробейте код валюты
там, где
Цитата:
далее заполняются поля...
journalTransLocal.currencyCode = CompanyInfo::find().CurrencyCode;

А вообще правильней бы перед заполнением полей initValue вызвать. Да и validateWrite с validateField для каждого, вручную заполняемого поля, не помешал бы.

Последний раз редактировалось Eldar9x; 03.12.2008 в 14:10.
Старый 03.12.2008, 14:03   #27  
V777 is offline
V777
совсем зелен
 
249 / 10 (1) +
Регистрация: 15.04.2008
да с этим уже понятней... ща все косяки подотру посмотрим добавит или нет..,
Старый 03.12.2008, 14:16   #28  
petergunn is offline
petergunn
Участник
 
118 / 274 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
?
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Интересно. Insert() метод таблицы вызывается каждый раз при вызове recordSortedList.ins(custTable); С другой стороны, вставка в БД проиходит, только если вызван
insertDatabase
2 eldar: можно поподробнее описать ситуацию с вызовом метода insert() при вызовах recordSortedList.ins(custTable) - на какой версии Ax тестировался код (привести пример кода) и на основе чего сделан такой вывод?

Написал небольшой кусок для эксперимента :
X++:
static server void main( Args _args)
{
    RecordSortedList    recordSortedList    ;
    CustTable           custTable           ;
    Counter             counter             ;
    ;

    recordSortedList = new RecordSortedList( tablenum( CustTable ) );
    recordSortedList.sortOrder( fieldnum( custTable,AccountNum ) ) ;

    ttsbegin;
    for( counter = 1; counter <= 100; counter++ )
    {
        custTable.AccountNum = strfmt( "Cust_%1", counter ) ;
        custTable.CreditMax = counter * 100.0 ;

        info( strfmt( "before recordSortedList.ins %1 record", counter ) ) ;
        recordSortedList.ins( custTable ) ;
    }

    info( 'before recordSortedList.insertDatabase' ) ;
    recordSortedList.insertDatabase() ;
    ttscommit;
}
По результатам работы видно что перекрытый метод custTable.insert() начинает отрабатывать только при фактической вставке в БД после вызова recordSortedList.insertDatabase():
Изображения
 
Старый 03.12.2008, 14:26   #29  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
По результатам работы видно что перекрытый метод custTable.insert() начинает отрабатывать только при фактической вставке в БД после вызова recordSortedList.insertDatabase():
А, виноват, именно так и работает.
Кстати, транзакцию можно выкинуть. Вставка и без нее происходит.

PS: Оказывается, транзакция открывается. в insertDatabase. Т.е., вначале идет ttsnotifybegin, потом insert методы на таблице и наконец, ttsnotifycommit;

Последний раз редактировалось Eldar9x; 03.12.2008 в 14:45.
Старый 03.12.2008, 14:35   #30  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от coolibin Посмотреть сообщение
Я тоже не проверял ))), но судя по описанию, RecordSortedList раньше вызова insertDatabase() записи вставлять не должна:
Да, действительно.. Проверил - не вставляется.

Вопрос к ТопикСтартеру - а вы не забыли сделать в коде?
X++:
recordSortedList.sortOrder(...);
А то иначе тоже будут "некоторые" проблемы.
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: coolibin (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Осторожно. RecordSortedList учитывает регистр символов Logger DAX: Программирование 9 23.01.2009 15:39
Как узнать по объекту RecordSortedList, из какой таблицы в нем записи? gl00mie DAX: Программирование 4 20.02.2008 15:39
axStart: RecordSortedList Blog bot DAX Blogs 0 21.12.2007 04:11

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

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

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