Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 ноя 2024, 11:42

Диапозон цен

Автор djvjv, 25 апр 2012, 20:40

0 Пользователей и 1 гость просматривают эту тему.

djvjv

Есть справочник договор в котором прописано несколько разных диапазонов цен. Мне надо чтоб при вводе цены он проходил по каждому цен доходил но нужной и выводил соответствующий им процент. Помогите исправить код:

Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДиапазонЦен.Процент
      |ИЗ
      |   РегистрСведений.ДиапазонЦен КАК ДиапазонЦен
      |ГДЕ
      |   ДиапазонЦен.Контрагент = &Контрагент
      |   И ДиапазонЦен.ДоговорКонтрагента = &ДоговорКонтрагента
      |   И ДиапазонЦен.ЦенаОт <= &ЦенаЗакупочная
      |   И ДиапазонЦен.ЦенаДо > &ЦенаЗакупочная";

   Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента);
   Запрос.УстановитьПараметр("Контрагент", Контрагент);
   Запрос.УстановитьПараметр("ЦенаЗакупочная", ЦенаЗакупочная);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       Возврат ВыборкаДетальныеЗаписи.Процент;
   КонецЦикла;

DirecTwiX

  "ВЫБРАТЬ
|   Справочник1.Процент
|ИЗ
|   Справочник.Справочник1 КАК Справочник1
|ГДЕ
|   Справочник1.Ссылка = &Ссылка
|   И Справочник1.ЦенаМин >= &Цена
|   И Справочник1.ЦенаМакс < &Цена"

djvjv

ввожу я цены в табличной части документа. Поэтому следующий вопрос: мне нужно в запросе справочник или документ использовать?

DirecTwiX

Смотря какой запрос :D
Экстрасенсов тут нет

djvjv

этот запрос менять надо
Запрос = Новый Запрос;
   Запрос.Текст =
      "ВЫБРАТЬ
      |   ДиапазонЦен.Процент
      |ИЗ
      |   РегистрСведений.ДиапазонЦен КАК ДиапазонЦен
      |ГДЕ
      |   ДиапазонЦен.Контрагент = &Контрагент
      |   И ДиапазонЦен.ДоговорКонтрагента = &ДоговорКонтрагента
      |   И ДиапазонЦен.ЦенаОт <= &ЦенаЗакупочная
      |   И ДиапазонЦен.ЦенаДо > &ЦенаЗакупочная";

   Запрос.УстановитьПараметр("ДоговорКонтрагента", ДоговорКонтрагента);
   Запрос.УстановитьПараметр("Контрагент", Контрагент);
   Запрос.УстановитьПараметр("ЦенаЗакупочная", ЦенаЗакупочная);

   Результат = Запрос.Выполнить();

   ВыборкаДетальныеЗаписи = Результат.Выбрать();

   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
       Возврат ВыборкаДетальныеЗаписи.Процент;
   КонецЦикла;

DirecTwiX

Я же уже написал текст запроса?
Что за документ? Что за цены? Зачем они нужны?

djvjv

Документ поступление товаров
Цена Закупочная по ней автоматически определяется процент наценки.
Я вижу что у меня код идентичен вашему. Я начальнику говорил что менять ничего не надо, а он доказывает что нужно доработать мой код. Что в нем не так?

DirecTwiX

Если ты этот запрос в цикле вызываешь, то это, конечно, плохо.
А у начальника не пробовал спросить, что не так?)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск