В случае необходимости вывода значений picklist из MS CRM для своего aspx веб-приложения можно использовать данный код

picklist to dropdownlist

picklist to dropdownlist

Читать полностью »

Как вы знаете для Microsoft Dynamics CRM можно создавать отчеты, которые будут доступны для определенных типов записей: контактов, организаций, заказов и др. Для это необходимо использовать фильтрованные представления в базе данных: FilteredContact, FilteredAccount … и указать в настройке отчета необходимые данные в пунктах: «Связанные типы записей» и «Отобразить в».

Например, такой запрос:

select name
from FilteredAccount CRMAF_FilteredAccount

будет трансформировать системой в запрос вида

select name
from FilteredAccount CRMAF_FilteredAccount
where CRMAF_FilteredAccount.accountid = '{0000000-0000-0000-0000-000000000000}'

т.е. идентификатор выбранной записи будет подставлен автоматически.

Проблема может возникнуть, когда в вашем отчете используется несколько DataSet. Почему-то идентификатор записи будет передаваться только в 1й DataSet, а в остальные нет. Поэтому если есть необходимость использовать полученный идентификатор в нескольких DataSet, то придется выполнить следующие шаги:

Читать полностью »

Наверняка вы уже знакомы с решением от Jim Wang для выбора нескольких значений из picklist MS CRM, а стиль самого picklist был изменен с добавлением чекбоксов.

Отличное решение, но, иногда, возникает необходимость выбирать все элементы из списка и если значений много, то будет неудобно выбирать каждое по отдельности. Поэтому вот небольшой javascript сниппет, который позволяет решить данную задачу.
Читать полностью »

При создании атрибута типа Datetime  вы можете выбрать два варианта его отображения: только дата,дата и время. Ну а если нужно только время?

Можно создать атрибут типа DateTime, выбрать отображение Дата и время и средствами javascript на форме уже спрятать часть с датой.

Так как часть с временем недоступна по умолчанию (пока не будет заполнена часть с датой), следует присвоить начальное значение полю и потом уже прятать дату.

crmForm.all.new_field.DataValue = new Date();
document.getElementById(«new_field»).childNodes[0].childNodes[0].style.display = «none»;
document.getElementById(«new_field»).childNodes[0].childNodes[1].style.display = «none»;

где new_field-ваше поле DateTime.

На досуге занимался отчетами и собрал несколько полезных примеров кода на 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. Функция для получения списка фамилий контактов через точку с запятой. Параметры: guid организации.
Основную работу выполняет стандартная функция COALESCE, которая позволяет объединить строки через разделитель.

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

Пример вызова:

[DB_Name].[dbo].[GetContactList](accountid) as 'Контакты'

Результат : Иванов; Петров; Сидоров

3. Конвертирование даты в формате дд.мм.гггг
3.1 T-SQL

(CONVERT(varchar(10),createdon, 104)

3.2 в SQL Server Business Intelligence Development Studio: Format(Parameters!startdate.Value,»dd.MM.yyyy»)

4. Форматирование поля типа money, float с разрядами
Format(Sum(Fields!Сумма.Value),»### ### ##0.0#»)

Прошлая небольшая подборка здесь: Полезные SQL-функции для использования в отчетах MS CRM


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