Есть несколько подходов, которые можно использовать для настройки нумерации документов таким образом, чтобы она начиналась с нуля каждый год. Один из вариантов, как вы упомянули, заключается в увеличении максимального значения в колонке YI на текущий год при добавлении новой записи в таблицу.
Однако, есть и другие простые решения для данной задачи:
1. Создайте отдельные таблицы для каждого года:
- Создайте таблицу с именем "Documents_YYYY" (где YYYY - текущий год).
- В каждой таблице будет только номера документов для данного года.
2. Используйте сочетание года и номера документа:
- Создайте колонку "Year" и "DocumentNumber" в таблице.
- При добавлении нового документа, получите текущий год и максимальный номер документа для этого года.
- Установите новому документу номер в "год +1" и "номер документа = 1".
Например:
Год | Номер документа
2020 | 1
2020 | 2
2021 | 1
2021 | 2
При добавлении документа в 2021 году, новый документ получит номер 2021-3.
3. Используйте хранимую процедуру или триггер БД:
- Создайте хранимую процедуру или триггер, который будет автоматически обновлять номер документа в зависимости от текущего года.
- При добавлении нового документа вызовите эту процедуру или запускайте триггер для обновления номера.
Выберите подход, который наиболее соответствует вашим потребностям и возможностям вашей базы данных.