gifts2017

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

Опубликовал Маха (ОбнажЁнная_Маха) в раздел Обработки - Обработка справочников

Очередная вариация на тему перенумерации элементов произвольного справочника с оригинальным дизайном ;))

Обработка перенумеровывает элементы произвольного справочника.
Уникальность кода гарантирована.
Код естественно не запаролен (в силу своей чрезвычайной простоты), если кому надо - пользуйтесь!!

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

Наименование Файл Версия Размер
Renumber (изд. 2, дораб. и испр.) 1118
.1211827132 73,69Kb
20.03.13
1118
.1211827132 73,69Kb Бесплатно

См. также

Contragent+ 5.0 от 2 500
Подписаться Добавить вознаграждение
Комментарии
1. cs25 (cs25) 27.05.08 10:29
Не Даная ... Но всё равно плюсик ! Главное - девушке приятно. :-)
2. Аркадий Кучер (Abadonna) 27.05.08 11:03
>"плюсаните" рейтинг
Обнажись махом - плюсану :))))))))))
3. VasilyKushnir (vasilykushnir) 27.05.08 11:05
(2) Она уже обнаженная Махом....
4. skorobogatko1 (Skorobogatko1) 27.05.08 12:06
Ну очень творческий подход к программированию :))))
Прикольно!!!
5. Андрей Скляров (coder1cv8) 27.05.08 12:16
Маха, почему опять без картинок? Как посмотреть "оригинальный дизайн" не скачивая?...
6. Маха (ОбнажЁнная_Маха) 27.05.08 12:53
coder1cv8, ну если я выложу скриншот - никакого же сюрприза не будет! Никакой интриги!... ;)
7. VasilyKushnir (vasilykushnir) 27.05.08 13:12
(6) Правильно - у женщины всегда должна быть загадка.
8. Сhe Burashka (CheBurator) 27.05.08 14:47
Е-мае!
А на 7-ке я остался без сюрприза....
9. VasilyKushnir (vasilykushnir) 27.05.08 15:49
(8) Аналогично... Затр сделал девушке приятно...
10. VasilyKushnir (vasilykushnir) 27.05.08 15:50
11. Аркадий Кучер (Abadonna) 27.05.08 15:59
(10) Ой, чую, под ""затр" вовсе не "зато" подразумевалось ;) А то я Кушнира не знаю :-P
12. Аркадий Кучер (Abadonna) 27.05.08 16:14
Ну а что? Если бы еще свою фотку на форму кинула, можно было бы и два плюсика поставить ;)
13. VasilyKushnir (vasilykushnir) 27.05.08 16:19
(11) Чисто на автомате оговорился...
14. Аркадий Кучер (Abadonna) 27.05.08 16:22
15. VasilyKushnir (vasilykushnir) 27.05.08 16:30
(12) Да еще в виде, соответствующем нику... (я аж замурлыкал...)
16. vip (vip) 27.05.08 16:38
Развеселились, старые пердуны :)))
17. Аркадий Кучер (Abadonna) 27.05.08 16:41
Гойя в 1С - круто ;)
aleks_cons; +1 Ответить
18. Аркадий Кучер (Abadonna) 27.05.08 16:46
(16) можно подумать он - пердун молодой ;)))))))))))
vasilykushnir; +1 Ответить
19. isn Игнатьев (isn) 28.05.08 06:55
не работает. при тестовой перенумерации справочника. когда в списке 1 элемент и он номером отличным от 000001. обработка стирает номер и не присваевает другой
20. VasilyKushnir (vasilykushnir) 28.05.08 08:45
(19) Да что ты - работает/неработает.... Видишь - здесь совсем другие проблемы решаются: всем вдруг захотелось обнажить Маху.
Шутка конечно.(без обид).
А если серъезно - разве код закрыт? религия не позволяет его подшаманить? Или жди, когда Маха подправит.
21. Маха (ОбнажЁнная_Маха) 29.05.08 08:04
(19) Если имеется ввиду, что обработка стирает номер и ПРИСВАИВАЕТ нулевой, тогда так и должно быть (согласно моему гениальному замыслу :D).
Но есть там одна недоработка.... В форматную строку "ЧН = '0'" надо дописать, тогда правильнее будет работать ;)
22. Маха (ОбнажЁнная_Маха) 29.05.08 08:32
Эта недоработка, кстати, исправлена, файл обновлен :)
23. Николай (Father) 05.06.08 18:46
Маха, простите пожалуйста, минусанул случайно.... ээээххх....
24. Аркадий Кучер (Abadonna) 05.06.08 18:49
25. Николай (Father) 06.06.08 12:05
Афигеть, не знал, что можно переголосовать =)
Позор мне.....
26. Poppy (poppy) 10.06.08 06:00
> Уникальность кода гарантирована, если в справочнике нет элементов,
> код которых содержит какие-либо символы (не буквы и не цифры :) ).

