При обслуживании одной из баз клиентов возникла проблема с нумерации справочника. Кто то из пользователей ввёл номер нового элемент справочника вручную, причём вместо "001253" указал "И001253". После этого все последующие элементы справочника стали нумероваться с префиксом "И". При это перезапись справочника с номером "правильного" формата, ни пометка на удаление, ни удаление его из базы не помогли исправить ситуацию. Манипуляция с "Режим автонумерации объектов" в значение "Освобождать автоматически" в случае использования типовой конфигурации "на поддержке" не показалась нам приемлемым решением.
Для решении данной ситуации была написана данная обработка. Обработка позволяет:
- При нажатии кнопки "Выполнить" меняет нумерацию объектов заменяя старые номера на новые введенные в строку "Новый номер" и обновляет (исправляет не правильную автонумерацию). Если нужно просто исправить не правильную автонумерацию, то поля "Новый номер" нужно оставить как есть;
- Таблица содержит результат динамически формируемого запроса из базы 1С ;
- В запросе используется отбор согласно данных: для справочников по владельцу или родителю(если они участвует в нумерации), для документов и бизнес-процессам периоду. Если ничего не указано, выбираются все объекты данного вида;
- Также можно сделать отбор по "номер содержит" . Поле находиться рядом с кнопкой обновить. Если поле заполнено отбор вступает в силу;
- Таблица можно сортировать по возрастанию или убыванию выбранному полу при нажатии на копки или ;
- В запросе используется отбор согласно выбранным данным. Для справочников по владельцу или родителю, если они участвуют в формировании нумерации обработка определяет это автоматический и покажет их для отбора. Для документов и бизнес-процессам по периоду, если не заполнять период, обработка покажет все документы. Но рекомендуется устанавливать отбор по периоду в зависимости от периодичности нумерации. Если периодичность год, то желательно выбрать период в течении одного календарного года. Если периодичность месяц, то желательно выбрать период в течении одного календарного месяца.
- При нажатии на кнопку "Перенумерация" начиная с активной строчки происходит перенумерация номеров. Активный номер будет считаться максимальным, все выше расположенные объекты получат номер согласно активному. Для того что бы изменения вступили в силы нужна нажать кнопку "Выполнить"
Работоспособность обработки тестировалась на версии платформы 8.3.4+. Будет работать на всех конфигурациях управляемых форм.
более функциональная версия находится здесь:
//infostart.ru/1c/tools/1278917/
НЕ ЗАБЫВАЙТЕ ДЕЛАТЬ РЕЗЕРВНУЮ КОПИЮ! ДЕЙСТВИЯ ОБРАБОТКИ НЕОБРАТИМЫ!