Настройка автоматической нумерации новых записей в БД

Довольно часто необходимо при добавлении записи в базу данных присваивать ей порядковый номер с добавлением каждой новой записи +1.
Для этого мы можем использовать простую формулу и некоторые действия в нашем сценарии.

Надежность нумерации

Вы можете реализовать такой функционал с помощью действия в сценарии Посчитать записи и добавлять к нему 1. Но если учитывать, что записи в будущем могут удаляться, лучше использовать подход ниже с поиском самого большого номера в таблице и добавлять к нему единицу. Он будет универсальным и надежным.

Порядок действий

Предположим, что у нас есть таблица Заявки.
  • Добавляем в эту таблицу колонку - например order_id, в которую будем записывать нумерацию записей, заявок, объявлений и т.д.
    • Image without caption
В таблице Заявки можете сразу вручную добавить одну запись для последующего тестирования.
Image without caption
  • Добавляем в сценарий действие Найти одну запись, в качестве таблицы выбираем таблицу, где нужно считать записи, в нашем случае Заявки. Поле фильтр оставляем пустым, в поле Сортировка выбираем поле в котором будем хранить номера заявок и ставим Сортировка по убыванию. Сортировка по убыванию нужна для того, чтобы найти запись (заявку) с самым большим номером. Результат этой операции записывается в переменную entry
Image without caption
  • В отладчике мы можем запустить выполнение сценария и увидеть, что в найденной записи у нас есть созданное ранее поле с номером заявки в числовом формате. Кликнув на эту переменную entry.order_id мы копируем путь к ней.
Image without caption
  • Далее к полученной переменной вам нужно добавить + 1, в итоге будет формула entry.order_id + 1
Результат формулы далее вы уже можете:
  • Записать в значение при создании новой записи.
Image without caption
  • Записать в значение новой переменной
Image without caption
  • Изменить значение уже существующей записи в таблице.

Пример сценария с автоматической нумерацией

Видео с примером