Для SysInfoAction можно сделать без модификации существующиго кода
Для этого надо в AOT создать временную таблицу с полями, соответствующими уникальным полям в таблице PurchLine (к примеру, InventTransId или пару полей itemId и refRecId).
Для этой таблицы создать релейшен на PurchLine с выбранными полями
В коде инициализировать выбранные поля из найденной PurchLine и передавать в SysInfoAction_FormName_RU эту запись
X++:
PurchIdBase purchId = 'ПЗ0050395';
PurchTable purchTable = PurchTable::find(purchId);
PurchLine purchLine = PurchLine::find(purchId, 2);
PurchLineTmp purchLineTmp;
SysInfoAction_FormName_RU SysInfoAction_FormName_RU;
;
purchLineTmp.ItemId = purchLine.itemId;
purchLineTmp.RefRecId = purchLine.RecId;
SysInfoAction_FormName_RU = new SysInfoAction_FormName_RU(purchLineTmp, formstr(PurchLine));
info(strfmt("Закупка %1", purchId), "", SysInfoAction_FormName_RU);