Важное ПРИМЕЧАНИЕ: в примере ниже вы увидите создание объекта для экспорта данных из AX, вы не сможете импортировать данные с таким типом объекта.

Создание DataEntity для некоторых сценариев, где может потребоваться создать DataEntity, у которого нет естественного ключа (например, InventTrans), или, что еще хуже, таблицы, у которых вообще нет уникального индекса (например, CustTrans). Кроме того, для таких типов сущностей у вас может быть требование — поддержка инкрементального push (что также является проблемой, если ваша таблица для DataEntity не имеет естественного ключа);

Чтобы удовлетворить эти требования, вам необходимо:

2.Создайте объект View (CustTransV) и в свойстве Query — вы должны указать объект CustTransQ, созданный на шаг раньше;

3. Обычно, используя мастер для создания DataEntity, вам нужно выбрать таблицу с естественным ключом, но для этого сценария вы можете выбрать ЛЮБУЮ таблицу с естественным ключом (это только с целью создания объекта DataEntity в AOT — назовем его MyCustTransEntity). Например — вы можете выбрать таблицу InventDim.
4.Убедитесь, что на этом шаге вы сняли все флажки (это означает, что наш вновь созданный DataEntity не будет содержать поля из таблицы InventDim).

5.Удалить таблицу InventDim из источника данных MyCustTransEntity;
6. Drug CustTransV в источник данных MyCustTransEntity;

7. Выберите те поля из CustTransV, которые необходимо экспортировать через DataEntity и лекарство, и перетащите их в узел Fields MyCustTransEntity. Поле CustTransV.RecId также необходимо разместить в узле Fields MyCustTransEntity;
8. Когда вы добавляете поле CustTransView.RecId в узел Fields, вам нужно переименовать его: скажем, из RecId1 во что-то вроде CustTransRecId;
9. Добавьте поле CustTransRecId в узел Entity Index;

После этих операций вам необходимо построить модель с синхронизацией. Итак, на данный момент ваш DataEntity может быть пользователем для экспорта данных. Чтобы использовать этот DataEntity для инкрементного экспорта данных, вам необходимо создать класс, который будет обрабатывать некоторые события класса DMFEntityBase (класс DMFEntityBase отвечает за анализ DataEntities). Итак, ниже вы увидите класс, который позволяет:
1. Используйте представления в качестве источника данных для вашего DataEntity
2. Проверьте, включено ли отслеживание изменений (CT) для вашего DataEntity-> View-> Query-Table
a.Таким образом, он включит / отключит CT, если вы добавите / удалите свой DataEntityl;

Copy to Clipboard
Published On: / Categories: Техническая статья, ERP /

Развивайте бизнес с нами!

OntargIT является официальным партнером Microsoft по внедрению технологий Dynamics 365. С нашим опытом в различных отраслях, мы обеспечим индивидуальный подход и эффективные решения, которые будут идеально соответствовать потребностям вашей компании. Оставьте заявку сейчас, и наша команда экспертов поможет вам воспользоваться всеми преимуществами Dynamics 365.

Развивайте бизнес с нами!

OntargIT является официальным партнером Microsoft по внедрению технологий Dynamics 365. С нашим опытом в различных отраслях, мы обеспечим индивидуальный подход и эффективные решения, которые будут идеально соответствовать потребностям вашей компании. Оставьте заявку сейчас, и наша команда экспертов поможет вам воспользоваться всеми преимуществами Dynamics 365.