8.х Связать два ресурса для расчета остатков

Тема в разделе "Система компоновки данных (СКД)", создана пользователем ЧКДзержинский, 16 июн 2016.

  1. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Всем доброго дня.

    Есть следующая структура данных:
    Контрагент, исходная задолженность, перечень сумм оплаты и документов оплаты.

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

    Соответственно, должен получиться отчет с группировкой по контрагенту начальной суммой долга, общей суммы оплаты и долга на конец, ну а внутри группировки данные по движениям: документ оплаты, начальная сумма, оплата, конечная сумма.

    Это вообще возможно в СКД?
    --- Объединение сообщений, 16 июн 2016 ---
    Я имею ввиду СКД без дописки программного кода. Так то, как вариант, написать таблицу значений в модуле отчета, самому там все рассчитать и передать в качестве источника данных для СКД.
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну можно попробовать поиграться с Ролью у поля в Сд там можно указать что данное поле нач или конечный остаток
  3. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Дело в том, что поля конечного остатка нет - его нужно рассчитать и я пока не пойму как это сделать. Если просто в запросе вписать ИсходнаяЗадолженность-СуммаОплаты, то в каждой строке оплаты будет использоваться исходная задолженность без учета предыдущих оплат и в результате конечным остатком будет разница между исходной задолженностью и последней оплатой. Если вписать в вычисляемые поля, то неясно, как прицепить к нему роль конечного остатка.
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну это понятно, по этому там надо еще опредилться с ролью Измерением и периодом.
    После обеда попробую но наврятли там такое получиться
  5. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Реализую через внешний источник и столкнулся с проблемой. У меня сейчас есть таблица с данными, в числе которых НачальныйОстаток, Оплата, КонечныйОстаток.
    Для поля НачальныйОстаток задал роль НачальныйОстаток, для поля КонечныйОстаток задал роль КонечныйОстаток. Когда формирую отчет, то по этим двум полям в итогах появляется общая сумма по полю.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну у вас же в ресурсах стоит навернео СУММА(нач Остаок) вот и дает итог
    А надо то что?
  7. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Посмотрите отчет, который я прикрепил. Нужно, чтобы по контрагенту выходила сумма начального остатка, а в общих итогах выводилась общая сумма начальных остатков по всем контрагентам.

    Вложения:

  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    ну попробуйте в ресурсах прописать не СУмма(НачОстаток), а просто НачОстаток.
    Сумму ( просто удалите

    Так вам нужно?
  9. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    В этом случае неверные данные по контрагенту и в общем итоге не выводится общая сумма начальных остатков по всем контрагентам.
    Вообще если сделать так: Максимум(НачальныйОстаток) и Минимум(КонечныйОстаток), то по контрагентам данные об остатке выводятся верные, т.к. в моем случае начальный остаток всегда максимальный, а конечный всегда минимальный, но опять же - нужно посчитать в общих итогах суммы начальных и конечных остатков.
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну делите поля и делайте разнве расчеты для Рассчитать по

    и можете использовать еще ВычислитьВыражение()
  11. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Не приходилось еще использовать ВычислитьВыражение(), надо будет покопать. Спасибо.
  12. TopicStarter Overlay
    ЧКДзержинский
    Offline

    ЧКДзержинский Опытный в 1С

    Регистрация:
    7 дек 2006
    Сообщения:
    487
    Симпатии:
    3
    Баллы:
    29
    Проблема все же решалась через роли. Ошибка была в том, что я для группировки Контрагент не задал роль Измерение.

    В общем, должно быть так:
    для полей НачОстаток и КонОстаток задаем роли НачальныйОстаток и КонечныйОстаток;
    для группировки Контрагент задаем роль Измерение
    для поля Период роль Период1 (это поле есть среди данных, но я его в отчет не вывожу)
    В ресурсах: СУММА(НачОстаток), СУММА(КонОстаток), СУММА(Оплата)
    Последнее редактирование: 17 июн 2016
  13. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну мой 4 пост прочтите, я там и писал, что надо определиться с измерением и периодом

Поделиться этой страницей