Все равно с последним заданием не понятно
ВОт этот код меняет все цены на 5000. Что ожидаемо
&НаСервере
Процедура Цена5000НаСервере()
Выборка=Документы.УстановкаЦенНоменклатуры.Выбрать();
Пока Выборка.Следующий()Цикл
Объект1=Выборка.ПолучитьОбъект();
Для Каждого ТекСтр Из Объект1.Данные Цикл
ТекСтр.Цена=5000;
КонецЦикла;
Объект1.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура Цена5000(Команда)
Цена5000НаСервере();
КонецПроцедуры
Как я вижу что нам требуется сделать
1.Создать кнопку (имя неважно), которая запустит весь процесс
2. Создать поле выбора с типом СправочникСсылка.Номенклатура
3. По кнопке: Запрос ко всем табличным частям документов Установка цен с отбором Номенклатуры из поля на форме
4. Обход результата запроса в цикле и, если Номенклатура = Номенклатуре в поле, то получаем документ объект, меняем цену на 5000, записываем документ объект
Собственно вопрос с пунктом 3
Мне кажется мы вообще это не изучали
Если идти по более простому варианту
создаем на форме обработки реквизит «ВыборНоменклатуры» тип «Строка» и ручками вводим наименование
Тогда не могу понять почему не работает этот код. Я примерно такой же создал.
Процедура ИзменениеЦеныНаСервере()
Выборка=Документы.УстановкаЦенНоменклатуры.Выбрать();
Пока Выборка.Следующий()Цикл
Объект1=Выборка.ПолучитьОбъект();
Для Каждого ТекСтр Из Объект1.Данные Цикл
Если ТекСтр.Номенклатура = ВыборНоменклатуры Тогда
ТекСтр.Цена = 5000;
КонецЕсли;
КонецЦикла;
Объект1.Записать();
КонецЦикла;
КонецПроцедуры