Перенумератор (Справочники, Документы+Нумераторы)

Обработки - Обработка документов

Универсальная перенумеровка объектов ИБ - Справочников и Документов

Универсальная перенумеровка объектов ИБ - v 1.7
Справочников (в том числе и подчиненных) и Документов (сквозная с учетом Нумератора)

Работает в любой конфе, где есть что перенумеровывать ;)
(где есть документы (и не важно какие там есть журналы) или справочники).

Обработка префиксов и ведущих нулей, справится с числовой и текстовой нумерацией.

------------------------------------------------------------------

Доработано в v 1.6 (от 10/09/09) - по Вашим просьбам

Отсортированы функции модуля, ко всем интерфейсным элементам добавлено описание, работа в транзакции.

Сделан отбор для документов по общему реквизиту, для подчиненных справочников по родителю.

------------------------------------------------------------------

Доработано в v 1.7 (от 14/09/09) - по Вашим просьбам

Исправлены ошибки

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

Наименование Файл Версия Размер
Перенумеровка.ERT
.ERT 206,00Kb
25.08.14
924
.ERT 206,00Kb 924 Скачать бесплатно

См. также

Комментарии
1. Евгений Григорьев (grigr) 206 30.08.09 15:34 Сейчас в теме
Может и баян, но писалось под себя
использую давно в самых разнообразных случаях ;)
2. dummy 30.08.09 17:31 Сейчас в теме
первая из стопиццоттыщ перенумераторов, которая позволяет отбирать документы по префиксу номера... ну или я просто не натыкался на такие.
3. Сергей Коцюра (CheBurator) 3409 30.08.09 17:55 Сейчас в теме
(2) а что, универсальная обработка подбора объектов - этого не позволяет? - не далее как в четверг перенумеровывал справочник, выбирая элементы принадлежащие ЦБ - по вхождению в номер префикса "ЦБ" - и заметьте! без программирования... - учите матчасть!
4. Евгений Григорьев (grigr) 206 31.08.09 06:13 Сейчас в теме
(3) она слишком универсальная и не всегда подходит ;)
61. Алекс Ю (AlexO) 119 07.10.13 16:18 Сейчас в теме
(3) CheBurator,
а что, универсальная обработка подбора объектов - этого не позволяет?

И как типовой перенумеровать номера 15, 0015 и 00015?
62. Сергей Коцюра (CheBurator) 3409 07.10.13 21:30 Сейчас в теме
(61) вопрос непонятен.
приведите исходное множество документов с исходными номерами и итоговый желаемый результат - я попытаюсь сказать - можно перенумеровать или нет.
а так - конечно можно
вместо трех документов 15,0015,000015 будут документы 15,16,17 с нужными префиксами...
???
5. Александр Рытов (Арчибальд) 2661 31.08.09 12:28 Сейчас в теме
Боян же братия...
Мне понравилось:
1. Методичность автора в процессе разработки (набор комментариев)
2. Четкий дизайн.
6. Евгений Григорьев (grigr) 206 01.09.09 13:32 Сейчас в теме
(5) тогда уж скорей "+"
---------------------
(3) универсальная не даст обработать по нумератору, подрезать номера, добавить нули и т.д.
---------------------
хочу заметить обработка работает в очень специфичных конфах в отличие от прочих: где нет документов или справочников, только общий журнал и т.п.
7. rasswet (rasswet) 81 02.09.09 10:47 Сейчас в теме
тоже понравился код и дизайн. молодец)
11. Евгений Григорьев (grigr) 206 03.09.09 05:32 Сейчас в теме
еще добавлю обработка учитывает текстовый номер или числовой (многие другие на числовых спотыкаются, когда пытаются им префикс добавить)
-------------------------
(7)(8) и вам спасибо
-------------------------
(9)(10) вам тоже спасибо, но вы по моему просите совсем другую программу...
это простой перенумератор, делать его супер универсальным ради самой универсальности действительно не вижу большого смысла!
у меня была идея - разместить весь функционал на одной рабочей площадке.
перегружать программу уймой настроек, отборами, доп фильтрами (которые мне ни разу не понадобились), вкладками я не собираюсь.
(9.2) sql баз у меня к сожалению нет, соответственно переписывать не буду, к тому же перенумеровка не такая уж и частая процедура, и не такая уж и долгая разок можно и подождать
(9.3,5) вы правы транзакцию нужно сделать, а так же проверять на существование уже существующего кода/номера
(9.4) вы действительно запустите мою обработку на рабочей базе в раздельно режиме, не сделав копии??? вот это Доверие - Спасибо ;) (я бы сам не запустил)
(9.6) чем отбор по префиксу не устраивает?
(9.7) режим эмуляции делать не буду (делайте копию базы), а отчет на выходе вполне хорошая идея
(9.8.) "обработчики событий (формулы элементов диалога) должны быть отделены от базового функционала" - поясните пожалуйста, зачем?

