Заполнение Эелемента Справочника В 1с 8

Paume

Well-Known Member
15.12.2010
107
0
#1
Добрый день!
Подскажите, пожалуйста, есть ли в 1С 8 какая-либо процедура, которая заполняет один элемент справочника на основнии другого? Или нужно ручками писать в коде присвоение на каждый реквизит?
 

Дайнеко

Well-Known Member
19.11.2009
951
0
53
Минск
#3
Например у меня реквизиты нового эл-та спр-ка заполняются автоматом от Родителя
Код:
//----------------------------------------------------------
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Если ЗначениеЗаполнено(ДанныеЗаполнения) Тогда
КопироватьРеквизитыРодителя(ЭтотОбъект, ДанныеЗаполнения.Родитель);
КонецЕсли;

КонецПроцедуры		// ОбработкаЗаполнения


//----------------------------------------------------------
//		В новый элемент из вышестоящего родителя
Процедура КопироватьРеквизитыРодителя(П_Элемент, П_Родитель, Кроме="") Экспорт
Для Каждого Поле Из П_Элемент.Метаданные().Реквизиты Цикл
Если НЕ Поле.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппыИЭлемента Тогда
Продолжить;
КонецЕсли;
Имя = Поле.Имя;
Если Входит(Кроме, Имя) Тогда
Продолжить;
КонецЕсли;

ЗначениеРодителя = П_Родитель[Имя];
Если НЕ ЗначениеЗаполнено(ЗначениеРодителя) Тогда
Продолжить; 
КонецЕсли;

П_Элемент[Имя] = ЗначениеРодителя;
КонецЦикла;
КонецПроцедуры	 // КопироватьРеквизитыРодителя
 

Darlock

Well-Known Member
04.01.2008
560
1
Москва
#4
Доброго времени суток.
Еще есть вариант использовать метод "ЗаполнитьЗначенияСвойств" (подробнее в СП).
 

Paume

Well-Known Member
15.12.2010
107
0
#5
Скопировать() у меня создавало новый элемент, а мне нужно было перезаполнить старый.
Помогло ЗаполнитьЗначенияСвойств, Darlock, спасибо вам!