Всем привет! Хотелось бы затронуть больную тему... В АХ 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 (ввод) с транзакционными таблицами (т.е. в которые не вводятся данные пользователем напрямую).
Вопрос к тем, кто может быть в курсе изменения политики именования объектов. Какие теперь существуют правила именования объектов и по какому принципу можно догадываться о предназначении того или иного объекта?