Показать сообщение отдельно
Старый 17.04.2011, 00:37   #1  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
AX 2012: Правила именования объектов
Всем привет! Хотелось бы затронуть больную тему... В АХ 2012 были переписаны (в частности) финансы, в результате чего LedgerTrans "раскололась" на следующие таблички:
  • GeneralJournalEntry
  • GeneralJournalAccountEntry
  • LedgerEntryJournal
  • LedgerEntry
  • SubledgerVoucherGeneralJournalEntry
  • LedgerEntryJournalizing
С ходу возникает резонный вопрос - а каких правил придерживались разработчики объектов в АОТ в ходе их именования?
Раньше принцип существовал и был такой:
Сначала указывается префикс модуля
Затем указывается тип таблицы / иного объекта (может не указываться или могут быть иные варианты)
В конце указывается суффикс названия.

Например,
LedgerJournalTable:
Здесь:
Ledger - префикс модуля (варианты: Invent, Prod, Cust, Vend, smm и т.д.)
Journal - тип таблицы, указывающий на то, что это журнал
Table - суффикс таблицы, означающий, что эта таблица является либо шапкой журнала, либо справочником.

Т.о. выучив общий принцип именования таблиц - можно было не зная нюансы предположить, что в таблице CustTrans будут сидеть проводки по клиентам, LedgerTrans - проводки по ГК, а в InventTable - записи по номенклатурам (справочник).
Для классов - был суффикс Engine или Form, который тоже наталкивал на определенные мысли о его предназначении разработчика.

Понятно, что этот принцип было тяжело соблюдать и многие таблицы / классы этому правилу не соответствовали. Но база была. Более того - начало названия объекта все-таки так или иначе старалось соблюдаться - т.о. все объекты, относящиеся к одному модулю (Ledger, Invent) были сгруппированы в одном месте.

Теперь получается так, что объекты будут "размазаны" равномерно по АОТ - т.к. фиг догадаешься искать куски LedgerTrans среди объектов на литеру G (GeneralJournalEntry) или S (SubledgerVoucherGeneralJournalEntry). Также непонятно предназначение слова Entry. Оно как-то тоже бессистемно находится в середине или конце названия таблицы. Более того - как-то не вяжется слово Entry (ввод) с транзакционными таблицами (т.е. в которые не вводятся данные пользователем напрямую).

Вопрос к тем, кто может быть в курсе изменения политики именования объектов. Какие теперь существуют правила именования объектов и по какому принципу можно догадываться о предназначении того или иного объекта?
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 17.04.2011 в 09:32. Причина: орфография
За это сообщение автора поблагодарили: mazzy (2), BOAL (2), gl00mie (2).