23.08.2011, 20:31 | #1 |
Участник
|
Подсчет суммы переводов
Нужно на форму сущности "организация" вывести сумму переводов от этой организации, которые хранятся в связанной сущности "Перевод".
Если делать запросом, то форма грузится долго. Есть идея хранить сумму перевдов отдельным полем у организации, но тогда встает вопрос как и когда пересчитывать эту сумму? Что посоветуете? |
|
23.08.2011, 21:47 | #2 |
Консультант-джедай
|
Писать плагин, который при изменении/создании записи "Перевод" (или изменении ее статуса - это уже как у Вас там построено) будет суммировать в специальное поле в связанной Организации.
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
23.08.2011, 23:02 | #3 |
Moderator
|
Можно бы сделать асинхронным запросом, это не должно мешать форме грузиться.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
24.08.2011, 09:54 | #4 |
Чайный пьяница
|
Я бы ещё добавил удаление - мало ли.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.08.2011, 11:02 | #5 |
Moderator
|
А я идейно против какого либо хранения агрегированных показателей в базе, если речь не идет об OLAP! Гораздо проще подсчитать запросом. Если вы используете XmlHttpRequest, то используйте свойство onreadystatechange для указания функции-обработчика смены состояния запроса. Если указать async = true в методе open(method, URL, async), то запрос будет выполняться в параллельном потоке и не будет задерживать загрузку формы.
Минус этого решения в том, что запрос будет выполняться всякий раз при открытии формы организации - тоесть постоянно! Возможно лучше вынести его в отдельный ресурс, на отдельный раздел формы, который по умолчанию свернут, чтобы избежать лишних запросов?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional Последний раз редактировалось Артем Enot Грунин; 24.08.2011 в 11:04. |
|
24.08.2011, 11:07 | #6 |
Чайный пьяница
|
Цитата:
Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 24.08.2011 в 11:18. |
|
24.08.2011, 11:16 | #7 |
Чайный пьяница
|
Появилась альтернативная идея по поводу этого поля. Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
24.08.2011, 13:53 | #8 |
Moderator
|
Цитата:
Сообщение от a33ik
Тотал опортьюнити, квоты или сейлсордера - тоже аггрегированный показатель, и тем не менее он тоже хранится в базе.
Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
24.08.2011, 14:40 | #9 |
Участник
|
С плагинами не знаком, поэтому в качестве полумеры использую асинхронный запрос.
А можно поподробнее про Цитата:
Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
|
|
24.08.2011, 15:04 | #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 |
|
24.08.2011, 16:34 | #11 |
Участник
|
Спасибо за ссылки, версия 2011.
А русскоязычных ресурсов по этой теме нет? |
|
24.08.2011, 18:31 | #12 |
Чайный пьяница
|
Знал бы - подсказал. А вообще рекомендую читать всё в оригинале.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
Теги |
сущность, форма |
|
|