Функция ER GETENUMVALUEBYNAME
Функция GETENUMVALUEBYNAME
выполняет поиск определенного значения Enum в указанном источнике данных перечисления, используя имя перечисления, указанное как значение строка. При обнаружении значения Enum функция возвращает его. В противном случае функция возвращает значение перечисления null.
Синтаксис
GETENUMVALUEBYNAME (enumeration data source path, enumeration value text)
Аргументы
enumeration data source path
: Перечисление
Действительный путь источника данных одного из следующих типов перечисления:
- Перечисление модели электронной отчетности (ER)
- Перечисление формата ER
- Перечисление Microsoft Dynamics 365 Finance
enumeration value text
: Строка
Строковое значение, представляющее имя одного значения перечисления.
Возвращаемые значения
Обнуляемый Enum
Результирующее значение перечисления.
Примечания по использованию
Исключение не выдается, если значение Enum не найдено с помощью имени значения перечисления, указанного как значение строки.
Пример 1
На следующем рисунке показано перечисление ReportDirection введенное в модели данных. Обратите внимание, что метки определены для значений перечисления.
Следующая иллюстрация показывает эти детали:
- Источник данных $Direction настроен в отчете ER. Этот источник данных настроен на основе перечисления модели ReportDirection.
- Выражение
$IsArrivals
разработано для использования модели на основе перечисления для источника данных $Direction в качестве параметра этой функции. - Значение этого выражения сравнения — TRUE.
Пример 2
Функции GETENUMVALUEBYNAME
и LISTOFFIELDS
позволяют выбирать значения и метки поддерживаемых перечислений как текстовые значения. (Поддерживаемые перечисления: перечисления приложений, перечисления моделей данных и перечисления форматов.)
На следующем рисунке источник данных TransType вводится в сопоставлении модели. Этот источник данных относится к перечислению приложения LedgerTransType.
На следующем рисунке показан источник данных TransTypeList, настроенный в сопоставлении модели. Этот источник данных настроен на основе перечисления приложения TransType. Функция LISTOFFIELDS
используется для того, чтобы вернуть все значения перечисления в виде списка записей, содержащих поля. Таким образом предоставляются сведения о каждом значении перечисления.
Примечание
Поле EnumValue настроено для источника данных TransTypeList с помощью выражения GETENUMVALUEBYNAME(TransType, TransTypeList.Name)
. Это поле возвращает значение перечисления для каждой записи в данном списке.
На следующем рисунке показан источник данных VendTrans, настроенный в сопоставлении модели. Этот источник данных возвращает записи проводок поставщика из таблицы приложения VendTrans. Тип книги учета каждой проводки определяется значением поля TransType.
Примечание
Поле TransTypeTitle настроено для источника данных VendTrans с помощью выражения FIRSTORNULL(WHERE(TransTypeList, TransTypeList.EnumValue = @.TransType)).Label
. Это поле возвращает метку значения перечисления текущей проводки в виде текста, если это значение перечисления доступно. В противном случае оно возвращает пустое значение.
Поле TransTypeTitle связано с полем LedgerType модели данных, которое позволяет использовать эту информацию в любом формате электронной отчетности, который использует модель данных в качестве источника данных.
На следующем рисунке показано, как можно использовать отладчик источников данных для проверки настроенного сопоставления модели.
Поле LedgerType модели данных предоставляет метки типов проводок, как и ожидается.
Если планируется использовать этот подход для больших объемов данных по проводкам, следует рассмотреть производительность выполнения. Дополнительные сведения см. в разделе Трассировка выполнения форматов электронной отчетности для устранения неполадок, связанных с производительностью.