(10) "не видя требуемых для перенумерации данных" - там есть окно где представлены все обрабатываемые данные, попользуйтесь и увидите
"Грамотно написанные обработчики событий делают прогу более универсальной и более стабильной" - вы же не скачивали, как вы оценили грамотность?
;)
12. Сергей Кривоносов (aexeel) 72 03.09.09 10:35 Сейчас в теме
(11) >>sql баз у меня к сожалению нет, соответственно переписывать не буду
Тогда слово "универсальный" из описания я бы исключил)

>>вы действительно запустите мою обработку на рабочей базе в раздельно режиме, не сделав копии
Опять же "универсальность"… далеко не у всех есть возможность выгнать бухгалтеров на сколько-то часов из базы

>>…должны быть отделены от базового функционала" - поясните пожалуйста, зачем?
Про контекстонезависимость слышал? Я стараюсь придерживаться данных принципов. В v8, кстати, в т.ч. под это дело выделен модуль обработки.
8. Yulya Vlady (yulya_vlady) 02.09.09 11:13 Сейчас в теме
Хорошая обработка! Быстро и без проблем решила мою проблему. Надо было перенумеровать документы разных видов с одним нумератором в ЗиК.
Спасибо! Очень вовремя!
9. Сергей Кривоносов (aexeel) 72 02.09.09 15:21 Сейчас в теме
Если уж речь зашла об универсальности, то я бы сделал следующие доработки:
1. интерфейс — 3 закладки: подбор, данные, настройки;
2. данные должны выбираться запросом: на DBF разницы, конечно, нет, а вот на SQL (особенно на больших объемах) — существенная;
3. заключить изменения данных в транзакцию (одну или несколько, по настройкам);
4. в попытке/исключении учесть разделенный режим работы (ошибку записи из-за блокировок т.е.), либо проверку на монопольный режим при запуске;
5. не изменять номер/код, если он совпадает со вновь присвоенным;
6. расширить отбор документов общими реквизитами (например, выбирать по одной фирме).

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

Восторгов по поводу кода не разделяю. Структурированность не сильная. + Мое мнение — обработчики событий (формулы элементов диалога) должны быть отделены от базового функционала.
10. KereberoS (KereberoS) 1 02.09.09 21:02 Сейчас в теме
Согласен с (9). Не скачивал, но по скриншотам вижу, что интерфейс перегружен. Я вообще не представляю, как можно пользоваться черным ящиком, не видя требуемых для перенумерации данных. Грамотно написанные обработчики событий делают прогу более универсальной и более стабильной
13. Yackov . (Yackov) 96 03.09.09 16:51 Сейчас в теме
Вот тебе 30й плюс..молодца!)))
14. Евгений Григорьев (grigr) 206 04.09.09 05:52 Сейчас в теме
(13) спасибо. да уж, за неделю больше 30 "+" одной обработкой - очень не плохо
(12.11) не исключу, т.к. она в sql работать будет ;) как и во всех остальных
впрочем вы можете доработать под свои нужды
(12.12) вы собираетесь несколько сот тысяч объектов перенумеровывать, что бы на несколько часов ее загрузить??? опять же даже если так, все бухгалтера просто не смогут нормально работать!
(12.13) аааа понял. только тут ведь Один модуль. так и быть отсортирую функции обработчика от интерфейсных.
15. Евгений Григорьев (grigr) 206 04.09.09 05:54 Сейчас в теме
Друзья. эта обработка - маленькая удобная тележка.
грузить ее функционалом самосвала с грузоподъемностью тележки я не хочу.
так что, что-то я добавлю, что-то нет... Всем Спасибо
16. Анна я (zemochka) 2 08.09.09 04:52 Сейчас в теме
молодец. очень вовремя она мне подруку попала))
17. Евгений Григорьев (grigr) 206 10.09.09 11:56 Сейчас в теме
доработано в v 1.6 (от 10/09/09) - по Вашим просьбам

