21.03.2012, 17:58 | #1 |
Участник
|
Количество активных сессий = 0
Здравствуйте, проблема старая и решение есть, но интересна ее причина. Суть проблемы: "Количество активных сессий в Аксапте равно 0". Версия системы 3.0.
Решение здесь. А именно: Цитата:
Попробуй исправить статический метод licensedUsers на классе Info
Нужно вместо Код: X++: select sysConfigTemp where sysConfigTemp.id == LicenseCodeNum(SysUsers); Код: X++: select sysConfigTemp where sysConfigTemp.id == licenseCodeNum(SysUsers) && sysConfigTemp.configType == ConfigType::AccessCodes; Подскажите, пожалуйста, в чем может причина данной проблемы, если все было ОК несколько лет?
__________________
С уважением, Александр. |
|
21.03.2012, 20:12 | #2 |
----------------
|
посмотрите, какие еще записи в таблице подходят под критерий
X++: where sysConfigTemp.id == LicenseCodeNum(SysUsers); |
|
|
За это сообщение автора поблагодарили: samolalex (2). |
22.03.2012, 08:20 | #3 |
Участник
|
Цитата:
Почему, интересно, происходит создание записей в таблице SysConfig с уже существующим id при создании новых конфигурационных ключей? И не вылезет ли данное добаление записей где-нибудь в других местах системы, помимо метода licensedUsers() на классе Info?
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 22.03.2012 в 08:26. |
|
22.03.2012, 09:42 | #4 |
Участник
|
Посмотрел метод LicencedUsers() класса Info в Ax 2009 и увидел, что там данный недостаток уже исправлен:
X++: static server int licensedUsers() { Dictionary dictionary = new Dictionary(); SysConfig sysConfigTemp; select sysConfigTemp where (sysConfigTemp.Id == licensecodenum(SysUsers)) && (sysConfigTemp.ConfigType == ConfigType::AccessCodes); return dictionary.testCode(sysConfigTemp.Id, sysConfigTemp.Value, xSysConfig::find(ConfigType::LicenseName,0).Value, xSysConfig::find(ConfigType::SerialNo,0).Value, xSysConfig::find(ConfigType::LicenseName,1).Value); } X++: sysConfigTemp.ConfigType == ConfigType::AccessCodes 1)Info::licensedUsers() 2)Info::licensedComUsers() 3)Info::licensedAosUsers() Подсчет происходит так же в классе Info: X++: static server int licensedUsersTotal() { return Info::licensedUsers()+Info::licensedComUsers()+Info::licensedAosUsers(); }
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 22.03.2012 в 10:02. |
|