Цитата:
Сообщение от
gl00mie
Там не то, чтобы кэширование кривенькое, а вроде бы на итераторе, используемом для подтягивания записей в кэш, лишний раз next() вызывается - в смысле вызывается тогда, когда делать этого вообще не нужно.
Кривенькое-кривенькое... я бы еще сказал и корявенькое...
Сначала все записи перебираются и вставляются в мап, для чего в лучших традициях жанра используются исключительно контейнеры с макросами (явно, парни специально думали про удобство последующего сопровождения, отладки и доработки кода
), потом пару разу в мапе прокручиваются, потом частично выводятся в контрол на форме, а отчет потом строиться частично из данных контрола на форме, а частично из мапа...
Сходу так и не поймешь, что где и когда кешируется... Не удивительно, что они один из итераторов лишний раз двигают дальше.
Вообщем, один из многих изящных алгоритмов русской локализации. И хороший tutorial как не надо делать в Аксапте.
ПС: Может кто-нить зарегистрирует баг в Майкрософт?