Посмотрите, что вас в ограничениях по запросу, в том числе dynalink в открывающей форме, стандартными средствами.
args не видно где у вас заполняются, если в текущей компании, то работать и не будет, при переключениях между компаниями надо обнулять данные в курсорах (=null), иначе он помнит код старой компании.
Попробуйте такой код
X++:
ProdTable prodTableAreaId2;
changeCompany(DataAreaId2)
{
prodTableAreaId2 = ProdTable::find(ProdTable.ProdId);
args = new Args();
args.record(prodTableAreaId2);
new MenuFunction(menuitemdisplaystr(ProdTable), MenuItemType::Display).run(args);
}