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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2008, 12:54   #1  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Lightbulb Задачка на построение кода
Прошу помощи прежде всего в осознании сути связей сущностей посредством отношений. Но для наглядности предложу пример задачи, которую требуется решить...
Итак, имеем сущность "Прайс-лист", которую мы догадались использовать как сущность группировки продуктов - создания продуктовых групп. А так как у нас все менеджеры по продажам отвечают за продажи какой-либо одной продуктовой группы, то логично, что было создано отношение: один Прайс-лист - множество Пользователей. Мы успешно распределили всех менеджеров по прайс-листам - тут всё в порядке, но перед нами встала весьма элементарная задача казалось бы - при создании нового действия, подставлять в поле "В отношении", тот прайс-лист, который закреплен за ответсвенным менеджером. То есть, другими словами: известен менеджер (значение в поле Ответственный) - а исходя из этого нужно получить прайс-лист, в список менеджеров которого данный менеджер входит. По сути вроде бы ничего сложного - получаем из сущности Пользователь заданную запись, и в поле "Прайс-лист" имеем ссылку на искомую сущность(типа связь 1:N). Но вот ведь незадача: в связи с присутсвием возможности создания отношения N:N нам стало просто колоссально необходимо, чтобы пользователь мог входить в список менеджеров одновременно двух и более прайс-листов, а как строить запрос и к какой сущности в случае связи N:N - непонятно вообще. И непонятно же, как сей вопрос просветить из хэлпа к SDK?
Уважаемые коллеги! Полагаюсь на Ваш опыт и знания в помощи при решении данной задачи!
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 02.04.2008, 16:32   #2  
tatra is offline
tatra
Участник
 
229 / 11 (1) +
Регистрация: 21.09.2007
Адрес: Самара
А если связь делать со стороны прайс-листа?
Старый 02.04.2008, 16:43   #3  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Цитата:
Сообщение от tatra Посмотреть сообщение
А если связь делать со стороны прайс-листа?
Хм... Весьма многозначительный ответ. Хотелось бы понять: как именно, если в прайс-листе связанная сущность - это в принципе таблица. То есть, нужно сначала получить атрибут, а потом из этого атрибута делать Retrieve, или с атрибутом делать Retrieve? Что делать-то собственно? Понятно, что откуда-то надо тянуть эту ниточку, но со стороны прайс-листа не понятно как это сделать...
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 02.04.2008, 16:55   #4  
tatra is offline
tatra
Участник
 
229 / 11 (1) +
Регистрация: 21.09.2007
Адрес: Самара
Я имел ввиду попробовать развить тему со стороны прайс листа, (сделать с него связь 1:N)
Старый 02.04.2008, 16:57   #5  
tatra is offline
tatra
Участник
 
229 / 11 (1) +
Регистрация: 21.09.2007
Адрес: Самара
В конце концов можно организовать фрэймик на пользователе, на нем грид с прайслистами. А на прайслисте лукап к пользователю.
Старый 02.04.2008, 17:03   #6  
Артем 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
Опять занимаетесь извращениями, Likefire? Не совсем понял, как вы собираетесь связывать пользователей и прайс листы - создавать дополнительные связи между системными объектами невозможно. Для связи возможно использовать пользовательскую сущность "Менеджеры прайс листа". Она через многие к одному связана с сущностями "Прайс лист" и "Пользователь". Вот вам и связь многие ко многим. Запросы к ней стройте как обычно никаких проблем... Другое дело, что CRM позволит вам создать не все связи - есть запрет на создание отношений "многие ко многим" при некотором сочетании типов объектов.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 02.04.2008, 17:15   #7  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
А что мешает создать связь многие ко многим между вашей сущьностью и прайс-листами, когда манагер будет создавать новую сущность, то все прайс-листы в отношении с которыми находится узер, будут добавлены к этому объекту! Как писать код я не знаю, но задача действительно интересная в плане кодинга! Нет пока опыта с 4-кой, но подозреваю что там промежуточные таблицы, а вот какими методами SDK к ним стучаться не знаю!
Старый 02.04.2008, 18:15   #8  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Ээээ... Речь идет о четверке. Там можно создавать связь многие ко многим явно. Меня интересует именно то, что сказал SeregaK: я хочу понять, какими методами и как стучаться к таким сущностям. Кажется я понимаю, почему в тройке возможности создания отношений были ограничены - чтобы не создавать путаницу при необходимости получить выборку.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 03.04.2008, 14:01   #9  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
Likefire по этой ссылке http://blogs.javista.com/2008/02/17/...-many-to-many/ вы найдёте ответ на ваш вопрос! =))
За это сообщение автора поблагодарили: Likefire (1).
Старый 03.04.2008, 16:22   #10  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Thumbs up
Цитата:
Сообщение от SeregaK Посмотреть сообщение
Likefire по этой ссылке http://blogs.javista.com/2008/02/17/...-many-to-many/ вы найдёте ответ на ваш вопрос! =))
Спасибо огромное! Это именно то, что ожидалось. А блог - однозначно в избранное!
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 03.04.2008, 16:31   #11  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
Не за что! ;-) Главное чтобы ограниения упомянутые Enot Poloskun позволили вам создать требуемые связи. Тогда решение задачи почти готово, а если нет, то тут пока вопрос!

Последний раз редактировалось SeregaK; 03.04.2008 в 16:34.
Старый 03.04.2008, 16:42   #12  
Likefire is offline
Likefire
Заноза в заднице
Аватар для Likefire
MCBMSS
Лучший по профессии 2009
 
547 / 50 (3) ++++
Регистрация: 22.10.2007
Адрес: Москва
Записей в блоге: 1
Navision
Цитата:
Сообщение от SeregaK Посмотреть сообщение
Не за что! ;-) Главное чтобы ограниения упомянутые Enot Poloskun позволили вам создать требуемые связи. Тогда решение задачи почти готово, а если нет, то тут пока вопрос!
Все указанные ограничения справедливы для версии 3.0. В четверке я проверял все свои требования.
__________________
Лень мудрого человека - это необходимое средство нейтрализации кипучей активности руководящих им дураков!
Старый 03.04.2008, 17:00   #13  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
В четвёрке их значительно меньше, но они есть!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Разбор кода примеров SDK, а также разных прочих Likefire Dynamics CRM: Разработка 14 22.05.2008 17:18
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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