|
![]() |
#1 |
Moderator
|
У меня такое ощущение, что эти классы разрабатывал какой-то выходец из .net-программирования и он пытался сэммулировать привычное наследование для таблиц. Потом в рамках какой-то группы (кажется - EP), использование этих классов вместо таблиц стало стандартом разработки. Но рефакторить остальной код никто не стал, да и другие группы этими классами не пользуются. Так что, на мой взгляд, большого смысла в использовании этой функциональности - нету...
Кстати - интересно как в 2012 с использованием этих классов... |
|
![]() |
#2 |
Участник
|
"Этой" - какой именно? ax-классов или работой напрямую с таблицами?
Конкретизирую вопрос: В чем преимущество ax-классов перед непосредственной работой с таблицами ВНУТРИ самой аксапты? |
|
![]() |
#3 |
MCP
|
Цитата:
![]() 2. Удобнее управлять местом выполнения кода: клиент или сервер. 3. Возможность написания более "объектно-ориентированного" кода. |
|
![]() |
#4 |
Участник
|
Цитата:
Зачем? таблицы живут только на сервере. э-э-э? это точно не маркетинговый булшит? |
|
![]() |
#5 |
MCP
|
1. Ага, только в будущем
2. Имел ввиду ситуации, как, например, вызов табличного метода из формы. Если в методе написана какая-то логика - она будет выполняться на клиенте. А если вызывать класс - можно выполнить то же на сервере. 3. По идее, если вызывать отовсюду axSalesTable.insert() вместо salesTable.insert() - получается что вставкой записи уже управляет класс. Его удобно дорабатывать, в отличии от модификации табличных методов, которые обычно сильно раздуваются. P.S.: Согласен с fed, лучше использовать Type классы (SalesLineType и т.п.). Если начать активно использовать ax классы изнутри - это как минимум будет резать глаз и сразу вызывать вопросы ![]() Последний раз редактировалось kornix; 26.03.2011 в 10:37. |
|
![]() |
#6 |
Moderator
|
Кстати - если уж очень хочется поместить сложную логику в табличный insert(), то надо в нем вызывать this.type().insert() (не вызывая super()), а в методе insert() соответствующего класса, тупо вызывать table.doinsert(). Так, помниться, вставка в строки заказов и закупок отрабатывает...
|
|
![]() |
#7 |
Moderator
|
|
|
|
За это сообщение автора поблагодарили: mifi (-1), kornix (1). |
![]() |
#8 |
Участник
|
Цитата:
в ax2009 все таблицы живут на сервере. |
|
![]() |
#9 |
Microsoft Dynamics
|
Цитата:
![]() ![]() |
|
![]() |
#10 |
Moderator
|
Цитата:
Ну вставит он конечно в таблицу БД. Но мне казалось что в этом случае, если логика метода insert() переопределена, то она будет на клиенте отрабатывать ? |
|
![]() |
#11 |
Moderator
|
Цитата:
Мне кажется - никакого преимущества нету. В принципе - можно для своих новых таблиц наделать аналогичных классов, и некоторую функциональность выкинуть в базовый класс axInternalBase. Но класс этот и так уже достаточно помоечный, и мне кажется что правильнее использовать паттерн с методом type() таблицы, который возвращает соответствующий класс. Можно даже табличное наследование ограниченное реализовать, если у тебя в базовой таблице есть поле типа и метод type() ищет соответствущую таблицу с данными подтипа и в ней вызывает метод type(). В общем - IMHO - за исключением узкой задачи сериализации документов, эти классы не функциональны. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
Теги |
ax-классы, axbc, как правильно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|