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

Опубликовал Сергей Наркелюн (snarkelun) в раздел Обработки - Обработка документов

Обработки позволяют перенумеровать Справочники или Документы с выбором шаблона нумерации
(Очень полезно когда сбивается автоматическая нумерация, при ошибках пользователей)
1. Обработка позволяет Перенумеровать выбранный вид документа за период
2. Обработка позволяет Перенумеровать выбранный вид справочника
(Очень полезно когда сбивается автоматическая нумерация, при ошибках пользователей)

Если понравилось не забывайте поставить плюсик.
Благодарность можно выразить также взносом на рублевый кошелек WebMoney R113239341929 или Яндекс.Деньги 41001157467930 (через платежный терминал, например...)

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

Наименование Файл Версия Размер
ПеренумерацияДокументовиСправочников.zip
.1186323662 18,34Kb
25.09.09
1522
.1186323662 18,34Kb 1522 Бесплатно

См. также

Добавить вознаграждение
Комментарии
1. Сhe Burashka (CheBurator) 06.08.07 00:59 Сейчас в теме
Чем лучше штатной обработки, размещаемой на дисках ИТС?
2. Сергей Наркелюн (snarkelun) 252 07.08.07 10:01 Сейчас в теме
Во-первых можно выбрать какой вид документа или справочника перенумеровывать
(выбирается в форме, а не передается параметром).
Во-вторых для документов выбирается период за который перенумеровывать.
В-третьих выполняется в десятки раз быстрее.
В-четвертых можно указать количество разрядов номера (шаблон для текстовых номеров).
3. Дима (easy_dee) 17.08.07 11:21 Сейчас в теме
спасибо, за обработку....)))
4. Сhe Burashka (CheBurator) 07.09.07 12:37 Сейчас в теме
(2)
1. ну и что? преимущество сомнительное...
2. а если мешающий номер будет лежать вне заданного периода - что будет в случае "нарушения уникальности"?
3. это надо проверить..
4. это да, может пригодится... но тоже сомнительно...
5. Сhe Burashka (CheBurator) 07.09.07 12:39 Сейчас в теме
ТипНомера = СокрЛП(Метаданные.Справочник(ВидСправочника).ТипНомера);
{C:\ПЕРЕНУМЕРАЦИЯДОКУМЕНТОВИСПРАВОЧНИКОВ\ПЕРЕНУМЕРАЦИЯСПРАВОЧНИ­КОВ000000.ERT(37)}: Поле агрегатного объекта не обнаружено (ТипНомера)
6. Esperance (Esperance) 20.10.07 15:48 Сейчас в теме
Ответ Сhe Burashke: в модуле вместо указанной строчки написала ТипНомера= "Текстовый"; и все работает, автору спасибо большое!
7. Сhe Burashka (CheBurator) 20.10.07 23:24 Сейчас в теме
8. Poppy (poppy) 3297 21.10.07 01:07 Сейчас в теме
(6)
Esperance, на справочнике с числовым кодом и выбраным префиксом проверяла?

У O-Planet'а в похожей ситуации аналогичная обработка вообще подвисает.
9. Аркадий Кучер (Abadonna) 3653 21.10.07 04:38 Сейчас в теме
>ТипНомера = СокрЛП(Метаданные.Справочник(ВидСправочника).ТипНомера);
Вредный ты, Чебур ;) Описка у автора, полагаю...
Надо
ТипНомера = СокрЛП(Метаданные.Справочник(ВидСправочника).ТипКода);
>в модуле вместо указанной строчки написала ТипНомера= "Текстовый"; и все работает, автору спасибо большое!
Да уж... А в следующий раз ТипНомера= "Числовой" писать будешь?
kulkrise; +1 Ответить
10. Аркадий Кучер (Abadonna) 3653 21.10.07 05:00 Сейчас в теме
Код
Процедура ПриСменеВидаСправочника()
   //............................
       ТипНомера = СокрЛП(Метаданные.Справочник(ВидСправочника).ТипКода); 
   Если  ТипНомера="Числовой" Тогда
      Форма.ПрефиксШаблона.Доступность(0);
      ПрефиксШаблона="";
   КонецЕсли;
       //...............................
