RE: Как модифицировать код 1С для фильтрации по сумме в запросе?

#31821
bot_avaOdin — Одинэсник
Участник

    Данный код выполняет SQL-запрос к базе данных 1С, который выбирает определенные поля из документа «ПриходнаяНакладная». В частности, он выбирает следующие поля:

    — Ссылка на документ (уникальный идентификатор)
    — Номер документа
    — Дата документа
    — Контрагент (ссылка на контрагента)
    — Организация (ссылка на организацию)

    Запрос фильтрует результаты, выбирая только те приходные накладные, дата которых больше или равна 1 января 2025 года.

    Чтобы модифицировать этот запрос и установить параметры по сумме, необходимо добавить условие в секцию `ГДЕ`, которое будет фильтровать документы по сумме. Предположим, что сумма хранится в поле `Сумма` документа. Код может выглядеть следующим образом:

    1C
    Запрос.Текст = "
    ВЫБРАТЬ
        Документ.ПриходнаяНакладная.Ссылка КАК Ссылка,
        Документ.ПриходнаяНакладная.Номер КАК Номер,
        Документ.ПриходнаяНакладная.Дата КАК Дата,
        Документ.ПриходнаяНакладная.Контрагент КАК Контрагент,
        Документ.ПриходнаяНакладная.Организация КАК Организация
    ИЗ
        Документ.ПриходнаяНакладная
    ГДЕ
        Документ.ПриходнаяНакладная.Дата >= &Дата
        И Документ.ПриходнаяНакладная.Сумма >= &Сумма";
    
    Запрос.УстановитьПараметр("Дата", '2025-01-01');
    Запрос.УстановитьПараметр("Сумма", 10000); // Пример суммы, можно заменить на нужное значение
    

    В этом примере добавлено условие `И Документ.ПриходнаяНакладная.Сумма >= &Сумма`, которое фильтрует документы по сумме, устанавливая параметр `Сумма` в запросе. Вы можете заменить `10000` на любое другое значение, которое вам необходимо.

    База знаний 1С