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