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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.09.2018, 18:51   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,874 / 3123 (112) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Приведение типов для таблиц ax2012
Всем привет.

Коллеги, ковыряюсь с наследованием табличек.

Возможно ли приводить тип таблички к типу не определенному на этапе компиляции?
Штатный способ
X++:
common as tableName
требует чтобы tableName был именем таблички, т.е. жестко определяется на этапе компиляции. Нельзя поставить переменную.

Сделал вот такой способ
X++:
// приводит табличный буфер к заданному типу
// работает аналогично оператору as
// отличие в том, что 2-м операндом принимает переменную
// т.е. на этапе компиляции тип может быть неизвестен
public static Common as(
    Common          _common,
    TableName       _tableName)
{
    anyType         anyBuffer;
    Common          ret;
    ;

    if (tableName2id(_tableName))
    {
        // anyBuffer = _common as _tableName
        anyBuffer = new SysDictTable(tableName2id(_tableName)).makeRecord();
        anyBuffer = _common;
        ret       = anyBuffer;
    }

    return ret;
}
Работает.
Но он немного хакерский.

Есть что-то более документированное ?
За это сообщение автора поблагодарили: sukhanchik (6).
Теги
inheritance, table inheritance, type cast

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
[AX2012] Наследование таблиц. iCloud DAX: Программирование 4 26.03.2014 15:28
AX2012 - изменение связи таблиц на форме DTD DAX: Программирование 4 10.12.2013 16:30
Как сравнить financials dimensions у двух таблиц (AX2012) ? DTD DAX: Программирование 0 17.07.2013 15:16
AX2012: drag'n'drop и поля таблиц wojzeh DAX: Программирование 2 18.01.2012 22:07
приведение типов в select simply2double DAX: Программирование 3 30.09.2004 11:24
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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