Показать сообщение отдельно
Старый 27.11.2001, 12:43   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Что такое Extended Data Types
Extended Data Types – объекты, основанные на типах данных MorphX, для которых существует возможность настройки, и которые можно также использовать в качестве типов данных.

Создадим, к примеру, несколько полей таблицы с одним типом EDT на основе типа string, с определенной максимальной длиной строк. Предположим, что вам потребовалось изменить эту длину. Изменение максимальной длины строк в свойствах EDT повлечет изменения во всех полях этого типа.

Существует так же возможность “расширять” EDT (создавать один EDT на основе другого). Расширенный EDT наследует все свойства «родительского» EDT и сохраняет возможность быть модифицированным.

В случае если данные, которые вы собираетесь поместить в таблицу, состоят более чем из одной части, EDT может быть создан как массив. В этом случае вместо создания нескольких полей, достаточно создать в таблице одно поле EDT, состоящего из нескольких элементов.

EDT позволяют создавать связи между таблицами путем изменения собственных характеристик (то есть свойств EDT). Эти связи автоматически используются MorphX (чтобы их увидеть, используйте Сервис – Разработка – Визуальное моделирование с MorphXplorer).

Для создания поля таблицы типа EDT необходимо указать в свойствах только что созданного поля указать нужный EDT (свойство Extended Data Type).

EDT могут быть созданы также на основе любого типа enum. Для этого в созданном EDT в свойстве EnumType следует указать тип enum , на котором будет основан новый тип. Разумеется, при изменении значения свойства EnumType, изменится и набор значений во всех элементах, использующих этот тип.

Подробное описание создания и использования EDT вы можете найти в разделе справки “Руководство разработчика Axapta”, часть Creating a Database, глава Extended Data Types.

Примечание

Базовый тип EDT изменять нельзя, то есть если EDT создан на основе типа String, изменить его базовый тип на, скажем, Integer уже не удастся.

Андрей Василюк