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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.01.2010, 12:10   #1  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
RecID == 107098797056
Здравствуйте!

Обнаружилось интересное число: 107098797056 * n, где n из N.

Что удивительно, число не является степенью 2, но делится на 1024. И не совсем понятно какими еще свойствами оно обладает. Если делить это число на степени 2, свойство не повторяется ))

Пример1:

SalesTable, datasource SalesTable, метод active. Если RecId == 107098797056, кнопкам присваивается enabled(false).

X++:
    buttonHeaderFunction.enabled    (salesTable.RecId);
    buttonLineFunction.enabled      (salesTable.RecId);
для исправления необходимо привести к типу boolean:

X++:
    buttonHeaderFunction.enabled    (salesTable.RecId && true);
    buttonLineFunction.enabled      (salesTable.RecId && true);
Пример2 в джобе:
X++:
static void Job69(Args _args)
{
    NoYes b = 107098797056;
    ;
    
    info(strfmt('%1', b));
}
PS. Dynamics Ax 4, SP2. Интересно, повторяется ли в других версиях.
Старый 15.01.2010, 12:24   #2  
SRF is offline
SRF
Участник
MCBMSS
Axapta Retail User
 
375 / 562 (19) +++++++
Регистрация: 08.08.2007
Записей в блоге: 1
Не ваш ли случай ?
__________________
Sergey Nefedov
За это сообщение автора поблагодарили: tartem (1).
Старый 15.01.2010, 12:28   #3  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
Да, действительно. Спасибо! Раньше с этим не встречался ))
Старый 15.01.2010, 12:29   #4  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,738 / 404 (17) +++++++
Регистрация: 23.03.2006
а что вас удивило в числе? многие числа деляться на 1024 и не являются "степенью 2", например 23552 ну и другие, этож первый курс вуза, разложение на множители...
Старый 15.01.2010, 12:37   #5  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
Хотя в гексах это число = 18EF95F400. А по ссылке должно быть 8 нулей. Не понятно.
Старый 15.01.2010, 12:39   #6  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
Цитата:
а что вас удивило в числе? многие числа деляться на 1024 и не являются "степенью 2", например 23552 ну и другие, этож первый курс вуза, разложение на множители...
Меня в общем-то не число удивило, а поведение системы ))
Старый 15.01.2010, 12:54   #7  
ice is offline
ice
Участник
Аватар для ice
Лучший по профессии 2014
 
1,738 / 404 (17) +++++++
Регистрация: 23.03.2006
Цитата:
Сообщение от tartem Посмотреть сообщение
Хотя в гексах это число = 18EF95F400. А по ссылке должно быть 8 нулей. Не понятно.
о последних 8 битах идет реч
Старый 15.01.2010, 13:14   #8  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
Но вот тогда число 26774699264 имеет последние 8 нулевых бит, но на нем данный эксперимент не повторяется. И собственно с первым числом с 8 нулевыми битами (256) такое тоже не проходит. Как-то можно это множество описать, или это какие-то случайные значения?
Старый 15.01.2010, 13:37   #9  
tartem is offline
tartem
Участник
 
8 / 10 (1) +
Регистрация: 29.07.2008
Адрес: Москва
Похоже это все числа между 2^32 и 2^64, имеющие нулевыми последние 10 бит.
Теги
recid

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
if (record) vs if (record.RecId) kashperuk DAX: Программирование 18 27.11.2008 18:53
поля, содержащие RecId somebody DAX: Программирование 15 16.05.2008 17:50
Что лучше select RecId или select TableId Logger DAX: Программирование 9 02.06.2007 15:13
aEremenko: Дефрагментация RecID Blog bot DAX Blogs 2 06.03.2007 22:25
Два RecId у одной записи таблицы sparur DAX: Программирование 33 18.12.2006 15:56

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

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

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