// Используется недокументированная особенность (скорее всего ошибка) платформы - // глобальная непараметризованная команда формы по горячей клавише сработавает во всех формах, открытых без блокирования других форм &НаКлиенте Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды) #Если ВебКлиент Тогда Сообщить("Команда недоступна в вебклиенте"); #ИначеЕсли ТонкийКлиент Тогда ОткрытьФорму("Обработка.ирПортативный.Форма.ПерезапускСеансаУправляемая"); #Иначе ПараметрКоманды = ПолучитьТекущуюСсылкуОбъекта(); Если Не ЗначениеЗаполнено(ПараметрКоманды) Тогда Возврат; КонецЕсли; ирОбщий.ОткрытьСсылкуВРедактореОбъектаБДЛкс(ПараметрКоманды); #КонецЕсли КонецПроцедуры &НаКлиенте Функция ПолучитьТекущуюСсылкуОбъекта() ТекущееОкно = АктивноеОкно(); Если ТипЗнч(ТекущееОкно) = Тип("ОкноКлиентскогоПриложения") Тогда ТекущаяФорма = ТекущееОкно.ПолучитьСодержимое(); Если ТипЗнч(ТекущаяФорма) = Тип("УправляемаяФорма") Тогда Если ТипЗнч(ТекущаяФорма.ТекущийЭлемент) = Тип("ТаблицаФормы") Тогда Ссылка = ТекущаяФорма.ТекущийЭлемент.ТекущаяСтрока; Если КлючСтрокиПодходит(Ссылка) Тогда Возврат Ссылка; КонецЕсли; Структура = Новый Структура("Ссылка, Data"); ДанныеСтроки = ТекущаяФорма.ТекущийЭлемент.ТекущиеДанные; Если ДанныеСтроки <> Неопределено Тогда ЗаполнитьЗначенияСвойств(Структура, ДанныеСтроки); Ссылка = Структура["Ссылка"]; Если КлючСтрокиПодходит(Ссылка) Тогда Возврат Ссылка; КонецЕсли; Ссылка = Структура["Data"]; Если КлючСтрокиПодходит(Ссылка) Тогда Возврат Ссылка; КонецЕсли; КонецЕсли; КонецЕсли; Ссылка = ирОбщий.СсылкаОсновногоОбъектаФормыЛкс(ТекущаяФорма); Если КлючСтрокиПодходит(Ссылка) Тогда Возврат Ссылка; КонецЕсли; КонецЕсли; КонецЕсли; Возврат Неопределено; КонецФункции &НаКлиенте Функция КлючСтрокиПодходит(Знач Ссылка) Возврат Ложь Или ирОбщий.ЛиСсылкаНаОбъектБДЛкс(Ссылка) Или ирОбщий.ЛиКлючЗаписиРегистраЛкс(Ссылка); КонецФункции