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

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

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

// Заполняет значение реквизита дополнительного упорядочивания у объекта.
//
// Параметры:
//  Источник - Объект - записываемый объект;
//  Отказ    - Булево - признак отказа от записи объекта.
Процедура ЗаполнитьЗначениеРеквизитаУпорядочивания(Источник, Отказ) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда 
		Возврат; 
	КонецЕсли;
	
	// Если в обработчике был установлен отказ новый порядок не вычисляем.
	Если Отказ Тогда
		Возврат;
	КонецЕсли;
	
	Если СтандартныеПодсистемыСервер.ЭтоИдентификаторОбъектаМетаданных(Источник) Тогда
		Возврат;
	КонецЕсли;
	
	// Проверим, есть ли у объекта реквизит доп. упорядочивания.
	Информация = ПолучитьИнформациюДляПеремещения(Источник.Ссылка.Метаданные());
	Если Не УОбъектаЕстьРеквизитДопУпорядочивания(Источник, Информация) Тогда
		Возврат;
	КонецЕсли;
	
	// При переносе элемента в другую группу порядок переназначается.
	Если Информация.ЕстьРодитель И ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Источник.Ссылка, "Родитель") <> Источник.Родитель Тогда
		Источник.РеквизитДопУпорядочивания = 0;
	КонецЕсли;
	
	// Вычислим новое значение для порядка элемента.
	Если Источник.РеквизитДопУпорядочивания = 0 Тогда
		Источник.РеквизитДопУпорядочивания =
			НастройкаПорядкаЭлементовСлужебный.ПолучитьНовоеЗначениеРеквизитаДопУпорядочивания(
					Информация,
					?(Информация.ЕстьРодитель, Источник.Родитель, Неопределено),
					?(Информация.ЕстьВладелец, Источник.Владелец, Неопределено));
	КонецЕсли;
	
КонецПроцедуры

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

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

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

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

ЗаполнитьРеквизитыПоСКД (БСП)

ЗаполнитьЗначенияСвойствОбъекта (БСП)

ЗаполнитьТаблицуЗначений (БСП)