отсортированы функции модуля, ко всем интерфейсным элементам добавлено описание, работа в транзакции
сделан отбор для документов по общему реквизиту, для подчиненых справочников по родителю
18. Евгений Григорьев (grigr) 206 10.09.09 11:58 Сейчас в теме
скриншоты попозже обновлю (не так там много изменений)
19. Сергей Коцюра (CheBurator) 3409 10.09.09 12:25 Сейчас в теме
ндя... 90% процентов - делается с помощью штатной универсальной обработки. Из востребованного в универсальной обработке, по-моему, только работы с нумератором нет...
20. Евгений Григорьев (grigr) 206 10.09.09 14:37 Сейчас в теме
(19) ну да - каждому свое... только почему-то ею не многие пользуются (или не хотят пользоваться) ;)
21. Сергей Коцюра (CheBurator) 3409 10.09.09 14:40 Сейчас в теме
Правильно, потому что при нормальной работе - всякую перенумерацию - прог только должен делать... у меня на старой работе и сейчас - такие задачи по оперативным документам - возникали ну настолько редко... что я даже ПЕРЕНУМЕРАТОРЫ НЕ ПИСАЛ!!!!
22. Артур Аюханов (artbear) 893 10.09.09 16:26 Сейчас в теме
(21) Ага, я так ни разу перенумератор за свою жизнь не написал, все время чужими пользуюсь, правда, очень и очень редко, в основном, у новых клиентов :)
25. Евгений Мартыненков (JohnyDeath) 290 10.09.09 22:11 Сейчас в теме
(21), (22) не уж-то на вашей работе расходнички задним числом не делают? ;)
26. Сергей Коцюра (CheBurator) 3409 10.09.09 22:31 Сейчас в теме
(25) неа.. не делают.. ;-) а вот наклдную перетащить вперед на 10 дней - это могут.. потому что блин типа Ипшник не может товар покупать в рассрочку при оплате налом... ;-)
23. Евгений Григорьев (grigr) 206 10.09.09 16:41 Сейчас в теме
(21,22) я на продажу делал ;)
а вот теперь со всем делюсь
24. Сергей Коцюра (CheBurator) 3409 10.09.09 18:44 Сейчас в теме
27. Марита бух (Марита Х) 20.09.09 12:25 Сейчас в теме
28. lefthander lefthander (lefthander) 22.09.09 17:24 Сейчас в теме
+ Спасибо. То что нужно. :-)
29. Илья Быстров (host_kms) 123 28.09.09 03:38 Сейчас в теме
ЗафиксироватьТранзакцию();
{D:\DOWNLOADS\PERENUMEROVKA.ERT(633)}: Ошибка при выполнении процедуры ЗафиксироватьТранзакцию.
Пытаюсь перенумеровать справочник "Номенклатура", 12000 элементов, длина кода 8, текстовый.
Где-то собака зарылась!
30. Евгений Григорьев (grigr) 206 28.09.09 15:01 Сейчас в теме
(29) с транзакциями там фигово (это скорее всего на будущее), нужно алгоритм избавить от конструкции "Попытка Исключение", тогда долнжо будет нормально работать.
не включай транзакции и будет тебе счастье, но медленно ...
31. Вячеслав Ефимов (eslava) 5 23.05.10 14:41 Сейчас в теме
У меня пишет ошибка открытия файла и подвешивает 7.7. У меня Vista может в этом дело!?
32. Евгений Григорьев (grigr) 206 23.05.10 16:37 Сейчас в теме
(31) может и Висте... на лицо баг самой 1С
а другие-то обработки открываются?
33. Вячеслав Ефимов (eslava) 5 24.05.10 11:04 Сейчас в теме
:(
Другие открываются нормально. Была с одной обработкой проблема, но решилась путём запуска её дллов от администратора.
34. Евгений Григорьев (grigr) 206 24.05.10 12:49 Сейчас в теме
Если честно понятия не имею в чем дело ;( нет там ни каких ДЛЛ.
попробуй загрузить заново, попробуй в конфигураторе открыть...
35. Аннамара Пергамент (pannamara) 20.09.11 05:06 Сейчас в теме
Благодарствую))) разработчику
36. soroka (EugeneR1c) 26.09.11 09:35 Сейчас в теме
Благодарю за обработку.
37. xDee (xDee) 13.10.11 12:00 Сейчас в теме
ЗафиксироватьТранзакцию();
{D:\NIX\PERENUMEROVKA.ERT(633)}: Ошибка при выполнении процедуры ЗафиксироватьТранзакцию.
Пытаюсь перенумеровать справочник "Номенклатура", 8000 элементов, длина кода 8, текстовый.
Точно такая же ошибка.
38. Евгений Григорьев (grigr) 206 13.10.11 16:45 Сейчас в теме
(37) алгоритм не совершенный (есть косяки, а выискивать смысла большого не вижу). лечится просто:
1. неиспользуйте транзакции, т.к. внутри есть конструкция Попытка/Исключение - именно она валит транзакцию
2. отключите на время перенумеровки в конфигураторе контроль уникальности в справочнике, тогда все будет ОК
54. Алекс Ю (AlexO) 119 25.07.13 00:54 Сейчас в теме
(38) grigr,
2. отключите на время перенумеровки в конфигураторе контроль уникальности в справочнике, тогда все будет ОК

