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