Страница 1 из 1

Апгрейд поля Автоинкримент

Добавлено: 28 янв 2020, 07:27
sanys
Есть замечательное поле Автоинкримент, которое позволяет автоматически добавлять номера документам с префиксами/суффиксами и т.д.
У него есть замечательная настройка "Только просмотр", которая позволяет запреить редактирование номера во время добавления записи, что бы счет шел всегда по порядку.
Но есть один недостаток - номер записи назначается в момент открытия формы добавления записи.
Уже несколько раз случалось следущее: несколько пользователей открывают форму добавления записи в одну и ту же сущность и получают один и тот же номер, жмут Сохранить и в итоге получает две разные записи с одинаковым номером.
Параметр "Уникальное поле" не помогает. Подозреваю из-за того, что так же включен параметр "Только просмотр" и проверка не производится.
Предолжение следущее: в настройках поля добавить параметр "Назанчать номер при сохранении". Думаю, что название говорит само за себя. Включение данного параметра будет менять логику добавления номера записи - номер будет расчитываться и назначаться в момент сохранения (как id записи).
Как вариант, скрывать поле с формы при включенном параметре, дабы не вводить пользователей в заблуждение.
Что бы не было коллизий, доступ к настройке сделать только при включенном параметре "Только просмотр".
По поводу скрытия поля с формы - аналогично, только при включенном параметре "Назначить номер после сохранения" (Но мне кажется это лишнее и скрывать надо сразу).

Re: Апгрейд поля Автоинкримент

Добавлено: 28 янв 2020, 07:50
Oleg
поддерживаю, тоже сталкивались с таким

Re: Апгрейд поля Автоинкримент

Добавлено: 17 дек 2020, 14:31
Develop-Soft
sanys писал(а): 28 янв 2020, 07:27 У него есть замечательная настройка "Только просмотр", которая позволяет запреить редактирование номера во время добавления записи, что бы счет шел всегда по порядку
Протестил с отключенным флагом "только просмотр" - получил дубли номеров даже с установленным флагом "Уникальное поле".

Re: Апгрейд поля Автоинкримент

Добавлено: 23 янв 2021, 18:47
mnhtnn
Здравствуйте. Прежде всего большое спасибо создателю за 2.8.
Рассматривался вопрос продолжения нумерации? Например на предприятии вели учет документов в одной системе, а с переходом на Руководитель нужно продолжить нумерацию. Например, добавить параметр "Продолжить с" или "Начать с". Также бывает нужно с начало календарного года нумерацию обнулять. Было бы не плохо добавить признак "Обнулять с начала года" или "Начать заново". Вариантов много и может даже предусмотреть для этого новый тип данных "Нумератор".

Re: Апгрейд поля Автоинкримент

Добавлено: 23 янв 2021, 19:33
nruslan2
mnhtnn писал(а): 23 янв 2021, 18:47 Здравствуйте. Прежде всего большое спасибо создателю за 2.8.
Рассматривался вопрос продолжения нумерации? Например на предприятии вели учет документов в одной системе, а с переходом на Руководитель нужно продолжить нумерацию. Например, добавить параметр "Продолжить с" или "Начать с". Также бывает нужно с начало календарного года нумерацию обнулять. Было бы не плохо добавить признак "Обнулять с начала года" или "Начать заново". Вариантов много и может даже предусмотреть для этого новый тип данных "Нумератор".
Поддерживаю - иногда необходимо иметь возможность обнуления в начале года нумератора.

Re: Апгрейд поля Автоинкримент

Добавлено: 23 янв 2021, 20:10
LelikSAN
Поддерживаю

Re: Апгрейд поля Автоинкримент

Добавлено: 02 фев 2021, 01:07
Develop-Soft
nruslan2 писал(а): 23 янв 2021, 19:33
mnhtnn писал(а): 23 янв 2021, 18:47 ...
Рассматривался вопрос продолжения нумерации? Например на предприятии вели учет документов в одной системе, а с переходом на Руководитель нужно продолжить нумерацию. Например, добавить параметр "Продолжить с" или "Начать с". Также бывает нужно с начало календарного года нумерацию обнулять. Было бы не плохо добавить признак "Обнулять с начала года" или "Начать заново". Вариантов много и может даже предусмотреть для этого новый тип данных "Нумератор".
Поддерживаю - иногда необходимо иметь возможность обнуления в начале года нумератора.
Мысли вслух...
Делал такое расширение (в другой проге). Было 2 алгоритма:

1. "периодический": можно задать период в течении которого нумеруются записи (день, неделя, месяц, квартал, полугодие, год). Если выбираешь дату прошлого или следующего года - подтягивается последний+1 для выбранного периода.

2. "зависимый": нумератор цеплялся к конкретному объекту ("клиент", "договор", "проект" и т.п.), т.е. - можно нумеровать доп. соглашение №1 к договору №1, д.с №2 к дог №1 и т.д.

В обоих случаях, значение устанавливалось только в момент сохранения.