[УТ11] Дебиторка Фифо, вариант с внедрением нового регистра накопления (для значительного ускорения формирования отчета)

09.02.14

Учетные задачи - Взаиморасчеты

Если в УТ11 взаиморасчеты ведутся по договорам, то очень удобно использовать принцип фифо для выяснения документов, по которым возникает долг, это в свою очередь приводит к достаточно "тяжелому" запросу при увеличении количества рассматриваемых документов. Есть несколько способов оптимизации данного отчета, которые иногда дают эффект, а иногда, могут наоборот увеличить время формирования отчета.
В тоже время удобно "поручить" базе данных хранить нужную информацию в удобном для отчета виде. В текущей реализации для этой цели используется регистр накопления остатков, в котором в нужном порядке хранится необходимая информация.

Скачать исходный код

Наименование Файл Версия Размер
ВсеФайлыВОдномАрхиве.zip
.zip 17,13Kb
25
.zip 17,13Kb 25 Скачать
ДолгиКлиентовPХ.erf
.erf 15,23Kb
1
.erf 15,23Kb 1 Скачать
Proc.txt
.epf 6,68Kb
0
.epf 6,68Kb Скачать
СозданиеДвиженийПоРегиструДокументыУвеличенияДолгаРХ.epf
.epf 6,68Kb
0
.epf 6,68Kb Скачать

Начнем с общей упрощенной методики расчета:

1. Получаем Партнеров / Договора, по которым имеется долг перед нашей организацией на расчетную дату.

2. Отбираем документы, которые формируют этот долг (обычно нас интересуют реализации товаров)

3. Методом соединения двух одинаковых таблиц, полученных в пп 2, в запросе получаем "обратный нарастающий итог" с детализацией до документа реализации. Этот этап и занимает значительное количество времени при формировании отчета. Здесь возможны некоторые оптимизации, примененные / описанные:

[УТ11] Дебиторка fifo по долгам контрагентов (СКД, управляемый интерфейс) - оптимизация по времени возникновения долга

Нарастающие итоги в запросе и методы ускорения его выполнения. - методы ускорения

Отчет по просроченной задолженности/задолженность по интервалам (УПП УТ 8.1, СКД) - реализация одного из них (применение данного метода для УТ11 дало обратный эффект, отчет формируется раза в 2 дольше обычного без этой оптимизации))

Баттерфляй - метод быстрого расчета нарастающего итога в запросе - еще один метод оптимизации.

Есть варианты вычисления нарастающего итога на "языке 1С", скорее всего, на больших БД тоже будет преимущество.

4. Отбираем из таблицы, полученной в пп. 3, нужные документы и распределяем их а порядке убывания, до момента исчерпания суммы задолженности.

Время исполнения всех пунктов в запросе, за исключением третьего - линейно зависят от количества элементов. Продолжительность исполнения третьего  пункта - пропорциональна квадрату количества элементов, и в больших базах формирование дебиторки по всем клиентам может занимать значительне время (у нас порядка 10 - 15 минут при ~ 2000 клиентов за ~ 2+ года).

Текущая реализация отчета по тому же объему информации формируется не более 20 секунд.

Что для этого сделано (УТ 11.0.9.15):

1. Добавлен регистр накопления "ДокументыУвеличенияДолга" с измерениями "АналитикаУчетаПоПартнерам", "ЗаказКлиента", Ресурсом "Сумма", движения в нем будет делать документ РеализацияТоваровУслуг. Структура этого регистра есть упрощение регистра накопления РасчетыСКлиентами
.

2. В модуль объекта документа "РеализацияТоваровУслуг", некоторое количество кода, для формирования движений по вышеописанному регистру. 

Этот код просто формирует движение прихода в вышеописанном регистре:

В конце процедуры ИнициализироватьДанныеДокумента модуля менеджера, добавим вызов Процедуры ДополнитьДанныеДокументаДляДокументыУвеличенияДолга(ДокументСсылка, ДополнительныеСтойства.ТаблицыДляДвижений); (Реализация во вложении)

