В публикации приведен законченный пример быстрой интерактивной работы с данными справочника. Реализованный механизм удобно использовать для интерактивного редактирования динамических списков (это могут быть не только справочники). Возможности этого механизма могут в десятки раз ускорить работу тех пользователей, которым для изменения значений нескольких реквизитов большого количества строк справочника приходится многократно открывать форму элементов справочника.
Механизм реализован в виде общей формы. Чтобы подключить его, в динамическом списке нужно создать команду (и разместить кнопку на форме). И добавить код команды, например такой:
&НаКлиенте
Процедура ИзменитьДанные(Команда)
МассивСсылок = Новый Массив;
Для каждого ВыделеннаяСтрока Из Элементы.Список.ВыделенныеСтроки Цикл
Номенклатура = Элементы.Список.ДанныеСтроки(ВыделеннаяСтрока).Ссылка;
МассивСсылок.Добавить(Номенклатура);
КонецЦикла;
ПередаваемыеПараметры = Новый Структура;
ПередаваемыеПараметры.Вставить("ТипСправочника",ТипЗнч(Номенклатура));
// Значение параметра "Реквизиты" - строка с указанием редактируемых реквизитов
// (не все реквизиты справочника нужно редактировать)
ПередаваемыеПараметры.Вставить("Реквизиты",
"Наименование,ЕдиницаИзмерения,ЦенаПродажи,Производитель,СтранаПроисхождения,КоличествоВУпаковке");
ПередаваемыеПараметры.Вставить("Строки",МассивСсылок);
ПередаваемыеПараметры.Вставить("ИмяСобытияОповещения","ИзмененыРеквизитыНоменклатуры");
ОткрытьФорму("ОбщаяФорма.az_ИзменениеРеквизитовСправочника",ПередаваемыеПараметры);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ИзмененыРеквизитыНоменклатуры" Тогда
Элементы.Список.Обновить();
КонецЕсли;
КонецПроцедуры