Походу косяк в реализации SysTableLookup
Проверка на временность таблицы там выглядит следующим образом
X++:
public FormRun formRun()
{
...
if (tmpBuffer)
{
formDataSource.init();
//BP deviation documented
formDataSource.cursor().setTmp(); // if using non-temp table in tmp mode
formDataSource.cursor().setTmpData(tmpBuffer);
}
...
}
Естественно когда данных в курсоре нет, это равносильно тому что он NULL.
Должно заработать, если подкорректировать условие на что-то типа
X++:
if (tmpBuffer.TableId != TableNum(Common))