2014-12-30 3 views
3

Я пытаюсь использовать метод Xrm.Utility.openEntityForm(), чтобы открыть новую настраиваемую форму сущности и программно установить поле поиска объекта. Я очень внимательно слежу за примером на http://msdn.microsoft.com/en-us/library/gg334375.aspx, но получаю неописуемую ошибку. Любая помощь при фактической настройке поля или, возможно, поиске журналов для ошибки будет оценена по достоинству.Xrm.Utility.openEntityForm настройка Look Up field

Пример кода Я следую за этим.

function OpenNewContact() { 

var parameters = {}; 

//Set the Parent Customer field value to “Contoso”. 
parameters["parentcustomerid"] = "2878282E-94D6-E111-9B1D-00155D9D700B"; 
parameters["parentcustomeridname"] = "Contoso"; 
parameters["parentcustomeridtype"] = "account"; 

//Set the Address Type to “Primary”. 
parameters["address1_addresstypecode"] = "3"; 

//Set text in the Description field. 
parameters["description"] = "Default values for this record were set programmatically."; 
//Set Do not allow E-mails to "Do Not Allow". 
parameters["donotemail"] = "1"; 

// Open the window. 
Xrm.Utility.openEntityForm("contact", null, parameters); 
} 

Функция Я создан, чтобы сделать то же самое с моим настраиваемым объектом выглядит следующим образом:

function createNewService() { 
    var locationId = trimBrackets(Xrm.Page.data.entity.getId()); 

    var primaryField = Xrm.Page.data.entity.getPrimaryAttributeValue(); 

    var entityLogicalName = Xrm.Page.data.entity.getEntityName(); 

    var parameters = { 
     cw_location: locationId, 
     cw_locationname: primaryField, 
     cw_locationtype: entityLogicalName 
    }; 

    Xrm.Utility.openEntityForm("cw_service", null, parameters); 

} 

имя лица я открывающая форма работы = cw_service (это не проблема, поскольку я могу открыть пустую форму с помощью Xrm.Utility.openEntityForm ("cw_service");)

имя поля, которое я пытаюсь установить, - cw_location.

Я бы разместил изображение сообщения об ошибке, но у меня пока нет репутации, чтобы сделать это.

+0

Для тестирования попробуйте выполнить hardcoding значения, которые вы используете, когда вы устанавливаете поле 'cw_service.cw_location' в форме JS в свои параметры. То есть, установите поле поиска через JS в форме 'cw_service', а затем скопируйте/вставьте рабочие значения в функцию' createNewService', чтобы узнать, что произойдет. –

ответ

2

Для простого поиска вы должны установить значение и текст для отображения в поиске. Используйте суффикс «name» с именем атрибута, чтобы установить значение для текста.

Не используйте другие аргументы для простого поиска.

Для поиска клиентов и владельцев вы должны установить значение и имя так же, как вы их установили для простого поиска. Кроме того, вы должны использовать суффикс «type», чтобы указать тип объекта. Допустимыми значениями являются учетная запись, контакт, системный администратор и команда.

Для вашего примера это простой поиск, я полагаю. Так, пожалуйста, попробуйте использовать код ниже:

var parameters = { 
    cw_location: locationId, 
    cw_locationname: primaryField 
}; 

Для получения дополнительной информации, пожалуйста, посетите Set the value for lookup fields.

Смежные вопросы