16.12.2016

Нумерация строк в запросе 1С

Автор: Белозерских Евгений

   Нумеровать будем строки в запросе, который делает выборку из справочника "Номенклатура". Выполнение запроса "тяжелое" для системы, т.к. соединение будет выполняться по полю "Наименование", а это строковый тип. Поэтому предварительно мы выберем 50 элементов из справочника, и с ними продолжим работу.
   Собственно вот так выглядит сам запрос:
"ВЫБРАТЬ ПЕРВЫЕ 50
	|	Номенклатура.Ссылка,
	|	Номенклатура.Наименование
	|ПОМЕСТИТЬ _Товары
	|ИЗ
	|	Справочник.Номенклатура КАК Номенклатура
	|ГДЕ
	|	НЕ Номенклатура.ПометкаУдаления
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ _Товары1.Ссылка) КАК Номер,
	|	_Товары.Ссылка
	|ИЗ
	|	_Товары КАК _Товары
	|		ПОЛНОЕ СОЕДИНЕНИЕ _Товары КАК _Товары1
	|		ПО _Товары.Наименование >= _Товары1.Наименование
	|
	|СГРУППИРОВАТЬ ПО
	|	_Товары.Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|	Номер"
   На мой взгляд оправданность применения такого алгоритма крайне низкая, т.к. создаваемая нагрузка на сервер просто "космическая". Тем более что нумерацию можно получить средствами СКД, а если нужна нумерация в пределах иерархии, то уж точно лучше "попросить" об этом СКД.
   Но такую задачу могут задать на собеседовании, чтобы оценить навыки работы с запросами, поэтому не лишним будет запомнить логику выполнения.

Другие статьи

NULL, ЕСТЬNULL() и ЕСТЬ NULL в запросах 1С

    Определяемся что же такое NULL в запросах 1С и как с таким значением работать

Оператор "ПОДОБНО" в запросе 1С

   В статье рассматривается использование оператора "ПОДОБНО" в запросах 1С, примеры и особенности поведения
 

Получение в запросе 1С, курса валюты на дату документа

     Пример запроса 1С, для получения курса валюты документа, на дату документа.

Остатки по дням запросом 1С

      Пример запроса, который выводит информацию по остаткам товаров на каждый день, даже если не было движений

Оптимизация запросов 1С

В статье рассмотрены основные приемы по оптимизации запросов 1С. В отдельных случаях, понимая как работают механизмы платформы, возможно увеличить скорость выполнения запроса в РАЗЫ!