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