Ловушка функции запроса АВТОНОМЕРЗАПИСИ()
Как мы знаем, данная функция появилась в платформе, начиная с версии 8.3.13, и позволяет нумеровать строки во временных таблицах средствами платформы.
Приведём небольшой пример:
Выведем первые 5 элементов справочника Валюты и поместим их во временную таблицу, применив функцию АВТОНОМЕРЗАПИСИ().
ВЫБРАТЬ ПЕРВЫЕ 5
АВТОНОМЕРЗАПИСИ() КАК НомерСтроки,
Валюты.Ссылка КАК Валюта
ПОМЕСТИТЬ ВТ
ИЗ
Справочник.Валюты КАК Валюты
;
Выполним запрос в консоли:

Пока всё отлично! Но давайте выполним этот запрос ещё один раз:

Неожиданно, мы видим, что при повторном выполнении счётчик нумерации не обнулился, а продолжился, начиная с 6. Выполним ещё раз:

Теперь нумерация идёт уже, начиная с 11…
Однако, если подождать примерно 5 минут, и выполнить запрос ещё раз – мы снова увидим правильную нумерацию:

На первый взгляд кажется, что это какая-то мистика, но давайте обратимся к описании данной функции на ИТС:

Оказывается, разработчики платформы и не гарантируют, что нумерация всегда будет начинаться с 1.
Однако, не все разработчики даже типовых конфигураций 1С знают об этом. И повсеместно применяют данную функцию, например, для нумерации записей в регистре сведений «Документы по НМА».
А дальше мы сталкиваемся с отбором в динамическом списке, где из регистра отбираются только записи с номером = 1, дабы избежать дублирования данных.
И происходит волшебство. Первый раз провели документ – он отображается в динамическом списке. Через минуту перепровели его – документ исчезает. Через 10 минут ещё раз перепровели – снова появился!
Так ведь можно и с ума сойти!
А ведь некоторые ещё и нумеруют разные временные таблицы, с целью их дальнейшего соединения по этому ключу! Представьте, какой там может произойти винегрет!
Ну а если серьёзно – если 1С нам не гарантирует, что нумерация будет всегда с 1, то в подобных случаях нам нужно обеспечить эту гарантию самим.
Находим минимальный номер строки из полученной временной таблицы, получаем дельту, а затем отнимаем её от исходной нумерации:
ВЫБРАТЬ ПЕРВЫЕ 5
АВТОНОМЕРЗАПИСИ() КАК НомерСтроки,
Валюты.Ссылка КАК Валюта
ПОМЕСТИТЬ ВТ
ИЗ
Справочник.Валюты КАК Валюты
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МИНИМУМ(ВТ.НомерСтроки) КАК Дельта
ПОМЕСТИТЬ ВТ_Дельта
ИЗ
ВТ КАК ВТ
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ.НомерСтроки - ВТ_Дельта.Дельта + 1 КАК НомерСтроки,
ВТ.Валюта КАК Валюта
ИЗ
ВТ КАК ВТ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Дельта КАК ВТ_Дельта
ПО (ИСТИНА)
Таким образом мы принудительно сдвинем нумерацию на начало, и наша нумерация не будет зависеть ни от СУБД, ни от времени, которое прошло между выполнениями запроса, ни от чёрта лысого.

