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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.02.2009, 11:23   #1  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Маленькое дополнение, если кто-то пойдет моим путем:
X++:
if ( !this.FieldMethodName)
{
  if (_formControl.dataSource())
     this.FieldMethodName =    _fr.form().dataSource(_formControl.dataSource()).name()+'.'+_formControl.dataMethod()+'()';
  this.isMethod        = NoYes::Yes;
}
Добавляем проверку свойства datasource как указано выше на случай того, если контрол не связан с источником вообще. И еще увеличиваем размер поля FieldMethodName, а то в 40 символов может не влезть
Старый 18.02.2009, 11:30   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
И еще увеличиваем размер поля FieldMethodName, а то в 40 символов может не влезть
40 символов - предельное значение для любого объекта АОТ
Старый 18.02.2009, 11:32   #3  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от kashperuk Посмотреть сообщение
40 символов - предельное значение для любого объекта АОТ
Для объекта АОТ да, но к имени объекта еще добавляется имя источника, поэтому в сумме длина может превысить 40 символов
Старый 18.02.2009, 12:54   #4  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1235 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Маленькое дополнение, если кто-то пойдет моим путем:
X++:
if ( !this.FieldMethodName)
{
  if (_formControl.dataSource())
     this.FieldMethodName =    _fr.form().dataSource(_formControl.dataSource()).name()+'.'+_formControl.dataMethod()+'()';
  this.isMethod        = NoYes::Yes;
}
Добавляем проверку свойства datasource как указано выше на случай того, если контрол не связан с источником вообще. И еще увеличиваем размер поля FieldMethodName, а то в 40 символов может не влезть
Есть проблема.
Дело в том, что в режиме поиска по полю происходит фильтрация именно по "this.FieldMethodName". Поэтому, дописав сюда дополнительные буквы вы сломаете фильтрацию... Ещё раз повторюсь, что эту доработку лучше сделать в месте, где формируется FormListControl, а не на таблице. При этом в таблицу можно добавить новое поле для имени таблицы датасорса.

Последний раз редактировалось DSPIC; 18.02.2009 в 13:10.
Старый 20.02.2009, 16:02   #5  
konfet is offline
konfet
Снова балуюсь косаптой :)
 
143 / 50 (2) ++++
Регистрация: 23.04.2003
Адрес: Moscow
Большое спасибо за Ваш труд! Очень полезная утилита. Непонятно - почему что-то похожее не было реализовано разработчиками, на системном слое.

Что бы хотелось видеть в следующей версии, если она будет (новое/исправленное):
  1. Если запустить formDigger из формы (при этом курсор находится в поле "Id") - поле "Id" окружается красной рамочкой. Но позиционирования в formDigger на поле "Id" не происходит - то есть оно не оказывается первым в списке подобно тому как это происходит в Аксапте при "переходе к основной таблице". Оно правда, выделяется серым фоном - но как-то незаметно.
  2. Если после открытия formDigger перейти в host-форме на другое поле, то перепозиционирования в formDigger на это поле не происходит, и красная рамочка вокруг него в host-форме не появляется.
  3. Функция копирования скриншота host-формы в буфер обмена переносит со скриншотом красную рамочку, но не всегда. В частности, она не делает это на полях-галочках (типа NoYes) и в некоторых других случаях (смотрелось на форме "Обработка/Отборочная накладная" в закупке) .
  4. При щелчке правой кнопкой мыши по любому элементу formDigger происходит перерисовка host-формы.
  5. Хотелось бы видеть сортировку и/или фильтрацию по типу элемента (поле, display/edit метод и тд), а также по datasource-у контрола (см. ниже).
  6. Хотелось бы видеть в formDigger информацию (в виде еще одной колонки) о datasource и/или к таблице, к которой относится выбранный контрол.
  7. При выборе пункта "свойства" в контестном меню на элементе, происходит открытие окна свойств контрола в форме. Хотелось бы иметь возможность открывать свойства поля на таблице, если контрол представляет собой табличное поле. Если же контрол - дисплей-метод на таблице или на датасурсе формы, то по двойном щелчке на нем открывается соответствующий код.
  8. Галочка Find By Field имхо практически не нужна, так как label всегда на русском, а системное имя поля - английское. Точнее так: поиск лучше производить и по label и по fieldname без необходимости переключать Find By Field.
__________________
Бесты и регарды!
За это сообщение автора поблагодарили: DSPIC (3).
Теги
ax3.0, ax4.0, download, formdigger, tools, инструменты, полезное, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как и где указать Ax, что моё поле тоже надо так обрабатывать? kostas DAX: Программирование 8 17.04.2015 00:36
Evgeny Arlionak: Где же это поле?! (Form digger) Blog bot DAX Blogs 0 17.02.2009 19:05
casperkamal: Preventing a form getting added to "LastActivated Form" in Dynamics Ax Blog bot DAX Blogs 1 27.08.2007 23:17
Axapta Lessons: Trapping keystrokes in a Form Blog bot DAX Blogs 13 01.11.2006 18:16
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:29.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.