Показать сообщение отдельно
Старый 09.11.2012, 13:29   #38  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
возвращаясь к исходному вопросу.

Цитата:
Сообщение от Narayana Посмотреть сообщение
Но, вот с тем, чтобы, например, сложить значения полей в двух разных столбцах и результат положить в поле в третьем столбце, я столкнулся с проблемами.
как совершенно точно ответил Ivan: "Computed columns поддерживаются в View начиная с AX2012"

До этого предлагалось использовать Display/Edit методы на таблицах и/или на датасорсах формы.
http://msdn.microsoft.com/en-US/libr...(v=ax.50).aspx
http://msdn.microsoft.com/en-US/libr...(v=ax.50).aspx
и т.д.


А до этого (очень давно) предлагалось использовать метод postLoad таблицы. (устарело, не используйте)

Для display/edit методов было много чего придумано и сделано.
Главный принцип - на AOS попадает каждая запись из запрашиваемой таблицы. В этом случае display/edit подход отлично работал. (тогда поддерживалось несколько движков баз данных, вплоть до DBF)

но с версии ax3.0 в аксапту пришли групповые операции. И вообще, разработчики стали гораздо больше переносить тяжелые обработки на SQL-сервер. Начиная с ax3.0 поддерживаются только MS SQL и Oracle в качестве движков баз данных. а начиная с ax2012 - только MS SQL

В условиях групповых операций подход с display/edit-методами работает не очень.
Но пока вы не перешли на ax2012 других способов добавить вычислимое поле в форму или отчет нет.


Цитата:
Сообщение от Narayana Посмотреть сообщение
В хелпе есть краткое упоминание, что в Аксапте групповые операции можно сделать по одному столбцу, но нельзя по полям по горизонтали таблицы.
да, это связано с совместимостью со старыми версиями аксапты.

Цитата:
Сообщение от Narayana Посмотреть сообщение
Это довольно странно, потому что даже в Аксессе в графическом конструкторе запросов можно создать новое поле в строке, вычисляемое по значениям других полей в горизонтали.


Цитата:
Сообщение от Narayana Посмотреть сообщение
В общем, стал я искать способ как-нибудь извратиться и использовать для обозначенной цели, например, View, Query, Temporary Table...
не надо извращаться. Создайте display-метод на таблице. добавьте этот метод в группу полей. Автоматически получите вычислимое поле в группе на форме или в отчете. Но помните об ограничениях и производительности.

Цитата:
Сообщение от Narayana Посмотреть сообщение
И вообще, про инструментарий для работы с запросами в руководствах не написано ничего, кроме различных вариантов объединения таблиц.
Гы... вы еще dataset не посмотрели

Цитата:
Сообщение от Narayana Посмотреть сообщение
Я чего-то не понимаю или то, с чем я столкнулся, действительно, проблема в Аксапте?
Да, непонимание.
Скорее не проблема, а фича, связанная с совместимостью со старыми версиями