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

Версія Microsoft Dynamics AX: D365

Selects

Отримання даних від усіх перехресних компаній

Щоб отримати дані від всіх компаній відразу, а не тільки від поточної компанії, як у випадку зі звичайним select, використовуйте ключове слово crosscompany.

Отримання даних від кількох перехресних компаній

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

– варіант, при якому список компаній задається в контейнері

– варіант, де список компаній задається в розділі де

 

Отримання даних від однієї зазначеної перехресної компанії

Інший спосіб отримати дані від компанії, відмінною від поточної, – це «переключитися» на іншу компанію за допомогою changecompany. В цьому випадку весь код виконується в контексті зазначеної компанії.

Джерела даних форм

Відображення даних від декількох компаній
Якщо вам потрібно отримати дані з декількох компаній одночасно в джерелі даних форми, вам необхідно змінити значення властивості Автоматичний запит між компаніями на «Так» . У цьому випадку дані будуть вибиратися з усіх існуючих компаній.

 

Щоб обмежити список компаній, вам необхідно встановити значення необхідних компаній в методі init () цього джерела даних .

 

Копіювання записів

Копіювання з використанням функції buf2buf

Щоб скопіювати запис з однієї компанії в іншу, вам потрібно «переключитися» на бажану компанію за допомогою changecompany і форматувати все поля (крім системних полів) нового запису за допомогою функції buf2buf .

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

Як приклад використання стандартної функції buf2buf можна побачити клас CustFreeInvoiceCorrection.

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

У тих випадках, коли з якої-небудь причини ви зберігаєте значення системних полів вихідної записи, крім поля DataAreaId, оскільки це поле в будь-якому випадку повинно відповідати компанії, в якій створюється новий запис, використовуйте дані таблиці метод.

{{ 1}} У той же час при створенні нового запису деякі системні поля можуть бути перевизначені, а поле DataAreaId має бути перевизначити.

Перевизначення системних полів має бути дозволено спеціальною конструкцією з використанням OverwriteSystemfieldsPermission (). Assert () і overwriteSystemfields ().

Ось приклад коду, який перекриває системні поля в новому записі.

Внутрішньохолдинговий продаж замовлення на закупівлю

Прикладом стандартних функцій усередині компанії є зв’язок між замовленням на купівлю в одній компанії і замовленням на продаж в іншій компанії.

Маючи замовлення на покупку, ви можете отримати внутрішньохолдингового замовлення на продаж, а маючи замовлення на продаж , ви можете отримати внутрішньохолдингового замовлення на покупку.

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

Ось приклад стандартного коду в класі MarkupCopy, який отримує внутрішньохолдингового замовлення на продаж.

Published On: November 10th, 2020 / Categories: Blog /

Слідкуйте за новинами OntargIT

    Ознайомитися з Політикою конфіденційності можна тут.