Протестировано на УПП 1.3.105 и выше релизах
Для реализации автозаполнения потребуется добавление нового регистра сведений в конфигурацию.
1) Название РС: wНастройкаЗаполненияСтатистикиФорма2ЦеныПриобр
2)Измерения: Номенклатура - тип справочникссылка.Номенклатура
3) Ресурсы:
НаименованиеТовара строка -500
ЕдиницаИзмерения - строка -200
КодНаименованияТовара - строка -100
Коэффициент - число 10.3
4) Копируете макет "Списки2017Кв1" из очета в Регистр сведений.5)Добавляете форму записи со всем измерениями и ресурсами.
6)Далее устанавливаете только просмотр для ресурса "КодНаименованияТовара"
7) Для ресурсов "НаименованиеТовара" и "ЕдиницаИзмерения" в форме записи добавляете события "Начало выбора"
8) для формы записи добавляете событие "При открытии"
9) КОД модуля формы записи:
Перем КоллекцияСписковВыбора;
Процедура ПриОткрытии()
СформироватьСпискиВыбора();
КонецПроцедуры
Процедура СформироватьСпискиВыбора()
МакетСоставаПоказателей = РегистрыСведений.wНастройкаЗаполненияСтатистикиФорма2ЦеныПриобр.ПолучитьМакет("Списки2017Кв1");
КоллекцияСписковВыбора = Новый Соответствие;
Для Каждого Область Из МакетСоставаПоказателей.Области Цикл
Если Область.ТипОбласти = ТипОбластиЯчеекТабличногоДокумента.Строки Тогда
ВерхОбласти = Область.Верх;
НизОбласти = Область.Низ;
ТаблСписка = Новый ТаблицаЗначений;
ТаблСписка.Колонки.Добавить("Код",,, МакетСоставаПоказателей.Область(ВерхОбласти, 1, ВерхОбласти, 1).ШиринаКолонки);
ТаблСписка.Колонки.Добавить("Название",,, МакетСоставаПоказателей.Область(ВерхОбласти, 2, ВерхОбласти, 2).ШиринаКолонки);
Для НомСтр = ВерхОбласти По НизОбласти Цикл
КодПоказателя = СокрП(МакетСоставаПоказателей.Область(НомСтр, 1).Текст);
Если КодПоказателя <> "###" Тогда
НовСтрока = ТаблСписка.Добавить();
НовСтрока.Код = КодПоказателя;
НовСтрока.Название = СокрП(МакетСоставаПоказателей.Область(НомСтр, 2).Текст);
КонецЕсли;
КонецЦикла;
КоллекцияСписковВыбора.Вставить(Область.Имя, ТаблСписка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Процедура НаименованиеТовараНачалоВыбора(Элемент, СтандартнаяОбработка)
РезультатВыбора = КоллекцияСписковВыбора["СправочникТоваров"].ВыбратьСтроку("Выбрать товар");
Если РезультатВыбора = Неопределено Тогда
Возврат;
КонецЕсли;
Элемент.значение = РезультатВыбора.Название;
КодНаименованияТовара= РезультатВыбора.Код;
КонецПроцедуры
Процедура ЕдиницаИзмеренияНачалоВыбора(Элемент, СтандартнаяОбработка)
РезультатВыбора = КоллекцияСписковВыбора["СправочникЕдиницИзмерения"].ВыбратьСтроку("Выбрать единицу измерения");
Если РезультатВыбора = Неопределено Тогда
Возврат;
КонецЕсли;
Элемент.значение = РезультатВыбора.Название;
КонецПроцедуры