Уникальность не гарантирована, даже если в коде используются только цифры... :(
27. Маха (ОбнажЁнная_Маха) 10.06.08 09:47
(26) Позвольте вам не поверить. Уникальность кода гарантирована, если используются только цифры. По другому в силу используемого алгоритма быть не может...
28. Poppy (poppy) 10.06.08 23:48
(27)
> Позвольте вам не поверить. Уникальность кода
> гарантирована, если используются только цифры.

Ну-ну... Возьми любой справочник с двумя элементами. У одного элемента код "0". У другого - "00000000" (количество нулей = длине кода). Чем не цифры?

> По другому в силу используемого алгоритма быть не может...

Ты выполняла верификацию своего алгоритма, чтоб так утверждать?
29. Аркадий Кучер (Abadonna) 11.06.08 01:22
(27) Мария, с кем угодно можешь спорить, только не с poppy ;) Она всегда права
30. Олег Пономаренко (O-Planet) 11.06.08 05:31
Жесть какая-то... Даж Чебурашка очарованию поддался и молчит. Все знают его особый интерес к разным перенумерациям...

Но, по делу... Алгоритм не понравился. Посколько разработка сравнительно простая, то должна просто блистать оптимальностью. То, что Счетчик1 не используется - это чтобы врагов запутать? И ни что не мешает обойтись без запроса...

Оформление - тоже не понравилось. Все должно быть в тему. Если интересен пример идиально-оригинального оформления обработки, то воть: http://infostart.ru/projects/454/ ;)

poppy, все решается просто:

Код
Пока Истина Цикл
  Попытка
    ЭлементСправочника.Код = ... ;
    Прервать;
  Исключение
    Счетчик=Счетчик+1;
  КонецПопытка
КонецЦикла;
Показать полностью


Кстати, дополнение очень правильное. У меня у клиентов часто бывают товары с кодом по 6, 7 и 8 символов.

ПС Так вот простые обработки тут выкладывать! ;)

31. Олег Пономаренко (O-Planet) 11.06.08 05:46
... а вот еще пример "оформления". Почти Гойя ;)

http://webfile.ru/2014539

ПС по определенным причинам, выложить ЭТО сюда не могу...
32. Poppy (poppy) 11.06.08 10:42
(30)
> poppy, все решается просто:

Спасибо, Планет, я в курсе. Только ты неправильно код написал. Внутри попытки должна быть запись элемента, но не только присваивание кода.

Я пользуюсь почти штатной обработкой с диска ИТС. Она работет практически на всем наборе исходных данных и в меру универсальная.
Поэтому, кустарные перенумераторы, рассматриваю как попытку авторов научиться составлять изощренные алгоритмы. И обсуждать их со своими коллегами.

