15.09.2005, 16:57 | #1 |
Участник
|
Types::Record в качестве ключа для класса Map
Привет всем! Вопрос вот в чем. Кто-нибудь использовал тип Record для ключа в классе Map
PHP код:
PHP код:
|
|
15.09.2005, 17:25 | #2 |
Участник
|
А что заставляет использовать в качестве ключа именно Record?
__________________
Axapta v.3.0 sp5 kr2 |
|
15.09.2005, 17:54 | #3 |
Moderator
|
Может лучше RecId для ключа использовать?
|
|
15.09.2005, 23:25 | #4 |
Administrator
|
Однако, интересно - действительно на map.exists вылетает
PHP код:
Рекомендаций по обходу тут масса - и запоминать RecId в тот же Map и воспользоваться системными классами Record* и сделать временную копию таблицы через метод setTmp. В зависимости от задачи Но сам факт баги интересен ...
__________________
Возможно сделать все. Вопрос времени |
|
16.09.2005, 10:52 | #5 |
Участник
|
Цитата:
Рекомендаций по обходу тут масса - и запоминать RecId в тот же Map и воспользоваться системными классами Record* ...
to AndyD. А что если натыкаешься на стену, то ее обязательно стороной обходить, а перелезть ни ни. Вот для того, чтобы не создавать лишний RecordSortedList мне нужно было, чтобы ключ был Record, а не Integer c RecId. Мне нужен весть курсор и чтобы не искать его где-либо (даже в супербыстром RecordSortedList) я и хотел воспользоваться ключом типа Record. |
|
16.09.2005, 11:09 | #6 |
Участник
|
2 Gad
Честно сказать совершенно не понял эту фразу. Key - это уникальное значение. Какая разница - будет это запись целиком или, например, ее RecId. Если вам необходимо ее хранить - воспользуйтесь Value Извините, я просто не пойму, как вы собирались это использовать
__________________
Axapta v.3.0 sp5 kr2 |
|
16.09.2005, 11:44 | #7 |
Moderator
|
Цитата:
Мне нужен весть курсор и чтобы не искать его где-либо
|
|
16.09.2005, 14:01 | #8 |
Участник
|
2 kvan
мне не нужно искть в мапе запись после формирования мапа я итератором перебираю в нем записи и вывожу в отчет. 2 AndyD мне для вывода в отчет требуется Key - запись (несколько полей из одной таблицы) и Value - количество суммируемое для этой конкретной записи из других таблиц А вообще говоря предметом обсуждения является не то зачем мне это надо. А конкретный баг, на вопрос про который ответ я получил. Спасибо. |
|
16.09.2005, 14:33 | #9 |
Участник
|
Хорошо.
Я проверил - вставка и работа с итератором проходит без проблем. Nак что, если убрать вызов Exists() и проверять значение, возвращаемое функцией Insert(), то можно использовать Record как ключ
__________________
Axapta v.3.0 sp5 kr2 |
|
16.09.2005, 15:54 | #10 |
Участник
|
Да можно было бы, если бы к одному Record несколько раз не прибавлялось разное Value. То есть если запись есть, то ее надо прочитать, увеличить Value мапа на очередное количество и снова вставить в мап Record и увеличенное Value. А так как, использование метода lookup в мапе вываливает ошибку в случае, если записи с таким ключом нет, то без exists не обойтись. Таким образом, приходится все же делать через RecId и RecordSortedList
|
|
16.09.2005, 16:23 | #11 |
Участник
|
Я бы предложил что-то типа такого
PHP код:
__________________
Axapta v.3.0 sp5 kr2 |
|
11.07.2007, 00:07 | #12 |
Участник
|
Цитата:
Сообщение от Gad
Привет всем! Вопрос вот в чем. Кто-нибудь использовал тип Record для ключа в классе Map
PHP код:
PHP код:
|
|
11.07.2007, 10:54 | #13 |
Microsoft Dynamics
|
Пофиксили в 3,0 СП4 КР2
|
|
|
|