14.12.2004, 16:19 | #1 |
Участник
|
EDT или BaseEnum?
Всем привет.
Есть BaseEnum (стандартный или вновь созданный). Можно создать EDT на его основе и дальше работать с ним, а можно непосредственно BaseEnum запихнуть в таблицу. Как правильнее делать (и почему)? P.S. Судя по стандартным объектам, надо создавать EDT. |
|
14.12.2004, 16:28 | #2 |
Moderator
|
Лучше все-таки потратить время и сделать EDT. От него все-таки потом можно будет отнаследоваться. Ну и другие преимущества EDT.
|
|
14.12.2004, 16:38 | #3 |
Участник
|
Вопрос в том какие преимущества. Понятно можно использовать relation, но он м.б. не нужен. Наследование тоже не предвидится. Единственное, что я пока нашел, так это выравнивание (alignment) - через BaseEnum этим свойством управлять нельзя. Но это тоже можно пережить. Так что все-таки лучше использовать и почему?
|
|
14.12.2004, 16:42 | #4 |
Модератор
|
EDT - правильнее (по идеологии). Но вот как раз с BE это не критично... В аксапте гораздо больше мест, где BE используется напрямую, нежели через EDT... рискну сказать, что почти в 90%
C Уважением, Георгий. |
|
14.12.2004, 21:29 | #5 |
Administrator
|
Внесу свою лепту в дискуссию :-)...
На мой взгляд - EDT актуален там, где он будет использоваться в нескольких местах: Например - Добавляем поле в таблицу. Потом это поле идет в контрол на форме. И все. Больше нигде он не участвует. Для примера можно взять информационные поля в любом "ненавороченном" справочнике который редко используется. Например \Основное\Настройки\Бизнес-Анализ\Порт (\Tables\IntrastatPort) и \Основное\Настройки\Бизнес-Анализ\Коды операций (\Tables\IntrastatTransactionCode) В обоих случаях используется в полях Description и Name используется общий тип Description (который не создавался специально для этих таблиц), а во 2-й таблице еще используется тип NoYesId - который также является общим (НО! сие не относится к ключевому полю - без EDT не будет работать позже переход к основной таблице) С другой стороны, если в коде планируется обращение к полю; если поле будет ключевым или на нем должны обитать Relations - то EDT - единственно верный путь. В качестве примера можно взять поле SalesId (\Tables\SalesTable) или поле \Tables\\CustTable\Address или любые поля, основанные на типе FileNameOpen |
|
15.12.2004, 10:40 | #6 |
Участник
|
В общем, краткое обсуждение не открыло ничего нового. Использование BaseEnum вполне возможно, если этот enum не активен в использовании и в порочащих relation не замечен.
Всем спасибо за обсуждение. |
|