Для начала следует рассмотреть общую задачу-пример, которая станет основой для дальнейшего рассмотрения запроса. Пускай в системе 1С существует некоторая тестовая конфигурация, которая располагается в журнале документов. В этой тестовой конфигурации необходимо произвести порядковую нумерацию строк по списку, который является динамическим.
Стоит отметить, что нумерация строк в запросе – это операция присвоения порядкового номера каждой строке.
Пусть в нашем журнале содержатся три следующих документа – это «Заявка», «Приходный ордер» и «Расходный ордер». Изначальный вид журнала документов с перечнем принимал такой вид, как демонстрируется на скриншоте с примером ниже:
Изначальный вид журнала документов
Решение данной постановки задачи было бы очевидно в случае, когда перечень документов был бы результирующей внутри некоторого отчёта, но данная задача не настолько тривиальна.
Нумерация по отчёту
Для понимания решения задачи при наличии отчёта рассмотрим данную модель ситуации. Создаём отчёт внутри системы по компоновке данных, результатом будет перечень документации, в таком случае решение элементарно, а именно: для полей внутри отчёта нужно внести особый вид поля – «Номер по порядку», как демонстрируется на скриншоте с примером далее:
Процесс нумерации по отчету
Результатом нумерации по отчету станет формировка следующей отчётности, как показано в примере ниже:
Результат нумерации по отчету
Нумерация в запросе
Но наша основная задача – это нумерация строк именно внутри самого запроса. Примером необходимости нумерации в запросе может стать получения номера по порядку некоторой записи внутри динамического списка.
Нужно поменять запрос для списка по журналу документации, который является динамическим, таким способом, как демонстрируется на тексте примера запроса далее:
Текст запроса для нумерации строк в запросе
Если открыть динамический список при режиме «1С:Предприятие», то результатом будет следующее, как показано на скриншоте далее:
Строки динамического списка
В тексте примера запроса выше описано, как проводить нумерацию в запросе. На фото результата данного запроса вся документация подверглась сортировке по номеру по порядку, все строки динамического списка отсортированы по типу. Это выполняется из-за того, что была вызвана ссылка, которая отвечает за соединение, но гарантий, что GUID у каждой ссылки будет единственным и уникальным нет.
Замечание: не стоит проводить сравнение ссылок документов, которые отличны по типу, так как результат в таком случае будет непредсказуемым. Для документов, которые не совпадают по типу, необходимо использовать временной момент или другие его характеристики.
В данной статье было рассмотрено, что такое порядковый номер в запросе и нумерация строк в 1С, как для отчётности, так и для запросов, и как на основе одной задачи корректировать запрос для задания нумерации строк, а также оговорены нюансы данной операции.