ЗаменитьСсылкиНаПредопределенныеЭлементы (БСП)

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

Заменить ссылки на предопределенные элементы.

Процедура ЗаменитьСсылкиНаПредопределенныеЭлементы(Данные, ТаблицаПредопределенных) Экспорт
	
	Если Данные = Неопределено
		Или ТипЗнч(Данные) = Тип("УдалениеОбъекта") Тогда
		Возврат;
	Иначе
		МетаданныеОбъекта = Данные.Метаданные();
		
		Если ОбщегоНазначения.ЭтоКонстанта(МетаданныеОбъекта) Тогда
			
			ПроверитьЗаменитьСсылкуПредопределенногоВРеквизитеОбъекта(Данные, "Значение", ТаблицаПредопределенных);
			
		ИначеЕсли ОбщегоНазначения.ЭтоОбъектСсылочногоТипа(МетаданныеОбъекта) Тогда
			
			ОбработатьЗагрузкуПредопределенногоЭлемента(Данные, ТаблицаПредопределенных);
			
			МассивКоллекций = Новый Массив;
			МассивКоллекций.Добавить(МетаданныеОбъекта.Реквизиты);
			МассивКоллекций.Добавить(МетаданныеОбъекта.СтандартныеРеквизиты);
			
			Если ОбщегоНазначения.ЭтоЗадача(МетаданныеОбъекта) Тогда
				МассивКоллекций.Добавить(МетаданныеОбъекта.РеквизитыАдресации);
			КонецЕсли;
			
			ПроверитьЗаменитьСсылкуПредопределенныхВКоллекцииРеквизитовОбъекта(Данные, МассивКоллекций, ТаблицаПредопределенных);
			
			Для Каждого ТабличнаяЧасть Из МетаданныеОбъекта.ТабличныеЧасти Цикл
				ПроверитьЗаменитьСсылкуПредопределенныхВТаблицеДанных(Данные[ТабличнаяЧасть.Имя], ТаблицаПредопределенных);
			КонецЦикла;
			
			Если ОбщегоНазначения.ЭтоПланСчетов(МетаданныеОбъекта)
				Или ОбщегоНазначения.ЭтоПланВидовРасчета(МетаданныеОбъекта) Тогда
				Для Каждого ТабличнаяЧасть Из МетаданныеОбъекта.СтандартныеТабличныеЧасти Цикл
					ПроверитьЗаменитьСсылкуПредопределенныхВТаблицеДанных(Данные[ТабличнаяЧасть.Имя], ТаблицаПредопределенных);
				КонецЦикла;
			КонецЕсли;
			
		ИначеЕсли ОбщегоНазначения.ЭтоРегистр(МетаданныеОбъекта) Тогда
			
			ПроверитьЗаменитьСсылкуПредопределенныхВТаблицеДанных(Данные, ТаблицаПредопределенных);
			
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

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

Рекомендации

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

ПредопределенныйЭлемент (БСП)

Получает ссылку предопределенного элемента по его полному имени

ВосстановитьПредопределенныеЭлементы (БСП)

ЗаменитьСсылки (БСП)

УстановитьЭлементОтбора (БСП)

ОтметитьСсылкиНаПредопределенныеДанные (БСП)

TurboConf 6 - расширение Конфигуратора 1С