Подготовил: Андрей Чумаков
Версия Microsoft Dynamics AX: D365
Получение данных от всех перекрестных компаний
Чтобы получить данные от всех компаний сразу, а не только от текущей компании, как в случае с обычным select, используйте ключевое слово crosscompany.
Получение данных от нескольких перекрестных компаний
Чтобы выбрать данные не по всем компаниям сразу, а только по некоторым из них, используйте ключевое слово crosscompany и укажите список компаний:
вариант, при котором список компаний задается в контейнере
вариант, где список компаний задается в разделе где
Получение данных от одной указанной перекрестной компании
Другой способ получить данные от компании, отличной от текущей, — это «переключиться» на другую компанию с помощью changecompany. В этом случае весь код выполняется в контексте указанной компании.
Отображение данных от нескольких компаний
Если вам нужно получить данные из нескольких компаний одновременно в источнике данных формы, вам необходимо изменить значение свойства Автоматический запрос между компаниями на «Да». В этом случае данные будут выбираться из всех существующих компаний.
Чтобы ограничить список компаний, вам необходимо установить значения требуемых компаний в методе init () этого источника данных.
Копирование с использованием функции buf2buf
Чтобы скопировать запись из одной компании в другую, вам нужно «переключиться» на желаемую компанию с помощью changecompany и инициализировать все поля (кроме системных полей) новой записи с помощью функции buf2buf.
Ниже приведен код метода, который создает новую запись и инициализирует ее поля значениями исходной записи:
В качестве примера использования стандартной функции buf2buf можно увидеть класс CustFreeInvoiceCorrection.
Копирование с использованием метода табличных данных с последующей настройкой системных полей
В тех случаях, когда по какой-либо причине вы сохраняете значения системных полей исходной записи, кроме поля DataAreaId, поскольку это поле в любом случае должно соответствовать компании, в которой создается новая запись, используйте данные таблицы метод.
В то же время при создании новой записи некоторые системные поля могут быть переопределены, а поле DataAreaId должно быть переопределено.
Переопределение системных полей должно быть разрешено специальной конструкцией с использованием OverwriteSystemfieldsPermission (). Assert () и overwriteSystemfields ().
Вот пример кода, который переопределяет системные поля в новой записи.
Примером стандартных функций внутри компании является связь между заказом на покупку в одной компании и заказом на продажу в другой компании.
Имея заказ на покупку, вы можете получить внутрихолдинговый заказ на продажу, а имея заказ на продажу, вы можете получить внутрихолдинговый заказ на покупку.
Ниже приведены индивидуальные примеры получения заказов на продажу и покупку.
Вот пример стандартного кода в классе MarkupCopy, который получает внутрихолдинговый заказ на продажу.
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.