8.х БП Нахождение первого документа, формирующего задолженность

Тема в разделе ""1С:Бухгалтерия БП"", создана пользователем Сергей Селинин, 4 июн 2010.

  1. TopicStarter Overlay
    Сергей Селинин
    Offline

    Сергей Селинин

    Регистрация:
    2 апр 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте.

    Интересует вопрос. Возникла необходимость в Обработке найти по группе контрагентов первый документ, формирующий их текущую деб/кред задолженность. Например:
    Код:
    СчетХХ  СуммаДт/Кт   Остаток
    хх            +150             -300        - эта нам не нужна
    хх             +150            0             -  вот с этого момента        
    хх            +50               50           - документ 1
    хх             +1000          1050        - документ2
    хх             +700            1750       - документ 3
    
    
    В данной последовательности нужен "документ 1". Попробовал сделать выборку из регистра:
    РегистрыБухгалтерии.Хозрасчетный.Выбрать(... ,"Убыв") и идти в обратном порядке до тех пор, пока накопленная сумма движений не совпадет с текущим остатком. Результат:
    Код:
    проводка 1       700   сумма 700 (не равно 1750)
    проводка 2       1000 сумма 1700 (не равно 1750)
    проводка 3       50     сумма 1750 - равно 1750 - искомый документ.
    
    
    Алгоритмически, вроде, верно, но... время выполнения для одного контрагента по одному счету около получаса. А всего их около 500 по десятку счетов.
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Это весьма непростой запрос (если одним делать).
    Учтите, что время выполнения - прямо пропорционально количеству документов*количество контрагентов*коэф.
    Где коэф - плавающая величина, зависящая от производительности системы.
    Лучше реализовать механизм ФИФО, чем такой запрос.
    ЗЫ. На форумах (в том числе - на партнерском 1С) - можно найти пример подобного запроса и описание всех его недостатков. Для меня, например, недостатки перевешивают преимущества.
  3. TopicStarter Overlay
    Сергей Селинин
    Offline

    Сергей Селинин

    Регистрация:
    2 апр 2010
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Спасибо за ответ.
    Сделал помесячную выборку, которая продолжается, пока не найдутся все суммы контрагентов или не бдет достигнут крайний срок.
    Медленно....

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