8.х Помогите разобраться с запросом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Пастор, 20 мар 2011.

  1. TopicStarter Overlay
    Пастор
    Offline

    Пастор Опытный в 1С

    Регистрация:
    17 сен 2010
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    В теле запроса надо проверить условие на использование разных ед.изм для одной номенклатуры в т.ч и ,исходя из этого, пересчитывать цену по базовой ед.изм если их несколько или по выбранной.
  2. TopicStarter Overlay
    Пастор
    Offline

    Пастор Опытный в 1С

    Регистрация:
    17 сен 2010
    Сообщения:
    66
    Симпатии:
    0
    Баллы:
    26
    Поподробнее:
    Внизу запрос как есть. Он в т.ч дока суммирует колонку "цена" для каждой номенклатуры и делит на количество вхождений этой номенклатуры в т.ч. Таким образом получаем цену за единицу товара. Такие сложности нужны, т.к бывает в т.ч указывается несколько строк с одинаковой номенклатурой.
    Проблема в том что если в строке 1 указывается цена за шт, а в строке N цена за упаковку (10 шт), то надо пересчитать цену за базовую единицу т.е шт, а если только одна строка, то и цену брать за указанную ед.изм. Вот и надо в запросе прописать, что бы он мог распознать, что есть строки где используется разные ед.изм для одинаковой номенклатуры, то рассчитать цену за базовую ед.изм.
    Никак не могу сообразить как это условие оформить... :angry:
    Код:
     ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Контрагент,
    СУММА(ПоступлениеТоваровУслугТовары.Цена) / КОЛИЧЕСТВО(ПоступлениеТоваровУслугТовары.Номенклатура) КАК цена,
    ПоступлениеТоваровУслуг.ТипЦен,
    ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
    ПоступлениеТоваровУслуг.Ссылка
    ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
    ПО ПоступлениеТоваровУслугТовары.Ссылка = ПоступлениеТоваровУслуг.Ссылка
    ГДЕ
    ПоступлениеТоваровУслуг.Проведен = &Проведен
    И ПоступлениеТоваровУслуг.ВидПоступления = &ВидПоступления
    И ПоступлениеТоваровУслуг.Дата >= НАЧАЛОПЕРИОДА(&ДАТАНАЧ, ДЕНЬ)
    И ПоступлениеТоваровУслуг.Дата <= КОНЕЦПЕРИОДА(&ДАТАНАЧ, ДЕНЬ)
    
    СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслуг.ТипЦен,
    ПоступлениеТоваровУслуг.Контрагент,
    ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
    ПоступлениеТоваровУслуг.Ссылка
    
  3. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Примерно так:
    Код:
    ВЫБРАТЬ
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
    ПоступлениеТоваровУслугТовары.Ссылка.ТипЦен,
    ПоступлениеТоваровУслугТовары.Ссылка,
    ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры,
    СУММА(ПоступлениеТоваровУслугТовары.Цена / ПоступлениеТоваровУслугТовары.Коэффициент) / КОЛИЧЕСТВО(ПоступлениеТоваровУслугТовары.Номенклатура) КАК СредняяЦена
    ИЗ
    Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары
    ГДЕ
    ПоступлениеТоваровУслугТовары.Ссылка.Проведен = &Проведен
    И ПоступлениеТоваровУслугТовары.Ссылка.ВидПоступления = &ВидПоступления
    И НАЧАЛОПЕРИОДА(ПоступлениеТоваровУслугТовары.Ссылка.Дата, ДЕНЬ) = НАЧАЛОПЕРИОДА(&ДАТАНАЧ, ДЕНЬ)
    
    СГРУППИРОВАТЬ ПО
    ПоступлениеТоваровУслугТовары.Ссылка.Контрагент,
    ПоступлениеТоваровУслугТовары.Ссылка.ТипЦен,
    ПоступлениеТоваровУслугТовары.Ссылка,
    ПоступлениеТоваровУслугТовары.ХарактеристикаНоменклатуры
    

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