Ближе к концу процедуры ОбработкаПроведения модуля объекта (после вызова СкладыСервер.ОтразитьДвиженияСерийТоваров) добавим вызов процедуры ОтразитьДокументыУвеличенияДолга(ДополнительныеСвойства, Движения, Отказ); (Реализация во вложении) 

3. Чтобы сформировались движения по уже проведенным документам, создана специальная обработка, которая дописывает нужные движения в новом регистре (во вложении).

Логика самого отчета (СКД), существенно упрощается, т.к. все данные есть уже в "готовом" виде.

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

 

Недостатком текущего метода является необходимость внедрения нового регистра, и необходимость изменения модулей конфигурации, для формирования движений в этом регистре, поэтому можно рекоменовать его, если конфигурация уже значительно изменена.

Дебиторка

См. также

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11 / КА 2 / ERP 2. Переносятся документы, справочники и остатки

Обмен между базами 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    190769    270    239    

269

"Акты сверки +" Групповая подготовка и рассылка актов сверки для Бухгалтерии 3.0.

Взаиморасчеты Email рассылки Акт сверки Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Внешняя обработка для Бухгалтерии 3.0 - позволяет автоматически формировать документы «Акт сверки расчетов» с контрагентами за выбранный период с последующей фоновой отправкой на почту контрагента.

3000 руб.

25.11.2020    22420    182    6    

162

УТ 11, КА 2, ERP 2: Настраиваемые под каждую организацию печать и подпись ответственных лиц в печатных формах (ТОРГ-12, Счёт-фактура, УПД, УКД, Заказ клиента, Акт сверки, М-15 и др.)

Печатные формы Взаиморасчеты Оптовая торговля Производство готовой продукции (работ, услуг) Акт сверки Оперативный учет Управляемые формы 1С:Управление торговлей 11 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

12000 руб.

13.03.2018    56817    184    76    

116

Автоматический зачет авансов в 1С:УНФ по ФИФО

Взаиморасчеты Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 Россия Управленческий учет Платные (руб)

Знаем о взаиморасчетах в Управлении нашей фирмой все, что только можно знать. Самая большая проблема взаиморасчетов в УНФ в том, что зависают непонятные долги и предоплаты, в Пульсе бизнеса показываются неадекватные цифры, отчеты по долгам показывают не пойми что.

12000 руб.

22.07.2021    23735    25    34    

32

Дебиторская задолженность по срокам долга

Взаиморасчеты Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Бухгалтерский учет Управленческий учет Платные (руб)

Один из лучших вариантов отчета по дебиторской задолженности. Отображает сроки возникновения задолженности, просроченной задолженности с точностью до регистратора, а также многое другое, вне зависимости от схемы взаиморасчетов (online / offline) и объекта расчетов (УТ 11.3, 11.4, 11.5, КА 2.4, 2.5, ERP 2.4, 2.5), состояния флажка "по документам расчета" ( УТ 10, КА 1.1, УПП 1.3) в договоре. Группирует задолженность по интервалам. Имеет большое количество настроек. Не требует доработок конфигурации.

15120 руб.

28.09.2012    94780    589    281    

140

Групповое формирование, согласование, печать и отправка по e-mail актов сверок взаиморасчетов (Бухгалтерия предприятия, ред. 3.0)

Email рассылки Взаиморасчеты Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Указывайте любой период, список организаций, контрагентов, видов договоров (с покупателем, с поставщиком и др.), счетов бухгалтерского учёта, валюту, необходимость детализации по договорам, список печатных форм и форматов их сохранения, а затем формируйте, согласовывайте, контролируйте, печатайте и отправляйте по e-mail готовые акты сверок прямо из 1С: Бухгалтерия предприятия, ред. 3.0.

9000 руб.

