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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.04.2013, 18:44   #1  
bear1 is offline
bear1
Участник
 
28 / 10 (1) +
Регистрация: 24.06.2009
Объединение ссылок на 1 сущность в навигационной панели
Есть сущность в которой можно выбрать несколько контактов, можете подсказать куда копать чтобы в контакте не плодить ссылок на навигационной панели на эту сущность.
Старый 15.04.2013, 21:44   #2  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
В чем проблема? Контакты должны выбираться на форме или достаточно в связанных записях? Один контакт может быть связан с несколькими такими сущностями? Если да - копайте в сторону "Отношение N:N"
Старый 15.04.2013, 22:18   #3  
bear1 is offline
bear1
Участник
 
28 / 10 (1) +
Регистрация: 24.06.2009
Цитата:
Сообщение от Bondonello Посмотреть сообщение
В чем проблема? Контакты должны выбираться на форме или достаточно в связанных записях? Один контакт может быть связан с несколькими такими сущностями? Если да - копайте в сторону "Отношение N:N"
Может не понятно выразился, в сущности "организация" на форме добавлено несколько контактов: Директор, бухгалтер, кассир. Связи 1:N, в связи с тем что связь 1:N, то на форме у контакта в навигационной левой панели есть 3 организации. И если подтянуть контакт допустим в поле "Директор" то организация в контакте отобразиться в 1 пункте меню Организация, а в остальных будет пусто. Так вот: необходимо как нибудь объединить эти 3 поля, чтобы не важно куда подтянут контакт он отобразился в этом пункте меню. Смотрел на FetchXML, но не знаю как вывести туда ссылку.
Старый 15.04.2013, 23:46   #4  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
Cool
Цитата:
Сообщение от bear1 Посмотреть сообщение
Может не понятно выразился, в сущности "организация" на форме добавлено несколько контактов: Директор, бухгалтер, кассир. Связи 1:N, в связи с тем что связь 1:N, то на форме у контакта в навигационной левой панели есть 3 организации. И если подтянуть контакт допустим в поле "Директор" то организация в контакте отобразиться в 1 пункте меню Организация, а в остальных будет пусто. Так вот: необходимо как нибудь объединить эти 3 поля, чтобы не важно куда подтянут контакт он отобразился в этом пункте меню. Смотрел на FetchXML, но не знаю как вывести туда ссылку.
Боже ж ты мой!!! Кто такое делает???? Меняйте архитектуру решения!!!! И чем быстрее, тем лучше, пока все не упало. А что будете делать, если пользователь скажет, что ему еще и кладовщика видеть надо или вообще все подразделение????
В панели навигации видно 3-ри организации из за 3-х созданных связей. Каждая ссылка отвечает за свое. То есть у каждого из контактов, которые указаны в карточке организации будет заполнена только одна из ссылок в панели...
То, что вы так реализовали - реализовывается при помощи "подключения". ройте в этом направлении.
Старый 15.04.2013, 23:50   #5  
bear1 is offline
bear1
Участник
 
28 / 10 (1) +
Регистрация: 24.06.2009
Цитата:
Сообщение от -O_o- Посмотреть сообщение
Боже ж ты мой!!! Кто такое делает???? Меняйте архитектуру решения!!!! И чем быстрее, тем лучше, пока все не упало. А что будете делать, если пользователь скажет, что ему еще и кладовщика видеть надо или вообще все подразделение????
В панели навигации видно 3-ри организации из за 3-х созданных связей. Каждая ссылка отвечает за свое. То есть у каждого из контактов, которые указаны в карточке организации будет заполнена только одна из ссылок в панели...
То, что вы так реализовали - реализовывается при помощи "подключения". ройте в этом направлении.
Я просто пример привел, чтобы поняли смысл
Старый 15.04.2013, 23:56   #6  
-O_o- is offline
-O_o-
Еда - топливо, Одежда - н
Аватар для -O_o-
Лучший по профессии 2015
Лучший по профессии 2014
 
