<?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; Предложение ИТОГИ / TOTALS</title>
	<atom:link href="http://1c-book.ru/category/razrabotka-v-sisteme-1spredpriyatie-8-0-s-a-mitichkin-ooo-1s-pablishing-2003g/predlozhenie-itogi-totals/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>Предложение ИТОГИ / TOTALS</title>
		<link>http://1c-book.ru/predlozhenie-itogi-totals/</link>
		<comments>http://1c-book.ru/predlozhenie-itogi-totals/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 12:07:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Предложение ИТОГИ / TOTALS]]></category>
		<category><![CDATA[ИТОГИ / TOTALS]]></category>

		<guid isPermaLink="false">http://1c-book.ru/?p=240</guid>
		<description><![CDATA[Язык запросов системы   1С:Предприятие 8.0 имеет очень мощную возможность расчета итогов, чего нет в   стандартном языке SQL. Данный механизм дает возможность включить в результат   запроса дополнительные строки, содержащие общие и промежуточные итоги по   заданным полям и группировкам.  
Общие итоги
 
Рассмотрим сначала общие итоги, как более простые [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Язык запросов</strong> системы   1С:Предприятие 8.0 имеет очень мощную возможность расчета итогов, чего нет в   стандартном языке SQL. Данный механизм дает возможность включить в результат   запроса дополнительные строки, содержащие общие и промежуточные итоги по   заданным полям и группировкам. <em> </em></p>
<h3><em>Общие итоги</em></h3>
<p><em> </em></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>
<div></div>
<p>В результате запроса появляется дополнительная итоговая строка:  <img src="http://s61.radikal.ru/i174/0910/6e/7e4a95cd8d07.gif" border="0" alt="" width="445" height="162" /> При обходе результата запроса итоговые строки можно отличить от   обычных с помощью метода ТипЗаписи(). Например, выведем результат данного   запроса в окно сообщений, а итоговую строку выделим заглавными буквами:</p>
<div>
<pre><span style="color: #008000;">Запрос = Новый Запрос("</span></pre>
</div>
<div>
<pre><span style="color: #008000;">	|ВЫБРАТЬ Номенклатура, Сумма</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	|ИЗ РегистрНакопления.Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	|ИТОГИ СУММА(Сумма) ПО Общие");</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">Выборка = Запрос.Выполнить().Выбрать();</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">Пока Выборка.Следующий() Цикл</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	Если Выборка.ТипЗаписи() = ТипЗаписиЗапроса.ОбщийИтог Тогда</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">		Сообщить("ОБЩИЙ ИТОГ: " + Выборка.СуммаПродажи);</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	Иначе</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">		Сообщить("Товар/услуга: " + Выборка.Номенклатура +</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">		"Сумма: " + Выборка.СуммаПродажи);</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	КонецЕсли;</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">КонецЦикла;</span></pre>
</div>
<div>
<pre><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><em> </em></span></span></span></span></span></span></span></span></p>
<h3><span style="color: #000000;"><em>Итоги по группировкам</em></span></h3>
<p><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left">При расчете итогов по группировкам вычисляются значения   агрегатных функций по выборкам с одинаковыми значениями полей, по которым производится группировка.  Например, в следующей таблице значения группировок выделены жирным шрифтом:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://i041.radikal.ru/0910/e6/13b660b401ba.gif" border="0" alt="" width="174" height="186" /> </span></span></span></span></span></span></span></span></p>
<p align="left">Простой запрос с итогами по группировкам выглядит следующим образом:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left"><span style="color: #008000;">ВЫБРАТЬ Номенклатура, Период, Сумма </span></p>
<p align="left"><span style="color: #008000;">ИЗ РегистрНакопления.Продажи </span></p>
<p align="left"><span style="color: #008000;">ИТОГИ СУММА(Сумма) ПО Номенклатура </span></p>
<p align="left"><span style="color: #008000;">АВТОУПОРЯДОЧИВАНИЕ </span></p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left">Результат запроса включает в себя обычные записи из регистра и итоги по каждому товару:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://i056.radikal.ru/0910/b9/c88cc7960be6.gif" border="0" alt="" width="449" height="240" /> </span></span></span></span></span></span></span></span></p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left">Обратите внимание, что запрос с итогами по группировкам отличается   от обычной группировки (свертки) с помощью предложения <em>СГРУППИРОВАТЬ ПО</em> с   агрегатными функциями. В последнем случае в результат запроса не включаются   исходные записи, а остаются только итоговые строки.</p>
<p align="left">Например, следующий запрос выводит объем продаж, сгруппированный   по каждой номенклатуре, и не выводит детальные записи   регистра накопления:</p>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre>ВЫБРАТЬ Номенклатура, СУММА(Сумма) КАК Сумма</pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИЗ РегистрНакопления.Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">СГРУППИРОВАТЬ ПО Номенклатура</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">АВТОУПОРЯДОЧИВАНИЕ</span></pre>
</div>
<p align="left"><span style="color: #008000;"><img src="http://i017.radikal.ru/0910/f5/a9610f5fa75e.gif" border="0" alt="" width="433" height="162" /></span></p>
<p align="left">Можно рассчитать итоги по комбинации группировок, перечислив их через запятую:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Контрагент, Номенклатура, Сумма</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИЗ РегистрНакопления.Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИТОГИ СУММА(Сумма)</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">	ПО Контрагент, Номенклатура</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">АВТОУПОРЯДОЧИВАНИЕ</span></pre>
</div>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p align="left">В данном запросе будет рассчитан объем продаж по каждой   комбинации подразделения и номенклатуры. Кроме того, в запрос будут включены исходные записи из регистра накоплений:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://s47.radikal.ru/i117/0910/89/8caa8c9e9c15.gif" border="0" alt="" width="438" height="344" /> </span></span></span></span></span></span></span></span></p>
<p align="left">Порядок группировок в тексте запроса имеет довольно важное значение, поскольку сначала рассчитываются итоги по   первому группировочному полю, затем по второму и т.д.</p>
<p align="left">Если в предыдущем примере поменять местами контрагента и номенклатуру, то получим следующий результат:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #008000;">ВЫБРАТЬ Контрагент, Номенклатура, Сумма</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИЗ РегистрНакопления.Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИТОГИ СУММА(Сумма)</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ПО Номенклатура, Контрагент</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">АВТОУПОРЯДОЧИВАНИЕ</span></pre>
</div>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p align="left">Результат запроса показан ниже:</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://s39.radikal.ru/i086/0910/83/7e5b1730302f.gif" border="0" alt="" width="458" height="345" /> </span></span></span></span></span></span></span></span></p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<p align="left">В 1С:Предприятии 8.0 реализована возможность обхода группировок   в произвольном порядке. То есть из одного результата запроса возможно получать   отчеты с различной последовательностью группировок. Например, в отчете на   основе одного результата запроса могут выводиться   сначала группировки по товарам, а затем по поставщикам.</p>
<p align="left"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> <em> </em></span></span></span></span></span></span></span></span></p>
<h3><em>Итоги по иерархии</em></h3>
<p><em> </em></p>
<p align="left">Если группировочное поле является ссылкой на справочник, то для расчета итогов по группам справочника (или   родительским элементам, если справочник состоит из   одних элементов) необходимо указать ключевое слово <em>ИЕРАРХИЯ</em>. В этом случае в   результат будут добавлены записи с итогами для уровней иерархии справочника.</p>
<p align="left">Например, выберем записи справочника Номенклатура, рассчитаем   объем продаж по каждой позиции и по группам справочника:</p>
<p align="left">
<div>
<pre><span style="color: #008000;">ВЫБРАТЬ Номенклатура, Сумма</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИЗ РегистрНакопления.Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИТОГИ СУММА (Сумма) ПО Номенклатура ИЕРАРХИЯ</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">АВТОУПОРЯДОЧИВАНИЕ</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;"> </span></pre>
</div>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre>Заметьте, что в результат запроса включены группы справочника, и по ним подсчитаны итоги:</pre>
</div>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://s41.radikal.ru/i091/0910/c1/1c2d49c5dacf.gif" border="0" alt="" width="370" height="372" /></span></span></span></span></span></span></span></span></pre>
</div>
<div><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></p>
<pre><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"> </span></span></span></span></span></span></span></span></pre>
</div>
<p><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><em> </em></span></span></span></span></span></span></span></span></p>
<h3><em>Несколько итогов в запросе</em></h3>
<p><em> </em></p>
<p align="left">В языке запросов допускается совместное использование различных   итогов в одном запросе, например, общих, иерархических и  итогов по группировкам.</p>
<p align="left">Ниже представлен запрос, который выбирает данные из расходных   накладных и дополнительно подсчитывает общие итоги, итоги по контрагентам, по   каждому товару и группе товаров.</p>
<p align="left">
<pre>
<address><span style="color: #008000;">ВЫБРАТЬ</span></address>
</pre>
<div></div>
<div>
<pre><span style="color: #008000;">НаклСостав.Ссылка.Контрагент КАК Контрагент,</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">НаклСостав.Номенклатура КАК Номенклатура,</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">НаклСостав.Ссылка.Номер,</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">НаклСостав.Сумма КАК Продажи</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИЗ Документ.РасходнаяНакладная.Состав КАК НаклСостав</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ИТОГИ СУММА(Продажи) ПО</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">ОБЩИЕ,</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">Контрагент,</span></pre>
</div>
<div>
<p><span style="color: #008000;"><br />
</span></p>
<pre><span style="color: #008000;">Номенклатура ИЕРАРХИЯ</span></pre>
</div>
<p><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><span style="color: #0000ff;"><img src="http://i042.radikal.ru/0910/be/12feea1d7261.gif" border="0" alt="" width="450" height="477" /></span></span></span></span></span></span></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://1c-book.ru/predlozhenie-itogi-totals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
