<?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>Бизнес-инженер</title>
	<atom:link href="http://www.buseng.ru/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.buseng.ru/blog</link>
	<description>Практика внедрения ИТ (CRM, порталы, аналитика)</description>
	<lastBuildDate>Mon, 14 May 2012 14:27:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Права пользователя на запись</title>
		<link>http://www.buseng.ru/blog/2012/05/retrieveuserrecordaccess/</link>
		<comments>http://www.buseng.ru/blog/2012/05/retrieveuserrecordaccess/#comments</comments>
		<pubDate>Mon, 14 May 2012 14:26:32 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[SilverCrmSoap]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=187</guid>
		<description><![CDATA[Способ получения прав пользователя на конкретную запись в системе в CRM 2011 (пример на Silverlight с использованием библиотеки SilverCrmSoap). var userId = new Guid("DF7A9B5D-B0FB-E011-890C-E61F137DE58F"); var entityName = "new_myentity"; var entityId = new Guid("3FA22F05-BA9D-E111-AD62-E61F137DE58F"); bool appendAccess; bool appendToAccess; bool assignAccess; bool createAccess; bool deleteAccess; bool readAccess; bool shareAccess; bool writeAccess; var request = new OrganizationRequest { [...]]]></description>
			<content:encoded><![CDATA[<p>Способ получения прав пользователя на конкретную запись в системе в CRM 2011 (пример на Silverlight с использованием библиотеки SilverCrmSoap).</p>
<pre class="brush: csharp;">var userId = new Guid("DF7A9B5D-B0FB-E011-890C-E61F137DE58F");
var entityName = "new_myentity";
var entityId = new Guid("3FA22F05-BA9D-E111-AD62-E61F137DE58F");

bool appendAccess;
bool appendToAccess;
bool assignAccess;
bool createAccess;
bool deleteAccess;
bool readAccess;
bool shareAccess;
bool writeAccess;

var request = new OrganizationRequest { RequestName = "RetrievePrincipalAccess" };
request["Principal"] = new EntityReference { LogicalName = "systemuser", Id = userId };
request["Target"] = new EntityReference { LogicalName = entityName, Id = entityId };
SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result)
{
    var response = ((IOrganizationService)result.AsyncState).EndExecute(result);
    var rights = (AccessRights)response["AccessRights"];

    appendAccess = rights.HasFlag(AccessRights.AppendAccess);
    appendToAccess = rights.HasFlag(AccessRights.AppendToAccess);
    assignAccess = rights.HasFlag(AccessRights.AssignAccess);
    createAccess = rights.HasFlag(AccessRights.CreateAccess);
    deleteAccess = rights.HasFlag(AccessRights.DeleteAccess);
    readAccess = rights.HasFlag(AccessRights.ReadAccess);
    shareAccess = rights.HasFlag(AccessRights.ShareAccess);
    writeAccess = rights.HasFlag(AccessRights.WriteAccess);
});</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/05/retrieveuserrecordaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Получение списка выбранных записей CRM 2011 в Silverlight-приложении, открытом в не модальном окне</title>
		<link>http://www.buseng.ru/blog/2012/04/retriveselectedentitiesinsilverlight/</link>
		<comments>http://www.buseng.ru/blog/2012/04/retriveselectedentitiesinsilverlight/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 21:42:27 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=177</guid>
		<description><![CDATA[Задача Есть приложение на Silverlight в котором необходимо получить список ID выделенных в таблице записей. При этом приложение открывается в не модальном диалоговом окне (modeless dialog). Решение Для начала нужно создать кнопку на Ribbon, которая будет вызывать JS-функцию, а так же передавать в нее список выбранных в таблице записей. Получить список выбранных записей не представляет [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Задача</strong></p>
<p>Есть приложение на Silverlight в котором необходимо получить список ID выделенных в таблице записей. При этом приложение открывается в не модальном диалоговом окне (modeless dialog).</p>
<p><strong>Решение</strong></p>
<p>Для начала нужно создать кнопку на Ribbon, которая будет вызывать JS-функцию, а так же передавать в нее список выбранных в таблице записей. Получить список выбранных записей не представляет труда, достаточно использовать <a title="Описание CrmParameter в SDK CRM 2011" href="http://msdn.microsoft.com/en-us/library/gg309332.aspx" target="_blank">CrmParameter</a>. Можно конечно открыть окно Silverlight-приложения напрямую и передать список ID через строку адреса, но она имеет ограничение по длине, которое легко превысить.</p>
<p>Далее необходимо создать JS-функцию, вызываемую кнопкой. Функция будет подготавливать данные и открывать окно Silverlight-приложения. JS-код может выглядеть следующем образом:</p>
<pre class="brush: csharp;">function OpenSLApp(ids) {
    var data = new Object();
    data.ids = ids;
    var page = context.prependOrgName('/WebResources/be_/SLApp/Loader.html');
    window.showModelessDialog(page, data, "dialogWidth:800px;dialogHeight:600px;center:yes;status:false;");
}</pre>
<p>Тут есть одна хитрость: для того чтобы иметь возможность получить передаваемый список в Silverlight его необходимо не напрямую передавать как параметр окна, а передавать как значение свойства некого объекта.</p>
<p>И наконец теперь можно получить список ID в Silverlight:</p>
<pre class="brush: csharp;">var ids = new List&lt;Guid&gt;();
dynamic dialogArguments = HtmlPage.Window.GetProperty("dialogArguments");
var guids = dialogArguments.ids;
if (guids != null)
{
    for (var i = 0; i &lt; guids.length; ++i)
    {
        dynamic item = guids[i];
        if (!(item is string)) continue;
        var objectValue = (string)item;
        ids.Add(new Guid(objectValue));
    }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/04/retriveselectedentitiesinsilverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Выполнение запроса WhoAmI с помощью библиотеки SilverSrmCoap</title>
		<link>http://www.buseng.ru/blog/2012/03/silvercrmsoapwhoamirequest/</link>
		<comments>http://www.buseng.ru/blog/2012/03/silvercrmsoapwhoamirequest/#comments</comments>
		<pubDate>Thu, 15 Mar 2012 10:54:43 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[SilverCrmSoap]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=174</guid>
		<description><![CDATA[Выполнение запроса на получение ID текущего пользователя (WhoAmIRequest). var request = new OrganizationRequest { RequestName = "WhoAmI" }; SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result) { var response = ((IOrganizationService)result.AsyncState).EndExecute(result); var userId = (Guid)response["UserId"]; });]]></description>
			<content:encoded><![CDATA[<p>Выполнение запроса на получение ID текущего пользователя (WhoAmIRequest).</p>
<pre class="brush: csharp;">var request = new OrganizationRequest { RequestName = "WhoAmI" };
SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result)
{
	var response = ((IOrganizationService)result.AsyncState).EndExecute(result);
	var userId = (Guid)response["UserId"];
});</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/03/silvercrmsoapwhoamirequest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Создание записи типа email в CRM 2011</title>
		<link>http://www.buseng.ru/blog/2012/03/createemailprogrammatically/</link>
		<comments>http://www.buseng.ru/blog/2012/03/createemailprogrammatically/#comments</comments>
		<pubDate>Wed, 14 Mar 2012 09:55:49 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=168</guid>
		<description><![CDATA[Сложность создания записи типа email заключается в том, что поле отправителя и получателя сообщения имеют специальный, не очень понятный тип &#8211; массив записей типа activityparty. Обратите внимание, что не смотря на то, что отправитель может быт только один, поле from все равно должно принимать в качестве параметра массив, но с одним единственным значением. var apFrom [...]]]></description>
			<content:encoded><![CDATA[<p>Сложность создания записи типа <em>email</em> заключается в том, что поле отправителя и получателя сообщения имеют специальный, не очень понятный тип &#8211; массив записей типа <em>activityparty</em>.</p>
<p>Обратите внимание, что не смотря на то, что отправитель может быт только один, поле <em>from</em> все равно должно принимать в качестве параметра массив, но с одним единственным значением.</p>
<pre class="brush:csharp;">var apFrom = new Entity[1];
apFrom[0] = new Entity("activityparty");
apFrom[0]["partyid"] = new EntityReference("systemuser", systemUser1Id);

var apTo = new Entity[2];
apTo[0] = new Entity("activityparty");
apTo[0]["partyid"] = new EntityReference("contact", contact1Id);
apTo[1] = new Entity("activityparty");
apTo[1]["partyid"] = new EntityReference("contact", contact2Id);

email["from"] = apFrom;
email["to"] = apTo;
email["subject"] = "Send Email Test";
email["description"] = "This is the test e-mail message.";

using (var service = CreateCrmService())
{
    service.Create(email);
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/03/createemailprogrammatically/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Связывание команд в Silverlight при использовании паттерна MVVM</title>
		<link>http://www.buseng.ru/blog/2012/02/silverlightmvvmcommandbinding/</link>
		<comments>http://www.buseng.ru/blog/2012/02/silverlightmvvmcommandbinding/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 18:08:58 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Silverlight / WPF]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=159</guid>
		<description><![CDATA[Если нужно связать команду с событием Click кнопки, то все достаточно просто: &#60;Button Command="{Binding NewEventCommand}" /&#62; NewEventCommand — команда, унаследованная от ICommand, из класса контекста. Если же нужно связать команду к другим событием, то нужно предпринять ряд действий. Первое что нужно сделать — подключить к проекту библиотеку System.Windows.Interactivity. Второе — указать на странице использование пространства [...]]]></description>
			<content:encoded><![CDATA[<p>Если нужно связать команду с событием Click кнопки, то все достаточно просто:</p>
<pre class="brush:xml;">&lt;Button Command="{Binding NewEventCommand}" /&gt;</pre>
<p>NewEventCommand — команда, унаследованная от ICommand, из класса контекста.</p>
<p>Если же нужно связать команду к другим событием, то нужно предпринять ряд действий.</p>
<p>Первое что нужно сделать — подключить к проекту библиотеку System.Windows.Interactivity.</p>
<p>Второе — указать на странице использование пространства имен:</p>
<pre class="brush:xml;">&lt;UserControl
    xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"&gt;</pre>
<p>Дальше можно описывать связывание:</p>
<pre class="brush:xml;">&lt;Button ClickMode="Hover"&gt;
    &lt;i:Interaction.Triggers&gt;
        &lt;i:EventTrigger EventName="MouseLeftButtonDown"&gt;
            &lt;i:InvokeCommandAction Command="{Binding Path=NewEventCommand}" /&gt;
        &lt;/i:EventTrigger&gt;
    &lt;/i:Interaction.Triggers&gt;
&lt;/Button&gt;</pre>
<p>Обратите внимание на атрибут ClickMode. Если не установить его в Hover событие MouseLeftButtonDown (и ряд других событий) не будет происходит.</p>
<p>В атрибуте EventName необходимо указывать имя события, как оно указано для элемента управления.</p>
<p>Подобным способом можно связывать команды не только для кнопок, но и для других элементов управления (например ListBox, Image и др.).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/02/silverlightmvvmcommandbinding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Доступ к родительскому контексту из элементов, расположенных в GridView в Silverlight</title>
		<link>http://www.buseng.ru/blog/2012/02/parentdatacontextaccessfromgridview/</link>
		<comments>http://www.buseng.ru/blog/2012/02/parentdatacontextaccessfromgridview/#comments</comments>
		<pubDate>Tue, 28 Feb 2012 17:34:20 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Silverlight / WPF]]></category>
		<category><![CDATA[Binding]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=154</guid>
		<description><![CDATA[Есть страница типа UserControl, которой передается некий класс в качестве контекста. На странице расположен GridView (Telerik RadGridView в данном случае), в ячейках которого расположены, например, кнопки и эти кнопки должны брать данные (например, иметь доступ к команде) из контекста страницы. Для решения задачи необходимо создать статический ресурс, связав его с контекстом страницы, после чего этот [...]]]></description>
			<content:encoded><![CDATA[<p>Есть страница типа UserControl, которой передается некий класс в качестве контекста. На странице расположен GridView (Telerik RadGridView в данном случае), в ячейках которого расположены, например, кнопки и эти кнопки должны брать данные (например, иметь доступ к команде) из контекста страницы.</p>
<p>Для решения задачи необходимо создать статический ресурс, связав его с контекстом страницы, после чего этот ресурс указывать в кнопках в качестве источника.</p>
<pre class="brush:xml;">&lt;UserControl.Resources&gt;
    &lt;ContentControl x:Key="CurrentDataContext" Content="{Binding}" /&gt;
&lt;/UserControl.Resources&gt;</pre>
<pre class="brush:xml;">&lt;telerik:RadGridView&gt;
    &lt;telerik:RadGridView.Columns&gt;
        &lt;telerik:GridViewColumn&gt;
            &lt;telerik:GridViewColumn.CellTemplate&gt;
                &lt;DataTemplate&gt;
                    &lt;Button ClickMode="Hover"&gt;
                        &lt;i:Interaction.Triggers&gt;
                            &lt;i:EventTrigger EventName="MouseLeftButtonDown"&gt;
                                &lt;i:InvokeCommandAction Command="{Binding Source={StaticResource CurrentDataContext}, Path=Content.NewEventCommand}" /&gt;
                            &lt;/i:EventTrigger&gt;
                        &lt;/i:Interaction.Triggers&gt;
                    &lt;/Button&gt;
                &lt;/DataTemplate&gt;
            &lt;/telerik:GridViewColumn.CellTemplate&gt;
        &lt;/telerik:GridViewColumn&gt;
    &lt;/telerik:RadGridView.Columns&gt;
&lt;/telerik:RadGridView&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/02/parentdatacontextaccessfromgridview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Получение количества записей с помощью FetchXML в CRM 2011</title>
		<link>http://www.buseng.ru/blog/2012/02/getrecordscountwithfetchxml/</link>
		<comments>http://www.buseng.ru/blog/2012/02/getrecordscountwithfetchxml/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 10:16:15 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[FetchXML]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=151</guid>
		<description><![CDATA[var contactsCount = 0; // количество записей const string QUERY = @" &#60;fetch mapping='logical' aggregate='true' version='1.0'&#62; &#60;entity name='contact'&#62; &#60;attribute name='contactid' aggregate='count' alias='count' /&#62; &#60;/entity&#62; &#60;/fetch&#62;"; var result = service.RetrieveMultiple(new FetchExpression(query)); if (result.Entities.Count &#62; 0) contactsCount = (int)result.Entities[0].GetAttributeValue&#60;AliasedValue&#62;("count").Value;]]></description>
			<content:encoded><![CDATA[<pre class="brush:csharp;">var contactsCount = 0; // количество записей
const string QUERY = @"
&lt;fetch mapping='logical' aggregate='true' version='1.0'&gt;
    &lt;entity name='contact'&gt;
        &lt;attribute name='contactid' aggregate='count' alias='count' /&gt;
    &lt;/entity&gt;
&lt;/fetch&gt;";
var result = service.RetrieveMultiple(new FetchExpression(query));
if (result.Entities.Count &gt; 0)
    contactsCount = (int)result.Entities[0].GetAttributeValue&lt;AliasedValue&gt;("count").Value;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/02/getrecordscountwithfetchxml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ошибка &#8220;Incorrect attribute value type System.Single&#8221; при обновлении поля типа float</title>
		<link>http://www.buseng.ru/blog/2012/02/oshibka-incorrect-attribute-value-type-system-single-pri-obnovlenii-polya-tipa-float/</link>
		<comments>http://www.buseng.ru/blog/2012/02/oshibka-incorrect-attribute-value-type-system-single-pri-obnovlenii-polya-tipa-float/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 16:11:11 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[Ошибки]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=148</guid>
		<description><![CDATA[float value = 123; var myEntity = new Entity("new_myentity") { Id = myEntityId }; @event["new_myfield"] = value; service.Update(@event); Подобный код в CRM 2011 может выдать ошибку &#8220;Incorrect attribute value type System.Single&#8221;, не смотря на то, что поле new_myfield имеет тип float. Для решения проблемы достаточно изменить тип переменной value с float на decimal.]]></description>
			<content:encoded><![CDATA[<pre class="brush:csharp;">
float value = 123;
var myEntity = new Entity("new_myentity") { Id = myEntityId };
@event["new_myfield"] = value;
service.Update(@event);
</pre>
<p>Подобный код в CRM 2011 может выдать ошибку &#8220;Incorrect attribute value type System.Single&#8221;, не смотря на то, что поле <var>new_myfield</var> имеет тип <var>float</var>.</p>
<p>Для решения проблемы достаточно изменить тип переменной <var>value</var> с <var>float</var> на <var>decimal</var>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2012/02/oshibka-incorrect-attribute-value-type-system-single-pri-obnovlenii-polya-tipa-float/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Вставка данных в БД SQL из DataSet</title>
		<link>http://www.buseng.ru/blog/2011/12/vstavka-dannyx-v-bd-sql-iz-dataset/</link>
		<comments>http://www.buseng.ru/blog/2011/12/vstavka-dannyx-v-bd-sql-iz-dataset/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 13:11:53 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Разное]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ошибки]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=142</guid>
		<description><![CDATA[string sqlConnectionString = "..."; // Строка подключения к БД SQL string tableName = "..."; // Имя таблицы в DataSet DataSet ds; // Заполненный данными DataSet using (var con = new SqlConnection(sqlConnectionString)) { con.Open(); using (var insertCmd = con.CreateCommand()) { insertCmd.CommandText = "INSERT INTO Names (Number, Name) VALUES (@Number, @Name)"; insertCmd.Parameters.Add("Number", SqlDbType.NVarChar, 100, "Номер договора"); insertCmd.Parameters.Add("Name", [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: csharp">
string sqlConnectionString = "..."; // Строка подключения к БД SQL
string tableName = "..."; // Имя таблицы в DataSet
DataSet ds; // Заполненный данными DataSet

using (var con = new SqlConnection(sqlConnectionString))
{
	con.Open();
	using (var insertCmd = con.CreateCommand())
	{
		insertCmd.CommandText = "INSERT INTO Names (Number, Name) VALUES (@Number, @Name)";
		insertCmd.Parameters.Add("Number", SqlDbType.NVarChar, 100, "Номер договора");
		insertCmd.Parameters.Add("Name", SqlDbType.NVarChar, 100, "Клиент");
		using (var adapter = new SqlDataAdapter())
		{
			adapter.InsertCommand = insertCmd;
			adapter.Update(ds, tableName);
		}
	}
	con.Close();
}
</pre>
<div class="note">
<p>Возможна ситуация, когда и данные есть и ошибок нет, но данные из DataSet в БД не попадают. Такое может быть, например, когда DataSet заполнялся с помощью метода Fill другого DataAdapter или для DataSet был выполнен метод AcceptChanges. В этом случае  данные в DataSet помечены как не измененные, и DataAdapter не считает нужным что-то с ними делать.</p>
<p>В случае с заполнением DataSet с помощью метода Fill? для решения проблемы, необходимо добавить перед вызовом метода Fill строку da.AcceptChangesDuringFill = false; (где da &#8211; экземпляр DataAdapter).
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2011/12/vstavka-dannyx-v-bd-sql-iz-dataset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Выполнение процесса (Workflow) из Silverlight при использовании библиотеки SilverCrmSoap</title>
		<link>http://www.buseng.ru/blog/2011/10/vypolnenie-processa-workflow-iz-silverlight-pri-ispolzovanii-biblioteki-silvercrmsoap/</link>
		<comments>http://www.buseng.ru/blog/2011/10/vypolnenie-processa-workflow-iz-silverlight-pri-ispolzovanii-biblioteki-silvercrmsoap/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 10:47:48 +0000</pubDate>
		<dc:creator>Роман Копаев</dc:creator>
				<category><![CDATA[Microsoft CRM]]></category>
		<category><![CDATA[MS CRM 2011]]></category>
		<category><![CDATA[SilverCrmSoap]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Пример кода]]></category>

		<guid isPermaLink="false">http://www.buseng.ru/blog/?p=132</guid>
		<description><![CDATA[private void ExecuteWorkflow(Guid entityId, Guid workflowId) { var request = new OrganizationRequest { RequestName = "ExecuteWorkflow", Parameters = new ParameterCollection { new SilverCrmSoap.CrmSdk.KeyValuePair&#60;string, object&#62; { Key = "EntityId", Value = entityId }, new SilverCrmSoap.CrmSdk.KeyValuePair&#60;string, object&#62; { Key = "WorkflowId", Value = workflowId } } }; SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result) { try { ((IOrganizationService)result.AsyncState).EndExecute(result); } catch (Exception [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush:csharp;">
private void ExecuteWorkflow(Guid entityId, Guid workflowId)
{
    var request = new OrganizationRequest
    {
        RequestName = "ExecuteWorkflow",
        Parameters = new ParameterCollection
        {
            new SilverCrmSoap.CrmSdk.KeyValuePair&lt;string, object&gt; { Key = "EntityId", Value = entityId },
            new SilverCrmSoap.CrmSdk.KeyValuePair&lt;string, object&gt; { Key = "WorkflowId", Value = workflowId }
        }
    };
    SilverCrmSoap.Helpers.SoapHelper.BeginExecute(request, delegate(IAsyncResult result)
    {
        try
        {
            ((IOrganizationService)result.AsyncState).EndExecute(result);
        }
        catch (Exception ex)
        {
            HtmlPage.Window.Alert("Ошибка выполнения Workflow!");
        }
    });
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.buseng.ru/blog/2011/10/vypolnenie-processa-workflow-iz-silverlight-pri-ispolzovanii-biblioteki-silvercrmsoap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

