Номер строки в запросе 1с с примерами

Для того чтобы пронумеровать строки в запросе, необходимо соединить таблицу запроса с самой собой по какому либо полю с условием «<» или «>», посчитать количество присоединившихся строк, затем упорядочить по полученным номерам. Замечу, что получить номер строки в запросе 1с данным способом можно только в случае, если в вашей выборке есть поле с уникальным значением для каждой строки. Если это условие не выполняется, то при накладывании условия на «больше» или «меньше» у вас получатся строки с одинаковыми номерами.

Номер строки в запросе 1с. Пример

Рассмотрим простейший запрос к справочнику номенклатура, для быстроты выполнения ограничим выборку номенклатуры одной группой, которую необходимо передать в параметр Группа.

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

Прочтите еще пару статей на тему языка запросов 1С:

Добавить комментарий

Ваш адрес email не будет опубликован.