AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.08.2011, 20:31   #1  
tykpuk is offline
tykpuk
Участник
 
3 / 10 (1) +
Регистрация: 23.08.2011
Подсчет суммы переводов
Нужно на форму сущности "организация" вывести сумму переводов от этой организации, которые хранятся в связанной сущности "Перевод".

Если делать запросом, то форма грузится долго.

Есть идея хранить сумму перевдов отдельным полем у организации, но тогда встает вопрос как и когда пересчитывать эту сумму?

Что посоветуете?
Старый 23.08.2011, 21:47   #2  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Писать плагин, который при изменении/создании записи "Перевод" (или изменении ее статуса - это уже как у Вас там построено) будет суммировать в специальное поле в связанной Организации.
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 23.08.2011, 23:02   #3  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Можно бы сделать асинхронным запросом, это не должно мешать форме грузиться.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 24.08.2011, 09:54   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
Писать плагин, который при изменении/создании записи "Перевод" (или изменении ее статуса - это уже как у Вас там построено) будет суммировать в специальное поле в связанной Организации.
Я бы ещё добавил удаление - мало ли.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.08.2011, 11:02   #5  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
А я идейно против какого либо хранения агрегированных показателей в базе, если речь не идет об 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  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
А я идейно против какого либо хранения агрегированных показателей в базе, если речь не идет об OLAP!
Тотал опортьюнити, квоты или сейлсордера - тоже аггрегированный показатель, и тем не менее он тоже хранится в базе.

Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 24.08.2011 в 11:18.
Старый 24.08.2011, 11:16   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Появилась альтернативная идея по поводу этого поля. Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 24.08.2011, 13:53   #8  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Цитата:
Сообщение от a33ik Посмотреть сообщение
Тотал опортьюнити, квоты или сейлсордера - тоже аггрегированный показатель, и тем не менее он тоже хранится в базе.

Плюс в случае, если не пересчитывать это поле каждый раз при обновлении подчинённых сущностей - невозможно будет использовать это поле для Advanced Find, а при отображении этого поля в гридах - не будет показано актуальное значение.
Ну, все идет от задачи!
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 24.08.2011, 14:40   #9  
tykpuk is offline
tykpuk
Участник
 
3 / 10 (1) +
Регистрация: 23.08.2011
С плагинами не знаком, поэтому в качестве полумеры использую асинхронный запрос.

А можно поподробнее про

Цитата:
Также это может быть реализовано при помощи плагина, который будет обрабатывать Retrieve сообщение, вычислять сумму и класть её в необходимое поле организации.
И как вообще реализованы плагины? Они отдельно где то пишутся, а потом подгружаются, или как?
Старый 24.08.2011, 15:04   #10  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от tykpuk Посмотреть сообщение
И как вообще реализованы плагины? Они отдельно где то пишутся, а потом подгружаются, или как?
По сути классы написанные при помощи одного из .Net языков (С# или VB.Net). Вы не указали версию системы, потому опубликую ссылки на SDK для 4.0 и 2011:
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  
tykpuk is offline
tykpuk
Участник
 
3 / 10 (1) +
Регистрация: 23.08.2011
Спасибо за ссылки, версия 2011.
А русскоязычных ресурсов по этой теме нет?
Старый 24.08.2011, 18:31   #12  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Знал бы - подсказал. А вообще рекомендую читать всё в оригинале.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Теги
сущность, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отчет по этапам сделки с указанием суммы на каждом этапе сделки Anastas'ya Dynamics CRM: Функционал 1 16.06.2011 18:31
Автоматический расчет фактической суммы заказов при закрытии сделки Omalinka Dynamics CRM: Разработка 9 18.05.2011 13:44
Расчет суммы kosten Dynamics CRM: Разработка 5 12.11.2010 16:47
Скрытие суммы сделки от пользователей другого подразделения, и показ суммы сделки для пользователей одного и того же подразделения с владельцем сделки Dicora Dynamics CRM: Разработка 10 13.09.2010 21:05
отображение суммы позиции прайс-листа в продуктах. datfi Dynamics CRM: Разработка 5 10.09.2009 14:32
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 17:56.