Верный старт

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

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

    Просмотр 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)