727 / 80 (4) ++++
Регистрация: 11.05.2012
Адрес: Киев
приведите реальный пример.
не всегда программирование лучший вариант.
Старый 16.04.2013, 00:20   #7  
bear1 is offline
bear1
Участник
 
28 / 10 (1) +
Регистрация: 24.06.2009
Цитата:
Сообщение от -O_o- Посмотреть сообщение
приведите реальный пример.
не всегда программирование лучший вариант.
Есть сущность "страховой случай", в котором есть страхователь, который тянется с договора, водитель застрахованного авто, водитель потерпевшего авто и владелец потерпевшего авто.
Старый 16.04.2013, 02:19   #8  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Цитата:
Сообщение от bear1 Посмотреть сообщение
Есть сущность "страховой случай", в котором есть страхователь, который тянется с договора, водитель застрахованного авто, водитель потерпевшего авто и владелец потерпевшего авто.
Т.е. у вас на сущности "Страховой случай" должны быть выбраны 4 контакта, а у самого Контакта вы хотите видеть только одну ссылку на "Страховой случай", в которой будет Представление всех случаев, где участвует Контакт,в не зависимости в каком поле выбран.

FetchXML может дать такое множество, только у меня не получилось передать его по ссылке в навигационной панели, можно передать в SubGrid, а вот в навигацию - не вышло.

Такого рода функционал получилось сделать на основе отчета. Т.е по ссылке в навигационной панели у меня генерируется мой отчет, в который я передаю id записи.

Решение планировалось как временное, но нет ничего более постоянного, чем временное
За это сообщение автора поблагодарили: bear1 (1).
Старый 16.04.2013, 02:47   #9  
bear1 is offline
bear1
Участник
 
28 / 10 (1) +
Регистрация: 24.06.2009
Надеюсь все таки есть какие-то варианты кроме отчетов? Неужели никому такое не понадобилось реализовать?
Старый 16.04.2013, 10:41   #10  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Цитата:
Сообщение от bear1 Посмотреть сообщение
Надеюсь все таки есть какие-то варианты кроме отчетов? Неужели никому такое не понадобилось реализовать?
есть но сразу все нюансы которые не будут работать.

Не будет работать стандартная риббон панель "Создать", "Добавить" и т.д. нужно будет создавать кнопки.

А вариант прост это создать HTML веб ресурс с формой для заполнения и передачи в расширенный поиск и получение ответа в виде сетки. (ссылочка и почитайте эту тему )

Или как делал я
HTML:
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
    <title>Расширеный поиск</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta content="IE=edge" http-equiv="X-UA-Compatible">
	<script src="script/jquery.min.js" type="text/javascript"></script>
	<script type="text/javascript">
		$(document).ready(function(){
			..получаем Id и делаем что-то если его нет
			var form = $('#FindGrid');
			if (form)
			{
				form.action = '/AIS/AdvancedFind/fetchData.aspx';
				form.LayoutXml.value = 	тут лайоут с колонкой по которой быдет ити переход на сушность (ContactId);
				form.FetchXml.value = 	ваш фетч запрос + дополнительно нужно получить Id с формы тут Xrm.Page доступно через Parent в области видимости;
				form.EntityName.value = название сущности;
				form.DefaultAdvFindViewId.value = id представления по умолчанию (хз но надо);
				form.ViewId.value = ваше представление что будет использоватся;
				form.ViewType.value = код сущности;
				form.SortCol.value = по чему и как сортировать "new_name:1;";
				form.submit();
			}			
		});
	</script>
</head>
<body>
	<FORM method="post" action="" id="FindGrid">
		<INPUT name="FetchXml" type="hidden"> 
		<INPUT name="LayoutXml" type="hidden"> 
		<INPUT name="EntityName" type="hidden"> 
		<INPUT name="DefaultAdvFindViewId" type="hidden"> 
		<INPUT name="ViewId" type="hidden"> 
		<INPUT name="ViewType" type="hidden"> 
		<INPUT name="SortCol" type="hidden"> 
		<INPUT name="UIProvider" type="hidden">
		<INPUT name="DataProvider" type="hidden">
	</FORM>
