Верный старт

Заказать обратный звонок:



Ответы в темах

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • в ответ на: Урок №3 #4454

    Myavij
    Участник

    Все равно с последним заданием не понятно

    ВОт этот код меняет все цены на 5000. Что ожидаемо

    &НаСервере
    Процедура Цена5000НаСервере()
    Выборка=Документы.УстановкаЦенНоменклатуры.Выбрать();
    Пока Выборка.Следующий()Цикл
    Объект1=Выборка.ПолучитьОбъект();
    Для Каждого ТекСтр Из Объект1.Данные Цикл
    ТекСтр.Цена=5000;
    КонецЦикла;
    Объект1.Записать(РежимЗаписиДокумента.Запись);
    КонецЦикла;

    КонецПроцедуры

    &НаКлиенте
    Процедура Цена5000(Команда)
    Цена5000НаСервере();

    КонецПроцедуры

    Как я вижу что нам требуется сделать

    1.Создать кнопку (имя неважно), которая запустит весь процесс
    2. Создать поле выбора с типом СправочникСсылка.Номенклатура
    3. По кнопке: Запрос ко всем табличным частям документов Установка цен с отбором Номенклатуры из поля на форме
    4. Обход результата запроса в цикле и, если Номенклатура = Номенклатуре в поле, то получаем документ объект, меняем цену на 5000, записываем документ объект

    Собственно вопрос с пунктом 3
    Мне кажется мы вообще это не изучали

    Если идти по более простому варианту

    создаем на форме обработки реквизит «ВыборНоменклатуры» тип «Строка» и ручками вводим наименование

    Тогда не могу понять почему не работает этот код. Я примерно такой же создал.

    Процедура ИзменениеЦеныНаСервере()
    Выборка=Документы.УстановкаЦенНоменклатуры.Выбрать();
    Пока Выборка.Следующий()Цикл
    Объект1=Выборка.ПолучитьОбъект();
    Для Каждого ТекСтр Из Объект1.Данные Цикл
    Если ТекСтр.Номенклатура = ВыборНоменклатуры Тогда
    ТекСтр.Цена = 5000;
    КонецЕсли;
    КонецЦикла;
    Объект1.Записать();
    КонецЦикла;
    КонецПроцедуры

Просмотр 1 сообщения - с 1 по 1 (всего 1)