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