Подготовил: Андрей Чумаков

Версия Microsoft Dynamics AX: D365

 

Selects

Получение данных от всех перекрестных компаний

Чтобы получить данные от всех компаний сразу, а не только от текущей компании, как в случае с обычным select, используйте ключевое слово crosscompany.

Получение данных от нескольких перекрестных компаний

Чтобы выбрать данные не по всем компаниям сразу, а только по некоторым из них, используйте ключевое слово crosscompany и укажите список компаний:

вариант, при котором список компаний задается в контейнере

вариант, где список компаний задается в разделе где

Получение данных от одной указанной перекрестной компании

Другой способ получить данные от компании, отличной от текущей, — это «переключиться» на другую компанию с помощью changecompany. В этом случае весь код выполняется в контексте указанной компании.

 

Источники данных форм

Отображение данных от нескольких компаний

Если вам нужно получить данные из нескольких компаний одновременно в источнике данных формы, вам необходимо изменить значение свойства Автоматический запрос между компаниями на «Да». В этом случае данные будут выбираться из всех существующих компаний.

Чтобы ограничить список компаний, вам необходимо установить значения требуемых компаний в методе init () этого источника данных.

Копирование записей

Копирование с использованием функции buf2buf

Чтобы скопировать запись из одной компании в другую, вам нужно «переключиться» на желаемую компанию с помощью changecompany и инициализировать все поля (кроме системных полей) новой записи с помощью функции buf2buf.

Ниже приведен код метода, который создает новую запись и инициализирует ее поля значениями исходной записи:

В качестве примера использования стандартной функции buf2buf можно увидеть класс CustFreeInvoiceCorrection.

 

Копирование с использованием метода табличных данных с последующей настройкой системных полей

В тех случаях, когда по какой-либо причине вы сохраняете значения системных полей исходной записи, кроме поля DataAreaId, поскольку это поле в любом случае должно соответствовать компании, в которой создается новая запись, используйте данные таблицы метод.

В то же время при создании новой записи некоторые системные поля могут быть переопределены, а поле DataAreaId должно быть переопределено.

Переопределение системных полей должно быть разрешено специальной конструкцией с использованием OverwriteSystemfieldsPermission (). Assert () и overwriteSystemfields ().

Вот пример кода, который переопределяет системные поля в новой записи.

Внутрихолдинговые продажи \ заказы на закупку

Примером стандартных функций внутри компании является связь между заказом на покупку в одной компании и заказом на продажу в другой компании.

Имея заказ на покупку, вы можете получить внутрихолдинговый заказ на продажу, а имея заказ на продажу, вы можете получить внутрихолдинговый заказ на покупку.

Ниже приведены индивидуальные примеры получения заказов на продажу и покупку.

Вот пример стандартного кода в классе MarkupCopy, который получает внутрихолдинговый заказ на продажу.

Published On: 10 ноября, 2020 / Рубрики: Без рубрики /

Следите за новостями компании OntargIT

    Add notice about your Privacy Policy here.