Надеюсь, кому-нибудь помог! Пользуйтесь))
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
См. также
Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)
Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.
16500 руб.
02.09.2020 285437 1606 423
Инструментарий разработчика Запросы Разработчик 1С 8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)
Структура запроса. Обработка визуально показывает, из какого количества подзапросов состоит запрос.
2 стартмани
06.07.2026 4920 65 XSlava 20
Запросы Разработчик 1С 8.3 Россия Бесплатно (free)
Визуальный «Конструктор запроса» 1С, встроенный прямо в VS Code, — аналог конструктора из Конфигуратора и EDT, но без запуска платформы. Расширение читает конфигурацию, выгруженную в файлы, позволяет собрать запрос мышью и генерирует корректный текст на языке запросов 1С (SDBL). Открывает уже существующий текст запроса из кода для правки и — что особенно ценно — сохраняет комментарии при цикле «открыть - править - сохранить». Подходит тем, кто пишет код 1С в VS Code, держит под рукой множество проектов и не хочет ради одного запроса запускать тяжёлый Конфигуратор или EDT.
26.06.2026 10640 Alex_YAM 7
Нейросети Инструментарий разработчика Запросы Разработчик 1С:Предприятие 8 Абонемент ($m)
Консоль запросов 1.0: добавлен ИИ-помощник (запрос в DeepSeek), который помогает быстрее получать каркас Запроса 1С Сформулируйте простое описание; нажмите кнопку – получите результат прямо в консоли. Где дальше его можно дорабатывать и тестировать. 28.5.2026 Добавил "Консоль запросов 2.0" (запрос в DeepSeek + Claude) 4.10.2026 Обновил "Консоль запросов 2.0"
3 стартмани
20.05.2026 9543 46 German4739 72
WEB-интеграция Запросы Разработчик 1С 8.3 Абонемент ($m)
Post1C - это внешняя обработка, которая превращает 1С в полноценный инструмент для тестирования REST API. Всё управление сосредоточено в одном окне: настройка запроса, выполнение, просмотр ответа и генерация кода - без переключения между формами. Аналог Postman, но работающий в привычной среде 1С.
1 стартмани
02.04.2026 4630 105 priem_nv 27
Запросы Механизмы типовых конфигураций Разработчик 1С:Предприятие 8 1С:Управление торговлей 11 Россия Бесплатно (free)
Предлагается обзор работы с объектной моделью запроса по схемам запросов типовым функционалом УТ 11.5.
09.10.2025 13375 aximo 18
Инструментарий разработчика Запросы Разработчик 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)
QueryConsole1C — расширение, включающее консоль запросов с поддержкой исполняемых представлений — аналогов виртуальных таблиц, основанных на методах программного интерфейса ЗУП. Оно позволяет выполнять запросы с учётом встроенной бизнес-логики, отлаживать алгоритмы получения данных и автоматически генерировать код на встроенном языке 1С.
1 стартмани
16.05.2025 13641 168 zup_dev 32
Инструментарий разработчика Запросы Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)
В данной публикации рассказывается о решении, которое позволяет находить сразу все ошибки в тексте запроса за раз, а не только самую первую.
2 стартмани
05.03.2025 7705 25 XilDen 12
ВЫБРАТЬ
Справочник4.Наименование КАК Наименование,
КОЛИЧЕСТВО(Справочник4.Наименование) КАК Номер
ИЗ
Справочник.Справочник4 КАК Справочник4
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник4 КАК Справочник41
ПО (Справочник4.Наименование >= Справочник41.Наименование)
СГРУППИРОВАТЬ ПО
Справочник4.Наименование
УПОРЯДОЧИТЬ ПО
Справочник4.Наименование
Показатьсобес не прошёл :плаки_плаки:
ниже на скрине две записи с именем "ввв"
вариант с ссылкой:
CheBurator, предложите свой вариант реализации АВТОНОМЕРЗАПИСИ(), как пронумеровать строки используя только язык запросов.
на оригинальном скрине ..По (Спр4.Наименование
а потом внезапно
..По (Спр4.Код...
.
я спросил не по причине придраться, а мне чисто интересно что будет в результате (ибо клюшечник и запросы как собака типа и то не очень.. )
.
и да: а если уникальность кода отключена и дубли ссылок ? ;-)
Другое решение предложить не могу - не спец ибо.
А статьи по 8-ке читаю - интересно же...
Сцылка / Количетсво
А / 1
А1 А / 2
А2 А1 А / 3
...
Средствами платформы ссылку не подменить "Поле объекта недоступно для записи (Ссылка)"
Предполагаю:
с помощью СУБД выставить свойство "primary key" = false для колонки "_IDRRef" сделать set, update с дублем ссылки и вернуть true для первичного ключа;
возможно есть более простой способ сделать дубли ссылок (уникальных первичных ключей);
в базах, да еще в больших - чего-только не бывает... и ключа уникального может сходу неочевидно...
скорее всего по ссылке - все-таки дубли ссылок штатным образом есть редкое (или совсем нет?).
.
кстати, может АВТОНОМЕРЗАПИСИ(); в твоем примере можно использовать для поиска дублей? будет ли это быстрее других вариантов поиска дублей (ну, например, по наименованию). Хотя вряд ли.
В Постгре проверить нет возможности. А если в конце запроса добавить уничтожение временной таблицы? Может, в этом случае всё, что связано с АВТОНОМЕРЗАПИСИ() обнулится?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 2210327
Создание 11.10.24 18:30
Обновление 11.10.24 18:30
Просмотры 24478
Загрузки 0
Рейтинг
117
Комментарии 40
Код открыт Да
Рубрики Запросы
Кому Разработчик
Тип файла Нет файла
Платформа 1С:Предприятие 8
Конфигурация 1C:Бухгалтерия
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)