Некоторое время вам может потребоваться создать / обновить записи с помощью надстройки Excel.
Эта функция очень полезна для тех пользователей, которые не знакомы со сложной функциональностью «Системное администрирование / Управление данными», где вам нужно создать проект, выбрать объект данных и применить некоторые другие шаги …
Есть более простой способ манипулирования данными (я имею в виду надстройку 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.