8.х Характеристика номенклатуры в запросе?

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем DeniNikitin, 23 авг 2010.

  1. TopicStarter Overlay
    DeniNikitin
    Offline

    DeniNikitin Опытный в 1С

    Регистрация:
    2 июл 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте!

    Имеется запрос:

    ТекстЗапроса = "ВЫБРАТЬ
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладах.Номенклатура),
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    | ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры),
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры.Наименование КАК ТестХарак,
    | СУММА(ПартииТоваровНаСкладах.Количество) КАК Количество
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |
    |СГРУППИРОВАТЬ ПО
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры";

    Тип характеристики в запросе Справочник характеристики ссылка, как нибудь возможно выполнить операцию над характеристикой, например умножить характеристику на количество?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Вам нужна не сама характеристика, а её значение.
    Значения характеристик хранятся в РС "ЗначенияСвойствОбъектов"
  3. TopicStarter Overlay
    DeniNikitin
    Offline

    DeniNikitin Опытный в 1С

    Регистрация:
    2 июл 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    А более конкретный пример можно желательно на запросе!?
  4. TopicStarter Overlay
    DeniNikitin
    Offline

    DeniNikitin Опытный в 1С

    Регистрация:
    2 июл 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Выдаёт ошибку
    {Форма.Форма(31)}: Ошибка при вызове метода контекста (Выполнить): {(6, 45)}: Неверные параметры "*"
    Сумма(ПартииТоваровНаСкладах.Количество) * <<?>>ЗначенияСвойствОбъектов.Значение КАК Сумма
    Результат = зДанные.Выполнить();
    по причине:
    {(6, 45)}: Неверные параметры "*"
    Сумма(ПартииТоваровНаСкладах.Количество) * <<?>>ЗначенияСвойствОбъектов.Значение КАК Сумма
    При таком запросе:
    ТекстЗапроса = "ВЫБРАТЬ
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    | СУММА(ПартииТоваровНаСкладах.Количество) КАК Количество,
    | ЗначенияСвойствОбъектов.Значение,
    | ПартииТоваровНаСкладах.Количество * ЗначенияСвойствОбъектов.Значение КАК СуммаТест
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    | ПО ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект
    |
    |СГРУППИРОВАТЬ ПО
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    | ЗначенияСвойствОбъектов.Значение";
  5. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.581
    Симпатии:
    717
    Баллы:
    204
    Как-то так:
    Код:
    ВЫБРАТЬ
    ПартииТоваровНаСкладах.Номенклатура,
    ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладах.Номенклатура),
    ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    ПРЕДСТАВЛЕНИЕ(ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры),
    ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры.Наименование КАК ТестХарак,
    СУММА(ПартииТоваровНаСкладах.Количество) КАК Количество,
    ЗначенияСвойствОбъектов.Значение
    ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
    ПО ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры = ЗначенияСвойствОбъектов.Объект
    
    СГРУППИРОВАТЬ ПО
    ПартииТоваровНаСкладах.Номенклатура,
    ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры.Наименование,
    ЗначенияСвойствОбъектов.Значение
    
    
  6. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Сделайте Характеристику номенклатуры типа "Число", а не "ЗначенияСвойствОбъектов (классификатор)". (простой тип, не составной).

    Если все равно будет ругаться, то так:
    Код:
    ПартииТоваровНаСкладах.Количество * (ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ЧИСЛО))
    
    
    Хотя сам запрос чет какой-то непонятный.
  7. TopicStarter Overlay
    DeniNikitin
    Offline

    DeniNikitin Опытный в 1С

    Регистрация:
    2 июл 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    Запрос не мутный изночально такой для проверки:
    ТекстЗапроса = "ВЫБРАТЬ
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры,
    | СУММА(ПартииТоваровНаСкладах.Количество) КАК Количество,
    |ИЗ
    | РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |
    |СГРУППИРОВАТЬ ПО
    | ПартииТоваровНаСкладах.Номенклатура,
    | ПартииТоваровНаСкладах.ХарактеристикаНоменклатуры";
    Но при таком запросе характеристика номенклатуры является ссылкой на справочник характеристики номенклатуры и как преобразовать я не знаю из-за чего и задал вопрос! А связался соеденением для того что свойство объектов имеет тип число!
  8. TopicStarter Overlay
    DeniNikitin
    Offline

    DeniNikitin Опытный в 1С

    Регистрация:
    2 июл 2008
    Сообщения:
    51
    Симпатии:
    0
    Баллы:
    26
    ПартииТоваровНаСкладах.Количество * (ВЫРАЗИТЬ(ЗначенияСвойствОбъектов.Значение КАК ЧИСЛО))

    Работает сейчас буду тестировать!

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