Обновление нумерации объекта

09.07.16

Задачи пользователя - Перенумераторы

Обработка для обновления нумераций/кодов объектов информационной базы

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Обновление нумерации объекта
.epf 10,33Kb ver:1.0.0.1
27 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Функциональные возможности:

  • Выбор объекта, у которого длина кода/номера отлична от нуля
  • Отключение контроля записи (ОбменДанными.Загрузка = Истина)
  • Выполнение обновления нумерации в одной транзакции
  • Присвоение префикса всем обновляемым объектам
  • Настройка произвольного отбора
  • Настройка произвольной сортировки

Принцип работы

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

Основной функционал обработки

МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПолноеИмяОбъекта);
ВидОбъекта        = СтрРазделить(ПолноеИмяОбъекта, ".")[0];
ПолеНомера        = ?(ВидОбъекта = "Документ" ИЛИ ВидОбъекта = "БизнесПроцесс" ИЛИ ВидОбъекта = "Задача", "Номер", "Код");
ФорматнаяСтрока   = "ЧЦ=" + (МетаданныеОбъекта["Длина" + ПолеНомера + "а"] - СтрДлина(Префикс)) + "; ЧВН=; ЧГ=0";

Если ВыполнитьВТранзакции Тогда
	НачатьТранзакцию();
КонецЕсли;

Попытка
	
	Номер = 0;
	Для Каждого ТекСтрока Из КоллекцияЗначений Цикл
		
		Номер = Номер + 1;
		
		Объект = ТекСтрока.Ссылка.ПолучитьОбъект();
		Объект[ПолеНомера] = Префикс + Формат(Номер, ФорматнаяСтрока);
		
		Если ОтключитьКонтрольЗаписи Тогда
			Объект.ОбменДанными.Загрузка = Истина;
		КонецЕсли;
		
		Объект.Записать();
		
	КонецЦикла;
	
	ОбновитьНумерациюОбъектов(МетаданныеОбъекта);
	
	Если ВыполнитьВТранзакции Тогда
		ЗафиксироватьТранзакцию();
	КонецЕсли;
	
Исключение
	
	Если ВыполнитьВТранзакции Тогда
		ОтменитьТранзакцию();
	КонецЕсли;
	
	СообщениеПользователю = Новый СообщениеПользователю;
	СообщениеПользователю.Текст = ОписаниеОшибки();
	СообщениеПользователю.Сообщить();
	
	Возврат Ложь;
	
КонецПопытки;
 
Все функциональные возможности, описанные выше, реализованы в прикрепленной обработке.

Вступайте в нашу телеграмм-группу Инфостарт

нумерация номер код

См. также

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

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

5591 руб.

11.02.2019    60553    452    195    

88

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Расширение для отображения в номере документа структурной единицы (склад/магазин/подразделение), к которой относится данный документ. Визуально по номеру документа легко понять, к какому складу/магазину/подразделению относится документ. Пользователь самостоятельно выбирает, в каких документах и по каким полям префикс нужно добавлять. Нумерация документов не участвующих в префиксации, не затрагивается!

6000 руб.

18.05.2022    13052    35    0    

29

Перенумераторы Бухгалтер Пользователь 1С 8.3 1С:Управление нашей фирмой 3.0 Россия Абонемент ($m)

Расширение, которое даёт возможность автоматически проставлять номера для счетов-фактур наподобие алгоритма БП. Если исправление или номер счета-фактуры отредактирован, префикс равен "И". Если корректировка, префикс равен "К". Если "Аванс, аванс комитента или корректировка аванса, префикс равен "А". В других случаях без префикса. Ведущие нули убираются.

3 стартмани

19.01.2026    119    0    user213093test    0    

1

Перенумераторы Бухгалтер Пользователь 1С 8.3 1С:Библиотека стандартных подсистем Абонемент ($m)

Расширение позволит автоматически исходя из настроек устанавливать префиксы у документов.

5 стартмани

15.01.2026    261    0    Rassel8911    0    

4

Перенумераторы Пользователь 1С 8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

Обработка для исправления ошибки «Значение поля номер не уникально» в 1С. Синхронизирует внутренний кэш нумератора с реальными данными в базе после ручного изменения номеров или восстановления из SQL.

1 стартмани

16.12.2025    507    2    d_shaymardanov    3    

2

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Абонемент ($m)

Расширение позволяет указывать произвольный префикс в номере счетов на оплату, а также выводить его на печать.

2 стартмани

05.11.2025    846    0    ipx    0    

1

Перенумераторы Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

1 стартмани

31.10.2025    933    4    InFlach    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. capitan 2552 09.07.16 19:11 Сейчас в теме
В обработке исключения отменять транзакцию уже бессмысленно, система ее отменит автоматически
И что будет если Префикс + Формат(Номер, ФорматнаяСтрока) выдаст номер который уже сть у объекта в базе ?
Как раз в исключение и вылетит обработка
2. stolya 3 10.07.16 12:06 Сейчас в теме
(1) capitan, неявное указание отмены транзакции (то как ты рекомендуешь) не считается правильным программированием, так как система будет ожидать либо команду зафиксирования транзации или команду отмены и если дойдя до конца обработчика не будет одной из двух команд, то система автоматически отменит транзакцию и освободит используемые ресурсы - в итоге не оптимальное использование ресурсов системы.
Другой аналогичный пример: в начале обработчика выполняется получение большой таблицы значений с сохранением ее в переменной для разового использования. Если после использования таблицы не очистить переменную, то данные таблицы будут храниться в памяти на протяжении всей обработки, что в свою очередь может повлечь превышения объема доступной оперативной памяти.
Исключение по уникальности номера можно отключить используя признак "Отключить контроль записи".
3. capitan 2552 13.07.16 10:15 Сейчас в теме
Внимательность мой друг
система ее отменит автоматически
Для отправки сообщения требуется регистрация/авторизация