Условие

Язык запросов

Синтаксис и применение Условие в платформе 1С:Предприятие. Описание и примеры кода.

Полное описание, параметры и ограничения

Условие

Условие (необязательный)
Конструкция языка запросов. Условие, по которому отбираются данные. Можно использовать СубконтоДт<Номер субконто>, СубконтоКт<Номер субконто>, <Имя измерения>, <Имя измерения>Дт, <Имя измерения>Кт.
Значение по умолчанию: Неопределено.
Методическая информация

Практические примеры

Прочитать ОборотыДтКт собственного бухгалтерского регистра

Таблица ОборотыДтКт выбирает именованные поля своей схемы.

Где и как запускать

Тело серверной команды собственной учебной обработки; отдельный обработчик проведения размещается только в модуле учебного документа.

Подготовка

  1. В собственной пустой учебной конфигурации создайте план счетов УчебныеСчетаЗапросов: строковый код 10, максимум субконто 0. В предопределенных данных добавьте Актив (код УЧ-А, вид Активный) и Пассив (код УЧ-П, вид Пассивный), оба не забалансовые. Обновление учебной базы должно создать их как данные.

  2. Создайте регистр бухгалтерии УчебныйУчетЗапросов с планом УчебныеСчетаЗапросов и включенной Корреспонденцией. Длина уточнения периода 3, итоги включены. Измерения: Организация (Строка 20, Балансовый Истина), Подразделение (Строка 20, Балансовый Ложь).

  3. Ресурсы регистра: Сумма (Число 15.2, Балансовый Истина), Количество (Число 10.0, Балансовый Ложь). Признаки учета для ресурсов не назначайте: в этой учебной схеме они используются для обоих счетов. Реквизит регистра Комментарий (Строка 100). Общие реквизиты и субконто для этой партии не нужны.

  4. Создайте документ УчебнаяПроводкаЗапросов с разрешенным проведением и автонумерацией. Реквизиты: СчетДебета и СчетКредита (ПланСчетовСсылка.УчебныеСчетаЗапросов), Организация (Строка 20), ПодразделениеДебета и ПодразделениеКредита (Строка 20), Сумма (Число 15.2), КоличествоДебета и КоличествоКредита (Число 10.0), Комментарий (Строка 100).

  5. У документа включите движение по УчебныйУчетЗапросов. Обработчик из дополнительного блока вставьте в модуль объекта документа на уровне модуля. Обновите только учебную базу; не используйте рабочие счета или регистры БП/КА2.

  6. Вручную создайте и проведите документ 01.10.2026 12:00:00: дебет Актив, кредит Пассив, Организация Урок, подразделение дебета А, кредита Б, сумма 600, оба количества 3, комментарий Первая проводка.

  7. Второй документ 02.10.2026 12:00:00: дебет Пассив, кредит Актив, Организация Урок, подразделение дебета Б, кредита А, сумма 100, оба количества 1, комментарий Обратная проводка. В обоих документах одна активная запись и уточнение периода 0.

  8. Основной код запроса вставьте в тело серверной команды собственной учебной обработки. Запрос только читает две проведённые учебные записи; показанный HTML не исполняет BSL.

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Данные.Организация, Данные.ПодразделениеКт, Данные.ПодразделениеДт,
| Данные.СчетДт, Данные.КоличествоОборотДт, Данные.СуммаОборот,
| Данные.КоличествоОборотКт, Данные.Период, Данные.СчетКт
|ИЗ РегистрБухгалтерии.УчебныйУчетЗапросов.ОборотыДтКт(&Начало, &Конец, День, СчетДт = &Счет, , СчетКт = &КорСчет, , Организация = &Организация) КАК Данные";
Запрос.УстановитьПараметр("Начало", Дата(2026, 10, 1));
Запрос.УстановитьПараметр("Конец", Дата(2026, 10, 2, 23, 59, 59));
Запрос.УстановитьПараметр("Организация", "Урок");
Запрос.УстановитьПараметр("Счет", ПланыСчетов.УчебныеСчетаЗапросов.Актив);
Запрос.УстановитьПараметр("КорСчет", ПланыСчетов.УчебныеСчетаЗапросов.Пассив);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
    Для Каждого Колонка Из Результат.Колонки Цикл
        Сообщить(Колонка.Имя + ": " + Строка(Выборка[Колонка.Имя]));
    КонецЦикла;
КонецЦикла;
Проведение собственной учебной проводки

Документы → УчебнаяПроводкаЗапросов → Модуль объекта

Этот отдельный обработчик вызывается только при ручном проведении подготовленного документа.

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    Движения.УчебныйУчетЗапросов.Записывать = Истина;
    Проводка = Движения.УчебныйУчетЗапросов.Добавить();
    Проводка.Период = Дата;
    Проводка.УточнениеПериода = 0;
    Проводка.Активность = Истина;
    Проводка.СчетДт = СчетДебета;
    Проводка.СчетКт = СчетКредита;
    Проводка.Организация = Организация;
    Проводка.ПодразделениеДт = ПодразделениеДебета;
    Проводка.ПодразделениеКт = ПодразделениеКредита;
    Проводка.Сумма = Сумма;
    Проводка.КоличествоДт = КоличествоДебета;
    Проводка.КоличествоКт = КоличествоКредита;
    Проводка.Комментарий = Комментарий;
КонецПроцедуры

Разбор по шагам

  1. Два проведённых учебных документа создали именно записи базы: незаписанный набор не попал бы в виртуальные таблицы.

  2. Таблица ОборотыДтКт выбирает именованные поля своей схемы.

  3. Поля указаны явно, результат действительно обходится и показывает имя и значение каждой выбранной колонки.

Как проверить результат

  1. Для пары дебет Актив / кредит Пассив отобрана только первая проводка: СуммаОборот = 600, КоличествоОборотДт = 3, КоличествоОборотКт = 3.

  2. Обратная проводка имеет другую пару счетов и сюда не входит; оборот пары не является остатком счета 500.

Ожидаемый результат

Прочитать ОборотыДтКт собственного бухгалтерского регистра по собственной подготовленной схеме бухгалтерского регистра.

На что обратить внимание

  1. Балансовые и небалансовые измерения и ресурсы создают разные поля. Сумма — балансовая, Количество — небалансовое; нельзя заменять имя одного ресурса другим без проверки схемы.

  2. Планы счетов этой партии без субконто. Пустые позиции параметров субконто сохранены намеренно; пример не объявляет покрытыми неиспользованные поля субконто.

  3. Ограничение Организация = Урок применяется внутри виртуальной таблицы, а не после получения всех рабочих проводок.

  4. Ссылка регистратора обозначает собственный учебный документ. Запрос не перепроводит и не удаляет документы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.