<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3912109</guid>
        <pubDate>Wed, 23 Oct 2024 13:38:55 +0000</pubDate>
        <title>Группировка в СКД по диапазонам чисел.</title>
        <link>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3912109</link>
        <description><![CDATA[LostAngel: Для примера можно вот такой запрос в консольке выполнить:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;&quot;0-1000&quot; КАК ИмяГруппировки,</div><div class="code_line">&nbsp;&nbsp; &nbsp;0 КАК ЛевоеЗначение,</div><div class="code_line">&nbsp;&nbsp; &nbsp;1000 КАК ПравоеЗначение</div><div class="code_line">ПОМЕСТИТЬ ТЗ</div><div class="code_line">&nbsp;</div><div class="code_line">ОБЪЕДИНИТЬ ВСЕ</div><div class="code_line">&nbsp;</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;&quot;1001-10000&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;1001,</div><div class="code_line">&nbsp;&nbsp; &nbsp;10000</div><div class="code_line">&nbsp;</div><div class="code_line">ОБЪЕДИНИТЬ ВСЕ</div><div class="code_line">&nbsp;</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;&quot;10001-20000&quot;,</div><div class="code_line">&nbsp;&nbsp; &nbsp;10001,</div><div class="code_line">&nbsp;&nbsp; &nbsp;20000</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;0 КАК Число</div><div class="code_line">ПОМЕСТИТЬ Числа_0_1</div><div class="code_line">&nbsp;</div><div class="code_line">ОБЪЕДИНИТЬ ВСЕ</div><div class="code_line">&nbsp;</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;1</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Старший.Число * 2 + Младший.Число КАК Число</div><div class="code_line">ПОМЕСТИТЬ Числа_0_3</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_0_1 КАК Младший,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_0_1 КАК Старший</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Старший.Число * 4 + Младший.Число КАК Число</div><div class="code_line">ПОМЕСТИТЬ Числа_00_15</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_0_3 КАК Младший,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_0_3 КАК Старший</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Старший.Число * 16 + Младший.Число КАК Число</div><div class="code_line">ПОМЕСТИТЬ Числа_000_255</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_00_15 КАК Младший,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_00_15 КАК Старший</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Старший.Число * 256 + Младший.Число КАК Число</div><div class="code_line">ПОМЕСТИТЬ ИсходныеДанные</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_000_255 КАК Младший,</div><div class="code_line">&nbsp;&nbsp; &nbsp;Числа_000_255 КАК Старший</div><div class="code_line">;</div><div class="code_line">&nbsp;</div><div class="code_line">////////////////////////////////////////////////////////////////////////////////</div><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;ИсходныеДанные.Число КАК Число,</div><div class="code_line">&nbsp;&nbsp; &nbsp;ЕСТЬNULL(ТЗ.ИмяГруппировки, &quot;Прочее&quot;) КАК ИмяГруппировки</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;ИсходныеДанные КАК ИсходныеДанные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ПО ИсходныеДанные.Число &#62;= ТЗ.ЛевоеЗначение</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;И ИсходныеДанные.Число &#60;= ТЗ.ПравоеЗначение</div><div class="code_line">&nbsp;</div><div class="code_line">УПОРЯДОЧИТЬ ПО</div><div class="code_line">&nbsp;&nbsp; &nbsp;Число</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>LostAngel</author>
        <category>1С: Проблемы и решения</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3912108</guid>
        <pubDate>Wed, 23 Oct 2024 13:36:34 +0000</pubDate>
        <title>Группировка в СКД по диапазонам чисел.</title>
        <link>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3912108</link>
        <description><![CDATA[LostAngel: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=436071&view=findpost&p=3892431'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>^D^ima &#064; <time class="tag-quote__quoted-time" datetime="2023-06-29T09:46:41+00:00">29.06.23, 09:46</time></span><div class='quote '>Но хотят ещё и диапазоны задавать вручную на форме отчета. Как быть?</div></div><br>
А как будут задавать данные диапазоны? Пользователи они такие - за ними глаз да глаз нужен. Необходимо чтобы диапазоны не пересекались и в то же время перекрывали все варианты, ну или же в случае если значение выходит за границы дозволенного, формировать отдельную группу - &quot;Прочее&quot;.<br>
Как вариант можно перед компоновкой данных сформировать таблицу значений по диапазонам, с 3 колонками:<br>
<table class='post_table tag-table'><tr><th>ИмяГруппировки</th><th>ЛевоеЗначение</th><th>ПравоеЗначение</th></tr><tr><td>0-1000</td><td>0</td><td>1000</td></tr><tr><td>1001-10000</td><td>1001</td><td>10000</td></tr><tr><td>10001-20000</td><td>10001</td><td>20000</td></tr></table><br>
<br>
Далее эту ТЗ поместить в параметр запроса и в конце связать по значению.<br>
Допустим в запросе во временной таблице <strong class='tag-b'>ИсходныеДанные</strong> у нас уже выбраны нужные данные, а во временной таблице <strong class='tag-b'>ТЗ</strong> находятся наши диапазоны, то тогда получается как-то так:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">ВЫБРАТЬ</div><div class="code_line">&nbsp;&nbsp; &nbsp;ИсходныеДанные.Число КАК Число,</div><div class="code_line">&nbsp;&nbsp; &nbsp;ЕСТЬNULL(ТЗ.ИмяГруппировки, &quot;Прочее&quot;) КАК ИмяГруппировки</div><div class="code_line">ИЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp;ИсходныеДанные КАК ИсходныеДанные</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ЛЕВОЕ СОЕДИНЕНИЕ ТЗ КАК ТЗ</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;ПО ИсходныеДанные.Число &#62;= ТЗ.ЛевоеЗначение</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;И ИсходныеДанные.Число &#60;= ТЗ.ПравоеЗначение</div><div class="code_line">&nbsp;</div><div class="code_line">УПОРЯДОЧИТЬ ПО</div><div class="code_line">&nbsp;&nbsp; &nbsp;Число</div></ol></div></div></div></div><br>
<br>
Ну и как итог - группируйте по полю - <strong class='tag-b'>ИмяГруппировки</strong>]]></description>
        <author>LostAngel</author>
        <category>1С: Проблемы и решения</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3892431</guid>
        <pubDate>Thu, 29 Jun 2023 09:46:41 +0000</pubDate>
        <title>Группировка в СКД по диапазонам чисел.</title>
        <link>https://forum.sources.ru/index.php?showtopic=436071&amp;view=findpost&amp;p=3892431</link>
        <description><![CDATA[^D^ima: Есть возможность в СКД группировать по диапазонам? Есть колонка с числа, требуют группировать на 3 группы - 0-1000, 1001-10000, 10001-20000. Пока придумал что можно делать вычисляемое поле и вычислять если число 0-1000 писать 1,  1001-10000 - 2, 10001-20000-3 и группировать по этому вычисляемому полю. Но хотят ещё и диапазоны задавать вручную на форме отчета. Как быть? :wacko:]]></description>
        <author>^D^ima</author>
        <category>1С: Проблемы и решения</category>
      </item>
	
      </channel>
      </rss>
	