Можно попробовать такое примерно решение (не факт, что взлетит, но шансы есть): У D365FO есть интересная особенность. Где-то внутри себя, система понимает, является ли данное view company bound (то есть - в запросы по view надо подставлять условия dataareaid='usmf'), или глобальным. Влияет на это первая таблица во view. Если таблица глобальная (то есть - saveDataPerCompany=No), то view тоже считается глобальным. Если таблица локальная для компании, то view тоже будет считаться локальным для компании. Поэтому можно попробовать такой вот подход:
- Создаем глобальную таблицу MyGlobalDummy с единственным полем (любого типа) и режимом saveDataPerCompany=No
- В таблицу MyGlobalDummy добавляем джобиком единственную запись.
- Создаем view GlobalPurchTableView. Первым datasource добавляем MyGlobalDummy, вторым - purchTable. Тип Join - innerJoin, поля джойна не указываем. (Поскольку у нас в MyGlobalDummy всего одна запись, то cartesian join нас устроит)
- Вытаскиваем из purchTable в поля view GlobalPurchTableView все значимые поля. Кроме того, вытаскиваем поле dataAreaId, назвав его во view PurchDataAreaId
- Добавляем новое view на форму purchTable с outerJoin к purchTable, связав по полям IntercompanyPurchId==GlobalPurchTableView.purchId и intercompanyCompanyId==GlobalPurchTableView.purchDataAreaId
- Вытаскиваем нужные поля из view в грид.
Я пару раз этот метод глобализации данных использовал, правда в первый datasource view клал не фиктивную таблицу, а DirPartyTable или EcoResProduct, поскольку мне надо было вендоров или номенклатуру из соседней комании показывать. Но я думаю с фиктивной таблицей тоже работать будет.