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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.04.2008, 12:46   #1  
Верба is offline
Верба
Участник
Аватар для Верба
 
16 / 10 (1) +
Регистрация: 03.07.2007
Адрес: Челябинск
Прайс-листы
Здравствуйте.
Как можно сделать так, чтобы при выставлении счёта, к нему можно было добавить продукты только из выбранного прайса.
У нас все продукты разбиты по направлениям. И каждый продукт закреплён за одним прайсом. Нужно, чтобы при выставлении счёта, менеджер выбрал прайс и ему навыбор уже предлагались продукты для добавления только из этого прайса.

CRM же даёт для добавления список всех существующих продуктов, вне зависимости от выбранного прайса.

Подскажите, пожалуйста.
Старый 04.04.2008, 13:15   #2  
Сабитов Андрей is offline
Сабитов Андрей
MCTS
Аватар для Сабитов Андрей
MCBMSS
Лучший по профессии 2009
 
851 / 122 (6) +++++
Регистрация: 07.09.2006
Адрес: СПб
Этот вопрос уже обсуждался, к сожалению стандартными средствами и настройкой ни как. Это дополнительная разработка
Старый 04.04.2008, 13:56   #3  
Верба is offline
Верба
Участник
Аватар для Верба
 
16 / 10 (1) +
Регистрация: 03.07.2007
Адрес: Челябинск
Что-то я не могу найти, где он обсуждался
Старый 05.04.2008, 12:24   #4  
Артем 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
К лукапу можно прикрутить дополнительный фильтр - строку fetch запроса, где построить необходимое вам ограничение. Сейчас под рукой нет материала, попробуйте поискать на форме или напомните мне в будни через личку.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
За это сообщение автора поблагодарили: Верба (1).
Старый 07.04.2008, 10:04   #5  
AndreyS is offline
AndreyS
Moderator
Сотрудники Microsoft Dynamics
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
283 / 61 (3) ++++
Регистрация: 18.05.2006
На всякий случай, пока этот метод - неподдерживаемая конфигурация.
Старый 07.04.2008, 14:51   #6  
ShurikEv is offline
ShurikEv
CRM
 
213 / 28 (1) +++
Регистрация: 25.04.2006
Адрес: г. Новосибирск
В 4ке и этим не воспользоваться... :-( Правда есть сторонняя разработка
__________________
MS CRM 3.0/4.0
Sharepoint 2003, MOSS 2007/2010
Старый 07.04.2008, 15:23   #7  
Артем 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
Необходимо в событие загрузки формы добавить что-то вроде:
someLookup.additionalparams = fetchXml= <fetch mapping='logical'> <entity name='product'> <all-attributes/> <filter type='and'><condition чего-то там/></filter></entity></fetch>

К сожалению нет времени строить сам запрос, поэтому могу лишь адресовать вас к SDK. так же есть мухлевый способ получить fetch запрос любой сложности: можно сохранить нужный вам фильтр при помощи представления расширенного поиска, после чего залезть в базу и сдуть оттуда. Так же есть методы веб сервисов, которые позволяют преобразовывать запросы Excecute методов в Fetch запрос. Возможно вам будет проще получить код запроса таким образом.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 05.05.2008, 08:44   #8  
sam is offline
sam
Участник
 
160 / 25 (1) +++
Регистрация: 04.08.2003
Адрес: Красноярск
Столкнулся с тем что старый метод, присвоение additionalparams строки fetch не работает в 4.0 версии, покопавшись нашел решение на форуме майкрософта, у меня сработало.

Схема такая, меняется серверный код лукапа, единожды.
После этого в клиентском коде все делается почти так же как и раньше, главное иметь строку запроса Fetch.

Итак, сначала строим запрос. Заходим в расширенный поиск, ставим свои условия, ищем.
Если запрос тот что нам нужен, нажимаем F11, в адресной строке пишем
javascript:alert(resultRender.FetchXml.value);

Нажимаем Enter, должно выскочить окошко с текстом запроса, чтобы не переписывать текст, можно нажать ctrl+c, и скопировать текст в блокнот.

Далее самое интересное, меняется как код в скрипте так и серверный код.

вставил свой пример,
есть два лукапа, город и район, при выборе города нужно ограничивать число районов.

код скрипта, (смена города)
Код:
var oCity  = crmForm.all.etik_linkaddrcity;
var oDistrict = crmForm.all.etik_linkdistrict;

if(oCity   != null  && oDistrict!= null )
{
	if(oDistrict.DataValue != null)
		oDistrict.DataValue = null;
	
	if(oCity.DataValue == null)
	{
		oDistrict.Disabled = true;
	}
	else
	{
		oDistrict.Disabled = false;
		
		oDistrict.lookupbrowse = 1; 

		var search = "здесь должна быть полученная вами строка";

		oDistrict.AddParam("search", search);

		
	}
}
else
{
alert('Нет полей город и\или район');
}
Серверный код:

В следующую аспх страницу CRMWeb\_controls\lookup\lookupsingle.aspx
в самое начало страницы скопируйте следующий код
(!!! сделайте копию лукапа на всякий пожарный...)

Код:
<script runat="server">
 
protected override void OnLoad(EventArgs e)
{
     base.OnLoad(e);
     crmGrid.PreRender += new EventHandler(crmGrid_PreRender);
}

void crmGrid_PreRender(object sender, EventArgs e)
{
     if( Request["search"] + "" != "" && Request["browse"] + "" == "1" )
     {
           crmGrid.AddParameter("fetchxml", Request["search"] );
           crmGrid.Parameters.Remove("searchvalue");
     }
}

</script>
Теперь можете проверять. Чуть сложнее чем в 3.0, но только первый раз.
Решение мухлевое, как выше удачно выразились : ), так что лучше употреблять если хоть немного понимаете что именно вы делаете: ).

Спасибо интернету, товарищам
Adi Katz, за фильтрацию в 4.0
http://forums.microsoft.com/Dynamics...7530&SiteID=27

и Ronald Lemmen
за способ получения Fetch
http://ronaldlemmen.blogspot.com/200...-fetchxml.html
За это сообщение автора поблагодарили: Артем Enot Грунин (2), maxim_ufa (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Доступ к прайс-листам Apossum Dynamics CRM: Администрирование 2 09.04.2009 13:52
Почему Прайс-лист и продукты вынесены в "Параметры"? Bakai Madybaev Dynamics CRM: Функционал 6 08.01.2009 16:02
Программное создание позиции прайс-листа ZooY Dynamics CRM: Разработка 1 20.09.2008 04:29
Прайс Лист Сабитов Андрей Dynamics CRM: Разработка 4 10.10.2006 10:20
Прайс html поместить в CRM? Maxim74 Dynamics CRM: Функционал 2 08.06.2006 18:30

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

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

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