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

09.07.16

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

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

Файлы

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

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

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

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

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

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • Поиск от одного разработчика до ИТ-команд под проект.
  • Обмен любыми контактами разрешён.
  • 0% комиссии, допускаются расчёты напрямую.

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

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

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

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

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

МетаданныеОбъекта = Метаданные.НайтиПоПолномуИмени(ПолноеИмяОбъекта);
ВидОбъекта        = СтрРазделить(ПолноеИмяОбъекта, ".")[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 Россия Платные (руб)

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

6000 руб.

11.02.2019    61917    465    198    

99

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

Расширение, которое даёт возможность вести внутренние складские документы с единой нумерацией.

1 стартмани

23.03.2026    331    0    user213093test    0    

2

Перенумераторы Программист Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Бухгалтерский учет НДС Абонемент ($m)

Расширение предназначено для кастомизации формата отображения номеров документов при печати в конфигурации "Бухгалтерия предприятия 3.0". Реализует гибкие правила преобразования номеров документов перед выводом на печатные формы.

1 стартмани

26.01.2026    467    3    buger68    4    

1

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

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

3 стартмани

19.01.2026    564    8    user213093test    0    

2

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

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

5 стартмани

15.01.2026    880    3    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    1031    10    d_shaymardanov    6    

3

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

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

2 стартмани

05.11.2025    1230    1    ipx    0    

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