<?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>1C-Book &#187; Запросы к регистрам сведений</title>
	<atom:link href="http://1c-book.ru/category/razrabotka-v-sisteme-1spredpriyatie-8-0-s-a-mitichkin-ooo-1s-pablishing-2003g/zaprosy-k-registram-svedenij/feed/" rel="self" type="application/rss+xml" />
	<link>http://1c-book.ru</link>
	<description>1С Предприятие 8.0. Справочно-Информационная Система</description>
	<lastBuildDate>Wed, 04 Nov 2009 12:01:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Запросы к регистрам сведений</title>
		<link>http://1c-book.ru/zaprosy-k-registram-svedenij/</link>
		<comments>http://1c-book.ru/zaprosy-k-registram-svedenij/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 17:58:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Запросы к регистрам сведений]]></category>
		<category><![CDATA[Запросы к регистрам]]></category>

		<guid isPermaLink="false">http://1c-book.ru/?p=295</guid>
		<description><![CDATA[Запросы рекомендуется применять как основное средство извлечения   данных из регистров сведений, за исключением некоторых  особых ситуаций, когда это значительно усложняет работу программы или   требуется экономно использовать память.
В системе 1С:Предприятие 8.0 для обращения к регистрам с помощью   запросов используются специальные таблицы-источники   данных. Эти таблицы-источники специфичны для каждого [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><strong>Запросы </strong>рекомендуется применять как основное средство извлечения   данных из регистров сведений, за исключением некоторых  особых ситуаций, когда это значительно усложняет работу программы или   требуется экономно использовать память.</p>
<p align="left">В системе 1С:Предприятие 8.0 для обращения к регистрам с помощью   запросов используются специальные таблицы-источники   данных. Эти таблицы-источники специфичны для каждого вида  регистров и делятся на основную и виртуальные:</p>
<p align="left"><em><strong>Основная таблица</strong></em></p>
<p align="left">Предоставляет доступ ко всем <em>записям </em>регистра.</p>
<p align="left"><em><strong>Виртуальные таблицы</strong></em></p>
<p align="left">Предназначены для получения значений ресурсов регистра сведений на заданный момент по указанным измерениям. Виртуальные таблицы могут быть получены с использованием специальных ключевых слов, например, <em>СрезПервых</em>, <em>СрезПоследних </em>и т.д. При этом можно указать и параметры получаемой виртуальной таблицы — момент времени, измерения и ресурсы. <em> </em></p>
<h3><em>Основная таблица регистра сведений</em></h3>
<p><em> </em></p>
<p align="left">Продемонстрируем, как с помощью запросов можно получать   информацию из регистра <em>КурсыВалют</em>, который имеет одно ведущее измерение Валюта, два ресурса — <em>Курс </em>и <em>Кратность </em>и   реквизит <em>Источник</em>, показывающий, откуда взялась   информация о курсе.</p>
<p align="left">Этот регистр является периодическим с периодом День, значит, в регистре будет храниться история изменения курсов валют за   каждый день.</p>
<p align="left">Самый простой случай — получение всех записей регистра <em>КурсыВалют</em>:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют</span></pre>
</div>
<p>Ниже приведен результат этого запроса:  <img src="http://s56.radikal.ru/i154/0910/af/70f1caf1aa23.gif" border="0" alt="" width="398" height="328" /> Данный запрос просто выбирает все записи регистра сведений, не производя никакую дополнительную их обработку. Чтобы   получить записи за определенный период или по конкретной валюте, необходимо добавить в запрос условие <em>ГДЕ</em>.  Допустим, нам нужны записи за первый квартал по валюте «EUR», тогда для решения этой задачи нам понадобится   следующий запрос:</p>
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ * ИЗ РегистрСведений.КурсыВалют</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ГДЕ Валюта = &amp;ВыбВалюта И Период МЕЖДУ &amp;НачДата И &amp;КонДата</span></pre>
</div>
<p align="left">
<p align="left">Результат запроса будет такой:</p>
<p align="left"><img src="http://i039.radikal.ru/0910/2c/a615ec27d049.gif" border="0" alt="" width="397" height="51" /></p>
<p align="left"><img src="http://s42.radikal.ru/i096/0910/b3/aece44d329b3.gif" border="0" alt="" width="399" height="50" /></p>
<p align="left">Чтобы систематизировать знания об основной таблице регистра сведений, приведем список всех полей, которые она   предоставляет:</p>
<p align="left"><strong><em>&lt;Имя измерения&gt;</em></strong></p>
<p align="left">Набор полей, содержащий значения измерений регистра. Имена полей соответствуют именам измерений.</p>
<p align="left"><em><strong>&lt;Имя реквизита&gt;</strong></em></p>
<p align="left">Набор полей, содержащий значения реквизитов регистра.</p>
<p align="left"><strong><em>&lt;Имя ресурса&gt;</em></strong></p>
<p align="left">Набор полей, который содержит значения ресурсов регистра.</p>
<p align="left"><em><strong>Активность</strong></em></p>
<p align="left">Содержит признак активности записи. Записи, для которых значение данного свойства установлено в Ложь, не будут учитываться при получении «первых» или «последних» записей регистра, а также при получении сведений на определенный момент времени.</p>
<p align="left"><em><strong>МоментВремени</strong></em></p>
<p align="left">Содержит момент времени записи регистра.</p>
<p align="left"><em><strong>НомерСтроки</strong></em></p>
<p align="left">Содержит номер строки, определяемый как порядковый номер записи в наборе записей.</p>
<p align="left"><em><strong>Период</strong></em></p>
<p align="left">Содержит период, к которому относится запись регистра. Используется только для периодических регистров.</p>
<p align="left"><em><strong>Регистратор</strong></em></p>
<p align="left">Содержит ссылку на документ-регистратор движения.</p>
<p align="left">Приведем пример обращения к одному из регистров, записываемых   регистраторами (документами).</p>
<p align="left">Возьмем регистр <em>СведенияОСотрудниках </em>и рассмотрим его структуру:</p>
<p align="left"><img src="http://i081.radikal.ru/0910/b6/136098b27832.gif" border="0" alt="" width="410" height="196" /></p>
<p align="left">Следующий запрос покажет только нужные поля из этого регистра:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Период, Организация,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">Физлицо, Должность, Состояние</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ РегистрСведений.СведенияОСотрудниках</span></pre>
</div>
<p><span style="color: #008000;"> </span>Результат запроса показан на следующем рисунке:  <em> </em></p>
<h3><em>Таблица получения среза последних записей</em></h3>
<p><em> </em> Если мы вернемся к регистру сведений <em>КурсыВалют </em>и проанализируем, для чего обычно он используется, то выясним, что, как правило, требуется узнать последние актуальные курсы валют на рабочую дату или, в общем случае, на произвольную дату. Причем чаще требуется узнать курс какой-то одной валюты.  Для получения данной информации служит виртуальная таблица <em>среза последних записей </em>регистра сведений. По   структуре она полностью идентична основной таблице, рассмотренной выше.   Особенности заключаются в ее назначении и параметрах вызова:  Дата  Указывается дата или момент времени, на которые будут получены сведения. Если параметр не задан, будут   выбираться наиболее поздние записи.  Условие  Указывается условие на языке запросов. Оно будет использовано   для ограничения состава записей, среди которых будут выбираться наиболее   поздние. Условие будет применяться к исходным записям, а не к уже отобранным.  Следующий запрос получает последние актуальные курсы всех валют на заданную дату (или на момент времени):</p>
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Валюта, Курс</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&amp;ВыбДата);</span></pre>
</div>
<div>
<pre><img src="http://i010.radikal.ru/0910/e6/63d55667b0ea.gif" border="0" alt="" width="285" height="120" /></pre>
</div>
<p align="left">Чтобы получить курс конкретной валюты, можно указать условие получения таблицы среза последних записей:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Период, Валюта, Курс</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ РегистрСведений.КурсыВалют.СрезПоследних(&amp;ВыбДата,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">Валюта=&amp;ВыбВалюта);</span></pre>
</div>
<p><em> </em></p>
<h3><em><img src="http://s49.radikal.ru/i123/0910/55/2582e642e8f6.gif" border="0" alt="" width="284" height="49" /></em></h3>
<h3><em>Таблица получения среза первых записей</em></h3>
<p><em> </em></p>
<p align="left">Виртуальная таблица получения среза первых записей полностью аналогична по структуре и параметрам таблице для среза   последних. Например, следующий запрос покажет первый введенный в систему курс для заданной валюты:</p>
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Период, Валюта, Курс</span></pre>
</div>
<div>
<pre><span style="color: #008000;">ИЗ РегистрСведений.КурсыВалют.СрезПервых(&amp;ВыбДата,</span></pre>
</div>
<div>
<pre><span style="color: #008000;">Валюта=&amp;ВыбВалюта);</span></pre>
</div>
<p><img src="http://i059.radikal.ru/0910/1f/178cf2468a12.gif" border="0" alt="" width="284" height="48" /></p>
]]></content:encoded>
			<wfw:commentRss>http://1c-book.ru/zaprosy-k-registram-svedenij/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