Думаю, чтобы как раз этого не делать/сократить выборку с невыполнимой транзакцией - поможет запуск отдельных транзакций на каждые 100 элементов.
39. xDee (xDee) 13.10.11 23:04 Сейчас в теме
2. отключите на время перенумеровки в конфигураторе контроль уникальности в справочнике, тогда все будет ОК
Именно так и поступил, и все пошло, еще раз СПАСИБО!
40. ddd ddd (alexsiswx) 14.10.11 16:15 Сейчас в теме
Буду пробовать. Но с нетерпением буду смотреть и анализировать код.
41. Александр Лыткин (TrinitronOTV) 27.10.11 15:15 Сейчас в теме
soroka пишет:

Благодарю за обработку.

я тоже присоединяюсь, огромное спасибо
42. Наталия Пепе (pepe_n) 01.11.11 10:13 Сейчас в теме
43. Татьяна Смирнова (smtan-2011@mail.ru) 11.11.11 14:40 Сейчас в теме
очень здоровская обработка спасибо!
44. Sergey Ivanov (sergb1979) 18.11.11 09:38 Сейчас в теме
Доработал ее добавив возможность перенумерации всей базы.
Очень удобно перед объедидением нескольких баз
55. Алекс Ю (AlexO) 119 25.07.13 00:56 Сейчас в теме
(44) sergb1979,
Доработал ее добавив возможность перенумерации всей базы.

