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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.06.2008, 16:36   #1  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Контрол типа DateEdit в диалоге
Хочу добавить в диалог, который реализую программно, контрол типа DateEdit. И еще необходимо добраться из кода до свойств типа DateDay, DayMonth и т.д... Возможно ли это?
Старый 19.06.2008, 16:53   #2  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Цитата:
Сообщение от breakpoint Посмотреть сообщение
Хочу добавить в диалог, который реализую программно, контрол типа DateEdit. И еще необходимо добраться из кода до свойств типа DateDay, DayMonth и т.д... Возможно ли это?
Свойства чего? Контрола? Таких нет. Есть функции которые возвращаят то что вам нужно
например \System Documentation\Functions\dayofmth
Старый 19.06.2008, 16:55   #3  
Jox is offline
Jox
Developer
Аватар для Jox
 
112 / 24 (1) +++
Регистрация: 26.07.2005
Адрес: Питер
1) Контрол должен иметь EDT TransDate
2) int DayOfMth(date date), Int MthOfYr (date date), int Year(date date)
Старый 19.06.2008, 16:58   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Да. Что-то типа такого:
X++:
static void test_date(Args _args)
{
    Dialog          dlg;
    DialogField     dlgFieldDate;
    date            myDate;
    ;

    dlg = new Dialog('МОЙ ДИАЛОГ', null);
    dlgFieldDate  = dlg.addFieldValue(typeId(TransDate), today() , 'Моя дата');

    if (dlg.run())
    {
        myDate = dlgFieldDate.value();
        box::info(strfmt('Год: %1  Месяц: %2  Число: %3', year(myDate), mthofyr(myDate), dayofmth(myDate)));
    }
}
Старый 19.06.2008, 16:58   #5  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от breakpoint Посмотреть сообщение
Хочу добавить в диалог, который реализую программно, контрол типа DateEdit.
Добавляете в диалог поле с типом TransDate что то типа:
X++:
df = dlg.addFieldValue(typeid(TransDate), myDate);
Цитата:
Сообщение от breakpoint Посмотреть сообщение
И еще необходимо добраться из кода до свойств типа DateDay, DayMonth и т.д... Возможно ли это?
можно, как сказал Sada через функции
Старый 19.06.2008, 16:58   #6  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
о... уже все рассказали
Старый 19.06.2008, 16:59   #7  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от sparur Посмотреть сообщение
о... уже все рассказали
Да, много нас в конце рабдня от основной работы отлынивает
Старый 19.06.2008, 17:01   #8  
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
Создайте ЕДТ на базе TransDate, укажите нужные вам свойства мышей. Поле в диалог добавляйте на базе созданного ЕДТ.
__________________
С уважением,
glibs®
Старый 01.07.2008, 16:13   #9  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Извиняюсь за долгое молчание, но есть небольшое уточнение.
В любом гриде, где есть контрол типа DateEdit установите у него след. сво-ва:
DateDay = Day not shown, DateMonth = Long name, Date separator = [none][space].
Теперь можно увидеть что изменилось представление даты, т.е. когда она выбирается в диалоге в поле отображается только месяц и год.
Вот это мне и нужно сделать в диалоге RunBaseBatch. С первого раза добраться до этих сво-в не получилось, и я отложил эту проблему т.к. она не критична. Но все равно интересно как это можно сделать. Спасибо.
Старый 01.07.2008, 16:22   #10  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
\System Documentation\Classes\FormBuildDateControl\dateFormat
\System Documentation\Classes\FormBuildDateControl\dateSeparator

Оно?
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: breakpoint (1).
Старый 01.07.2008, 16:28   #11  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
подобные свойства есть и на EDT, поэтому достаточно сделать EDT типа даты, выставить аналогичные свойства на нем и далее этот вновь созданный тип данных использовать как уже писали чуть выше в постах...

Последний раз редактировалось sparur; 01.07.2008 в 16:32.
Старый 01.07.2008, 16:33   #12  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
После того как вы добавите контрол на форму
X++:
dlgFieldDate  = dlg.addFieldValue(typeId(TransDate), today() , 'Моя дата');
из объекта dlgFieldDate можно вытащить настоящий котнтрол:
FormDateControl formDateControl = dlgFieldDate.control(), где и будут доступны все св-ва, доступные на обычной форме.
Это актуально для любого контрола на диалоге

Последний раз редактировалось DSPIC; 01.07.2008 в 16:36.
За это сообщение автора поблагодарили: breakpoint (1).
Старый 01.07.2008, 17:30   #13  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
новые edt создавать помоему не очень красиво, а вот FormDateControl то что нужно, спасибо!
Старый 01.07.2008, 17:34   #14  
sparur is offline
sparur
Участник
 
334 / 25 (1) +++
Регистрация: 19.05.2006
Цитата:
Сообщение от breakpoint Посмотреть сообщение
новые edt создавать помоему не очень красиво, а вот FormDateControl то что нужно, спасибо!
А в чем некрасивость позвольте узнать?
Старый 01.07.2008, 18:02   #15  
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
Цитата:
Сообщение от breakpoint
...
новые edt создавать помоему не очень красиво
...
А ВР рекомендует именно расширенные типы.

Знаете почему их вообще придумали?
__________________
С уважением,
glibs®
Старый 02.07.2008, 11:18   #16  
breakpoint is offline
breakpoint
Участник
 
77 / 10 (1) +
Регистрация: 05.03.2008
Знаю, но в данной ситуации хотел узнать как добраться до нужных свойств объекта из кода.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить из элемента enum-а код типа (enum-а)? Romb DAX: База знаний и проекты 12 27.06.2013 16:17
Значение по умолчанию параметра типа EDT c array elements либо просто массива HorrR DAX: Программирование 16 20.02.2008 19:18
Как получить имя типа расширенного типа velk DAX: Программирование 9 03.08.2006 14:17
Создание нового типа журнала в Управлении запасами vasiliy DAX: Программирование 2 03.11.2005 14:46
Почему в InventJournalTrans поле linenum вещественного типа?! ATimTim DAX: Программирование 7 17.06.2004 17:35

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

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

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