Итак, по пунктам:
- Создаем общую команду "НайтиВСписке"
- В свойствах команды указываем:
- Группа - Командная панель формы.Важное
- Тип параметра команды - ставим флажок "Составной тип" и отмечаем те справочники и документы, в которых мы хотим видеть нашу кнопку.
- Отображение - Картинка
- Картинка - выбираем подходящую картинку (в типовой БП 3.0 есть картинка "КнопкаНайтиВСписке")
- Остальные свойства оставляем без изменений.
- В модуль команды помещаем следующий программный код:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
МетаИмя = ВернутьИмя(ПараметрКоманды);
НашлиОткрытую = Ложь;
Окна = ПолучитьОкна();
Для каждого Окно Из Окна Цикл
Форма = Окно.ПолучитьСодержимое();
Если Форма = Неопределено Тогда
Продолжить;
КонецЕсли;
Если Форма.ИмяФормы = МетаИмя + ".Форма.ФормаСписка" Тогда
Форма.Элементы.Список.ТекущаяСтрока = ПараметрКоманды;
Форма.Активизировать();
НашлиОткрытую = Истина;
КонецЕсли;
КонецЦикла;
Если Не НашлиОткрытую Тогда
ОткрытьФорму(МетаИмя + ".ФормаСписка", Новый Структура("ТекущаяСтрока", ПараметрКоманды));
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ВернутьИмя(ПараметрКоманды)
Возврат ПараметрКоманды.Метаданные().ПолноеИмя();
КонецФункции
Все, кнопка готова - сохраняем, запускаем, пользуемся.
Все очень просто и быстро, но есть один момент. Сейчас наша кнопка появилась и в форме элемента (документа) и в форме списка, что очевидно не имеет смысла. А вот чтобы ее убрать из форм списков, нужно зайти в каждую из форм и выключить соответствующий флажок в командном интерфейсе формы - раздел Командная панель - Важное. В принципе можно этого и не делать - нажатие на кнопку в форме списка не приведет к ошибке, зато не придется проделывать эту операцию при обновлениях. А можно и сделать .... - выбор остается за вами. Хорошего кода!
p.s.
В приведенном коде учтены замечания из комментариев, что позволило его улучшить.