8.х как выбрать из справочника строку табличной части

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем VitosBBC, 7 сен 2013.

  1. TopicStarter Overlay
    VitosBBC
    Offline

    VitosBBC

    Регистрация:
    11 авг 2013
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    подскажите есть справочник клиенты, в данном справочнике есть табличная часть скидкиклиентов содержащая номенклатуру и скидка

    дак вот как мне можно выбрать из данного справочника скидку по номенклатуре???

    делаю запрос устанавливаю параметры клиент и номенклатура но скидка не выбирается

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | Клиенты.СкидкиКлиента.(
    | Ссылка,
    | НомерСтроки,
    | Номенклатура,
    | Скидка
    | ),
    | Клиенты.Наименование
    |ИЗ
    | Справочник.Клиенты КАК Клиенты
    |ГДЕ
    | Клиенты.Наименование = &Клиент
    | И Клиенты.СкидкиКлиента.Номенклатура = &Номенклатура";
    Запрос.УстановитьПараметр("Клиент", Клиент);
    Сообщить(Клиент);
    Запрос.УстановитьПараметр("Номенклатура", НаименованиеНоменклатуры);
    Сообщить(НаименованиеНоменклатуры);
    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл

    ВыборкаСкидка = Выборка.СкидкиКлиента.Выбрать();
    // Сообщить(ВыборкаСкидка.Скидка);

    Пока ВыборкаСкидка.Следующий() Цикл

    Сообщить(ВыборкаСкидка.Скидка);

    КонецЦикла;
    КонецЦикла;
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    не надо заморачиваться вложенными таблицами там, где для этого нет особой необходимости

    в переменных Клиент и Номенклатура должны быть ссылки на нужные элементы справочников

    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | КлиентыСкидки.Ссылка,
    | КлиентыСкидки.НомерСтроки,
    | КлиентыСкидки.Номенклатура,
    | КлиентыСкидки.Скидка,
    | КлиентыСкидки.Ссылка.Наименование КАК Наименование
    |ИЗ
    | Справочник.Клиенты.СкидкиКлиента КАК КлиентыСкидки
    |ГДЕ
    | КлиентыСкидки.Ссылка = &Клиент
    | И КлиентыСкидки.Номенклатура = &Номенклатура";
    Запрос.УстановитьПараметр("Клиент", Клиент);
    Сообщить(Клиент);
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Сообщить(Номенклатура);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    Сообщить(Выборка.Скидка);
    КонецЦикла;
  3. TopicStarter Overlay
    VitosBBC
    Offline

    VitosBBC

    Регистрация:
    11 авг 2013
    Сообщения:
    37
    Симпатии:
    0
    Баллы:
    1
    оке спасибо

Поделиться этой страницей