Экспорт лицензии AX 4.0 и AX 2009 в файл
Для экспорта лицензии из какой-либо инсталляции AX 4.0 или AX 2009 в файл достаточно:
После экспорта файл лицензии можно использовать по назначению :-).
-------------------------------------
Джоб, который экспортирует лицензию в текстовый файл (проверялся на AX 2009, но должен также работать на AX 4.0):
- разобраться со структурой файла лицензии
- экспортировать данные из системной таблицы SysConfig в текстовый файл с учетом структуры файла лицензии
После экспорта файл лицензии можно использовать по назначению :-).
-------------------------------------
Джоб, который экспортирует лицензию в текстовый файл (проверялся на AX 2009, но должен также работать на AX 4.0):
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("Конец!"); }
Всего комментариев 2
Комментарии
-
Работает и в Ах 3.0, лишь ConfigType::LicensName
Запись от Player1 размещена 27.10.2012 в 08:57 -
Работает и в DAX 2012 R3
Запись от dmitrybarynov размещена 10.02.2020 в 14:19