На сайте полно перенумераторов, но ни один из них толком не работает. :(
33. Маха (ОбнажЁнная_Маха) 11.06.08 11:01
(31) да уж, и правда почти Гойя.... :)
34. Олег Пономаренко (O-Planet) 11.06.08 13:31
(32)
поскольку писалось в 6 утра, то можно сказать, что оно - правильно.
35. Маха (ОбнажЁнная_Маха) 11.06.08 21:35
(30) у каждого, конечно, свой вкус... но на мой взгляд ДОМ 2 - это что-то за гранью добра и зла, и уж точно за гранью разумного :) и не совсем понятно - почему сие порождение темных сил более уместно в какой-либо обработке, чем бессмертное творение великого испанца... он, кстати, бедненький, в гробу, наверное, переворачивается... :(
36. Маха (ОбнажЁнная_Маха) 11.06.08 21:46
(27) хорошо, убедили. Однако такая ситуация возникает только если в кодах двух или более элементов одни нули. Интуиция и здравый смысл подсказывают, что подобные случаи возникают достаточно редко (сказала бы даже - очень редко, вероятность их возникновения, очевидно, близка к нулю...).
Ну, будем считать, что уникальность кода гарантирована на 99,99% (если в справочнике нет элементов, код которых содержит какие-либо символы).

(30) и (32) изменение полезное в том отношении, что выполнение обработки не прерывается. Однако при таком коде не все элементы перенумеровываются... (опять таки, только в случае, описанном poppy; в остальных все происходит правильно и без изменений в коде).

ЗЫ кстати, О-Планет, счетчик1 используется, это вы зря... :)
37. Владимир (hogik) 11.06.08 22:05
А в каких случаях требуется “перенумерация” элементов справочника?
38. Олег Пономаренко (O-Planet) 11.06.08 23:41
(37) Когда мат уже не помогает...

(36) >> счетчик1 используется
не нашел :( 6 утра...
39. Владимир (hogik) 12.06.08 00:05
(38)
Не про мат, а про “перенумерацию”.
Долго пытался вспомнить в своем 35 летнем пребывании около АСУпа такой случай – не вспомнил. Склероз… :-(((
40. Poppy (poppy) 12.06.08 12:30
(30)
> То, что Счетчик1 не используется - это чтобы врагов запутать?

Похоже, что запутала... ;-)
Вероятно, Маха не подозревает о существовании цикла "ДЛЯ".

Код
      Строка = "";
      Для Cчетчик1 = 1 По Справочник.Метаданные().ДлинаКода Цикл
         Cтрока = Cтрока + "0";
      КонецЦикла;
Показать полностью
41. Маха (ОбнажЁнная_Маха) 12.06.08 12:56
(40) оба варианта - и мой, и ваш, имеют право на существование. В данном случае никаких преимуществ одного варианта перед другим нет.
42. Poppy (poppy) 12.06.08 17:01
(41)
Точно!

Еще можно так написать:
Код
      Строка = "";
      Счетчик1 = 1;
   ~М1: 
      Cтрока = Cтрока + "0";
      Cчетчик1 = Cчетчик1 + 1;
      Если Cчетчик1 <= Справочник.Метаданные().ДлинаКода Тогда
         Перейти ~М1;
      КонецЕсли;
Показать полностью


Но, я бы написала:
Cтрока = "00...всего тридцать восемь нулей...00";
Так букавак и строк меньше.
43. Олег Пономаренко (O-Planet) 14.06.08 23:08
Poppy, любишь погорячее? Тогда уж так:

Код
Функция СтрокаКод(Сч,Справочник)
  Возврат ?(СтрДлина(Строка(Сч))<Справочник.Метаданные().ДлинаКода,СтрокаКод("0"+Сч,Справочник),Сч);
КонецФункции
Показать полностью

44. Олег Пономаренко (O-Planet) 14.06.08 23:21
Нет, девушки, вы мне объясните, нупу, популярно, для поднятия уровня общего развития: зачем вообще это делать в любой интерпретации?

Код
Строка = "";
счетчик1 = 1;
Пока счетчик1 <= Справочник.Метаданные().ДлинаКода-1 цикл
  строка = строка + "0";
  счетчик1 = счетчик1 + 1;
КонецЦикла;
Показать полностью


Что мешает просто вот так написать:

ЭлементСправочника.Код = Прав(("0000000000000000000000000000000000" + Строка(Формат(счетчик, "ЧГ = 0; ЧН = '0'"))), (Справочник.Метаданные().ДлинаКода));
45. Олег Пономаренко (O-Planet) 14.06.08 23:25
А! О!!! Об этом уже писалось в (42)...
46. Маха (ОбнажЁнная_Маха) 15.06.08 11:21
(42), (44) а если длина кода все-таки окажется больше???? например, 100? :))))
47. Poppy (poppy) 15.06.08 12:40
(46)
Не, 100 - не окажется, максимум - 50. Поэтому в (42) и (44) должно быть по пятьдесят нулей в строке.