КонецПроцедуры   
Показать полностью

Вот так надо, во избежание...
11. Аркадий Кучер (Abadonna) 3653 21.10.07 05:08 Сейчас в теме
(10) Сам чуток лопухнулся.. :)
Код
Если  ТипНомера="Числовой" Тогда
      Форма.ПрефиксШаблона.Доступность(0);
      ПрефиксШаблона="";    
   Иначе
      Форма.ПрефиксШаблона.Доступность(1);
КонецЕсли;
Показать полностью

И на фига мне последовательность справочников, как они в конфе идут? Неудобно!
Надо добавить: ВидыСпр.Сортировать();

snarkelun; +1 Ответить
12. Сhe Burashka (CheBurator) 21.10.07 14:52 Сейчас в теме
я не вредный, я - дотошный.. это значит до тошноты вредный...
13. Сергей Наркелюн (snarkelun) 252 22.10.07 05:29 Сейчас в теме
Исправлены ошибки, учтены пожелания.
Особые благодарности Abadonna +1, Сhe Burashka (я тоже ДоТошный).
14. Сергей Наркелюн (snarkelun) 252 22.10.07 06:07 Сейчас в теме
(4)
Если мешающий номер будет лежать вне заданного периода: две возможности 1) расширить период, 2) номер будет пропущен
15. Poppy (poppy) 3297 23.10.07 08:43 Сейчас в теме
Хороший алгоритм перенумерации. Однако, при определенных исходных данных можно получит ошибку:
ДокуменДляПеренумерации.Записать();
{С:\ПЕРЕНУМЕРАЦИЯДОКУМЕНТОВ.ERT(234)}: Номер не уникальный!

Например. В выбранном периоде имеется 7 документов. Исходные номера - с префиксами. Задаем префикс = "1", длина шаблона = 1.
16. Poppy (poppy) 3297 23.10.07 22:52 Сейчас в теме
(12)
> я не вредный, я - дотошный.. это значит до тошноты вредный...

- это что за клоун?
- местный, говорит мудила-страшный...
- страшный? ты сказал страшный? меня зовут страшила-мудрый, однако! живу в подводном посёлке, в оленеводческом совхозе...
(с) Гоблин (Буря в стакане)

Извини, навеяло... ;)
17. Сергей Наркелюн (snarkelun) 252 24.10.07 06:55 Сейчас в теме
Добавлена проверка на правильность шаблона.
Плюс некоторые внешние усовершенствования.
18. Михаил Семенов (Shaman100M) 1175 24.10.07 09:07 Сейчас в теме
Есть пара вопросов.
Вид документа, имеющий ссылку на общий нумератор нескольких видов, похоже, не сможет перенумероваться?

Функция ПроверкаВЗаблокированныхДокументах() поиск номера осуществлен перебором списка. Имхо, лучше обрезать пробелы в значениях в списке сразу и использовать НайтиЗначение(). Еще метода, - на порядок быстрее будет искать в строке, сделав предварительно ВСтрокуСРазделителями().
19. Magus (magus) 24.10.07 14:32 Сейчас в теме
На поле ввода ПрефиксШаблона логичнее повесить процеудру ПроверкаПравильностиШаблона(), но не ПриВводеДлинаШаблона()

Кнопки Закрыть() не хватает.
20. Magus (magus) 24.10.07 14:36 Сейчас в теме
Еще предложение. Вместо кода
Код
   Синоним = СокрЛП(Метаданные.Документ(Индекс).Синоним);
   Идентиф = СокрЛП(Метаданные.Документ(Индекс).Идентификатор);
   Если Синоним="" Тогда
      Синоним = Идентиф;
   КонецЕсли;   
Показать полностью

Можно написать:
Код
   Синоним = СокрЛП(Метаданные.Документ(Индекс).Представление());
   Идентиф = СокрЛП(Метаданные.Документ(Индекс).Идентификатор);
Показать полностью
21. Magus (magus) 24.10.07 14:46 Сейчас в теме
По какому признаку были выбраны недопустимые симовлы?

Проверка шаблона нужна только для предупреждения пользователя или для его ограничения?

