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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.09.2013, 22:46   #1  
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
Открытие формы лукапа через JavaScript с кастомным View по умолчанию.
Добрый день коллеги,

Решаю сейчас сабжевую задачу.

Использую примерно следующий код:

Код:
var EntityCode = 10008;
var defaultviewid = "{C1CBEED9-F1D5-E211-8006-005056B2000A}";
var customView = {
    id: defaultviewid,
    recordType: EntityCode,
    name: "Credit Cards",
    fetchXl: "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
			        "<entity name='sd_creditcard'>" +
			        "<attribute name='sd_creditcardid' />" +
			        "<attribute name='sd_creditcardnumber' />" +
			        "<attribute name='sd_nameofholder' />" +
			        "<attribute name='sd_expiration' />" +
			        "<attribute name='sd_cardtype' />" +
			        "<order attribute='sd_creditcardnumber' descending='false' />" +
			        "<filter type='and'>" +
			        "<condition attribute='sd_accountid' operator='eq' value='" + accountid[0].id + "' />" +
			        "</filter>" +
			        "</entity>" +
			        "</fetch>",
    layoutXml: "<grid name='resultset' " +
                    "object='1' " +
                    "jump='sd_creditcardid' " +
                    "select='1' " +
                    "icon='1' " +
                    "preview='1'>" +
                    "<row name='result' id='sd_creditcardid'>" +
                    "<cell name='sd_creditcardnumber' width='150' />" +
                    "<cell name='sd_cardtype' width='100' />" +
                    "<cell name='sd_expiration' width='100' />" +
                    "<cell name='sd_nameofholder' width='150' />" +
                    "</row>" +
                    "</grid>",
    Type: 0
};

var lookupItems = window.parent.LookupObjects(null, "single", EntityCode, 0, null, "", null, null, null, null, null, null, defaultviewid, [customView]);
Если не указывать кастомный view, то всё работает как часы. В случае использования этого кода - вылезают ошибки, описание которых ничего по сути не объясняет. Трейс аналогично. Никто с подобной задачей не сталкивался?

UPD window.parent для вызова используется по причине того, что вызов идёт из html вебресурса.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.09.2013, 09:47   #2  
scint is offline
scint
Участник
 
43 / 14 (1) ++
Регистрация: 25.02.2009
var viewId = "{C0F1DD64-1BF3-450D-BCDE-DF4732DE1606}"; // "Генерируем" ID для нового представления
var entityName = "skb_legalentity"; // Имя объекта
var viewDisplayName = "Юридические лица ВП"; // Задаем название нового представления
var setDefault = true; // Определяем, будет ли наше новое представление дефолтным при открытии диалогового окна лукапа

if (Xrm.Page.data.entity.attributes.get("skb_partnershipopportunityid").getValue())
{
var oppName=Xrm.Page.data.entity.attributes.get("skb_partnershipopportunityid").getValue()[0].name;
var oppId=Xrm.Page.data.entity.attributes.get("skb_partnershipopportunityid").getValue()[0].id;

// Создаем XML запрос на запрос Юридических лиц
var fetchXml = "" +
"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>" +
"<entity name='skb_legalentity'>" +
"<attribute name='skb_name' />" +
"<attribute name='skb_legalentityid' />" +
"<attribute name='skb_inn' />" +
"<attribute name='skb_kpp' />" +
"<order attribute='skb_name' descending='false' />" +
"<link-entity name='account' from='accountid' to='skb_accountid' alias='aa'>" +
"<link-entity name='skb_partnershipopportunity' from='skb_accountid' to='accountid' alias='ab'>" +
"<filter type='and'>" +
"<condition attribute='skb_partnershipopportunityid' operator='eq' uiname='" + oppName + "' uitype='skb_partnershipopportunity' value='" + oppId + "'/>" +
"</filter>" +
"</link-entity>" +
"</link-entity>" +
"</entity>" +
"</fetch>";
// Определяем представление фильтрованного лукапа
var layoutXml = "" +
"<grid name='resultset' object='1' jump='name' select='1' icon='1' preview='1'>" +
"<row name='result' id='skb_legalentityid'>" +
"<cell name='skb_name' width='200' />" +
"<cell name='skb_inn' width='100' />" +
"<cell name='skb_kpp' width='100' />" +
"</row>" +
"</grid>";

// Задаем имя лукапа и задаем кастомное Представление для него
var lookupControl = Xrm.Page.ui.controls.get('skb_legalentityid');
lookupControl.addCustomView(viewId, entityName, viewDisplayName, fetchXml, layoutXml, setDefault);

Я использую вот такой код, для кастомного представления. Посмотрите, может поможет.
Старый 06.09.2013, 11:22   #3  
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
Вся проблема в том, что:

1. Это html вебресурс. Вроде писал про это.
2. Отсюда следует что и поля-лукапа у меня нет.

Всё равно спасибо за попытку.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.09.2013, 13:15   #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
На самой форме код работает нормально? Если да, то попробуй что-то вроде

with (window.parent)
{
//JS CODE
}

В некоторых случаях это решает проблемы с областью видимости.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 06.09.2013, 13:36   #5  
Anros is offline
Anros
Участник
 
54 / 28 (1) +++
Регистрация: 01.07.2009
Я делал так:

Код:
        var url = Mscrm.CrmUri.create("/_controls/lookup/lookupinfo.aspx");
        var args =
            {
                customViews: [{
                    id: "{A76B2C46-C28E-4E5E-9DDF-951B71202C9D}",
                    recordType: 3,
                    name: "Contact's opportunities",
                    fetchXml: fetchXml,
                    layoutXml: "<grid name=\"\" jump=\"name\" select=\"1\" icon=\"1\" preview=\"0\"><row name=\"opportunity\" id=\"opportunityid\"><cell name=\"name\" width=\"300\" /></row></grid>",
                    Type: 0
                }],
                availableViews: null
            };
        url += "?AllowFilterOff=1&DefaultType=3&DefaultViewId=%7bA76B2C46-C28E-4E5E-9DDF-951B71202C9D%7d&DisableQuickFind=0&DisableViewPicker=0&LookupStyle=single&ShowNewButton=1&ShowPropButton=1&browse=false&objecttypes=3"
        return openStdDlgWithCallback(url, args, 600, 600);
Старый 10.09.2013, 13:44   #6  
spectr is offline
spectr
Участник
Аватар для spectr
MCBMSS
Лучший по профессии 2014
 
287 / 70 (3) ++++
Регистрация: 19.10.2011
Адрес: Киев
Работаю с лукапами на своем веб-ресурсе почти так как написал Anros, но вместо openStdDlgWithCallback использую openStdDlg так как openStdDlgWithCallback вызывает его.

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

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: Using Power View in Excel 2013 to Analyze CRM Data Blog bot Dynamics CRM: Blogs 0 19.04.2013 00:11
Закрытие формы через Iframe Camena Dynamics CRM: Разработка 2 30.07.2010 15:53
Открытие формы только для чтения Camena Dynamics CRM: Разработка 7 17.06.2010 11:52
Мелкомягкий CRM: JavaScript Form Manager Blog bot Dynamics CRM: Blogs 8 29.08.2009 11:50
mscrm4ever: CRM 4.0 Public View Manager Wizard (Hiding Views) Blog bot Dynamics CRM: Blogs 1 02.03.2009 09:42

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

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

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