Некоторое время вам может потребоваться создать / обновить записи с помощью надстройки Excel.

Эта функция очень полезна для тех пользователей, которые не знакомы со сложной функциональностью «Системное администрирование / Управление данными», где вам нужно создать проект, выбрать объект данных и применить некоторые другие шаги …

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/office-integration/use-excel-add-in?toc=/fin-and-ops/toc.json

https://docs.microsoft.com/en-us/dynamics365/unified-operations/dev-itpro/office-integration/office-integration-tutorial#lookups-in-excel-experiences

Есть более простой способ манипулирования данными (я имею в виду надстройку Excel). Довольно примитивно, но для какой-то несложной задачи применимо точно.

Итак, давайте взглянем на один стандартный пример, перейдя: Кадры / Сотрудники -> Панель действий / Группа кнопок (Личная информация)

При нажатии на кнопку «Идентификационные номера» открывается форма HcmPersonalIdentificationNumber.

Если вы увидите что-то под текстом ОТКРЫТЬ В EXCEL, это означает, что существует некий DataEntity, который может помочь вам управлять данными в форме.

В нашем случае при нажатии на «Идентификация» в Excel открывается следующая таблица, в которой есть одно поле (Агентство-эмитент), которое позволяет вам выбрать правильную запись из справочной таблицы.

Итак, как это работает:

Прежде всего, вам нужно найти DataEntity, который используется для обработки данных в этой таблице. Для этого вам необходимо открыть форму HcmPersonalIdentificationNumber в AOT и скопировать имя корневого источника данных.

Прежде всего, вам нужно найти DataEntity, который используется для обработки данных в этой таблице. Для этого вам необходимо открыть форму HcmPersonalIdentificationNumber в AOT и скопировать имя корневого источника данных.

type:QuerySimpleRootDataSource property:table=HcmPersonIdentificationNumber

HcmPersonIdentificationNumberEntity — это DataEntity, который мы ищем.

В качестве корневого источника данных этот объект имеет таблицу HcmPersonIdentificationNumber, а в качестве дочерних источников данных есть три таблицы: DirPerson, HcmIdentificationType, HcmIssuingAgency.

Итак, эти поля (Issuing agensy и Name), которые вы видите на листе Excel, расположены в таблице HcmIssuingAgency (которая является дочерним источником данных в HcmPersonIdentificationNumberEntity)

Большинство полей в этой сущности взяты из таблицы HcmPersonIdentificationNumber (включая HcmPersonIdentificationNumberEntity.IssuingAgency), и есть одно поле, которое вы обязательно должны добавить: HcmIssuingAgency.IssuingAgencyId

Также обратите внимание на свойства полей HcmPersonIdentificationNumberEntity.IssuingAgency и HcmPersonIdentificationNumberEntity.IssuingAgencyId.

Это поле (HcmIssuingAgency.IssuingAgencyId) необходимо добавить, потому что оно будет использоваться позже. Кроме того, это ключ замены (IssuingAuthorityIdx) для таблицы HcmIssuingAgency.

Также группы полей AutoReport и AutoLookup должны содержать те поля, которые мы хотим отображать в надстройках Excel.

Таблица HcmPersonIdentificationNumber связана с таблицей HcmIssuingAgency по полю RecId.

Как видно из одного из приведенных выше снимков экрана, сущность HcmPersonIdentificationNumberEntity имеет отношение (ForeignKey) с HcmIssuingAgencyEntity.

В качестве корневого DdataSource для HcmIssuingAgencyEntity — используется таблица HcmIssuingAgency.

Итак, как вы можете видеть выше, вам нужно создать еще один DataEntity для справочных записей в поиске (в нашем случае этот дополнительный DataEntity — HcmIssuingAgencyEntity)

Вы должны поместить поля «IssuingAgency» и «Name» в группы полей AutoReport и AutoLookup.

Кроме того, вам необходимо добавить «IssuingAgency» (ваш заменяющий ключ таблицы HcmIssuingAgency, см. Снимок экрана выше) в узел EntityKey.

Наконец, вам необходимо создать отношение внешнего ключа HcmPersonIdentificationNumberEntity.IssuingAgencyId == HcmIssuingAgencyEntity.IssuingAgency.

Обратите внимание, что поле HcmPersonIdentificationNumberEntity.IssuingAgencyId НЕ должно размещаться в узле EntityKey HcmPersonIdentificationNumberEntity.

Published On: 4 июля, 2019 / Рубрики: Blog /

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

    Add notice about your Privacy Policy here.