![]() |
#1 |
Участник
|
Подсчет суммы переводов
Нужно на форму сущности "организация" вывести сумму переводов от этой организации, которые хранятся в связанной сущности "Перевод".
Если делать запросом, то форма грузится долго. Есть идея хранить сумму перевдов отдельным полем у организации, но тогда встает вопрос как и когда пересчитывать эту сумму? Что посоветуете? |
|
![]() |
#2 |
Консультант-джедай
|
Писать плагин, который при изменении/создании записи "Перевод" (или изменении ее статуса - это уже как у Вас там построено) будет суммировать в специальное поле в связанной Организации.
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! ![]() |
|
![]() |
#3 |
Moderator
|
Можно бы сделать асинхронным запросом, это не должно мешать форме грузиться.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#4 |
Чайный пьяница
|
Я бы ещё добавил удаление - мало ли.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#5 |
Moderator
|
А я идейно против какого либо хранения агрегированных показателей в базе, если речь не идет об OLAP! Гораздо проще подсчитать запросом. Если вы используете XmlHttpRequest, то используйте свойство onreadystatechange для указания функции-обработчика смены состояния запроса. Если указать async = true в методе open(method, URL, async), то запрос будет выполняться в параллельном потоке и не будет задерживать загрузку формы.
Минус этого решения в том, что запрос будет выполняться всякий раз при открытии формы организации - тоесть постоянно! Возможно лучше вынести его в отдельный ресурс, на отдельный раздел формы, который по умолчанию свернут, чтобы избежать лишних запросов?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() Последний раз редактировалось Артем Enot Грунин; 24.08.2011 в 11:04. |
|
![]() |
#6 |
Чайный пьяница
|
Цитата:
![]() Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 24.08.2011 в 11:18. |
|
![]() |
#7 |
Чайный пьяница
|
Появилась альтернативная идея по поводу этого поля. Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#8 |
Moderator
|
Цитата:
Сообщение от a33ik
![]() Тотал опортьюнити, квоты или сейлсордера - тоже аггрегированный показатель, и тем не менее он тоже хранится в базе.
![]() Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение. ![]()
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#9 |
Участник
|
С плагинами не знаком, поэтому в качестве полумеры использую асинхронный запрос.
А можно поподробнее про Цитата:
Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
|
|
![]() |
#10 |
Чайный пьяница
|
Цитата:
2011 - http://technet.microsoft.com/en-us/l.../gg334724.aspx 4.0 - http://technet.microsoft.com/en-us/l.../cc151086.aspx
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#11 |
Участник
|
Спасибо за ссылки, версия 2011.
А русскоязычных ресурсов по этой теме нет? |
|
![]() |
#12 |
Чайный пьяница
|
Знал бы - подсказал. А вообще рекомендую читать всё в оригинале.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
Теги |
сущность, форма |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|