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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.12.2014, 08:11   #1  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
is и as в аксапте
Подскажите можно ли как то отпределить принадлежность обьекта к классу? Наподобие в с# есть операторы is и as?
Старый 22.12.2014, 08:29   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
О какой версии Аксапты идет речь?

В 2012-й эти операторы включены в синтаксис языка
В 2009-й - они реализованы в качестве статических методов класса SysDictClass
В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й

А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: arhat (1).
Старый 22.12.2014, 08:29   #3  
lvan is offline
lvan
Участник
Аватар для lvan
Лучший по профессии 2014
 
858 / 82 (4) ++++
Регистрация: 15.04.2011
Записей в блоге: 1
is и as есть в AX 2012 - первая ссылка из гугла
За это сообщение автора поблагодарили: arhat (0).
Старый 22.12.2014, 08:37   #4  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
Цитата:
Сообщение от lvan Посмотреть сообщение
is и as есть в AX 2012 - первая ссылка из гугла
нужно в ax 2009
Старый 22.12.2014, 08:38   #5  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
Цитата:
Сообщение от AndyD Посмотреть сообщение
О какой версии Аксапты идет речь?

В 2012-й эти операторы включены в синтаксис языка
В 2009-й - они реализованы в качестве статических методов класса SysDictClass
В более ранних - не помню), но если даже их нет, то вполне можно перенести из 2009-й

А вообще, еще со старых версий точно был метод SysDictClass::isEqualOrSuperclass() - через него реализованы операторы в 2009-й
AX 2009
Старый 22.12.2014, 08:59   #6  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от arhat Посмотреть сообщение
AX 2009
http://msdn.microsoft.com/en-us/libr...(v=ax.50).aspx ?
За это сообщение автора поблагодарили: arhat (1).
Старый 22.12.2014, 09:04   #7  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
Цитата:
Сообщение от user_ax Посмотреть сообщение
Спасибо огромное

Последний раз редактировалось arhat; 22.12.2014 в 09:07.
Старый 23.12.2014, 15:25   #8  
AlexeyS is offline
AlexeyS
Участник
 
404 / 339 (12) ++++++
Регистрация: 15.06.2004
Адрес: москва
возможно подойдет такой вариант сравнения:

SysSetupFormRun_Address_RU formRun_Address;

formRun_Address = element;

if (classidget(formRun_Address) == classnum(SysSetupFormRun_Address_RU))
За это сообщение автора поблагодарили: arhat (1).
Старый 25.12.2014, 14:08   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от AlexeyS Посмотреть сообщение
возможно подойдет такой вариант сравнения:

SysSetupFormRun_Address_RU formRun_Address;

formRun_Address = element;

if (classidget(formRun_Address) == classnum(SysSetupFormRun_Address_RU))
Зачем велосипед-то придумывать?
X++:
if (SysDictClass::is(element, classNum(SysSetupFormRun_Address_RU)))
{
    // ...
}
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 25.12.2014, 14:14   #10  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
И да, кстати, не забывайте, что по умолчанию все формы создаются как объекты класса SysSetupFormRun. Поэтому, вообще говоря, для того, чтобы определить, какая форма сейчас открыта, is не подходит.

То же самое верно и для отчётов.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: arhat (1).
Старый 05.01.2015, 21:23   #11  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
всем спасибо
Старый 08.01.2015, 09:52   #12  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
DocumentFormat.OpenXml.Packaging.WorksheetPart worksheetPart;
worksheetPart = SYSDictClass::as(worksheetPartTmp, classnum(DocumentFormat.OpenXml.Packaging.WorksheetPart);

выводит синтакс ошибка, не может найдти classnum DocumentFormat.OpenXml.Packaging.WorksheetPart, как можно обойти ??? в ax 2009
Старый 08.01.2015, 12:00   #13  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
IsInstanceOfType?
За это сообщение автора поблагодарили: Logger (1), gl00mie (2).
Старый 08.01.2015, 12:31   #14  
arhat is offline
arhat
Участник
 
116 / 16 (1) ++
Регистрация: 10.11.2014
Адрес: Казахстан
че то я не понял как его использовать! добавлять сборку в axapta
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Обращение к http-сервису в Аксапте Lucky13 DAX: Программирование 31 24.03.2015 19:37
Standart Costing, Direct Costing и механизмы их реализации в Аксапте slava09 DAX: Функционал 55 05.06.2006 11:00
Система оповещений в Аксапте (события в Аксапте) raunio DAX: Прочие вопросы 1 29.09.2005 15:44
Аналитический учет в Аксапте. Анна DAX: Прочие вопросы 38 06.04.2005 14:04
Размышления на тему “Системы контроля версий в Аксапте”. Андре DAX: База знаний и проекты 31 07.02.2005 12:29
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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