Всего 3 шага и проблемы нет:
1. Исправляем нумерацию на правильную у документов в базе. Это можно сделать вручную, если их мало. Если их много, то можно написать простенькую обработку, которая с заданного номера изменит все последующие документы. В крайнем случае, если пользователи готовы создать документы заново, то их можно удалить совсем из базы.
2. Пишем свою обработку по очистке неправильной нумерации. В 1С существует отдельная таблица для хранения номеров документов, но когда мы меняем номер на правильный у документа, то в этой таблице старый неправильный так и остается. Вот нам надо ее и почистить. Благо для этого не нужно лезть в профайлер, а потом создавать sql-скрипты, просто используем стандартную процедуру ОбновитьНумерациюОбъектов(). Но есть нюанс её использования, на который было убито немало времени. Так вот, в обработке создаем кнопку и на нее вешаем всего две процедуры :
&НаКлиенте
Процедура КомандаОбновитьНумерацию(Команда)
КомандаОбновитьНумерациюНаСервере();
КонецПроцедуры
&НаСервере
Процедура КомандаОбновитьНумерациюНаСервере()
МетаданныеДокумент = Метаданные.Документы.РеализацияТоваровУслуг; //укажите свой документ
ОбновитьНумерациюОбъектов(МетаданныеДокумент);
Сообщить("Для документов <"+МетаданныеДокумент+"> обновлена нумерация.");
МетаданныеНумератор = Метаданные.НумераторыДокументов.ДокументыРеализацииТоваров;
ОбновитьНумерациюОбъектов(МетаданныеНумератор); //укажите свой нумератор, который привязан к вашему документу
Сообщить("Для нумератора <"+МетаданныеНумератор+"> обновлена нумерация.");
КонецПроцедуры
3. Запускаем обработку (кому лень писать, она во вложении)
Видел много вопросов про то, что один нумератор может быть ко многим объектам метаданных (документов). Поэтому сделал новую обработку (версия 3), в которой сразу при выборе метаданных (сделал через справочник "Идентификаторы объектов метаданных") показывает в каких объектах ("Идентификаторах объектов метаданных") полученный нумератор указан. А также показывает в каких связанных метаданных есть проблемы. По кнопке "Следующий номер" можно сразу увидеть какой следующий номер будет присвоен объекту метаданных, т.е. сразу можно оценить к чему приведет исправление ситуации. Также по этой кнопке происходит анализ проблем со связанными объектами через нумератор.
4. Закрываем сессию с базой. Заходим в базу, и автонумерация отрабатывает теперь правильно.
P.S.: Важно! Если у документа есть нумератор, то его тоже необходимо очищать через процедуру ОбновитьНумерациюОбъектов(), без этого не очищается. Релиз 1С:ERP 2.4.9.98. Удачи.
Проверено на следующих конфигурациях и релизах:
- 1С:ERP Управление предприятием 2, релизы 2.5.8.171