|
![]() |
#1 |
Участник
|
Как уже писалось выше, есть подозрение, что это из-за специфического типа данных, который Вы пихаете в контейнер.
Например, на таблицах VendTrans или CustTrans есть поля AmountMST - у меня в запросе типа: X++: while select vendtrans where vendtrans.AccountNum == "2545" { info(strfmt("%1", vendtrans.AmountMST)); } Так что проблема кроется в типе EDT, вернее, в его свойствах SignDisplay |
|
![]() |
#2 |
Участник
|
Да, выводятся 3 типа значений. Но что интересно. поле vendtrans.AmountMST имеет расширенный тип AmountMSTDebCred, которое имеет свойство SignDisplay=None ! Вот это совсем непонятно, откуда тогда берутся плюсы и минусы, по логике как раз не должно было быть вообще никаких знаков !
|
|
![]() |
#3 |
Молодой, подающий надежды
|
Возможно, где-то использовалась функция corrFlagSet(real real, int arg)
Вот джоб для наглядности: X++: static void signProblem(Args _args) { AmountMstDebCred amount; container value; ; amount = 5; value = conpoke(value, 1, amount); info(strFmt("Type: %1, Value: %2", typeOf(conpeek(value, 1)), conpeek(value, 1))); amount = corrFlagSet(amount, 1); value = conpoke(value, 2, amount); info(strFmt("Type: %1, Value: %2", typeOf(conpeek(value, 2)), conpeek(value, 2))); info(strFmt("Type: %1, Value: %2", typeOf(conpeek(value, 2)), abs(conpeek(value, 2)))); } Type: Real, Value: 5,00 Type: Real, Value: +5,00 Type: Real, Value: 5,00 Последний раз редактировалось pedrozzz; 26.07.2010 в 12:18. Причина: добавил результаты джоба |
|
Теги |
преобразование типов |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|