gifts2017

Перенумеровать элементы справочника

Опубликовал Дмитрий Шмонин (Qsko) в раздел Обработки - Обработка справочников

Обработка для Перенумерации кодов элементов справочника (любого). Даёт возможность выбрать группу элементов, подлежащих перенумерации, задать префикс, и стартовый номер, с которого пойдёт перенумерация. Не оригинально, зато работает + встроенная справка с рекомендациями.

Обработка «Перенумеровать элементы справочника»

 

Обработка для Перенумерации кодов элементов справочника (любого). Даёт возможность выбрать группу элементов, подлежащих перенумерации, задать префикс, и стартовый номер, с которого пойдёт перенумерация.

Отобранные элементы, подлежащие перенумерации, выводятся в табличное поле, в котором можно просмотреть отобранные элементы, убрать лишние.

 

Как пользоваться

  1. Указать в поле "Справочник" нужный справочник.
  2. Если справочник иерархический, то можно указать группу, внутри которой требуется провести перенумерацию.
  3. Нажать кнопку "Отобрать". В табличное поле будут отобраны элементы справочника, подлежащие перенумерации.
  4. В табличном поле можно упорядочить элементы в нужном порядке.
  5. Указать в поле "Префикс" префикс, с которого будут начинаться номера элементов. Если префикс не нужен, то оставить это поле пустым.
  6. В поле "Номер начала нумерации" указать номер (это должно быть число), с которого начать нумерацию.
  7. Нажать кнопку "Выполнить" для осуществления перенумерации.

Обработка перенумеровывает не только элементы, но и группы, если они попали в отбор.

Если отключить флажок "Добавлять лидирующие нули в номер", тогда после префикса сразу будет следовать порядковый номер:

  • Преф1
  • Преф2
  • Преф3

 

Если включить флажок "Добавлять лидирующие нули в номер", тогда после префикса до значащих цифр номера будут добавлены нули:

  • Преф000001
  • Преф000002
  • Преф000003

 

Внимание! После того, как нажмёте кнопку "Выполнить" вернуть предыдущие номера элементов уже будет невозможно.

P. S. Как показала моя практика - в типовых конфигурациях префиксы в справочниках лучше не проставлять - проще будет новые элементы добавлять и 1С не будет сходить с ума нумеруя новые элементы. Но если сильно надо, то пожалуйста. Смотрите сами.

История изменений

*  [19 мая 2011] исправил ошибку, из за которой в случае пустого поля "Группа" не выбирались все элементы справочника

+  [19 мая 2011] дополнил справку

*  [2 февраля 2013] 1. Теперь, если не удается записать элементы, они не приводят к остановке работы обработки: обработка отрабатывает до конца и выводит список ошибок.
2. В колонке "Код (подлежит перенумерации)" после выполнения обработки обновляются коды элементов.
3. Сообщения о ходе выполнения обработки стали более информативными.

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ПеренумерацияСправочника
.epf 16,72Kb
02.02.13
134
.epf 16,72Kb 134 Скачать

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение

Комментарии

