Понятно... Значит, единственный недочет - при открытии сотрудника из пользователя:
Код |
---|
// открытие сотрудника
Процедура СотрудникОткрытие(Элемент, СтандартнаяОбработка) Экспорт
Если ОбЗначениеНеЗаполнено(Элемент.Значение)Тогда
СтандартнаяОбработка = Ложь;
НовыйСотрудник = Справочники.Сотрудники.СоздатьЭлемент();
ЗаполнитьЗначенияСвойств(НовыйСотрудник,ЭтотОбъект,"Наименование,Организация,Подразделение");
НовыйСотрудник.ПолучитьФорму().ОткрытьМодально();
Если НЕ обЗначениеНеЗаполнено(НовыйСотрудник.Ссылка) Тогда
Сотрудник = НовыйСотрудник.Ссылка;
СотрудникПриИзменении(ЭлементыФормы.Сотрудник);
КонецЕсли;
Иначе
РедактируемыйСотрудник = Справочники.Сотрудники.НайтиПоНаименованию(Элемент.Значение);
Если РедактируемыйСотрудник <> Неопределено Тогда
СтандартнаяОбработка = Ложь;
ФормаСотрудника = РедактируемыйСотрудник.ПолучитьФорму();
ФормаСотрудника.ПараметрОткрытия = ПараметрОткрытияСотрудника;
ФормаСотрудника.ОткрытьМодально();
СотрудникПриИзменении(Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры // СотрудникОткрытие() |
Видно, что на ветке ИНАЧЕ сотрудник ищется по наименованию, конечно он первого попавшегося возьмет, а не того, который в пользователе указан