8.х Как корректно суммировать ресурсы при левом соединении

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Lun, 30 июн 2019.

  1. TopicStarter Overlay
    Lun
    Offline

    Lun

    Регистрация:
    23 окт 2017
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Мне необходимо сделать отчет, формирующий остатки по счету (62) на отчетную дату и далее присоединить к ним проводки по его погашению после отчетную дату. Для этого формирую врем. таблицы (1) остатков Дт 62 в разрезе субконто, (2) движенийссубконто - с проводками Дт * Кт 62, объединяю (1) и (2) левым соединением.
    В результате записи из левой таблицы (1) с остатками ожидаемо дублируются столько раз, сколько подбирается записей по погашении в таблице (2).

    В результате не получается посчитать сальдо:
    т.е. мне необходимо взять сальдо из таблицы (1) - (они суммируются много раз, многократно умножая его) и вычесть из него погашения из таблицы (2) - (здесь суммирование дает адекватный результат).

    Вопрос: каким образом в СКД сделать, чтобы остаток из (1) не суммировался для корректного сопоставления с суммой погашения ?

    PS: в голову приходит только вариант с объединением (1) и (2) и предварительной подгонкой структуры их столбцов, чтобы совпадали. Но мне кажется это довольно топорный вариант... Может в СКД это можно сделать в рамках левого соединения, о котором я написал ?
  2. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.782
    Симпатии:
    1.021
    Баллы:
    204
    Исходя из описания отчета, это простая ведомость, для формирования которой существует виртуальная таблица регистра ОстаткиИОбороты.
  3. TopicStarter Overlay
    Lun
    Offline

    Lun

    Регистрация:
    23 окт 2017
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Nomad_irk, спасибо за ответ.
    Возможно, я недосказал, но таблица (2) в моем случае, это не просто таблица оборотов погашения, т.е. только суммы, а конкретные проводки, т.е.:
    Регистратор, Дт, Кт, субконто к ним, Суммы...

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

    Таблица ОстаткиИОбороты не содержит такой детальной информации о конкр. проводках, поэтому я появилась мысль о левом соединении.
  4. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.782
    Симпатии:
    1.021
    Баллы:
    204
    ОстаткиИОбороты содержит всю необходимую информацию, в том числе и данные о регистраторе. Нужно просто правильно ее об этом попросить.
  5. TopicStarter Overlay
    Lun
    Offline

    Lun

    Регистрация:
    23 окт 2017
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Видимо, Вы имеете в виду указать период=регистратор.
    Да, тогда сам регистратор появляется, об этом я не подумал - спасибо за подсказку...
    Но все же,
    [1] счет-то там и субконто все равно 1 набор, а мне нужно 2 - дебет и кредит.
    2-х счетов же там нет, верно ?
    [2] Кроме того, не все регистраторы изменяют реальную задолженность, погашение которой я хочу отследить.
    Например, если речь идет о валютной задолженности, то переоценка не изменяется ее фактическую (валютную) сумму. Да, рублевая оценка меняется, но все же это не повлияет на валютный платеж...
    И если [2] также решается, если правильно попросить у ОстатковИОборотов, то [1] - нет
    Поэтому, видится, что от соединения с таблицей ХозрасчетныйДвиженияССубконто мне не уйти и вопрос останется актуальным.
  6. nomad_irk
    Online

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    9.782
    Симпатии:
    1.021
    Баллы:
    204
    В СКД, в свойствах поля, можно указать роль поля. Для начального и конечного остатка необходимо указать, что это именно остатки, тогда не будет суммирования по этим полям.
  7. TopicStarter Overlay
    Lun
    Offline

    Lun

    Регистрация:
    23 окт 2017
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Подскажите, пожалуйста, если я использую таблицу остатки, то в ней только один остаток (а не 2 - нач и кон остаток).
    В таком случае, я задаю для всех остатков, присутствующих в запросе (всего их 4 Дт и Кт * рубл. и валютный) в диалоге "Роль": Тип=Начальный остаток.
    В результате получаю ошибку:
    "Не найдено связанное поле остатка для поля.."

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

    В таком случае, как избежать этой ошибки, если парного остатка нет ?