<?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>Экстремальный блог &#187; Oracle</title>
	<atom:link href="http://extremallife.ru/tag/httpextremalliferuworkquestion1s-oracle/feed" rel="self" type="application/rss+xml" />
	<link>http://extremallife.ru</link>
	<description>Блог отмороженного программиста 1С</description>
	<lastBuildDate>Fri, 30 Jul 2010 06:38:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Как подключить 1С к базе данных Oracle</title>
		<link>http://extremallife.ru/work/question/1s-oracle</link>
		<comments>http://extremallife.ru/work/question/1s-oracle#comments</comments>
		<pubDate>Wed, 25 Mar 2009 10:14:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[1С]]></category>
		<category><![CDATA[Вопросы и ответы]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://extremallife.ru/?p=655</guid>
		<description><![CDATA[Ковырялся недавно в старых файлах. В одной из &#171;шараг&#187; стоял Oracle сервер, который активно взаимодействовал с SQL сервером, на котором крутилась 1С. Нашел несколько обработок, которые подключаются к Оракловскому серверу напрямую и обрабатывают данные.
Вот пример подключения и обработки:

Конторка занималась фармакологическим бизнесом и там было понятие ХИТ продаж &#8211; наиболее уходимый, продаваемый товар, вот их то [...]]]></description>
			<content:encoded><![CDATA[<p>Ковырялся недавно в старых файлах. В одной из &laquo;шараг&raquo; стоял Oracle сервер, который активно взаимодействовал с SQL сервером, на котором крутилась 1С. Нашел несколько обработок, которые подключаются к Оракловскому серверу напрямую и обрабатывают данные.</p>
<p>Вот пример подключения и обработки:</p>
<p><span id="more-655"></span></p>
<p>Конторка занималась фармакологическим бизнесом и там было понятие ХИТ продаж &#8211; наиболее уходимый, продаваемый товар, вот их то обработка и выставляла, в соответствии с запросом по продажам</p>
<p><span style="color: #0000ff;">Процедура ЗаписатьХиты()<br />
<span style="color: #008000;">//    ТЗ &#8211; это таблица значений, которая заполняется запросом 1С анализирующим продажи. Заполняется в другой процедуре</span><br />
</span></p>
<p><span style="color: #0000ff;"> Если ТЗ.КоличествоСтрок() = 0 Тогда<br />
Предупреждение(&raquo;Не выбраны хиты!&raquo;);<br />
Возврат;<br />
КонецЕсли;<br />
Стр = 0;<br />
<span style="color: #008000;"> // Подключение к базе Oracle, где base &#8211; имя базы данных в Оракле, mak/mak &#8211; пользователь/пароль</span><br />
Попытка<br />
OraSession  = СоздатьОбъект(&raquo;OracleInProcServer.XOraSession&raquo;);<br />
OraDatabase = OraSession.OpenDatabase(&raquo;omsk&raquo;, &laquo;mak/mak&raquo;, 0);<br />
Исключение<br />
Предупреждение(&raquo;Ошибка подключения к Oracle&raquo;);<br />
OraSession  = 0;<br />
OraDatabase =  0;<br />
Возврат;<br />
КонецПопытки;<br />
SqlFindHitNumber = &laquo;select ps.param_num from elz.params_system ps where ps.name_param = &#8216;NUM_KATEG_HIT&#8217;&raquo;;<br />
FindHitNumber = OraDatabase.CreateDynaset(SqlFindHitNumber, 4);<br />
НомерХита = Строка(FindHitNumber.Fields(&raquo;param_num&raquo;).value);<br />
FindHitNumber = 0;<br />
<span style="color: #008000;">// Очистим ВСЕ хиты в базе Oracle</span><br />
SqlDelHits=&raquo;begin update elz.c_med_list t set t.cd_c_m = 0 where t.cd_c_m = &laquo;+ НомерХита + &laquo;;commit;end;&raquo;;<br />
OraDatabase.ExecuteSQL(SqlDelHits);<br />
Сообщить(&raquo;Таблица хитов очищена!&raquo;, &laquo;!&raquo;);<br />
<span style="color: #008000;">//Проставим хиты в базе Oracle.  ТЗ_Вр &#8211; временная ТЗ </span><br />
ТЗ_Вр = СоздатьОбъект(&raquo;ТаблицаЗначений&raquo;);<br />
ТЗ.Выгрузить(ТЗ_Вр);<br />
ТЗ_Вр.Сортировать(&raquo;-Пометка&raquo;);<br />
ТЗ_Вр.ВыбратьСтроки();<br />
Сч = 1;<br />
Пока ТЗ_Вр.ПолучитьСтроку() &gt; 0 Цикл<br />
Если ТЗ_Вр.Пометка = МеткаЕсть Тогда<br />
КодТовара = Число(ТЗ_Вр.Товар.Код);</span></p><p>Авторские права на предоставленный материал принадлежат автору сайта<a href=http://extremallife.ru/> http://extremallife.ru</a></p>


<!-- MarketGidGoods Start -->
   <div id="MarketGid897"><center>
   <noindex><a href="http://marketgid.com/" target="_blank">Загрузка...</a></noindex>
   </center></div>
   <!-- MarketGidGoods End -->
   <!-- pered </body> -->
   <script type="text/javascript">
   var MarketGidDate = new Date();
   document.write('<scr'+'ipt type="text/javascript" '+'src="http://jsg.dt00.net/e/x/extremallife.ru.897.js?t='+MarketGidDate.getYear()+MarketGidDate.getMonth()+'"'+ '" charset="utf-8" ></scr'+'ipt>');
   </script>

<p><span style="color: #0000ff;">//Далее пишем текст запроса и выполняем его.<br />
SqlDelHits=&raquo;begin update elz.c_med_list t set t.cd_c_m = &raquo; + НомерХита + &raquo; where t.cd_med = &raquo; + Строка(КодТовара) + &laquo;;commit;end;&raquo;;<br />
OraDatabase.ExecuteSQL(SqlDelHits);<br />
Сообщить(Шаблон(&raquo;[Сч] &#8211; добавлен хит: [ТЗ_Вр.Товар.Код] [ТЗ_Вр.Товар]&laquo;), &laquo;i&raquo;);<br />
Иначе<br />
<span style="color: #008000;">// Закончились отмеченные позиции</span><br />
Прервать;<br />
КонецЕсли;<br />
Сч = Сч + 1;<br />
КонецЦикла;<br />
Сообщить(&raquo;Таблица хитов записана!&raquo;, &laquo;!&raquo;);<br />
КонецПроцедуры    <span style="color: #008000;">// ЗаписатьХиты()</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://extremallife.ru/work/question/1s-oracle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
