8.х Как выбрать Максимальную цену из двух разных документов

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

  1. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Добрый день.
    Зада в следующем: нужен перечень номенклатуры с последними ценами закупки. Т.е. формирование отчета на Дату, с выбором самых последних документов прихода.
    В запросе выбраны уже максимальные даты и ссылки доков. Но получилось так, что есть два разных дока с одной и той же номенклатурой, проведенных в одно и тоже время и секунду.
    Так вот как из них теперь выбрать тот, у которого Цена максимальная?

    В результате должны присутствовать Номенклатура, Цена, Регистратор.
    Выборка по документам прихода строится.
  2. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    посмотрите в сторону МоментВремени - он вроде бы по любому разный будет у двух доков
  3. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    А Максимум не помешает Моменту Времени? они могут вместе использоваться?
  4. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    честно не пробовала, вы ведь запрос реализуете - откройте в консоли - попробуйте
  5. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    тогда я его как то не так использую, не срабатывает. Подскажите пожалуйста, как правильно его в Запросе использовать?
  6. Гриша
    Offline

    Гриша Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    286
    Симпатии:
    5
    Баллы:
    29
    попробуйте так

    Код:
    Результат = Запрос.выполнить().Выбрать();
    
    ПредудущаяЦена = 0;
    Пока Результат.Следующий() Цикл
    // Пример для чисел
    МаксимальнаяЦена = Макс(ПредудущаяЦена,Результат.Цена);
    
    ПредудущаяЦена = Результат.Цена;
    
    КонецЦикла;
    
  7. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Отчет на СКД.

    в запросе применяю момент времени, но это никак не влияет на выбор максимальной ссылки документа, все так и остается
  8. Tiger86
    Offline

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

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    покажите ваш итоговый запрос
  9. TopicStarter Overlay
    KatrineKA
    Offline

    KatrineKA Опытный в 1С

    Регистрация:
    5 окт 2010
    Сообщения:
    214
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
    Общий.Номенклатура, Максимум(Общий.Цена) как Цена,
    Общий.Номенклатура, Максимум(Общий.ДокументРегистратор) как ДокРег
    ИЗ
    Общий как Общий    //вложенная таб, выборка по докам Поступление и Авансовый
    Сгруппировать
    ....
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ
    ВыборкаИЗОприходования.Номенклатура,
    Максимум(ВыборкаИЗОприходования.Цена),
    Максимум(ВыборкаИЗОприходования.ДокРег)
    ИЗ
    ВыборкаИЗОприходования как ВыборкаИЗОприходования
    Сгруппировать  // вложенный таб, из дока Оприходование
    ...
    

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