1. Ирина Пятакова (Alraune) 18.05.11 10:49
Он умеет переименовывать только элементы одной группы?
То, что в группу не входит, не видит. Неудобно.
Кстати, интересно, а сколько здесь вообще перенумераторов на сайте?
2. ron (ron1) 18.05.11 11:29
Как раз появилась нужда перенумеровать справочник в ЗУП. Попробую....
3. Дмитрий Шмонин (Qsko) 18.05.11 12:05
Для Alraune
Если хотите весь справочник - просто не указывайте группу (оставьте её пустой).
Перенумераторов здесь много. Выложил свой вот потому, что по работе было проще написать под свою конкретную задачу, чем искать и сравнивать. Авось, кому пригодится.
4. Ирина Пятакова (Alraune) 18.05.11 12:45
(3) Так при оставленной пустой группе как раз ничего и НЕ перенумеровывает!
Вот скрин, для примера.
Прикрепленные файлы:
5. Дмитрий Шмонин (Qsko) 18.05.11 14:33
Alraune
Правда, есть такая проблема. Поправлю, но уже завтра. Вечер уже. ;)
6. Илья Жданов (Иероглиф) 18.05.11 14:43
Эээ.. а почему бесплатно то ?:) - деньги бери:)(странно и почему ещё минусами не закидали?:)
7. Дмитрий Шмонин (Qsko) 19.05.11 06:17
(4) Косячок поправил.
(6) Боюсь, миллион не дадут за такую "лопату". :-)
8. Евгения Тихомирова (e-tixom) 19.05.11 09:43
Удобная обработка. В Бух-и 2.0 работает. Спасибо :D
9. Ирина Пятакова (Alraune) 19.05.11 09:49
(7) Почему может возникать такая ситуация?
Хотелось убрать лидирующие нули. Один элемент отказался перенумеровывать.
Прикрепленные файлы:
10. Дмитрий Шмонин (Qsko) 19.05.11 13:25
(9)
1. Чтоб убрать лидирующие нули снимите галочку "Добавлять лидирующие нули в номер"
2. Перед тем, как присвоить новый код элементу обработка делает проверку, если уже такой код в справочнике. Если да, то пропускает элемент. В справке, которая есть в обработке, написаны пара пояснений.
11. Ирина Пятакова (Alraune) 19.05.11 13:28
(10) Неправильно написала, извините)) хотелось добавить. Ко всем добавил, а один так и остался.
12. Ирина Пятакова (Alraune) 19.05.11 13:35
+(11) Да, с учетом информации из справки, теперь все работает)))
13. Дмитрий Шмонин (Qsko) 19.05.11 13:42
(11)
Посмотрите, он, наверное, хотел перенумеровать в какой-нибудь 000000033, а элемент с таким номером уже был.
Можно, конечно, написать так, чтоб он попытался в этом случае присвоить следующий номер, но тогда встаёт вопрос: сколько попыток ему давать. Если заставить обработку пытаться перенумеровать до момента успеха, то можно нарваться на бесконечный цикл. Потому, если не перенумеровались элементы, то руками их перенумеровать (если их немного) или выкинуть из табличного поля все успешно перенумерованные и, увеличив на единичку Номер начала нумерации, попросить перенумеровать оставшиеся.
14. Ирина Пятакова (Alraune) 19.05.11 13:49
(13) Да те два совета, что у Вас в справке есть, вполне справляются с проблемами. В общем, я поставила плюс! за перенумератор!!! Потому что предыдущие не все толком работали, да и оформлена публикация вполне хорошо :)
15. Сергей (Che) Коцюра (CheBurator) 19.05.11 13:59
не верю, что в штатной поставке 8-ки в каких-нибудь универсальных обработках нету перенумератора...
.
смотришь на перенумераторы/шпингалеты и тоска берет...
16. Ирина Пятакова (Alraune) 19.05.11 14:03
(15) На ИТС, кажется, что-то было
17. Дмитрий Шмонин (Qsko) 21.05.11 15:34
(15) Было, но ИТС не всегда бывает под рукой.
18. Яков Коган (Yashazz) 22.05.11 13:57
Опять перенумератор? Ё-моё...
19. Вячеслав Климов (Slavon) 26.09.11 12:58
Удобная обработка. Спасибо автору
20. 1 1 (girlochka) 06.10.11 08:19
удобно! спасибо автору :)
21. Ольга Королева (olqueen) 09.11.11 19:43
Мне реально программа помогла во время внедрения, потому как бухгалтера очень постарались коды испортить.
22. Дмитрий Шмонин (Qsko) 11.11.11 10:36
(21) olqueen, спасибо за отзыв. Обработка не идеальна, но работает. Кстати, как показала моя практика - префиксы лучше не проставлять в справочниках - проще будет новые элементы добавлять и 1С не будет с ума сходить нумеруя новые элементы. Но некоторым, видать, это надо.
23. Кирилл Гезин (kirillsas) 18.01.12 06:03
не верю, что в штатной поставке 8-ки в каких-нибудь универсальных обработках нету перенумератора...
.
смотришь на перенумераторы/шпингалеты и тоска берет...
24. Владимир Шатохин (vovkakursk) 19.01.12 20:50
спасибо. хорошая обработка
25. Елена Ермилова (Taisa07) 22.01.12 14:45
Пробую перенумеровать справочник "Договоры" в БГУ, выходит ошибка:
{Форма.Форма.Форма(66)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(5, 19)}: Поле не найдено "НужныйСправочник.ЭтоГруппа"
НужныйСправочник.<<?>>ЭтоГруппа,

С чем может быть связано? Обработка на диске ИТС перенумеровала только числовые коды, а в справочнике просто невероятное количество буквенно-числовых кодов.
cleaner_it; +1 Ответить 2
27. Doomino (Doomino) 29.01.13 14:31
(25) Taisa07, И у меня то же самое. Пришлось код править...
28. Дмитрий Шмонин (Qsko) 05.02.13 19:33
Подправил обработку исключительных ситуаций и сделал комментарии работы более информативными.
29. Роман Осадченко (cleaner_it) 23.12.13 07:20
(25) Эта ошибка появляется для справочников с иерархией элементов
30. pavel972 (pavel972) 12.02.14 14:00
Добрый день!
Управление торговлей, редакция 11.1 (11.1.2.23)

выдает

{Форма.Форма.Форма(78)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(5, 19)}: Поле не найдено "НужныйСправочник.ЭтоГруппа"
НужныйСправочник.<<?>>ЭтоГруппа,
Прикрепленные файлы:
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа