1. 1C / Говнокод #21546

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    ЗапросПоДате = Новый Запрос;
    ЗапросПоДате.Текст = "ВЫБРАТЬ
    	|	МАКСИМУМ(НачислениеБонусов.Дата) КАК Дата
    	|ИЗ
    	|	Документ.НачислениеБонусов КАК НачислениеБонусов
    	|ГДЕ
    	|	НачислениеБонусов.Контрагент = &Контрагент
    	|	И НачислениеБонусов.Дата < &Дата";
    ЗапросПоДате.Параметры.Вставить("Контрагент",ЭтотОбъект.Контрагент);
    ЗапросПоДате.Параметры.Вставить("Дата",ЭтотОбъект.Дата);
    Результат =	ЗапросПодате.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
    	ДатаПоследнегоНачисления = Результат.Дата;
    Иначе
    	ДатаПоследнегоНачисления = Дата(2000,01,01);
    КонецЕсли;
    Если ДатаПоследнегоНачисления = Null Тогда
    	ДатаПоследнегоНачисления = Дата(2000,01,01);
    КонецЕсли;

    Функции языка запросов???

    Запостил: Asaharu, 24 Октября 2016

    Комментарии (5) RSS

    • ᵛᴬᴺᴵ₷ᴴᴱᴰ
      Ответить
    • в данном контексте

      Если Результат.Следующий() Тогда
      ДатаПоследнегоНачисления = Результат.Дата;
      Иначе
      ДатаПоследнегоНачисления = Дата(2000,01,01); //вот этот код никогда не выполнится
      КонецЕсли;
      Ответить
      • С чего бы вдруг "никогда не выполнится"?
        Если результат пустой, например, вот тебе и выполнится.
        Ответить
        • Агрегатная функция всегда возвращает одну запись. При пустом запросе вернет null.
          Ответить

    Добавить комментарий