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

09.07.16

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обновление нумерации объекта
.epf 10,33Kb ver:1.0.0.1
27
27 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

См. также

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

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

5500 руб.

11.02.2019    56712    438    195    

75

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

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

6000 руб.

18.05.2022    11656    30    0    

25

Перенумераторы Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

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

1 стартмани

11.04.2025    215    4    KVIKS    0    

1

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

Расширение для изменения префикса документов "Реализация товаров услуг" и "Счет-фактура выданный". Пример реализации данного функционала в расширении. Можно использовать свой алгоритм установки префикса в документах. В данном расширении используется в качестве префикса номер месяца.

2 стартмани

31.03.2025    243    0    protonfoton    0    

1

Перенумераторы Пользователь Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

26.03.2025    199    3    Ossepyan    0    

-1

Перенумераторы Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Обработка исправляет нумерацию документов в случае, если предыдущее значение поля «Номер» написано с нарушениями.

1 стартмани

24.03.2025    263    2    NVKom    1    

0

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

Возникают ситуации, когда бухгалтер в течение месяца создает счета-фактуры на реализации в начале или в середине месяца, и чтобы выровнять номера, сделана эта обработка.

3 стартмани

20.03.2025    273    1    VadimBruce    0    

1

Перенумераторы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Абонемент ($m)

Полезная внешняя обработка "Перенумерация документов", подходит для любой конфигурации на управляемых формах с БСП.

2 стартмани

14.03.2025    505    13    steaom    1    

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