Показать сообщение отдельно
Старый 11.11.2023, 18:47   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,160 / 1289 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Вообще, даже в методе nullValueBaseType класса Global пришлось делать "затычку":
Объявить переменную:
RealBase realValue;

Далее:
X++:
        case Types::Real:
            // FIX klimov 10.11.2023 -->
            if (xSession::isCLRSession())
            {
                // Весёлый CIL.
                // Если просто вернуть 0.0 в anytype, то в CIL вернется объект System.Double.
                // А если не вызывать Convert, то будет не 0, а 0.___значение (типа 0.0000000000578).
                realValue   = System.Convert::ToDouble(0.0);
                return realValue;
            }
            else
            {
            // FIX klimov 10.11.2023 <--
                return 0.0;
            }
Иначе в CIL простой метод добавления поля в Struct с пустым значением:
X++:
recordStruct.add(fieldName, nullValueBaseType(fieldType));
для Types Real создавал поле с типом Class.