Получить новый номер для сканирования. Возвращает номер по нарастанию. Предыдущее значение берется из регистра сведений НомераОтсканированныхФайлов.
// Возвращает номер по нарастанию. Предыдущее значение берется из регистра сведений НомераОтсканированныхФайлов.
// Параметры:
// Владелец - ЛюбаяСсылка - владелец файла.
//
// Возвращаемое значение:
// Число - новый номер для сканирования.
//
Функция ПолучитьНовыйНомерДляСканирования(Владелец) Экспорт
// Подготовить структуру отбора по измерениям.
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("Владелец", Владелец);
НачатьТранзакцию();
Попытка
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрСведений.НомераОтсканированныхФайлов");
ЭлементБлокировки.УстановитьЗначение("Владелец", Владелец);
Блокировка.Заблокировать();
// Получить структуру с данными ресурсов записи.
СтруктураРесурсов = РегистрыСведений.НомераОтсканированныхФайлов.Получить(СтруктураОтбора);
// Получить максимальный номер из регистра.
Номер = СтруктураРесурсов.Номер;
Номер = Номер + 1; // увеличим на 1
УстановитьОтключениеБезопасногоРежима(Истина);
УстановитьПривилегированныйРежим(Истина);
// Запишем новый номер в регистр.
НаборЗаписей = РегистрыСведений.НомераОтсканированныхФайлов.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Владелец.Установить(Владелец);
НоваяЗапись = НаборЗаписей.Добавить();
НоваяЗапись.Владелец = Владелец;
НоваяЗапись.Номер = Номер;
НаборЗаписей.Записать();
УстановитьПривилегированныйРежим(Ложь);
УстановитьОтключениеБезопасногоРежима(Ложь);
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
Возврат Номер;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ЗанестиМаксимальныйНомерДляСканирования (БСП)
ПолучитьОчереднойИдентификаторОбъекта (БСП)
ПолучитьНовоеЗначениеРеквизитаДопУпорядочивания (БСП)
ПоказатьВопросУстановкиКомпонентыСканирования (БСП)
ОткрытьФормуНастройкиСканированияЗавершение (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)