Страница 1 из 1

Бизнес объекты и перечисления

Добавлено: 21 июн 2017, 11:36
EmeJIbka
При добавлении бизнес объектов в отчёт они разбираются и создаётся новый тип, вложенные объекты тоже конвертируются. Но почему то это не работает с перечислениями, их тип не изменяется и в отчёт приходится добавлять ссылку на сборку, где хранится enum. Можно как-то изменить это поведение что бы перечисления тоже конвертировались?

Re: Бизнес объекты и перечисления

Добавлено: 22 июн 2017, 13:46
Ivan
Здравствуйте.
EmeJIbka писал(а):При добавлении бизнес объектов в отчёт они разбираются и создаётся новый тип, вложенные объекты тоже конвертируются.
Бизнес-объект преобразуется в дерево внутренних классов, в каждом из которых добавляются вложенные поля указанного типа.
При компиляции отчёта компилятору необходимо иметь доступ ко всем сборкам, в которых описаны указанные типы.
Если используются только встроенные типы - то дополнительных сборок не требуется.
Но для всех типов пользователя сборки указывать надо обязательно.
Уточним: это необходимо именно для процесса компиляции отчёта.
EmeJIbka писал(а):Но почему то это не работает с перечислениями, их тип не изменяется и в отчёт приходится добавлять ссылку на сборку, где хранится enum. Можно как-то изменить это поведение что бы перечисления тоже конвертировались?
Любое перечисление - это тип пользователя.
Для всех типов пользователя сборки указывать надо обязательно.

Спасибо.

Re: Бизнес объекты и перечисления

Добавлено: 23 июн 2017, 03:42
EmeJIbka
А переопределить это поведение можно? Мне достаточно заменить типы перечислений на целочисленные тип. Не хотелось бы делать перепаковку классов, с которыми работает приложение, только потому что в них есть свойства типа перечисления.

Re: Бизнес объекты и перечисления

Добавлено: 05 июл 2017, 23:30
Ivan
Здравствуйте.
EmeJIbka писал(а):А переопределить это поведение можно?
К сожалению нет.
Это необходимо именно для процесса компиляции отчёта. Компилятор - это системная утилита, над ней никакого контроля нет.
EmeJIbka писал(а):Мне достаточно заменить типы перечислений на целочисленные тип. Не хотелось бы делать перепаковку классов, с которыми работает приложение, только потому что в них есть свойства типа перечисления.
Один из вариантов - в вашем классе заменять перечисления на целочисленный тип.
Ещё один вариант - если у вас в отчёте не используются скрипты в событиях, можно попробовать включить у отчета режим интерпретации.

Спасибо.