AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.02.2012, 19:41   #1  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Регистрация: 28.05.2010
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Основное правило при написании любых циклов

Вынести все то, что не меняется внутри цикла во вне цикла. Исключить бессмысленные повторы.

Время обработки одного цикла по k сразу сократилось примерно в 2,5 раза по сравнению с Вашим первоначальным вариантом.
Данный пример.. как это.. эмулирует, скажем так, одну реальную ситуацию - печать множества разных(!) отчетов подряд в одном цикле. Сами отчеты запускаются в отдельных классах. Т.е. выносить за цикл мы не можем и время обработки нас устраивает, главное - чтобы оно не нарастало.
PS А оно нарастает..

Последний раз редактировалось imir; 02.02.2012 в 19:49.
Старый 02.02.2012, 20:16   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от imir Посмотреть сообщение
Данный пример.. как это.. эмулирует, скажем так, одну реальную ситуацию - печать множества разных(!) отчетов подряд в одном цикле. Сами отчеты запускаются в отдельных классах. Т.е. выносить за цикл мы не можем (...).
Почему же не можем? Очень даже можем! Подобные задачи решаются через передачу в соответсвующий класс через set() или parm() методы нужных объектов. Ну, или подчиненный класс обращается к вызвавшему за нужным объектом через get() или parm() методы.

Т.е. Вам надо всего-лишь предусмотреть возможность в Ваших классах приема из-вне экземпляра объекта ComExcelDocument_RU(). И если он передан, то использовать его, а не создавать новый.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Масштабируемость AOS'а AX 2009 и принципы выполнения кода клиентских сессий на сервере gl00mie DAX: Администрирование 27 28.05.2013 17:40
Отображение места выполнения кода в отладчике kashperuk DAX: Программирование 5 16.08.2006 12:17
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Оптимизация кода X++ Владимир Максимов DAX: Программирование 8 19.01.2004 15:24
Имитация связи между таблицами из кода программы Андре DAX: Программирование 3 31.01.2002 11:00
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:34.