(43)
Люблю погорячее. Хороший вариант. К счастью, в практическом программировании, рекурсия используется редко...
48. Poppy (poppy) 20.06.08 00:55
(36)
> Однако такая ситуация возникает только если в кодах двух или более
> элементов одни нули. Интуиция и здравый смысл подсказывают, что подобные случаи
> возникают достаточно редко (сказала бы даже - очень редко, вероятность их
> возникновения, очевидно, близка к нулю...).
> Ну, будем считать, что уникальность кода гарантирована на 99,99%

У блондинки спрашивают:
- какова вероятность встретить живого динозавра на улице?
- 50%
- почему?
- я его либо встречу, либо не встречу...


Имхо при работе с конечным пользователем, очевидность не так очевидна, как кажется. А интуиция и здравый смысл стоят в сторонке и нервно курят. ;)

> Уникальность кода гарантирована.

Во втором издании уникальность гарантирована скорее платформой. Просто обработка перестала вываливаться в ошибку.
Однако, последовательность нумерации не гарантирована даже на множестве чисел, хотя такое ограничение изъято из описания...?

> Код естественно не запаролен (в силу своей чрезвычайной простоты)

Во втором издании код стал не такой простой и однозначный, лучшеб он был запоролен...
49. Олег Пономаренко (O-Planet) 20.06.08 02:26
Кстати, ни кто не задумывался о том, насколько замедляется работа цикла при дерганьи индикатора на каждой итерации? ;)
50. Маха (ОбнажЁнная_Маха) 20.06.08 12:44
(48)
>Во втором издании уникальность гарантирована скорее платформой. Просто обработка перестала вываливаться в ошибку.
>Однако, последовательность нумерации не гарантирована даже на множестве чисел, хотя такое ограничение изъято из описания...?

Потому и изъято, что во втором издании последовательность и уникальность гарантирована.

А что до динозавров - так по большому счету вероятность любого события равна 50% :))))
51. Маха (ОбнажЁнная_Маха) 20.06.08 12:47
А что до юмора о блондинках - так мир все равно вертится вокруг них. Хотя бы потому, что не существует даже юмора "про брюнеток", или "про рыжих"...) ;))
(именно поэтому, чтобы вкрутить лампочку, нужна всего одна блондинка - в то время как программистов нужно целых пять! :))
52. Poppy (poppy) 20.06.08 23:18
(50)
> Потому и изъято, что во втором издании последовательность
> и уникальность гарантирована.

Я не смогла обнаружить ни один справочник в типовой демо-бухгалтерии 1.6, c которым смогла бы справиться обработка.
Это так и должно быть?

> А что до юмора о блондинках - так мир все равно вертится вокруг них.

Я бы сказала - вокруг нас с тобой.
53. Олег Пономаренко (O-Planet) 21.06.08 06:51
>> А что до юмора о блондинках - так мир все равно вертится вокруг них.
>> Я бы сказала - вокруг нас с тобой.
Возможно, в данный момент вы просто сидите с ноутбуками на каруселе...

Как можно стоить отношения с блондинкой? Она - впечатлительна, ранима, боится кошек и мышей, считает, что умеет хорошо готовить, и может просто взять и потолстеть ради прикола, а через месяц снова стать прежней. Похоже, это блондинок особо забавляет. Блондинка может просто взять и отключиться, задумавшись о чем-то своем, и тогда к ней не пробьешься и пушками. Она может прохохотать весь вечер в компании, а потом признаться, что ей там было скучно. Но по большому счету, она не умеет скрывать чувства. Если в ней и есть рациональное зерно, то оно спрятано очень глубоко. Я встречал, пожалуй, лишь одну или двух блондинок, которые заставляли меня ими восхищаться. Остальные - симпотичные, оригинальные, неповторимые, милые, но лучше, чтобы это было где-то далеко... Короче, все боятся блондинок! :)
54. Вадим 1С911.BY (Вадимко) 23.06.08 18:48
55. Олег (Punisher) 25.06.08 17:15
Млин файл не открылся. Надо... надо переходить на 8.1 :)
56. Lochness ЛохНесс (ЛохНесс) 27.06.08 01:35
Ого!
Щас так модно? Выкладывать неработающие разработки? Песец! :(

Интересно, за что голосовали восемьдесят лузеров? За то, чтобы Маха публично обнажилась? Или за то что она позировала известному художнику?
57. Poppy (poppy) 29.06.08 04:03
(53)
> Возможно, в данный момент вы просто сидите с ноутбуками на каруселе...

Иногда сидим с ноутбуками, иногда - в карусели.
Все в мире относительно. Смотря какую систему координат взять за основу.

Все видят, что солнце вертится вокруг земли, но никто не осмелится оспорить обратное. ;)