</body>
</html>

Последний раз редактировалось spectr; 16.04.2013 в 10:53.
За это сообщение автора поблагодарили: Bondonello (2), bear1 (1).
Старый 17.04.2013, 10:52   #11  
kalina is offline
kalina
Участник
MCBMSS
 
25 / 16 (1) ++
Регистрация: 12.07.2011
Адрес: Израиль
По-моему все таки правильнее будет создать subgrid, положив его в закрытый tab. Во время поднятия формы Страхового случая дать этому subgrid'у нужный фетч.
Примерно так:
Код:
        var grid = null;
        var grid = document.getElementById("subgrid_name");
        if (grid && grid.control) {
            grid.control.setParameter("fetchXml", "your_fetch");
        }
(почему в закрытый - прийдется во время загрузки формы отлавливать grid и grid.control асинхронно. Как показывает практика, не очень хорошее решение)
А с Навигационной Панели убрать все три ссылки, определив это в свойствах этих связей.

Но если вы создаете Страховой случай из контакта, то, наверное, лучше оствить все, как есть, изменив имена ссылок в тех же свойствах связей. Ну, или создать на форме по subgrid'у на каждую связь.
Старый 17.04.2013, 18:28   #12  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Цитата:
Сообщение от kalina Посмотреть сообщение
Но если вы создаете Страховой случай из контакта, то, наверное, лучше оствить все, как есть, изменив имена ссылок в тех же свойствах связей. Ну, или создать на форме по subgrid'у на каждую связь.
А оставлять бессмысленно Потому что при создании с контакта с любой из трех ссылок мапингом заполняются все поля контакта одним значением.
То есть при создании по ссылке страхователь (или любой другой) заполняться все 3 поля (страхователь, водитель и потерпевший) нашим контактом "иванова"
Старый 17.04.2013, 18:59   #13  
kalina is offline
kalina
Участник
MCBMSS
 
25 / 16 (1) ++
Регистрация: 12.07.2011
Адрес: Израиль
Цитата:
Сообщение от spectr Посмотреть сообщение
А оставлять бессмысленно Потому что при создании с контакта с любой из трех ссылок мапингом заполняются все поля контакта одним значением.
То есть при создании по ссылке страхователь (или любой другой) заполняться все 3 поля (страхователь, водитель и потерпевший) нашим контактом "иванова"
Ну, так совсем хорошо - чем меньше вариантов, тем легче выбрать правильное решение
А вообще, можно через window.opener проверить, откуда открыто, и стирать значение из ненужных к заполнению полей

Последний раз редактировалось kalina; 17.04.2013 в 19:05.
Старый 11.02.2014, 18:24   #14  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Цитата:
Сообщение от kalina Посмотреть сообщение
А вообще, можно через window.opener проверить, откуда открыто, и стирать значение из ненужных к заполнению полей
А в этой теме решение этой задачи Два лукапа одной сущности
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Редактирование левой навигационной панели на форме crm 2011 scint Dynamics CRM: Администрирование 1 15.09.2012 17:32
Как заполнить атрибут Прайс-лист по умолчанию при импорте в сущность Продукт DOlga Dynamics CRM: Функционал 1 18.11.2010 11:13
Добавление представлений в навигационной панели. Kizickii Dynamics CRM: Разработка 4 10.09.2009 09:45
Мелкомягкий CRM: Убираем кнопки с панели инструментов связанных объектов Blog bot Dynamics CRM: Blogs 2 19.08.2009 23:27
Можно ли добавить сущность к настроенным ролям отношениям (CRM 3.0) ? Alexey-IT Dynamics CRM: Функционал 4 13.05.2008 11:46

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 05:16.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.