<?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>OrionXL</title>
	<atom:link href="http://orionxl.ru/feed" rel="self" type="application/rss+xml" />
	<link>http://orionxl.ru</link>
	<description>Информационный блог</description>
	<lastBuildDate>Sun, 16 Oct 2011 08:37:58 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>1С Правила Регистрации Объектов (ПРО). Обмен данными. Планы обмена.</title>
		<link>http://orionxl.ru/1c-pravila-registracii-obektov-obmen-dannymi-plany-obmena</link>
		<comments>http://orionxl.ru/1c-pravila-registracii-obektov-obmen-dannymi-plany-obmena#comments</comments>
		<pubDate>Sun, 16 Oct 2011 08:27:27 +0000</pubDate>
		<dc:creator>Роман Иванов</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://orionxl.ru/?p=474</guid>
		<description><![CDATA[В этой статье Вы узнаете как создавать и настраивать план обмена с регистрацией обмена по настраиваемым правилам. Официальные источники замалчивают вопросы этой тематики (на текущий момент времени), скорее всего это связано с доработками исходных кодов...
Для чего нужны настраиваемые правила регистрации? Иногда В большинстве случаев возникает необходимость передавать информацию об объектах в соответствии с некоторыми правилами: [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">В этой статье Вы узнаете как создавать и настраивать план обмена с регистрацией обмена по настраиваемым правилам. Официальные источники замалчивают вопросы этой тематики (на текущий момент времени), скорее всего это связано с доработками исходных кодов...</p>
<p style="text-align: justify;">Для чего нужны настраиваемые правила регистрации? <span style="text-decoration: line-through;">Иногда</span> В большинстве случаев возникает необходимость передавать информацию об объектах в соответствии с некоторыми правилами: ограничение по дате, по контрагенту, по складу, по типу операций и т.д. Стандартный механизм позволяет настраивать ограничения по типу метаданных (тип документа и т.д.), поэтому для выборочной регистрации объектов в плане обмена необходимо использовать соответствующий механизм. Однако, ограничить передачу информации можно и на уровне правил обмена данными, но это не так эффективно, т.к. в этом случае у вас отбор объектов будет проводится на момент выгрузки-загрузки данных.</p>
<p style="text-align: justify;">Для использования этого механизма необходимо в конфигурации наличия определенных объектов, которые доступны в наборе типовых объектов конфигурации – Обмен Данными.</p>
<p style="text-align: justify;">И так, прежде всего вам необходимо настроить и создать правила регистрации объектов (ПРО), сделать это наиболее удобно в конфигурации «Конвертация». Более подробная и детальная схема по созданию ПРО описана в разделе справки.</p>
<p><span style="text-decoration: underline;">Первый шаг</span>. Создадим план обмена. Назовем его «Обмен с внешней базой», можно использовать типовой.</p>
<p>Создадим в нем два реквизита: Организация (<span style="color: #0000ff;">Справочник.Организации</span>) и ГраничнаяДата (<span style="color: #0000ff;">Дата и время</span>).</p>
<p>В регистрации свойств установим регистрацию документа и регистра сведений «Сопоставление Объектов Информационных Баз», если планируется использовать механизм «Универсального обмена данными XML».</p>
<p>Дополнительно в модуле плана обмена добавим функции необходимые для идентификации плана обмена - <span style="color: #ff0000;">Функция</span> <span style="color: #0000ff;">ВерсияОбменаДанными()</span> <span style="color: #ff0000;">Экспорт</span> и другие, есть в примерах.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Второй шаг</span>. Остановимся на правилах регистрации для объекта: Документ "Реализация Товаров и Услуг".</p>
<div id="attachment_476" class="wp-caption aligncenter" style="width: 537px"><a href="http://orionxl.ru/wp-content/uploads/2011/10/Pravila_registracii_obektov_dlja_dokumenta.jpg"><img class="size-full wp-image-476" title="Pravila_registracii_ob#ektov_dlja_dokumenta" src="http://orionxl.ru/wp-content/uploads/2011/10/Pravila_registracii_obektov_dlja_dokumenta.jpg" alt="Правила регистрации объектов для документа «Реализация товаров и услуг»" width="527" height="465" /></a><p class="wp-caption-text">Правила регистрации объектов для документа «Реализация товаров и услуг»</p></div>
<p>Рис. 1 Правила регистрации объектов для документа «Реализация товаров и услуг»</p>
<p style="text-align: justify;">Т.к. мы создали в плане обмена два реквизита для фильтрации объектов, то в ПРО укажим эти условия сравнения. Для фильтра «Организации» установим равенство организации указанной в узле обмена и источника документа на равенство. А для фильтра «Граничная дата» сравним дату документа с датой из узла (больше и равно). Если требуются более сложные правила, то Вы всегда можете использовать обработчики событий. К примеру, если требуется проверить условия по вхождению контрагента по «неким правилам» используйте свой код проверки, результатом должно быть значение флага Отказ (<span style="color: #0000ff;">Отказ=</span><span style="color: #ff0000;">Истина</span> – не прошел, <span style="color: #0000ff;">Отказ=</span><span style="color: #ff0000;">Ложь</span> – все ок).</p>
<p>Выгружаем и сохраняем ПРО.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Шаг третий</span>. После, того как мы сохранили правила нам нужно связать его с соответствующим планом обмена. Эти функции выполняет регистр сведений «Правила для обмена данными», либо через мастер настроек.</p>
<p style="text-align: center;">
<div id="attachment_477" class="wp-caption aligncenter" style="width: 546px"><a href="http://orionxl.ru/wp-content/uploads/2011/10/Dobavlenie_dannyh_v_registr_svedenij_Pravila_obmena_dannymi.jpg"><img class="size-full wp-image-477" title="Dobavlenie_dannyh_v_registr_svedenij_Pravila_obmena_dannymi" src="http://orionxl.ru/wp-content/uploads/2011/10/Dobavlenie_dannyh_v_registr_svedenij_Pravila_obmena_dannymi.jpg" alt="Добавление данных в регистр сведений «Правила обмена данными»" width="536" height="285" /></a><p class="wp-caption-text">Добавление данных в регистр сведений «Правила обмена данными»</p></div>
<p>Рис. 2 Добавление данных в регистр сведений «Правила обмена данными»</p>
<p style="text-align: justify;">Выбираем план обмена из загружаем ПРО из типовых (список макетов) или из файла на диске. После этой операции наш план обмена будет связан с этими правилами.</p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Шаг четвертый</span>. Если вы создаете свой план, тогда необходимо добавить еще подписку на событие. Для этого создадим объект с именем «Обмен данными с внешними базами», укажем событие при записи и тип источника «Документ Реализация Товаров и Услуг» (можно использовать составной), и создадим процедуру в которую необходимо вставить следующий код:</p>
<p><span style="color: #ff0000;">Процедура</span> <span style="color: #0000ff;">ОбменДаннымиСВнешнимиБазамиПриЗаписи(Источник, Отказ)</span> <span style="color: #ff0000;">Экспорт</span><br />
<span style="color: #339966;">// проверка для регистрации объекта</span><br />
<span style="color: #0000ff;">ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью("ОбменСБухгалтерией", Источник, Отказ);</span><br />
<span style="color: #ff0000;">КонецПроцедуры</span></p>
<p style="text-align: justify;"><span style="text-decoration: underline;">Заключение</span>. Все, теперь выбранные объекты данных будут регистрироваться в зависимости от необходимых произвольных условий. Если вы используете типовую конфигурацию – Бухгалтерию, УТ, УПП или др., то Вам всего, лишь необходимо создать ПРО и связать их с типовым планом обмена.</p>
]]></content:encoded>
			<wfw:commentRss>http://orionxl.ru/1c-pravila-registracii-obektov-obmen-dannymi-plany-obmena/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Полезные функции и процедуры для платформы 1С 8</title>
		<link>http://orionxl.ru/poleznye-funkcii-i-procedury-dlya-platformy-1s-8</link>
		<comments>http://orionxl.ru/poleznye-funkcii-i-procedury-dlya-platformy-1s-8#comments</comments>
		<pubDate>Wed, 07 Sep 2011 16:41:23 +0000</pubDate>
		<dc:creator>Роман Иванов</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://orionxl.ru/?p=469</guid>
		<description><![CDATA[Функция преобразования строки текста в браузерно ориентированное представление, аналог urlencode
Вариант первый для версии 1С 8
функция urlencode(стр)
перем хекс[16];
хекс[1]="0";
хекс[2]="1";
хекс[3]="2";
хекс[4]="3";
хекс[5]="4";
хекс[6]="5";
хекс[7]="6";
хекс[8]="7";
хекс[9]="8";
хекс[10]="9";
хекс[11]="A";
хекс[12]="B";
хекс[13]="C";
хекс[14]="D";
хекс[15]="E";
хекс[16]="F";
рез="";
для сч=1 по стрДлина(стр) цикл
чар=сред(стр,сч,1);
если (чар&#62;="a")и(чар&#60;="z") тогда рез=рез+чар; продолжить; конецЕсли;
если (чар&#62;="A")и(чар&#60;="Z") тогда рез=рез+чар; продолжить; конецЕсли;
если (чар&#62;="0")и(чар&#60;="9") тогда рез=рез+чар; продолжить; конецЕсли;
кс=кодСимв(чар);
рез=рез+"%"+ хекс[  цел(кс/16)+1 ] + хекс[ цел(кс%16)+1 ];
конецЦикла; // сч=1...стрДлина(стр)
возврат рез;
конецФункции // urlencode(стр)
Вариант второй для версии 1С 8
Функция URLEncode(Стр1)
СтрокаСимволов [...]]]></description>
			<content:encoded><![CDATA[<h2>Функция преобразования строки текста в браузерно ориентированное представление, аналог <strong>urlencode</strong></h2>
<p><span style="text-decoration: underline;">Вариант первый для версии 1С 8</span></p>
<p>функция urlencode(стр)<br />
перем хекс[16];<br />
хекс[1]="0";<br />
хекс[2]="1";<br />
хекс[3]="2";<br />
хекс[4]="3";<br />
хекс[5]="4";<br />
хекс[6]="5";<br />
хекс[7]="6";<br />
хекс[8]="7";<br />
хекс[9]="8";<br />
хекс[10]="9";<br />
хекс[11]="A";<br />
хекс[12]="B";<br />
хекс[13]="C";<br />
хекс[14]="D";<br />
хекс[15]="E";<br />
хекс[16]="F";<br />
рез="";<br />
для сч=1 по стрДлина(стр) цикл<br />
чар=сред(стр,сч,1);<br />
если (чар&gt;="a")и(чар&lt;="z") тогда рез=рез+чар; продолжить; конецЕсли;<br />
если (чар&gt;="A")и(чар&lt;="Z") тогда рез=рез+чар; продолжить; конецЕсли;<br />
если (чар&gt;="0")и(чар&lt;="9") тогда рез=рез+чар; продолжить; конецЕсли;<br />
кс=кодСимв(чар);<br />
рез=рез+"%"+ хекс[  цел(кс/16)+1 ] + хекс[ цел(кс%16)+1 ];<br />
конецЦикла; // сч=1...стрДлина(стр)<br />
возврат рез;<br />
конецФункции // urlencode(стр)</p>
<p><span style="text-decoration: underline;">Вариант второй для версии 1С 8</span></p>
<p>Функция URLEncode(Стр1)</p>
<p>СтрокаСимволов = " !""@№#;%:?*().,/$^&amp;";</p>
<p>Рез = "";<br />
Стр= СокрЛП(Стр1);<br />
Для Сч=1 По СтрДлина(Стр) Цикл</p>
<p>Символ = Сред(Стр, Сч, 1);<br />
КС = КодСимвола(Символ);<br />
// Перевод из UNICODE в ASCII<br />
Если ((КС &gt; 1039) И (КС &lt; 1104)) Тогда<br />
КС = КС - 848;<br />
ИначеЕсли КС = 8470 Тогда<br />
КС =  185;<br />
ИначеЕсли КС = 1105 Тогда<br />
КС =  184;<br />
ИначеЕсли КС = 1025 Тогда<br />
КС =  168;<br />
КонецЕсли;</p>
<p>флЗаменили = 0;<br />
Если Найти(СтрокаСимволов, Символ) &gt; 0 Тогда</p>
<p>Рез = Рез + "%"+ Hex[Цел(КС/16)] + Hex[Цел(КС%16)];<br />
флЗаменили = 1;</p>
<p>КонецЕсли;</p>
<p>Если (КС &lt;= 127) и (флЗаменили = 0) Тогда<br />
Рез = Рез + Символ;<br />
ИначеЕсли флЗаменили = 0 Тогда<br />
Рез = Рез + "%"+ Hex[Цел(КС/16)] + Hex[Цел(КС%16)];<br />
КонецЕсли;</p>
<p>КонецЦикла;</p>
<p>Возврат Рез;<br />
КонецФункции // URLEncode()</p>
<p><span style="text-decoration: underline;">Вариант третий для версии 1С 8</span></p>
<div id="_mcePaste">Функция URLEncode4(Строка="")</div>
<div id="_mcePaste">ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl");</div>
<div id="_mcePaste">ScrCtrl.Language="JScript";</div>
<div id="_mcePaste">Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; encodeURI(uri);") ;</div>
<div id="_mcePaste">Возврат Сообщение;</div>
<div id="_mcePaste">КонецФункции</div>
<p>Функция URLEncode4(Строка="") ScrCtrl = Новый COMОбъект("MSScriptControl.ScriptControl"); ScrCtrl.Language="JScript"; Сообщение = ScrCtrl.eval("var uri='"+Строка+"'; encodeURI(uri);") ; Возврат Сообщение;</p>
<p>КонецФункции</p>
]]></content:encoded>
			<wfw:commentRss>http://orionxl.ru/poleznye-funkcii-i-procedury-dlya-platformy-1s-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sharepoint и JavaScript</title>
		<link>http://orionxl.ru/sharepoint-i-javascript</link>
		<comments>http://orionxl.ru/sharepoint-i-javascript#comments</comments>
		<pubDate>Sun, 06 Mar 2011 09:13:04 +0000</pubDate>
		<dc:creator>Роман Иванов</dc:creator>
				<category><![CDATA[Microsoft SharePoint]]></category>

		<guid isPermaLink="false">http://orionxl.ru/?p=420</guid>
		<description><![CDATA[В этой статье Вы узнаете как соместить Sharepoint и Javascrit.
]]></description>
			<content:encoded><![CDATA[<p>В этой статье Вы узнаете как соместить Sharepoint и Javascrit.</p>
]]></content:encoded>
			<wfw:commentRss>http://orionxl.ru/sharepoint-i-javascript/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Телефонный справочник или список сотрудников на C# для sharepoint foundatation 2010 с использованием AD (active directory)</title>
		<link>http://orionxl.ru/telefonnyj-spravochnik-ili-spisok-sotrudnikov-na-c-dlya-sharepoint-foundatation-2010-s-ispolzovaniem-ad-active-directory</link>
		<comments>http://orionxl.ru/telefonnyj-spravochnik-ili-spisok-sotrudnikov-na-c-dlya-sharepoint-foundatation-2010-s-ispolzovaniem-ad-active-directory#comments</comments>
		<pubDate>Sun, 06 Mar 2011 08:56:01 +0000</pubDate>
		<dc:creator>Роман Иванов</dc:creator>
				<category><![CDATA[Microsoft SharePoint]]></category>

		<guid isPermaLink="false">http://orionxl.ru/?p=417</guid>
		<description><![CDATA[Телефонный справочник или список сотрудников на C# для sharepoint foundatation 2010 с использованием AD (active directory)]]></description>
			<content:encoded><![CDATA[<p>В данной статье Вы узнаете, как работать с AD (active directory), создать простой телефонный справочник или справочник сотрудников на языке программирования C# для системы sharepoint foundatation 2010 и инструмента разработчика Microsoft Visual Studio 2010.</p>
<p><span id="more-417"></span></p>
<p>Данные о Windows пользователях, уровнях доступа (правах) обычно хранятся в AD. Согласитесь, поэтому самым оптимальным, централизованным, оперативным (если пользователь получил доступ в корпоративную сеть, то он автоматически появляется в AD) способом хранить и получать информацию о пользователях и соответственно  сотрудниках можно из Active Directory.</p>
<p>Так же если у Вас стоит корпоративный портал Sharepoint, то с помощью него можно организовать удобный и простой, но очень мощный инструмент – телефонный справочник сотрудников или (и) справочник сотрудников.</p>
<p>Задачи, решаемые этим компонентом:</p>
<p>1. Поиск сотрудников по (части слова) инициалам, телефонному номеру, отделу и т.д.</p>
<p>2. Поиск по буквенному каталогу</p>
<p>3. Поиск по организационной структуре</p>
<p>Итак, более подробную информацию об AD Вы можете найти в интернете, в AD можно хранить любую символьную информацию – обычно здесь хранится учетная запись, ФИО, фамилия, отдел, телефон, e-mail, уровень прав на доступ, офис, так же сюда можно добавить – ФИО руководителя, адрес организации, фотографию (ссылку) и т.д.</p>
<p>Есть один способ оптимизировать вывод информации об отделах: сделать функцию static  и включить кеширование.</p>
<p>Как Вы, наверное, догадались, при поиске по строке запроса, мы будем искать фамилию или имя, или номер в директории и выводить информацию на экран.</p>
<p>Поиск по каталогу реализуется очень просто. Создаем список букв от (А до Я) и по нажатию на каждую букву ловим letter=querystring(letter) и создаем запрос к Active Directory в форме: filter = “ (&amp;(ObjectClass=User)(family=”+letter+”*))”  и выводим получившийся результат в строку либо с помощью SPGrid или другого инструмента <img src='http://orionxl.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Для работы с организационной структурой удобнее будет запомнить ее в список с иерархией элементов и делать к ней запрос, т.к. структура организации меняется не так часто в отличие от сотрудников J</p>
<p>Наслаждаемся <img src='http://orionxl.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<em><strong>VisualWebPart1UserControl.ascx.cs</strong></em></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Web.UI</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Web.UI.WebControls</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Web.UI.WebControls.WebParts</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.DirectoryServices</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">Microsoft.SharePoint</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">Microsoft.SharePoint.Linq</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Linq</span><span style="color: #008000;">;</span>
<span style="color: #0600FF; font-weight: bold;">using</span> <span style="color: #008080;">System.Collections.Generic</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">namespace</span> showADusers<span style="color: #008000;">.</span><span style="color: #0000FF;">VisualWebPart1</span>
<span style="color: #008000;">&#123;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">partial</span> <span style="color: #6666cc; font-weight: bold;">class</span> VisualWebPart1UserControl <span style="color: #008000;">:</span> UserControl
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #6666cc; font-weight: bold;">void</span> Page_Load<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> sender, EventArgs e<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">protected</span> <span style="color: #0600FF; font-weight: bold;">override</span> <span style="color: #6666cc; font-weight: bold;">void</span> Render<span style="color: #008000;">&#40;</span>HtmlTextWriter writer<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            writer<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteLine</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;Поиск пользователей компании*&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            writer<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteBreak</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">base</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Render</span><span style="color: #008000;">&#40;</span>writer<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            writer<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteBreak</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            DirectorySearcher<span style="color: #008000;">&#40;</span>writer<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// Выводим результат поиска</span>
            writer<span style="color: #008000;">.</span><span style="color: #0000FF;">WriteBreak</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> keyfilter<span style="color: #008000;">=</span><span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> DirectorySearcher<span style="color: #008000;">&#40;</span>HtmlTextWriter writer<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
&nbsp;
            keyfilter <span style="color: #008000;">=</span> textBox1<span style="color: #008000;">.</span><span style="color: #0000FF;">Text</span><span style="color: #008000;">;</span>
            <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span>keyfilter<span style="color: #008000;">!=</span><span style="color: #666666;">&quot;&quot;</span><span style="color: #008000;">&#41;</span>
            SPSecurity<span style="color: #008000;">.</span><span style="color: #0000FF;">RunWithElevatedPrivileges</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">delegate</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> <span style="color: #008080; font-style: italic;">// даже анонимные пользователи могут смотреть результат кода</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0600FF; font-weight: bold;">try</span>
                <span style="color: #008000;">&#123;</span>
                    <span style="color: #6666cc; font-weight: bold;">string</span> strrootdse <span style="color: #008000;">=</span> objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">SearchRoot</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Path</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// работаем с AD  смотри документацию от  Microsoft</span>
                    <span style="color: #6666cc; font-weight: bold;">string</span>  strrootdse <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;LDAP://мой сервер LDAP&quot;</span><span style="color: #008000;">;</span>
                    DirectoryEntry objdirentry <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> DirectoryEntry<span style="color: #008000;">&#40;</span>strrootdse<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                    DirectorySearcher objsearch <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> DirectorySearcher<span style="color: #008000;">&#40;</span>objdirentry<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                    <span style="color: #6666cc; font-weight: bold;">string</span> query <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;(&amp;amp; (cn=*&quot;</span> <span style="color: #008000;">+</span> keyfilter <span style="color: #008000;">+</span> <span style="color: #666666;">&quot;*)(objectClass=user))&quot;</span><span style="color: #008000;">;</span> <span style="color: #008080; font-style: italic;">// ставим фильтр поиска</span>
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">Filter</span> <span style="color: #008000;">=</span> query<span style="color: #008000;">;</span>
&nbsp;
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertiesToLoad</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;cn&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertiesToLoad</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;title&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertiesToLoad</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;physicaldeliveryofficename&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertiesToLoad</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;department&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertiesToLoad</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;company&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyNamesOnly</span> <span style="color: #008000;">=</span> <span style="color: #0600FF; font-weight: bold;">true</span><span style="color: #008000;">;</span>
&nbsp;
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">Sort</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Direction</span> <span style="color: #008000;">=</span> <span style="color: #000000;">System.<span style="color: #0000FF;">DirectoryServices</span></span><span style="color: #008000;">.</span><span style="color: #0000FF;">SortDirection</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Ascending</span><span style="color: #008000;">;</span>
&nbsp;
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">Sort</span><span style="color: #008000;">.</span><span style="color: #0000FF;">PropertyName</span> <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;cn&quot;</span><span style="color: #008000;">;</span>
&nbsp;
                    SearchResultCollection colresults <span style="color: #008000;">=</span> objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">FindAll</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008080; font-style: italic;">// выведем реультат</span>
                    <span style="color: #0600FF; font-weight: bold;">foreach</span> <span style="color: #008000;">&#40;</span>SearchResult objresult <span style="color: #0600FF; font-weight: bold;">in</span> colresults<span style="color: #008000;">&#41;</span>
                    <span style="color: #008000;">&#123;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>objresult<span style="color: #008000;">.</span><span style="color: #0000FF;">GetDirectoryEntry</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Properties</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;cn&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">+</span><span style="color: #666666;">&quot; | &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>objresult<span style="color: #008000;">.</span><span style="color: #0000FF;">GetDirectoryEntry</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Properties</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;title&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span> <span style="color: #008000;">+</span><span style="color: #666666;">&quot; | &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>objresult<span style="color: #008000;">.</span><span style="color: #0000FF;">GetDirectoryEntry</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Properties</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;physicaldeliveryofficename&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">+</span><span style="color: #666666;">&quot; | &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>objresult<span style="color: #008000;">.</span><span style="color: #0000FF;">GetDirectoryEntry</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Properties</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;department&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span><span style="color: #008000;">+</span><span style="color: #666666;">&quot; | &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span>objresult<span style="color: #008000;">.</span><span style="color: #0000FF;">GetDirectoryEntry</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Properties</span><span style="color: #008000;">&#91;</span><span style="color: #666666;">&quot;company&quot;</span><span style="color: #008000;">&#93;</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Value</span> <span style="color: #008000;">+</span><span style="color: #666666;">&quot; | &quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                        writer<span style="color: #008000;">.</span><span style="color: #0000FF;">Write</span><span style="color: #008000;">&#40;</span><span style="color: #666666;">&quot;
&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                    <span style="color: #008000;">&#125;</span>
&nbsp;
                    objsearch<span style="color: #008000;">.</span><span style="color: #0000FF;">Dispose</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
                <span style="color: #008000;">&#125;</span>
                <span style="color: #0600FF; font-weight: bold;">catch</span> <span style="color: #008000;">&#123;</span> <span style="color: #008000;">&#125;</span><span style="color: #008000;">;</span>
&nbsp;
            <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #008000;">&#125;</span>
&nbsp;
       <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p><em><strong>VisualWebPart1UserControl.ascx</strong></em></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Assembly Name<span style="color: #008000;">=</span><span style="color: #666666;">&quot;$SharePoint.Project.AssemblyFullName$&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Assembly Name<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Register Tagprefix<span style="color: #008000;">=</span><span style="color: #666666;">&quot;SharePoint&quot;</span> <span style="color: #0600FF; font-weight: bold;">Namespace</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint.WebControls&quot;</span> Assembly<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Register Tagprefix<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Utilities&quot;</span> <span style="color: #0600FF; font-weight: bold;">Namespace</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint.Utilities&quot;</span> Assembly<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Register Tagprefix<span style="color: #008000;">=</span><span style="color: #666666;">&quot;asp&quot;</span> <span style="color: #0600FF; font-weight: bold;">Namespace</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;System.Web.UI&quot;</span> Assembly<span style="color: #008000;">=</span><span style="color: #666666;">&quot;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Import <span style="color: #0600FF; font-weight: bold;">Namespace</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Register Tagprefix<span style="color: #008000;">=</span><span style="color: #666666;">&quot;WebPartPages&quot;</span> <span style="color: #0600FF; font-weight: bold;">Namespace</span><span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint.WebPartPages&quot;</span> Assembly<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;%</span>@ Control Language<span style="color: #008000;">=</span><span style="color: #666666;">&quot;C#&quot;</span> AutoEventWireup<span style="color: #008000;">=</span><span style="color: #666666;">&quot;true&quot;</span> CodeBehind<span style="color: #008000;">=</span><span style="color: #666666;">&quot;VisualWebPart1UserControl.ascx.cs&quot;</span> Inherits<span style="color: #008000;">=</span><span style="color: #666666;">&quot;showADusers.VisualWebPart1.VisualWebPart1UserControl&quot;</span> <span style="color: #008000;">%&amp;</span>gt<span style="color: #008000;">;</span>
&nbsp;
Введите ФИО полностью или частично <span style="color: #008000;">&#40;</span>пример<span style="color: #008000;">:</span> Роман Иванов<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;</span>asp<span style="color: #008000;">:</span>TextBox ID<span style="color: #008000;">=</span><span style="color: #666666;">&quot;textBox1&quot;</span> runat<span style="color: #008000;">=</span><span style="color: #666666;">&quot;server&quot;</span> Width<span style="color: #008000;">=</span><span style="color: #666666;">&quot;256px&quot;</span> <span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;&amp;</span>lt<span style="color: #008000;">;/</span>asp<span style="color: #008000;">:</span>TextBox<span style="color: #008000;">&amp;</span>gt<span style="color: #008000;">;</span>
<span style="color: #008000;">&amp;</span>lt<span style="color: #008000;">;</span>asp<span style="color: #008000;">:</span>Button ID<span style="color: #008000;">=</span><span style="color: #666666;">&quot;button1&quot;</span> Text<span style="color: #008000;">=</span><span style="color: #666666;">&quot;Найти&quot;</span> runat<span style="color: #008000;">=</span><span style="color: #666666;">&quot;server&quot;</span> <span style="color: #008000;">/&amp;</span>gt<span style="color: #008000;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://orionxl.ru/telefonnyj-spravochnik-ili-spisok-sotrudnikov-na-c-dlya-sharepoint-foundatation-2010-s-ispolzovaniem-ad-active-directory/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

