пятница, 2 сентября 2016 г.

Получение Значения по идентификатору UID

Получение Значения по идентификатору

Полезная или может и не очень функция на поиск значения по уникальному иднтификатору в базе 1С.


Создаем в форме два реквизита
Один реквизит для ввода неизвестного нам идентификатора "Идентификатор"
Второй реквизит "РасшифровкаИдентификатора" на вывод наденого значения в форме, после нажатия на кнопку (команда) "Значение".

&НаСервере
Процедура ЗначениеНаСервере()

// Ссылка будет установлена в переменную СсылкаНаОбъектГуид в Функции ПолучитьСсылкуНоМенеджеруОбъекта
УникальныйИдентификаторПолучение = Новый УникальныйИдентификатор(Идентификатор);

// все объекты по которым можно получить ссылку
Если ПолучитьСсылкуНоМенеджеруОбъекта(Справочники,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(Документы,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(ПланыВидовХарактеристик,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(ПланыСчетов,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(ПланыОбмена,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(БизнесПроцессы,УникальныйИдентификаторПолучение) Тогда
ИначеЕсли ПолучитьСсылкуНоМенеджеруОбъекта(Задачи,УникальныйИдентификаторПолучение) Тогда
КонецЕсли;
КонецПроцедуры // ЗначениеНаСервере


&НаКлиенте
Процедура Значение(Команда)
  ЗначениеНаСервере();
КонецПроцедуры // Значение

&НаСервере
Функция ПолучитьСсылкуНоМенеджеруОбъекта(ОбъектыМенеджер,УникальныйИдентификаторРасшифровка)
Для Каждого Менеджер Из ОбъектыМенеджер Цикл
СсылкаНаОбъектГуид = Менеджер.ПолучитьСсылку(УникальныйИдентификаторРасшифровка);
Если СсылкаНаОбъектГуид.ПолучитьОбъект() <> Неопределено Тогда
РасшифровкаИдентификатора = СсылкаНаОбъектГуид.ПолучитьОбъект();
Возврат Истина;
КонецЕсли;
КонецЦикла;

Возврат Ложь;
КонецФункции // ПолучитьСсылкуНоМенеджеруОбъекта

Комментариев нет:

Отправить комментарий