Расширить возможности автоинкремента

Пишите ваши предложения здесь.
Ответить
nadayob
Сообщения: 38
Зарегистрирован: 14 июл 2023, 17:21
Имя: nadayob
Откуда: RU

Расширить возможности автоинкремента

Сообщение nadayob »

Расширить возможности автоинкремента:
Чтобы в роли суффикса и префикса можно было использовать значение из другого поля сущности
Чтобы можно было обнулять автоинкремент по условию префикса

Самый частый сценарий использования - номер договора (или любого другого документа), который от даты, например, формируется.
Что-то типа вида ГГММДД/ПорядковыйНомерЗаДень
Вроде бы автоинкримент и есть - но использовать его не получается.
Аватара пользователя
alcompstudio
Спонсор
Спонсор
Сообщения: 1798
Зарегистрирован: 03 янв 2016, 20:42
Имя: Александр
Откуда: Мир

Re: Расширить возможности автоинкремента

Сообщение alcompstudio »

nadayob писал(а): 03 фев 2025, 12:40 Расширить возможности автоинкремента:
Чтобы в роли суффикса и префикса можно было использовать значение из другого поля сущности
Чтобы можно было обнулять автоинкремент по условию префикса

Самый частый сценарий использования - номер договора (или любого другого документа), который от даты, например, формируется.
Что-то типа вида ГГММДД/ПорядковыйНомерЗаДень
Вроде бы автоинкримент и есть - но использовать его не получается.
Для формирования сложных полей автонумерации используйте в качестве итогового поля Статический текст по шаблону (он и текстовую формулу позволяет из разных полей создать, как раз можете туда разместить и дату и автоинкремент и прочие поля, из которых должен состоять "номер", а также он сохраняется в БД).

Самый простой пример:

Создаете поле Статический текст по шаблону с названием "Номер договора" и в него размещаете поля из текущей сущности (также для сложных конструкций можете вставлять поля MySQL формула, чтобы например была возможность добавлять "нули" перед цифрами и т.п.).

Образец текстовой формулы: "ДГВ-[123]/[456]" , где

"ДГВ-" и "/" - фиксированный статический текст
[123] - поле Автоинкремент (для автонумерации, можно скрыть от пользователей, использовать в качестве "технической составляющей")
[456] - поле с типом Дата (можно скрыть от пользователей, использовать в качестве "технической составляющей")

Возможно вам подойдет такой способ, потому как (мое мнение) вставлять данный функционал в поле Автоинкремент особо роли не сыграет в оптимизации, будет только сложность в использовании.
Ответить