04.05.2010, 11:09 | #1 |
MCTS
|
Ошибка в ОСВ по клиентам/поставщикам
Всем привет.
Обнаружил забавный глюк в ОСВ по поставщикам/клиентам. Глюк, судя по всему очень старый (обнаружен и в трешке, и в четверке), но на форуме о нем ничего не нашел. Суть глюка - при печати ОСВ по клиентам (или поставщикам) в печатной форме пропадает строчка. Для воспроизведения глюка необходимо: Сформировать запрос ОСВ по клиентам/поставщикам с произвольными параметрами. Основное требование, что бы в выходной форме было более 40 строк. После того, как запрос сформировался, не просматривая строки, сразу нажать на кнопку "Печать". В печатной форме запомнить позиции с 25 по 35, затем вернуться в форму запроса и посмотреть те же строки с 25 по 35. Если присмотреться, то можно заметить, что в печатной форме пропала одна строчка. Глюк, вроде как связан с кривеньким кешированием при выводе ОСВ, реализованным нашими горе-локализаторами. У кого-нить еще наблюдается похожая ситуация?
__________________
Dynamics AX Experience |
|
|
За это сообщение автора поблагодарили: Maximin (1), Logger (2). |
04.05.2010, 13:16 | #2 |
Участник
|
У нас наблюдалась.
Правда отчет был с нашими доработками, поэтому я в начале списал это на кривые руки программца, выполнявшего кастомизацию. Оказалось все намного хуже . |
|
04.05.2010, 13:20 | #3 |
Участник
|
Там не то, чтобы кэширование кривенькое, а вроде бы на итераторе, используемом для подтягивания записей в кэш, лишний раз next() вызывается - в смысле вызывается тогда, когда делать этого вообще не нужно.
|
|
04.05.2010, 14:07 | #4 |
MCTS
|
Цитата:
Сначала все записи перебираются и вставляются в мап, для чего в лучших традициях жанра используются исключительно контейнеры с макросами (явно, парни специально думали про удобство последующего сопровождения, отладки и доработки кода ), потом пару разу в мапе прокручиваются, потом частично выводятся в контрол на форме, а отчет потом строиться частично из данных контрола на форме, а частично из мапа... Сходу так и не поймешь, что где и когда кешируется... Не удивительно, что они один из итераторов лишний раз двигают дальше. Вообщем, один из многих изящных алгоритмов русской локализации. И хороший tutorial как не надо делать в Аксапте. ПС: Может кто-нить зарегистрирует баг в Майкрософт?
__________________
Dynamics AX Experience Последний раз редактировалось CDR; 04.05.2010 в 14:17. |
|
04.05.2010, 15:42 | #5 |
Участник
|
Удивительно как долго прожил этот баг.
Никто что ли не сверяет, то, что напечаталось в отчет и что вывелось в грид? Мы только благодаря выгрузке в Excel обнаружили и то - далеко не сразу. |
|
04.05.2010, 16:43 | #6 |
Microsoft Dynamics
|
Цитата:
Сообщение от CDR
Кривенькое-кривенькое... я бы еще сказал и корявенькое...
Сходу так и не поймешь, что где и когда кешируется... Не удивительно, что они один из итераторов лишний раз двигают дальше. Вообщем, один из многих изящных алгоритмов русской локализации. И хороший tutorial как не надо делать в Аксапте. ПС: Может кто-нить зарегистрирует баг в Майкрософт? |
|
04.05.2010, 17:22 | #7 |
Участник
|
Кажется, вот здесь не нужно вызывать reportIterator.next(): \Classes\RLedgerSheetEngine_TurnoverCustVend\reportFetchStart
|
|
|
За это сообщение автора поблагодарили: Maximin (1), Logger (5). |
Теги |
баг, оборотно-сальдовая ведомость, осв, ошибка |
|
Похожие темы | ||||
Тема | Ответов | |||
Ошибка в ОСВ главной книги | 7 | |||
Ошибка в логе при установке клиента AX 2009 | 9 | |||
Сальдо по клиентам и поставщикам | 14 | |||
Ошибка в формате числа. | 7 | |||
Русская локализация Axapta 3 ? | 59 |
|