[РЕШЕНО] СКД: получить остатки и обороты на дату регистратора

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

  1. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    День добрый.
    Думаю, тема достаточна тривиальна, но ответ не гуглится. А в скд я еще не спец((

    Имеется "чужой" запрос, который я постарался укоротить
    Код:
    ВЫБРАТЬ
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Период КАК Период,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Регистратор КАК Регистратор,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.ФинансовыйИнструмент КАК ФинансовыйИнструмент,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Организация КАК Организация,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Контрагент КАК Контрагент,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.ДоговорКонтрагента КАК ДоговорКонтрагента,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Валюта КАК Валюта,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Регистратор.ДатаВыборки КАК ДатаРазмещения,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Регистратор.ДатаВозврата КАК ДатаВозврата,
        МТ_ФИ_ФинансовыеИнструментыСрезПоследних.Регистратор.СтавкаПредставление КАК Ставка
    ПОМЕСТИТЬ АктуальнаяСделка
    ИЗ
        РегистрСведений.МТ_ФИ_ФинансовыеИнструменты.СрезПоследних() КАК МТ_ФИ_ФинансовыеИнструментыСрезПоследних
    ;
    
    //////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
        ОстатокКП.Валюта КАК Валюта,
        ОстатокКП.Контрагент КАК Контрагент,
        ОстатокКП.СуммаПланКонечныйОстаток + ОстатокКП.СуммаПрогнозКонечныйОстаток + ОстатокКП.СуммаФактКонечныйОстаток КАК ОстатокКП,
        ВЫБОР
            КОГДА ОстатокКП.ТипЗадолженности = ЗНАЧЕНИЕ(Перечисление.ax_ФИ_ТипыЗадолженности.Проценты)
                ТОГДА ОстатокКП.СуммаПланКонечныйОстаток + ОстатокКП.СуммаПрогнозКонечныйОстаток + ОстатокКП.СуммаФактКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ КАК ОстатокНаКППроценты,
        ОстатокКП.Организация КАК Организация,
        ОстатокКП.ДоговорКонтрагента КАК ДоговорКонтрагента,
        ОстатокКП.ТипЗадолженности КАК ТипЗадолженности,
        АктуальнаяСделка.Регистратор КАК Регистратор,
        АктуальнаяСделка.ДатаРазмещения,
        АктуальнаяСделка.ДатаВозврата,
        АктуальнаяСделка.НомерСделки,
        АктуальнаяСделка.Ставка,
        АктуальнаяСделка.Период
    ИЗ
        РегистрНакопления.ax_ФИ_ВзаиморасчетыПоФинасовымИнструментам.ОстаткиИОбороты(
                ,
                КОНЕЦПЕРИОДА(&ДатаКП, ДЕНЬ),
                ,
                ,
                (Организация, Валюта, Контрагент, ДоговорКонтрагента, ФинансовыйИнструмент) В
                    (ВЫБРАТЬ
                        АктуальнаяСделка.Организация,
                        АктуальнаяСделка.Валюта,
                        АктуальнаяСделка.Контрагент,
                        АктуальнаяСделка.ДоговорКонтрагента,
                        АктуальнаяСделка.ФинансовыйИнструмент
                    ИЗ
                        АктуальнаяСделка КАК АктуальнаяСделка)) КАК ОстатокКП
            ЛЕВОЕ СОЕДИНЕНИЕ АктуальнаяСделка КАК АктуальнаяСделка
                ПО ОстатокКП.Организация = АктуальнаяСделка.Организация
                И ОстатокКП.Валюта = АктуальнаяСделка.Валюта
                И ОстатокКП.Контрагент = АктуальнаяСделка.Контрагент
                И ОстатокКП.ДоговорКонтрагента = АктуальнаяСделка.ДоговорКонтрагента
                И ОстатокКП.ФинансовыйИнструмент = АктуальнаяСделка.ФинансовыйИнструмент
    при выполнении получаем задолженность по каждому регистратору на заданную дату, а хотелось бы получить задолженность по каждому регистратору на дату возврата (Регистратор.ДатаВозврата)

    благодарен за бросание ссылками и тыкание носом
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Смотри запросы получения остатков по складу на каждый день.
    roofless нравится это.
  3. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    roofless нравится это.
  4. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    посмотрел, но в огромных запросах четкого понимания не приобрел, поэтому для начала запрашиваю алгоритмическую помощь))

    если рассуждать "простым" языком, то нужно найти все актуальные сделки, и реквизит ДатаВозврата каждой сделки передавать в качестве параметра КонецПериода в
    РегистрНакопления.ax_ФИ_ВзаиморасчетыПоФинасовымИнструментам.ОстаткиИОбороты. то есть вторая часть это как будто бы "запрос в цикле".
    верно я рассуждаю?
  5. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну как я писал можно сделать двумя способами - запросом и все. это если СКД не используете или с помошью СКД соденяя два набора данных по параметру (ваша дата), я там даже пример простого отчета приложил что бы посмотрели.
    roofless и alexburn нравится это.
  6. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    да, отчет я видел. но я не понял, что нужно выбрать в "выражении приемник"

    Вложения:

  7. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    У Вас есть дата Возврата, у регистра вы выбираете период и в выражени источник ставите этот период, а параметр - параметр в регистре который дата среза
  8. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    у РН ax_ФИ_ВзаиморасчетыПоФинасовымИнструментам.ОстаткиИОбороты нет периода
    Безымянный.jpg
  9. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Периодичность поставьте Авто у виртуальной таблицы
    roofless нравится это.
  10. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    Вам 100500 плюсов.

    В общем, имею первый набор данных - ДатыВозврата, который содержит актуальные регистраторы и их даты возврата.
    Во втором наборе веду расчет остатков.
    Наборы соединяю исходя из

    и передаю параметр Даты Возврата. Приложил своё решение, кому-нибудь пригодится обязательно

    Вложения:

    alexburn нравится это.
  11. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    ну то что я вам в 7 посте и написал
    roofless нравится это.
  12. TopicStarter Overlay
    roofless
    Offline

    roofless Опытный в 1С

    Регистрация:
    27 июн 2014
    Сообщения:
    260
    Симпатии:
    7
    Баллы:
    29
    почти, там еще по регистратору надо соединять
    alexburn нравится это.
  13. Draco
    Offline

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Ну это уже от Вашей задаче зависило. я Вам основное написал, кака ястрока овечает за передачу датыка парметра и соединение по периоду

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