&НаСервере
Процедура ПримерПолученияОбъекта(УИД) Экспорт
НужныйОбъект = ПолучитьОбъектПоЗначениюСвойства("УИД_НашегоДокумента", УИД, "Документ.ЗаказКлиента");
КонецПроцедуры
&НаСервере
// Универсальная функция. Получает объект определенного типа по уникальному значению свойства.
// Свойство - Либо свойство (ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения), либо Имя (строка)
// ЗначениеСвойства - значение, передаваемое для поиска объекта.
// ИмяМетаданные - Имя метаданных ("Документ.ЗаказКлиента"). Сильно ускоряет запрос.
Функция ПолучитьОбъектПоЗначениюСвойства(Свойство_Или_Имя, ЗначениеСвойства, ИмяМетаданные) Экспорт
Ответ = Неопределено;
Если ТипЗнч(Свойство_Или_Имя) = Тип("Строка") Тогда
Свойство = ПолучитьСоздатьСвойство(Свойство_Или_Имя);
Иначе
Свойство = Свойство_Или_Имя;
КонецЕсли;
Если Не Свойство = Неопределено Тогда
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеСведения.Объект КАК Объект,
| ДополнительныеСведения.Свойство КАК Свойство,
| ДополнительныеСведения.Значение КАК Значение
|ИЗ
| РегистрСведений.ДополнительныеСведения КАК ДополнительныеСведения
|ГДЕ
| ДополнительныеСведения.Значение = &ЗначениеСвойства
| И ДополнительныеСведения.Свойство = &Свойство
| И ДополнительныеСведения.Объект ССЫЛКА Справочник.Номенклатура";
Запрос.Текст = СтрЗаменить(Запрос.Текст, "Справочник.Номенклатура", ИмяМетаданные);
Запрос.УстановитьПараметр("Свойство", Свойство);
Запрос.УстановитьПараметр("ЗначениеСвойства", ЗначениеСвойства);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Ответ = Выборка.Объект;
КонецЕсли;
КонецЕсли;
Возврат Ответ;
КонецФункции
{3} Переменной НужныйОбъект присвоено значение, но оно нигде не используется
ДобавитьУникальноеЗначениеВСписок (БСП)
ЗаполнитьМассивУникальнымиЗначениями
ЗаполнитьЗначенияСвойствОбъекта (БСП)
ПеренестиЗначенияИзРеквизитовФормыВОбъект (БСП)