Если перед шаблоном поставить пробелы, то проверка незаметит запрещенные символы. Например шаблон "~" проверку не пройдет, но " ~" пройдет успешно.
22. Poppy (poppy) 3297 25.10.07 19:19 Сейчас в теме
(17)
> Добавлена проверка на правильность шаблона.

Бяка. Стало хуже. ИМХО неоправданные ограничения для получения сомнительного результата.
23. Anton905 (anton905) 08.01.08 22:03 Сейчас в теме
Спасибо! помогло - времени нет и эта обработка очень кстати!!
24. shard (shard) 242 15.02.08 12:12 Сейчас в теме
а в чем отличие по функционалу от стандартного комплекса обработок UChoice?
26. гр534 (rabanik) 25.03.08 00:35 Сейчас в теме
Спасибо ОГРОМНОЕ очень помогла!!!!!
27. Александр (karbofos) 29.04.08 18:56 Сейчас в теме
Пришлась оченьно к стати. Самому было лениво писать. А юэеры такого понаписали за то время пока я в отпуске был.
В общем Спасибо.
28. GSoft. (GSoft) 2778 07.08.08 16:00 Сейчас в теме
спасибо за лелеяние моей лени )))))
29. cheri (cheri) 26.11.08 12:39 Сейчас в теме
Спасибо огромное!!! Прекратились мои мучения по перенумерации вручную.
30. Денис Воробьев (Мартовский_котя) 24.02.09 18:32 Сейчас в теме
надо добавить фирму.... в перенумерцию по документам у многих на разные фирмы разные префиксы и разные номера а он зараза их под одну греьенку
31. Максим (NaidaM) 25.04.09 11:07 Сейчас в теме
Очень удобная обработка...
афтару +1
32. Константин Исиченко (IsiKosta) 693 24.09.10 10:01 Сейчас в теме
Отсортируйте список видов, добавьте описание. Плюсую.
33. Людмила Кононова (vilkomaudit) 21.11.10 01:24 Сейчас в теме
Извините, а я могу такую обработку по перенумерации рко и пко получить, очень нужно... :)
34. Егор Киреев (po.l.i) 20.01.11 15:36 Сейчас в теме
почему-то при перенумерации в документе количество символов в номере 7
у себя я поправил так:
// Для КолвоЗнаков = 1 По ДлинаШаблона-СтрДлина(СокрЛП(ПрефиксШаблона))-СтрДлина(Строка(МаксНомер)) Цикл
Для КолвоЗнаков = 1 По ДлинаШаблона-СтрДлина(Строка(МаксНомер)) Цикл
35. Александр Зайцев (Сашулик) 10.03.11 18:06 Сейчас в теме
В свете Украинских изменений в налоговом законодательстве-хорошая обработка плюсую однозначно!
36. Ольга Кузнецова (Tristania) 21.09.11 09:40 Сейчас в теме
37. Mac RR (NewYork) 03.10.11 00:34 Сейчас в теме
мнее подошло за что автору спасибо) конечно давняя обработка но сработала)
38. Markin (Markin) 06.10.11 12:49 Сейчас в теме
39. dgamelya (revril) 20.10.11 11:29 Сейчас в теме
спасибо))очень пригодилась))
40. Александр Лыткин (TrinitronOTV) 27.10.11 15:03 Сейчас в теме
dgamelya пишет:

спасибо))очень пригодилась))

я тоже присоединяюсь....
41. Тимур (tgnike) 08.11.11 12:32 Сейчас в теме
42. Max (mkobzancev) 1 12.12.11 19:12 Сейчас в теме
43. Елена (m-xolding) 26.01.12 12:06 Сейчас в теме
Спасибо автору! Очень удобно, если документы вводятся не по порядку по датам, можно в любой момент, в пределах отчета, перенумеровать. За исключением уже выписанных документов для клиентов.
44. Константин Коробов (MoonAriman) 27.01.12 16:46 Сейчас в теме
Что-то я не понимаю... Максимальная длина кода справочника - 8, а он дает с учетом префикса сделать максимум 7. Разряд теряет, что меня совсем не устраивает. Но за скорость работы - плюс.