Давно задумывался о том, как получить значение picklist в отчет. Сразу решения не нашел и пользовался очень громоздкой и не гибкой конструкцией типа:

SELECT CASE picklist
    WHEN '1' THEN 'Перезвонить'
    WHEN '2' THEN 'Первая встреча'
    WHEN '3' THEN 'Встреча'
    END AS NextTask

Оказывается все гораздо проще – к имени пиклиста достаточно добавить name, как и с lookup. Т.е. вместо piclist написать picklistname
Плюс значения пиклистов хранятся в таблице StringMap, поэтому возможен и такой вариант

SELECT s.value
FROM AccountBase a
JOIN StringMap s
ON s.objecttypecode = 1
AND a.customertypecode = s.attributevalue
AND s.attributename = 'customertypecode'
WHERE a.accountid = <GUID>

Найдено здесь: http://axforum.info/forums/showthread.php?p=217586#post217586

В предыдущем посте описал, как можно работать с «Расширенным поиском» в MS CRM 3.0. Очень хороший инструмент, но все же задачи посложнее с его помощью решить не удастся.
Поэтому необходимо создавать отчеты с помощью Visual Studio. Для этого необходимо знать T-SQL, установить Visual Studio 2003 или 2005 (для MS CRM 3.0 рекомендуют VS 2003) и на сервер с MS CRM поставить Report Server (если такого еще нет).
Примечание: если ставить VS 2003 после установки MS CRM, то в выборе проектов нет Business Solution -> Report Project. Решение очень простое: необходимо переставить Report Server он идет вместе с диском CRM, укажите существующую базу или новую (не забудьте сделать backup)

Поехали: Читать полностью »


© 2009-2010 Microsoft Dynamics CRM | Авторы: Афендиков Константин и Головчан Екатерина |