<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Microsoft Dynamics CRM &#187; report</title>
	<atom:link href="http://ms-dynamics-crm.com.ua/tag/report/feed/" rel="self" type="application/rss+xml" />
	<link>http://ms-dynamics-crm.com.ua</link>
	<description>Все о Microsoft Dynamics CRM</description>
	<lastBuildDate>Fri, 30 Jul 2010 08:18:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Полезные SQL-вставки для использования в отчетах MS CRM</title>
		<link>http://ms-dynamics-crm.com.ua/2010/06/14/useful-sql-code-snippets-for-mscrm/</link>
		<comments>http://ms-dynamics-crm.com.ua/2010/06/14/useful-sql-code-snippets-for-mscrm/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 18:08:59 +0000</pubDate>
		<dc:creator>Костя Афендиков</dc:creator>
				<category><![CDATA[ms crm 4.0]]></category>
		<category><![CDATA[ms sql]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[tips and tricks]]></category>

		<guid isPermaLink="false">http://ms-dynamics-crm.com.ua/?p=1164</guid>
		<description><![CDATA[На досуге занимался отчетами и собрал несколько полезных примеров кода на T-SQL, которые можно использовать в отчетах для Microsoft Dynamics CRM 4.0.
1.	Получение дня недели
 CASE DATEDIFF(DAY,0, createdon)%7
WHEN 0 THEN 'Понедельник'
WHEN 1 THEN 'Вторник'
WHEN 2 THEN 'Среда'
WHEN 3 THEN 'Четверг'
WHEN 4 THEN 'Пятница'
WHEN 5 THEN 'Суббота'
WHEN 6 THEN 'Воскресенье'
END as 'Дата, день недели'

2. Функция для получения [...]]]></description>
			<content:encoded><![CDATA[<p>На досуге занимался отчетами и собрал несколько полезных примеров кода на<strong> T-SQL</strong>, которые можно использовать в отчетах для<strong> Microsoft Dynamics CRM 4.0</strong>.<br />
1.	Получение дня недели</p>
<pre class="brush: sql;"> CASE DATEDIFF(DAY,0, createdon)%7
WHEN 0 THEN 'Понедельник'
WHEN 1 THEN 'Вторник'
WHEN 2 THEN 'Среда'
WHEN 3 THEN 'Четверг'
WHEN 4 THEN 'Пятница'
WHEN 5 THEN 'Суббота'
WHEN 6 THEN 'Воскресенье'
END as 'Дата, день недели'
</pre>
<p>2. Функция для получения списка фамилий контактов через точку с запятой. Параметры: guid организации.<br />
Основную работу выполняет стандартная функция <strong>COALESCE</strong>, которая позволяет объединить строки через разделитель.</p>
<pre class="brush: sql;">
CREATE FUNCTION [dbo].[GetContactList](@AccountID varchar(40))
RETURNS varchar(max) AS
BEGIN
DECLARE @StringList varchar(max)
SELECT @StringList = COALESCE(@StringList + '; ', '') + c.fullname
from account a
left join contact c
	on c.parentcustomerid = @AccountID
IF @StringList IS NULL
SET @StringList = 'Нет контактов'
RETURN @StringList
END
</pre>
<p>Пример вызова: </p>
<pre class="brush: sql;">[DB_Name].[dbo].[GetContactList](accountid) as 'Контакты'</pre>
<p>Результат :  Иванов; Петров; Сидоров</p>
<p>3. Конвертирование даты в формате <strong>дд.мм.гггг</strong><br />
3.1 T-SQL
<pre class="brush: sql;">(CONVERT(varchar(10),createdon, 104)</pre>
<p>3.2 в SQL Server Business Intelligence Development Studio: <strong>Format(Parameters!startdate.Value,&raquo;dd.MM.yyyy&raquo;)</strong></p>
<p>4. Форматирование поля типа money, float с разрядами<br />
<strong>Format(Sum(Fields!Сумма.Value),&raquo;### ### ##0.0#&raquo;)</strong></p>
<p>Прошлая небольшая подборка здесь: <a title="Полезные SQL-функции для использования в отчетах MS CRM" href="http://ms-dynamics-crm.com.ua/2009/02/18/sql-function-mscrm/" target="_blank">Полезные SQL-функции для использования в отчетах MS CRM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ms-dynamics-crm.com.ua/2010/06/14/useful-sql-code-snippets-for-mscrm/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Значение picklist в отчете для MS CRM</title>
		<link>http://ms-dynamics-crm.com.ua/2010/01/21/picklist-value-in-reports-for-ms-crm/</link>
		<comments>http://ms-dynamics-crm.com.ua/2010/01/21/picklist-value-in-reports-for-ms-crm/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 09:55:20 +0000</pubDate>
		<dc:creator>Костя Афендиков</dc:creator>
				<category><![CDATA[ms crm 4.0]]></category>
		<category><![CDATA[picklist]]></category>
		<category><![CDATA[report]]></category>

		<guid isPermaLink="false">http://ms-dynamics-crm.com.ua/?p=1120</guid>
		<description><![CDATA[Давно задумывался о том, как получить значение picklist в отчет. Сразу решения не нашел и пользовался очень громоздкой и не гибкой конструкцией типа: 

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

Оказывается все [...]]]></description>
			<content:encoded><![CDATA[<p>Давно задумывался о том, как получить значение picklist в отчет. Сразу решения не нашел и пользовался очень громоздкой и не гибкой конструкцией типа: </p>
<pre class="brush: sql;">
SELECT CASE picklist
    WHEN '1' THEN 'Перезвонить'
    WHEN '2' THEN 'Первая встреча'
    WHEN '3' THEN 'Встреча'
    END AS NextTask
</pre>
<p>Оказывается все гораздо проще &#8211; к имени пиклиста достаточно добавить <strong>name</strong>, как и с lookup. Т.е. вместо piclist написать picklistname<br />
Плюс значения пиклистов хранятся в таблице <strong>StringMap</strong>, поэтому возможен и такой вариант </p>
<pre class="brush: sql;">
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 = &lt;GUID&gt;
</pre>
<p>Найдено здесь: http://axforum.info/forums/showthread.php?p=217586#post217586</p>
]]></content:encoded>
			<wfw:commentRss>http://ms-dynamics-crm.com.ua/2010/01/21/picklist-value-in-reports-for-ms-crm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание отчетов для Microsoft Dynamics CRM 3.0 с помощью Visual Studio и Query Analyzer.</title>
		<link>http://ms-dynamics-crm.com.ua/2009/02/08/create-reports-in-ms-crm-30-with-visual-studio-and-query-analyzer/</link>
		<comments>http://ms-dynamics-crm.com.ua/2009/02/08/create-reports-in-ms-crm-30-with-visual-studio-and-query-analyzer/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 19:53:36 +0000</pubDate>
		<dc:creator>Костя Афендиков</dc:creator>
				<category><![CDATA[ms crm 3.0]]></category>
		<category><![CDATA[report]]></category>

		<guid isPermaLink="false">http://ms-dynamics-crm.com.ua/?p=35</guid>
		<description><![CDATA[В предыдущем посте описал, как можно работать с «Расширенным поиском» в MS CRM 3.0. Очень хороший инструмент, но все же задачи посложнее с его помощью решить не удастся.
Поэтому необходимо создавать отчеты с помощью Visual Studio. Для этого необходимо знать T-SQL, установить Visual Studio 2003 или 2005 (для MS CRM 3.0 рекомендуют  VS 2003) и [...]]]></description>
			<content:encoded><![CDATA[<p>В предыдущем посте описал, как можно <a title="Работа с Расширенным поиском в MS CRM" href="http://stimulus.dn.ua/blog/ak/2008/11/13/creating-a-custom-presentation-for-ms-crm-3-0-using-the-advanced-search/">работать с «Расширенным поиском»</a> в <strong>MS CRM 3.0</strong>. Очень хороший инструмент, но все же задачи посложнее с его помощью решить не удастся.<br />
Поэтому необходимо создавать отчеты с помощью Visual Studio. Для этого необходимо знать T-SQL, установить Visual Studio 2003 или 2005 (для MS CRM 3.0 рекомендуют  VS 2003) и на сервер с MS CRM поставить <strong>Report Server</strong> (если такого еще нет).<br />
<em>Примечание: </em>если ставить VS 2003 после установки MS CRM, то в выборе проектов нет Business Solution -&gt; Report Project. Решение очень простое: необходимо переставить Report Server он идет вместе с диском CRM, укажите существующую базу или новую (не забудьте сделать backup)</p>
<p>Поехали:<span id="more-35"></span></p>
<p>1. Любой отчет – это, по сути, выполнение SQL-запроса. Поэтому запускаем SQL Query Analyzer и составляем необходимый нам запрос.</p>
<p>2. Запускаем VS и создаем новый проект.</p>
<p>3. Выбираем в Project Types: “Business Intelligence Projects” -&gt; Report Project Wizard</p>
<p>4. Выбираем имя для нашего data source, жмем Edit и указываем свойства для связи с базой</p>
<ol>
<li>
<div id="attachment_191" class="wp-caption alignnone" style="width: 253px"><a href="http://stimulus.dn.ua/blog/ak/files/2008/11/22.jpg"><img class="size-medium wp-image-191" src="http://stimulus.dn.ua/blog/ak/files/2008/11/22-243x300.jpg" alt="Свойства связи с данными" width="243" height="300" /></a><p class="wp-caption-text">Свойства связи с данными</p></div></li>
</ol>
<p>5.    вставляем в query string наш sql-запрос, который уже протестировали в Query Analyzer</p>
<p><div id="attachment_192" class="wp-caption alignnone" style="width: 310px"><a href="http://stimulus.dn.ua/blog/ak/files/2008/11/31.jpg"><img class="size-medium wp-image-192" src="http://stimulus.dn.ua/blog/ak/files/2008/11/31-300x277.jpg" alt="запрос из Query Analyzer" width="300" height="277" /></a><p class="wp-caption-text">запрос из Query Analyzer</p></div>
<p>6.    Выбираем тип отчета Tabular</p>
<p>7.    Создаем  предварительный дизайн таблицы. (не обязательно размещать все доступные поля)</p>
<div id="attachment_193" class="wp-caption alignnone" style="width: 310px"><a href="http://stimulus.dn.ua/blog/ak/files/2008/11/41.jpg"><img class="size-medium wp-image-193" src="http://stimulus.dn.ua/blog/ak/files/2008/11/41-300x278.jpg" alt="Предварительный дизайн таблицы" width="300" height="278" /></a><p class="wp-caption-text">Предварительный дизайн таблицы</p></div>
<p>8.    Выбираем стиль отчета (их можно создавать и самому)</p>
<div id="attachment_195" class="wp-caption alignnone" style="width: 310px"><a href="http://stimulus.dn.ua/blog/ak/files/2008/11/51.jpg"><img class="size-medium wp-image-195" src="http://stimulus.dn.ua/blog/ak/files/2008/11/51-300x277.jpg" alt="Стиль отчета" width="300" height="277" /></a><p class="wp-caption-text">Стиль отчета</p></div>
<p>9.    Указываем расположение отчета</p>
<div id="attachment_194" class="wp-caption alignnone" style="width: 310px"><a href="http://stimulus.dn.ua/blog/ak/files/2008/11/61.jpg"><img class="size-medium wp-image-194" src="http://stimulus.dn.ua/blog/ak/files/2008/11/61-300x276.jpg" alt="Указываем расположение отчета" width="300" height="276" /></a><p class="wp-caption-text">Указываем расположение отчета</p></div>
<p>10.    И его название</p>
<div id="attachment_196" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-196" src="http://stimulus.dn.ua/blog/ak/files/2008/11/7-300x278.jpg" alt="Название отчета" width="300" height="278" /><p class="wp-caption-text">Название отчета</p></div>
<p>11.   Сам отчет представляет собой *.rdl – файл, который является xml-документом.<br />
После того, как отчет создан его необходимо опубликовать на сервере. Для этого сохраняем проект и находим файл *.rdl в каталоге проекта (можно Save As… и сохранить этот файл в нужное место)</p>
<p>12.    запускаем MS CRM и выбираем «Отчеты». Создаем новый отчет выбираем наш файл для загрузки и указываем название, после этого отчет будет загружен на сервер и отобразиться в списке всех отчетов.</p>
<p>Здесь описано общая инструкция по созданию отчетов для MS CRM. Конкретные примеры опишу позже.</p>
]]></content:encoded>
			<wfw:commentRss>http://ms-dynamics-crm.com.ua/2009/02/08/create-reports-in-ms-crm-30-with-visual-studio-and-query-analyzer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
