делая пример из руководства по введению в MorphX (на изменение количества вызовов операторов SQL в зависимости от свойства CacheLookup таблицы), с меня слетела шляпа в этом месте, где почему-то не стартует SystemMonitor и соответственно счётчик всё время на нуле.
X++:
static void NumberOfCallsInCache(Args _args)
{
#define.existedRecord('00022_036') //to find an existed record
#define.nonExistedRecord('97') //to find an non-existed record
SystemMonitor sm = new SystemMonitor();
SalesTable salesTable;
;
flush salesTable;
SystemMonitor::reset();
SystemMonitor::start();
if (SystemMonitor::isRunning())
{
info('sysmon is running');
}
salesTable = salesTable::Find(#existedRecord); // #1
salesTable = salesTable::Find(#existedRecord); // #2
salesTable = salesTable::Find(#nonExistedRecord); // #3
salesTable = salesTable::Find(#nonExistedRecord); // #4
select firstonly salesTable // #5
where salesTable.salesId > "00021_036" && salesTable.salesId < "00023_036";
select firstonly salesTable // #6
where salesTable.salesId > #nonExistedRecord && salesTable.salesId < "99";
ttsbegin;
salesTable = salesTable::Find(#existedRecord); // #7
salesTable = salesTable::Find(#existedRecord); // #8
salesTable = salesTable::Find(#nonExistedRecord); // #9
salesTable = salesTable::Find(#nonExistedRecord); // #10
ttscommit;
info(strFmt("%1",SystemMonitor::getCounter(SystemMonitorCounter::SqlSelectCalls)));
SystemMonitor::stop();
}
может быть, что-то необходимо настроить в параметрах запуска клиента или пользователя?
мерси.