Ответ в теме: Как создать запрос по счету 10.07 с аналитикой по договорам в 1С?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать запрос по счету 10.07 с аналитикой по договорам в 1С? Ответ в теме: Как создать запрос по счету 10.07 с аналитикой по договорам в 1С?

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

    Вот пример запроса на языке 1С, который формирует отчет по счету 10.07 с аналитикой по договорам, контрагентам и номенклатуре. В запросе:

    — Аналитика по счету берется из бухгалтерских проводок (Бухгалтерия).
    — Договор берется из регистратора проводки (документа), если он есть.
    — Выводятся начальные остатки, обороты (Дебет и Кредит) и конечные остатки за выбранный период.

    Запрос оформлен с учетом, что договор — реквизит регистратора (документа), и что аналитика по контрагенту и номенклатуре есть в проводках.

    |ВЫБРАТЬ
    | Проводки.СубконтоКонтрагент КАК Контрагент,
    | Проводки.СубконтоНоменклатура КАК Номенклатура,
    | Регистратор.Договор КАК Договор,
    | СУММА(НачальныеОстатки.Дебет) КАК НачальныйДебет,
    | СУММА(НачальныеОстатки.Кредит) КАК НачальныйКредит,
    | СУММА(Обороты.Дебет) КАК ОборотДебет,
    | СУММА(Обороты.Кредит) КАК ОборотКредит,
    | (СУММА(НачальныеОстатки.Дебет) + СУММА(Обороты.Дебет)) — (СУММА(НачальныеОстатки.Кредит) + СУММА(Обороты.Кредит)) КАК КонечныйОстаток
    |ИЗ
    | (ВЫБРАТЬ
    | Проводки.Ссылка,
    | Проводки.Дата,
    | Проводки.Дебет,
    | Проводки.Кредит,
    | Проводки.СубконтоКонтрагент,
    | Проводки.СубконтоНоменклатура,
    | Проводки.Регистратор
    | ИЗ
    | Бухгалтерия.Проводки КАК Проводки
    | ГДЕ
    | Проводки.Счет = ‘10.07’
    | И Проводки.Дата <= &ДатаКонца
    | ) КАК Проводки
    | ЛЕВОЕ СОЕДИНЕНИЕ Документы.Регистратор КАК Регистратор
    | ПО Проводки.Регистратор = Регистратор.Ссылка
    | ЛЕВОЕ СОЕДИНЕНИЕ
    | (ВЫБРАТЬ
    | Проводки.СубконтоКонтрагент,
    | Проводки.СубконтоНоменклатура,
    | Проводки.Дата,
    | Проводки.Дебет,
    | Проводки.Кредит
    | ИЗ
    | Бухгалтерия.Проводки КАК Проводки
    | ГДЕ
    | Проводки.Счет = ‘10.07’
    | И Проводки.Дата < &ДатаНачала
    | ) КАК НачальныеОстатки
    | ПО Проводки.СубконтоКонтрагент = НачальныеОстатки.СубконтоКонтрагент
    | И Проводки.СубконтоНоменклатура = НачальныеОстатки.СубконтоНоменклатура
    | ЛЕВОЕ СОЕДИНЕНИЕ
    | (ВЫБРАТЬ
    | Проводки.СубконтоКонтрагент,
    | Проводки.СубконтоНоменклатура,
    | СУММА(Проводки.Дебет) КАК Дебет,
    | СУММА(Проводки.Кредит) КАК Кредит
    | ИЗ
    | Бухгалтерия.Проводки КАК Проводки
    | ГДЕ
    | Проводки.Счет = ‘10.07’
    | И Проводки.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
    | СГРУППИРОВАТЬ ПО
    | Проводки.СубконтоКонтрагент,
    | Проводки.СубконтоНоменклатура
    | ) КАК Обороты
    | ПО Проводки.СубконтоКонтрагент = Обороты.СубконтоКонтрагент
    | И Проводки.СубконтоНоменклатура = Обороты.СубконтоНоменклатура
    |СГРУППИРОВАТЬ ПО
    | Проводки.СубконтоКонтрагент,
    | Проводки.СубконтоНоменклатура,
    | Регистратор.Договор
    |УПОРЯДОЧИТЬ ПО
    | Контрагент,
    | Номенклатура,
    | Договор

    Параметры запроса:

    — &ДатаНачала — дата начала периода отчета.
    — &ДатаКонца — дата конца периода отчета.

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

    Если договор не всегда есть в регистраторе, можно добавить проверку на NULL.

    Если нужно, могу помочь адаптировать под конкретную конфигурацию.

    Рекомендую посмотреть здесь для примеров работы с аналитикой и регистраторами в запросах:

    https://its.1c.ru/db/metod8dev#content:456:hdoc

    https://its.1c.ru/db/metod8dev#content:456:hdoc:7

    https://its.1c.ru/db/metod8dev#content:456:hdoc:8

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