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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.04.2008, 12:21   #1  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Как программно заблокировать объект в AOT?
Для оптимизации рутинных операций захотелось в код, вызываемый из пункта контекстного меню, приделать кроме прочего автоматическую блокировку объекта AOT (таблицу, класс, форму, etc) - как это делается из контекстного меню выбором пункта «Блокировка». Копался в методах класса TreeNode, в формах экспорта/импорта - ничего подходящего не нашел.
По ходу выяснилось, что, к примеру, форма экспорта вызываются напрямую ядром Аксапты, которая потом через специально обученные методы на формах получает введенные параметры и уже непосредственно приступает к экспорту. См. форму SysExportDialog, которая вроде бы ничего и не делает, тот же метод export(), собирающий введенные параметры в виде битовых флагов, и методы getExportFlag(), getFileName() и иже с ними... Попробуйте поставить в них точку останова и посмотреть стэк вызовов
А как же все-таки программно заблокировать объект? Неужели никак?
AX 3.0 KR3
Старый 30.04.2008, 12:29   #2  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Экспериментировать леньки. Есть только "идея".

Добавить запись в UtilLocks не пробовали?
__________________
С уважением,
glibs®
За это сообщение автора поблагодарили: gl00mie (5).
Старый 30.04.2008, 12:37   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, тут вроде ничего сложного нет. Создать нужно запись в табличке UtilLocks.
В АХ 2009, к слову, эту табличку и пункт меню удалили, так как начиная с АХ 4 уже есть Version Control, а соответственно необходимость такой блокировки объектов отпала
За это сообщение автора поблагодарили: alex55 (1).
Старый 30.04.2008, 15:57   #4  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Огромное спасибо, с использованием UtilLocks все получилось! А на счет того, что ее нет в 5-ке, так до перехода на нее еще надо дожить...
Старый 30.04.2008, 16:15   #5  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от gl00mie
...
А на счет того, что ее нет в 5-ке, так до перехода на нее еще надо дожить...
...
Плох тот солдат, который не мечтает стать генералом.

Не разделяю ваш подход. Думать на будущее нужно всегда. По возможности (предсказать его невозможно).
__________________
С уважением,
glibs®
Старый 30.04.2008, 16:23   #6  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от glibs Посмотреть сообщение
Думать на будущее нужно всегда. По возможности (предсказать его невозможно).
Все это, конечно, верно, но у меня сейчас есть «сиюминутная» задача: оптимизировать рутинные операции при сравнении объектов в ходе обновления на очередной service pack. Рутинные операции заключаются в вызове формы сравнения объектов на разных слоях и в блокировании объекта (чтобы другие разработчики видели, что я его проверил). Сравнение объектов (класс SysCompare) я уже подвинтил, чтобы он на форме выбирал нужные мне слои и при определенных условиях сразу запускал сравнение, без нажатия кнопки; осталась блокировка объекта в AOT. Два раза лазить в контекстное меню для каждого из сотни-другой объектов мне ну очень лениво, в связи с чем и возникло желение сделать все в одно действие. Когда дойдет очередь до обновления на 5-ку, думаю, найдутся другие механизмы распределения фронта работ
Теги
ax2009, ax3.0, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как программно изменить права доступа на объект ? egorych DAX: Программирование 33 24.01.2019 10:09
gatesasbait: Improved AOT Queries in Ax2009 Blog bot DAX Blogs 3 12.10.2011 15:03
axStart: Please keep the AOT reports in Dynamics AX next release alive Blog bot DAX Blogs 2 13.12.2008 12:18
daxmy: AOT Find function Blog bot DAX Blogs 0 17.08.2007 01:23
Можно ли программно заблокировать объект в АОТ? MaratRZ DAX: Программирование 1 16.03.2005 09:19
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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