|  01.11.2012, 17:17 | #1 | 
| Участник | Не находит запись в RecordSortedList 
			
			RecordSortedList по временной таблице, пишу RecordSortedList.find(tmpTable) - ничего не находит. В чем может быть проблема?
		 | 
|  | 
|  01.11.2012, 17:19 | #2 | 
| Программатор | 
			
			нет такой записи?    | 
|  | 
|  01.11.2012, 17:23 | #3 | 
| Участник | |
|  | 
|  01.11.2012, 17:30 | #4 | 
| Участник | 
			
			Может ли такое быть именно потому-что таблица временная?
		 | 
|  | 
|  01.11.2012, 17:39 | #5 | 
| Участник | 
			
			А RecordSortedList.sortOrder(...) метод использовали? Вот это работает, например: X++: static void testRecordSortedList(Args _args) { TmpABC tmpABC; RecordSortedList rslTmpABC = new RecordSortedList(tableNum(tmpABC)); rslTmpABC.sortOrder(fieldNum(tmpABC, ItemId)); tmpABC.ItemId = '1'; tmpABC.Amount = 1.0; rslTmpABC.ins(tmpABC); tmpABC.ItemId = '2'; tmpABC.Amount = 2.0; rslTmpABC.ins(tmpABC); tmpABC.ItemId = '3'; tmpABC.Amount = 3.0; rslTmpABC.ins(tmpABC); tmpABC.ItemId = '2'; rslTmpABC.find(tmpABC); print tmpABC.Amount; pause; } | 
|  | 
|  01.11.2012, 17:48 | #6 | 
| Участник | 
			
			Нет не пробовал, но X++: if (RecordSortedList.find(tmpTable))
    RecordSortedList.del(tmpTable)По идее find() все равно, что запись одна. Курсор тот же самый. Что не так, не пойму? | 
|  | 
|  01.11.2012, 23:49 | #7 | 
| Участник | 
			
			А версия какая, не трёшка ли? А то была такая тема: Осторожно. RecordSortedList учитывает регистр символов
		 | 
|  | 
|  02.11.2012, 07:47 | #8 | 
| Участник | Цитата: 
		
			Сообщение от gl00mie
			   А версия какая, не трёшка ли? А то была такая тема: Осторожно. RecordSortedList учитывает регистр символов | 
|  | 
|  02.11.2012, 07:57 | #9 | 
| Участник | 
			
			Вот так заработало X++: if (RecordSortedList.first(tmpTable)) { if (RecordSortedList.find(tmpTable)) RecordSortedList.del(tmpTable) } | 
|  | 
|  02.11.2012, 07:57 | #10 | 
| Участник | 
			
			Сделайте мини пример. Джоб: заполнение RecordSortedList одной строкой, поиск, ошибка. Выложите здесь. Я думаю разобраться в ошибке после этого будет проще.
		 | 
|  | 
|  02.11.2012, 09:37 | #11 | 
| Участник | Цитата: Это и стало решением данной проблемы | 
|  | 
|  02.11.2012, 09:44 | #12 | 
| Участник | 
			
			А я понял. RecordSortedList.first(tmpTable) возвращает true, но между этим заполняет курсор данными первой записи из RecordSortedList. Ладно хоть у меня была задача всегда удалять первую запись из RecordSortedList Но тем не менее не понимаю, почему RecordSortedList.find(tmpTable) не возвращал true и не заполнял курсор данными нужной строки из RecordSortedList. Может потому-что я tmpTable брал из Map'а? | 
|  | 
|  02.11.2012, 18:21 | #13 | 
| Участник | 
			
			Прошелся поиском по формам и классам (Ax 3.0) нигде не используется .first() Джоб отработал и без него X++:     recordSortedList    recordSortedList;
    tmpTable    tmp;
    ;
    select tmp;
    if (!tmp)
    {
        tmp.clear();
        tmp.ItemId = "JJ009";
        tmp.insert();
        tmp.clear();
        tmp.ItemId = "JJ008";
        tmp.insert();
    }
    recordSortedList = new RecordSortedList(tableNum(tmpTable));
    recordSortedList.ins(tmp);
    //recordSortedList.first(tmp);
    if (recordSortedList.find(tmp))
        info("find");
    else
        info("no"); | 
|  |