> Я встречал, пожалуй, лишь одну или двух блондинок, которые заставляли меня ими восхищаться.

Таже фигня. Я встречала лишь трех-четырех грамотных бухгалтеров. Остальные (бухгалтеры) - ну полные блондинки. ;)
sotransa; +1 Ответить
58. Maljaev (maljaev) 03.09.08 14:17
Я в шоке... Теперь понимаю почему Abadonna положил свой ... на все это дело.
59. Александр Кузин (sashocq) 02.10.08 18:04
Алгоритм - пипец! Жаль, не хватает рейтинга минусануть
60. Мастер Йода (master_yoda) 22.01.09 10:09
я бы тоже минусанул за такое исполнение
61. bvv003 (bvv003) 14.05.09 23:29
62. Алексей Дёмин (Phantomo) 30.06.09 16:10
Код потряс. Кто-то выше писал, что лучше он бы был запоролен и я с ним полностью согласен. К тому же не учтена возможность ведения префиксации справочников. При таком подходе вся нумерация слетит, а если она достаточно сложная (у меня префикс строится из кода узла РИБ и префикса организации), то можно попрощаться с хоть
какой-либо информативностью.
63. Sergey (Mayak) 17.09.10 14:15
Что б перенумеровать справочник, пришлось раз 10-15 запустить обработку. Т.е. обработка не доработана.
64. Ярослав Радкевич (WKBAPKA) 24.01.11 23:04
кошмар... 183 плюса... правду женщины говорят, что над мужиком, при виде голой женщины, контроль имеет явно не та голова!
65. Сергей Ожерельев (Поручик) 05.02.11 22:56
Иппическая сила, отсыпте травки, кто плюсовал..
66. Александр Серяков (dgeday) 28.05.11 22:09
Что-то обработочка не подошла, :D но за оригинальность +
67. flaks Данилова (flaks) 20.09.11 23:32
Не думала, что понадобится, но пригодилась. Оказывается какие только номера не присваивают бухгалтера бедным контрагентам
68. Andre Skorik (SkorikA) 30.09.11 07:34
69. Юрий (forurchik) 03.10.11 16:49
ОТличная мне очень понравилось. большое спасибо
70. Диана (Epic_Fail) 05.10.11 18:11
Большое спасибо! В своё время очень даже помогло ))))
72. Илья Миннулин (Bomba1911) 27.02.12 12:11
ОТличная мне очень понравилось. большое спасибо
73. Татьяна Малова (tanya1605) 15.03.12 16:55
мне так хочется иметь такую обработку, но нет пока возможности скачать с сайта, пожалуйста, пришлите на почту tanya160577@mail.ru/ спасибо!!!
74. Анна (akozhuhova) 10.04.12 10:40
Спасибо. Необходимо было срочно перенумерацию сделать, а писать было неохото и некогда. Возпользовалась вашей.
75. Дмитрий Алекперов (dddimmm) 04.12.13 19:34
стоит 1С 8.2
"Управление торговлей", редакция 10.3 (10.3.26.1)

в базе только справочники перенесенные из 7.7
в справочнике Номенклатура в поле Код у элементов могут быть пробелы и точки, данная обработка не справляется, посоветуйте может есть другие варианты?
76. Тагир Кузбеков (TIGER1991) 16.04.15 10:24