03.04.2018    30647    64    24    

64
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. anig99 2843 08.02.14 02:06 Сейчас в теме
По поводу 3 пункта из первой части статьи: пробовали на СКД или чистым запросом???? Столкнулся с тем, что СКД независимо от настроек что-то странное творит и увеличивает время выполнения отчета.
2. mxm2 1265 08.02.14 21:42 Сейчас в теме
(1) anig99, Вашу оптимизацию делал на СКД (где-то валяется отчет, попробую запросом в консоли). Обычное соединение для вычисления нарастающего итога пробовал и так и эдак - на больших объемах (визуально) одинаковые тормоза, На малых - субъективно СКД - быстрее.
7. ildarovich 7861 28.02.14 15:49 Сейчас в теме
(1) Тоже столкнулся с тем, что
СКД независимо от настроек что-то странное творит и увеличивает время выполнения отчета
- вроде бы разработчики обещали исправить это в ближайшем релизе платформы.
(6) Опубликовал свой "многообещающий" подход к этой задаче: Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали. Правда, пример приведен пока только для УТ10.3, УПП, КА, но это очень просто и в самое ближайшее время сделаю для УТ11. Сравнение с СКД все еще любопытно.
3. ildarovich 7861 09.02.14 11:05 Сейчас в теме
Интересная тема. Но вот какой вопрос: - Вы же сами написали статью Сложные отчеты для управляемых форм с использованием СКД: просто. На примере отчета ABC анализ номенклатуры, клиентов для УТ11. Наверняка прочитали комментарий Якова http://forum.infostart.ru/forum24/topic91425/message963869/#message963869 (он там тремя плюсами отмечен). А почему не попробовали состыковать для решения данной задачи две СКД: в первой с помощью функции ВычислитьВыражение рассчитать нарастающий итог, а во второй - сделать все остальное? Эта идея вроде бы лежит на поверхности. Судя, например, по комментарию http://forum.infostart.ru/forum24/topic94658/message986776/#message986776 к моей статье Баттерфляй - метод быстрого расчета нарастающего итога в запросе. Дело в том, что из-за этого (из-за отсутствия данных по скорости решения на основе двухступенчатой СКД) я не пробую пока свой подход к этой задаче.
4. mxm2 1265 09.02.14 12:52 Сейчас в теме
(3) ildarovich, Если использовать "ВычислитьВыражение" в СКД, (хотя не соображу как конкретно), то можно обойтись стандартом СКД, без "прокладки" в виде языка 1С, но и в этом случае всеравно будет Вычисление нарастающего итога, а при использовании регистра накопления остатков, мы берем готовые значения (почти готовые).
Отчет с "прокладкой" - работает быстрее чем через соединение, но медленнее чем с использованием регистра (в общем то понятно почему).
5. ildarovich 7861 09.02.14 13:39 Сейчас в теме
(4) Нарастающий итог в первом СКД может вычисляться так
ВычислитьВыражение("Сумма(Значение)", "МояГруппировка" , , "Первая", "Текущая")
Собственно расчет должен выполняться ОЧЕНЬ быстро. Пусть этот подход съест 5 лишних секунд по сравнению с использованием регистра. Тогда будет не 20, а 25 секунд (очень хочется знать сколько именно). Но зато не придется менять конфигурацию! Это существенно расширит область применения отчета. Тут действует "правило ступеньки" - всего одна ступенька перед входом в магазин может отпугнуть до 70% потенциальных покупателей.
6. mxm2 1265 09.02.14 13:55 Сейчас в теме
(5) ildarovich, согласен, попробую на досуге.
8. vx_gas 26 14.05.14 14:16 Сейчас в теме
Не знаю за другие конфигурации, но в упп этот велосипед уже придуман, регистр называется "расчеты по реализации в условных единицах" ну и по приобретению где - то так же. На вскидку не помню, конфигуратор уже закрыл :)
Оставьте свое сообщение