03.12.2008, 11:32 | #1 |
совсем зелен
|
RecordSortedList как проверить???
смотрю тут код...
transList = new RecordSortedList(tableNum(LedgerJournalTrans)); далее заполняются поля... transList.ins(journalTransLocal, true); в результате LedgerJournalTrans ничего не появляется...как проверить RecordSortedList отработал или нет??? |
|
03.12.2008, 11:36 | #2 |
Участник
|
найдите в коде RecordSortedList.insertDatabase()
|
|
03.12.2008, 11:38 | #3 |
совсем зелен
|
вродь нет такого...
|
|
03.12.2008, 11:43 | #4 |
Участник
|
тогда вставки в базу новых строк не произойдет
|
|
03.12.2008, 11:45 | #5 |
совсем зелен
|
ну понятно...тока если вставить такую строчку ругается что RecordSortedList должен быть отработан на сервере...
что я не так делаю??? |
|
03.12.2008, 11:46 | #6 |
MCITP
|
в коде нет?
тогда не отработает ))) Вставка происходит при вызове RecordSortedList.insertDatabase(). Также (если не ошибаюсь) периодически эта вставка происходит "пачками" до данного вызова, если набирается много данных. Эта тема пару раз уже обсуждалась на форуме - поищите.
__________________
Zhirenkov Vitaly |
|
03.12.2008, 11:51 | #7 |
совсем зелен
|
да я поискал...не нашел ничего...толи искать не умею...толи смотрю не туда...
|
|
03.12.2008, 12:02 | #8 |
совсем зелен
|
поможите человеки...я ж не знаю ничего...
|
|
03.12.2008, 12:02 | #9 |
MCITP
|
__________________
Zhirenkov Vitaly |
|
03.12.2008, 12:03 | #10 |
MCTS
|
Цитата:
Remarks
The method will fall back to record-by-record insert, if (a) the table is not SQL stored, (b) the insert() method is overloaded, or (c) the tables includes memo- or container-fields. Also, a RecordSortedList must be server-located before insertDatabase() can be called, otherwise an exception is thrown. Example Below is an example of how to insert N, or in this case 3, records in one, single database operation. X++: { RecordSortedList recordSortedList; CustTable custTable; ; recordSortedList = new RecordSortedList(tablenum(CustTable)); recordSortedList.sortOrder(fieldnum(custTable,AccountNum)); ttsbegin; custTable.AccountNum = '1000'; // prepare record #1 for insertion custTable.CreditMax = 10000.0; recordSortedList.ins(custTable); custTable.AccountNum = '2000'; // prepare record #2 for insertion custTable.CreditMax = 500.0; recordSortedList.ins(custTable); custTable.AccountNum = 'N000'; // prepare record #N for insertion custTable.CreditMax = 9999999.9; recordSortedList.ins(custTable); recordSortedList.insertDatabase(); // all N records are inserted in one database operation ttscommit; } |
|
03.12.2008, 12:05 | #11 |
MCITP
|
Цитата:
По смыслу этот объект и должнет быть на сервере - это правильно.
__________________
Zhirenkov Vitaly |
|
03.12.2008, 12:14 | #12 |
Участник
|
Цитата:
Может быть, проблема где-то здесь: Цитата:
RecordSortedList objects must be server-located before the insertDatabase method can be called. Otherwise, an exception is thrown.
|
|
03.12.2008, 12:14 | #13 |
MCTS
|
Перенесите работу кода на сервер и всего делов.
|
|
03.12.2008, 12:18 | #14 |
MCITP
|
Цитата:
Не уверен. Но и не проверял.
__________________
Zhirenkov Vitaly |
|
03.12.2008, 12:28 | #15 |
Участник
|
Я тоже не проверял ))), но судя по описанию, RecordSortedList раньше вызова insertDatabase() записи вставлять не должна:
http://msdn.microsoft.com/en-us/libr...29(AX.10).aspx http://msdn.microsoft.com/en-us/libr...22(AX.10).aspx У второго явно указано: Цитата:
Records are inserted only when the kernel finds the time appropriate, but they are inserted no later than the call to the insertDatabase.
|
|
03.12.2008, 12:34 | #16 |
MCTS
|
Цитата:
Я тоже не проверял ))), но судя по описанию, RecordSortedList раньше вызова insertDatabase() записи вставлять не должна:
insertDatabase |
|
03.12.2008, 13:26 | #17 |
совсем зелен
|
извиняюсь отвлекли...
что значит перенести на сервер??? я просто чайник в этих делах...нада разобраться почему не вносит записи в таблицу... полностью ошибка звучит так Ошибка: Невозможно создать запись в Строки журнала (LedgerJournalTrans). Чтобы использовать databaseInsert(), RecordSortedList должен быть обработан на сервере. ttsbegin и ttscommit ставил...ошибка та же... |
|
03.12.2008, 13:31 | #18 |
MCTS
|
Ну, например, если этот код у вас в статическом методе (static в определении метода), то дописать в определение
static server Это смотря, где код написан. Где он находится, в каком классе? Полность метод можете показать? |
|
03.12.2008, 13:33 | #19 |
совсем зелен
|
да в классе...
метод protected void... |
|
03.12.2008, 13:43 | #20 |
Участник
|
|
|