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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.01.2016, 21:02   #1  
Music is offline
Music
Участник
 
33 / 10 (1) +
Регистрация: 01.07.2014
? Progress bar для DeleteAction?
Уважаемые коллеги, подскажите пожалуйста,

можно ли создать не анимированный Progress Bar для удаления записей из таблицы у которой есть несколько DeleteActions?
Может есть способ вычислить их количество и отслеживать какой из них выполняется и на этой базе оформить Progress Bar через SysOperationProgress?

Заранее благодарю за помощь!
Старый 29.01.2016, 21:12   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Реализация механизма DeleteAction скрыта от программиста. Для реализации прогрессбара я вижу только один способ - перекрыть delete метод и вручную реализовать логику удаления записей из подчинённых таблиц. Теоретически с помощью рефлексии можно написать универсальный код, который будет перебирать DeleteAction на таблице и выполнять удаление показывая индикатор выполнения процесса.
За это сообщение автора поблагодарили: Music (1).
Старый 29.01.2016, 21:20   #3  
Music is offline
Music
Участник
 
33 / 10 (1) +
Регистрация: 01.07.2014
?
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
...можно написать универсальный код, который будет перебирать DeleteAction на таблице ...
вижу что через DictTable можно получать тип и их количество на таблице. А как их кодом запускать?
Старый 29.01.2016, 21:39   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Пример кода для перебора всех DeleteAction на таблице
https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx

Сложнее найти условия по которым эти таблицы связываются.
Я предлагаю построить Query и воспользоваться его возможностью автоматически связывать подчинённые таблицы QueryBuildDataSource.relations(true)

Ещё вопрос как быстро удалить связанные записи
Удаление записей с собираемым условием как в query
Можно удалять по одной или задействовать вспомогательную таблицу.
Старый 29.01.2016, 21:58   #5  
Music is offline
Music
Участник
 
33 / 10 (1) +
Регистрация: 01.07.2014
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Пример кода для перебора всех DeleteAction на таблице
https://msdn.microsoft.com/en-us/lib...(v=ax.50).aspx
Это позволяет узнать разве что таблицу и тип самого DeleteAction. На основании этого писать query , который просто повторит его логику, я правильно понял идею?

Если да, то при большом количестве таблиц и разветвленном дереве DeleteAction-ов придется писать свой query под каждый DeleteAction.
Старый 29.01.2016, 22:10   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Music Посмотреть сообщение
при большом количестве таблиц и разветвленном дереве DeleteAction-ов придется писать свой query под каждый DeleteAction.
Если вам достаточно детализации прогресбара на первом уровне то остальные уровни можно оставить удалятся и стандартными DeleteAction.

P.S.: Вообще говоря, решать эту задачу для общего случая возможно и перебор. Вполне может статься, что явным образом вам достаточно удалить всего лишь пару крупных таблиц, что можно сделать безо всякой рефлексии?
Старый 29.01.2016, 22:15   #7  
Music is offline
Music
Участник
 
33 / 10 (1) +
Регистрация: 01.07.2014
Та в том то и дело что у меня очень разветвленное дерево таблиц и DeleteAction-ов, не нарефлексируешься, хоть мы и нашли способ))).

Похоже придется отделаться анимированным Progress Bar-ом).
Теги
delete action, progress bar, sysoperationprogress

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Progress Bar для Batch задачи wojzeh DAX: Программирование 3 03.01.2014 19:29
Почему в отчетах не делают progress bar-ов? IKA DAX: Программирование 16 22.10.2010 16:45
axaptapedia: Progress Bar Blog bot DAX Blogs 0 21.07.2008 03:39
axaptapedia: Progress Bar Blog bot DAX Blogs 0 27.06.2008 11:05
Как правильно работать с Progress bar? malex DAX: Программирование 2 19.09.2004 23:23

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

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

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