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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.02.2010, 01:05   #1  
Blog bot is offline
Blog bot
Участник
 
25,631 / 848 (80) +++++++
Регистрация: 28.10.2006
CRM Programmer: Get Picklist Value By Picklist Name
Источник: http://crmpro.blogspot.com/2010/02/g...list-name.html
==============

I wrote some method to get picklist value by knowing picklist name.

namespace test
{
public class CrmServiceProvider
{

private WebMetadataService.MetadataService _MetaService = null;

///* Create a MetadataService end point */
private WebMetadataService.MetadataService MetaService
{
get
{
if (_MetaService == null)
{
_MetaService = new WebMetadataService.MetadataService();
_MetaService.Url = "http://localhost/mscrmservices/2007/metadataservice.asmx";

// Use a special user credentials
NetworkCredential cred = new NetworkCredential();
cred.Domain = ConfigurationManager.AppSettings["Domain"];
cred.UserName = ConfigurationManager.AppSettings["UserName"];
cred.Password = ConfigurationManager.AppSettings["PassWord"];

_MetaService.UseDefaultCredentials = false;
_MetaService.Credentials = cred;

_MetaService.UnsafeAuthenticatedConnectionSharing = true;

WebMetadataService.CrmAuthenticationToken token = new WebMetadataService.CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = ConfigurationManager.AppSettings["Organization"];

_MetaService.CrmAuthenticationTokenValue = token;
}
return _MetaService;
}
}


public int GetPicklistValueByPicklistName(string PicklistName, string EntityLogicalName, string LogicalName)
{
int retval = -1;

/* Retrieve the attribute metadata */
WebMetadataService.RetrieveAttributeRequest attributeRequest = new WebMetadataService.RetrieveAttributeRequest();
attributeRequest.EntityLogicalName = EntityLogicalName;
attributeRequest.LogicalName = LogicalName; //picklist

WebMetadataService.RetrieveAttributeResponse attributeResponse =
(WebMetadataService.RetrieveAttributeResponse)MetaService.Execute(attributeRequest);

/* Cast the attribute metadata to a picklist metadata */
WebMetadataService.PicklistAttributeMetadata picklist =
(WebMetadataService.PicklistAttributeMetadata)attributeResponse.AttributeMetadata;


foreach (WebMetadataService.Option op in picklist.Options)
{
if (op.Label.UserLocLabel.Label == PicklistName)
retval = op.Value.Value;
}

return retval;
}
}
}

To call this method use then next construction:
int psv = GetPicklistValueByPaymentSystemName(categorycode, "account", "accountcategorycode");
if (psv > 0)
{
acc.accountcategorycode = new Picklist();
acc.accountcategorycode.Value = psv;
}



Источник: http://crmpro.blogspot.com/2010/02/g...list-name.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM DE LA CREME! CRM 4.0 Disaster Recovery Blog bot Dynamics CRM: Blogs 2 26.02.2016 08:23
CRM DE LA CREME! Configuring Microsoft Dynamics CRM 4.0 for Internet-facing deployment Blog bot Dynamics CRM: Blogs 0 18.08.2009 11:05
Microsoft Dynamics CRM Team Blog: Building Rich-Client Dashboards for Microsoft Dynamics CRM with Windows Presentation Foundation Blog bot Dynamics CRM: Blogs 1 31.03.2009 13:24
Jim Wang: Get Entity/Attribute's Display Name from CRM database Blog bot Dynamics CRM: Blogs 0 28.03.2009 01:05
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05

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

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

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