Источник:
http://axforum.info/forums/blog.php?b=338
==============
Для экспорта лицензии AX 4.0 или AX 2009 в файл достаточно:
- разобраться со структурой файла лицензии
- экспортировать данные из системной таблицы SysConfig в текстовый файл с учетом структуры файла лицензии
После экспорта файл лицензии можно использовать по назначению :-).
-------------------------------------
Джоб, который экспортирует лицензию в текстовый файл (проверялся на AX 2009, но должен также работать на AX 4.0):
X++:
X++:
static void ASB_ExportLicenceFile(Args _args)
{
SysConfig sysConfig;
AsciiIO file = new AsciiIO("c:\\license.txt", "W"); //TODO: указать путь
;
file.read();
file.write("LicenseVersion 2");
file.write("");
select sysConfig
where sysConfig.configType == ConfigType::LicenseName; //TODO: изменить значение для версий: AX4.0 - ConfigType::LicensName, AX 2009 - ConfigType::LicenseName
file.write(strFmt("License #%1", sysConfig.value));
file.write(" Properties");
select sysConfig
where sysConfig.configType == ConfigType::SerialNo;
file.write(strFmt(" Serial #%1", sysConfig.value));
file.write(" EndProperties");
file.write("");
file.write(" Codes");
file.write("");
while select sysConfig
order by id
where sysConfig.configType == ConfigType::AccessCodes &&
sysConfig.value != ""
{
file.write(strFmt(" CodeLine #%1", sysConfig.id + 1)); //TODO: проверить зачем к номеру ID прибавляется единица
file.write(strFmt(" Value #%1", sysConfig.value));
file.write(" EndCodeLine");
file.write("");
}
file.write(" EndCodes");
file.write("");
file.write("EndLicense");
box::info("Конец!");
}
Источник:
http://axforum.info/forums/blog.php?b=338