1. Вместо 11 шага, что бы не ставить SYS коды, я пользовался вариантом замены значения свойства service c FormletterService на InventItemService. Далее по списку.
2. Необходимо подправить место интересующего ухода в IL, так, что бы исполнение туда не уходило. Например, в методе \Classes\SysDictClass\invokeObjectMethod необходимо сделать правочку, что бы исполнение всегда проваливалось на веточку х++.
Таких мест по приложению раскидано достаточно много. Можно поискать по ключевым словам, типа, XppILExecutePermission или runAs. Но, достаточно дебагером найти нужную точку перехода исполнения в IL и временно слегка подправить ее в нужную сторону. Например, тут \Data Dictionary\Tables\PurchTable\Methods\initFromVendTable
заменить
X++:
xppILExecutePermission = new XppILExecutePermission();
xppILExecutePermission.assert();
purchTableContainer = runTableMethodIL(tableStr(PurchTable),
tableStaticMethodStr(PurchTable, initFromVendTableIL),
[buf2Con(this, true), buf2Con(_vendTable, true)]);
CodeAccessPermission::revertAssert();
на
X++:
purchTableContainer = PurchTable::initFromVendTableIL([buf2Con(this, true), buf2Con(_vendTable, true)]);