Что значит - перенумерация всей базы? А сейчас - не по всей нумерует?
57. Sergey Ivanov (sergb1979) 25.07.13 16:57 Сейчас в теме
(55) AlexO, Сейчас только по выбранному типу Справочника
58. Алекс Ю (AlexO) 119 27.07.13 14:50 Сейчас в теме
(57) sergb1979,
А зачем перенумеровывать ВСЕ справочники одновременно?!
45. Светлана Кончакова (Ariko-sv) 05.12.11 10:15 Сейчас в теме
Обработка супер!!! Как я раньше без нее могла. И справочники и документы. Я кассу вручную нумеровала, а на это почти целый день уходит, а сейчас нескольок секунд. Спасибо!!!
46. Олег Иванов (ogeniv) 12.01.12 13:55 Сейчас в теме
Отличная обработка, спасибо!
47. Константин Коробов (MoonAriman) 3 27.01.12 16:54 Сейчас в теме
Спасибо! Но очень медленно... Особенно обязательное заполнение списка к перенумерации. У меня 20000 номенклатуры, она просто умрет от таких визуальных приблуд.
48. Евгений Григорьев (grigr) 206 27.01.12 19:17 Сейчас в теме
(47) MoonAriman, отключить визуализацию можете и сами ;)
так же рекомендую (как уже писал раньше), на время процедуры массовой перенумерации отключите контроль уникальности и проводите процедуру в режиме транзакции!
50. Вячеслав Ефимов (eslava) 5 18.07.12 10:06 Сейчас в теме
При включенной галке макс. длинна номера обработка проверяет код в справочнике если он больше указанного значения, то из кода удаляются лишние нули?
52. Евгений Григорьев (grigr) 206 07.09.12 07:21 Сейчас в теме
(50) eslava,
да все верно. ее можно использовать для укорачивания номеров или добивания нулями до нужной длинны (правда могут возникнуть дубли в номерах: 00100 и 0100 - станут одинаковыми)

(51) orehova123,
когда уйдет? у меня есть учетные конфы на ТИС, зачем с них уходить-то? есть и на УТ под 8.0 - все работает.
56. Алекс Ю (AlexO) 119 25.07.13 01:01 Сейчас в теме
(52) grigr,
(правда могут возникнуть дубли в номерах: 00100 и 0100 - станут одинаковыми)

Не станут, в обработке есть механизм обработки дублей, который работает так:
если какие-то номера в процессе перенумерации оказались неуникальными - то
- попытка вернуть обрабатываемым объектам их первоначальные "неуникальные" номера;
- если это не удается - присваивается вспомогательный номер вида "максимально возможный (99999) - позиция элемента в текущем списке".
Т.е. в любом случае но выходе получим разные номера :)
59. Евгений Григорьев (grigr) 206 04.09.13 23:13 Сейчас в теме
(56) AlexO, бывают всякие ситуации - алгоритм не совершенен и он дает иногда на один номер 2 элемента
если возникла такая ошибка, то транзакция упадет и часть справочника не будет перенумерована

а добить нулями иногда нужно именно без перенумервки
60. Алекс Ю (AlexO) 119 07.10.13 12:47 Сейчас в теме
(59) grigr,
а добить нулями иногда нужно именно без перенумервки

Отбора ВНУТРИ номеров все равно нет - велика вероятность, что попадет на существующий номер.
Кстати, видимо ошибка "Ошибка при выполнении процедуры ЗафиксироватьТранзакцию." обычно из-за попытки создать уже существующий номер.
Но, опять же, отключение контроля уникальности - не всегда избавит от кривых номеров.
Лучше так:
- перенумеровать с неким уникальным префиксов (например, "F")
- перенумеровать уже окончательно - все номера будут заранеее уникальны.
51. Галина Орехова (orehova123) 06.09.12 23:49 Сейчас в теме
плюсую! сохранение префиксов документов - как раз то, что нужно (оххх, когда же народ уйдет с 7.7? :) )
53. Алекс Ю (AlexO) 119 25.07.13 00:47 Сейчас в теме
Обработка весьма неплохая.
Немного разобрался и доработал.
Первое - пункт "Заменить у существующих префиксов на..." следует читать как "Заменить выбранную подстроку
в префиксах документов на введенную в поле "Строка префиксов документов"."
Разбил на транзакции по 100 элементов.
Флаг "Добить нулями" в исходной реализации не имеет смысла - если его отключить, то никакой перенумерации не будет вовсе.
Т.е. перенумерация заложена только с набиванием нулей перед числовой составляющей кода.
Оставьте свое сообщение