ПолучитьНовоеЗначениеРеквизитаДопУпорядочивания

Автор: 1С
ОбщийМодуль.НастройкаПорядкаЭлементовСлужебный
БСП

Возвращает значение реквизита доп. упорядочивания для нового объекта.

// Возвращает значение реквизита доп. упорядочивания для нового объекта.
//
// Параметры:
//  Информация - Структура - информация о метаданных объекта;
//  Родитель   - Ссылка    - ссылка на родителя объекта;
//  Владелец   - Ссылка    - ссылка на владельца объекта.
//
// Возвращаемое значение:
//  Число - значение реквизита доп. упорядочивания.
Функция ПолучитьНовоеЗначениеРеквизитаДопУпорядочивания(Информация, Родитель, Владелец) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос();
	
	УсловияЗапроса = Новый Массив;
	
	Если Информация.ЕстьРодитель Тогда
		УсловияЗапроса.Добавить("Таблица.Родитель = &Родитель");
		Запрос.УстановитьПараметр("Родитель", Родитель);
	КонецЕсли;
	
	Если Информация.ЕстьВладелец Тогда
		УсловияЗапроса.Добавить("Таблица.Владелец = &Владелец");
		Запрос.УстановитьПараметр("Владелец", Владелец);
	КонецЕсли;
	
	ДополнительныеУсловия = "ИСТИНА";
	Для Каждого Условие Из УсловияЗапроса Цикл
		ДополнительныеУсловия = ДополнительныеУсловия + " И " + Условие;
	КонецЦикла;
	
	ТекстЗапроса =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Таблица.РеквизитДопУпорядочивания КАК РеквизитДопУпорядочивания
	|ИЗ
	|	&Таблица КАК Таблица
	|ГДЕ
	|	&ДополнительныеУсловия
	|
	|УПОРЯДОЧИТЬ ПО
	|	РеквизитДопУпорядочивания УБЫВ";
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&Таблица", Информация.ПолноеИмя);
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ДополнительныеУсловия", ДополнительныеУсловия);
	
	Запрос.Текст = ТекстЗапроса;
	
	Выборка = Запрос.Выполнить().Выбрать();
	Выборка.Следующий();
	
	Возврат ?(Не ЗначениеЗаполнено(Выборка.РеквизитДопУпорядочивания), 1, Выборка.РеквизитДопУпорядочивания + 1);
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз

Похожие публикации

ЗаполнитьЗначениеРеквизитаУпорядочивания (БСП)

СброситьЗначениеРеквизитаУпорядочивания (БСП)

ПолучитьЗначениеРеквизитаПредмета (БСП)

ИспользоватьДопРеквизиты (БСП)

ПолучитьРеквизитФормыПоПути (БСП)