Нарастающий итог в 1С
-

Нарастающий итог в 1С

0
6904
24.01.2022 Айдар Фархутдинов

Содержание:

1.       Что такое нарастающие итоги в 1С

2.       Задача по определению просроченных долгов

3.       Алгоритм решения с нарастающими итогами в 1С  

 

1.    Что такое нарастающие итоги в 1С


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


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


2.    Задача по определению просроченных долгов


Пусть у нас есть две таблицы – «Долги» и «Обороты», как показано ниже:



Рис. 1 Таблица Долгов



Рис. 2 Таблица «Обороты»


Задача: сделать таблицу «Просроченные основные долги», как показано ниже:



Рис. 3 Таблица просроченных основных долгов


В исходной таблице находится документация на величину, которая равна сумме долга контрагента.


Принцип нахождения исходной таблицы – это распределение строки «Накл. 2», которая имеет регистратор, внутри таблицы «Обороты».


Таким образом сумма долга будет иметь такой вид сложения:

·        Строка «Накл. 4» – 100;

·        Строка «Накл. 3» – 80;

·        Строка «Накл. 2» – 20, а 20 – это некоторая часть из «Сумма» в текущей строке внутри таблицы «Обороты».


То есть получается, что нужно найти внутри таблицы «Обороты» строку, которая будет являться крайней во всём порядке строк в таблице, которая подбирает в противоположном порядке строки до нужной суммы долга.  


3.    Алгоритм решения с нарастающими итогами в 1С


Рассмотрим подробный алгоритм для решения данной задачи.


1.     Для начала, необходимо получить общие обороты, учитывая нарастающие итоги с начала каждого месяца в таблице «Обороты». Так как у контрагента в нашем примере долг = 200, то это входит в сентябрь, в котором интервал 180-280. Остаток по долгу, чтобы снова найти нужный поиск, будет происходить так: 200-180 = 20. Верхняя часть таблицы заполняется нарастающими итогами для оборотов, как показано в примере таблице ниже:



Рис. 4 Верхняя часть таблицы заполняется нарастающими итогами


2.     Далее у нас появится правильный перечень документации, которая содержит нарастающий итог с начала месяца. Так как последний остаток у нас составляет 20 и он находится в промежутке от 0 до 60, мы нашли необходимую строчку в таблице «Обороты», как показано ниже:



Рис. 5 Нарастающий итог с начала сентября


3.     Следующим шагом нужно будет скопировать те строчки в таблице «Обороты», в которых период равен, либо превышает 20.09.09 для новой таблицы. Далее прибавим новые столбцы: «Долг» и «Просроченный долг». Дальше нужно произвести заполнение новых столбцов так, что «Долг» нарастающим итогом в строчке «Накл. 2» = 20, а «Дата отсрочки» – 01.11.09, как демонстрируется на скриншоте ниже:



Рис. 6 Заполнение столбца таблицы «Долг нарастающим итогом»


Выше было описано только два варианта промежутка месяц-документ. Обычно в таблице «Обороты» довольно большая временная плотность, так что необходимо использовать интервал поиска таким образом: год → квартал → месяц → декада → день → документ.


Решение задачи при помощи запросов

Рассмотрим, как должен выглядеть запрос по отчёту в 1С «Просроченный долг», который находится в конфигурации «ПросроченныйДолг.dt». Первичные две таблицы, «Долги» и «Оборот», в запросе будут описаны как справочники.


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



Рис. 7 Описание ежемесячных оборотов


Первичная таблица, основанная на запросе «ОборотыПоМесяцам» будет иметь такой вид:



Рис. 8 Таблица ежемесячных оборотов


Далее нужно организовать запрос, чтобы определять итоги, которые нарастают, в «ОборотыПоМесяцам». Текст запроса будет следующим:



Рис. 9 Текст запроса для определения нарастающих итогов в 1С


Результатом данного запроса будет таблица с доходами нарастающим итогом «ОборотыПоМесяцамНарастающие», как демонстрируется на скриншоте ниже:



Рис. 10 Таблица с доходами нарастающим итогом


Далее ищем строку, которая будет иметь промежуток от «СуммаДо» до «СуммаПосле» и будет содержать внутри себя необходимое значение долга нарастающим итогом, для этого, в запросе нужно задействовать таблицы «Долги» и «ОборотыПоМЕсяцамНарастающие» и их соединение:



Рис. 11 Запрос для поиска значения долга нарастающим итогом


В результате выполнения запроса формируется таблица «ДолгиПоВыбраннымМесяцам»:



Рис. 12 Таблица долга нарастающим итогом


Следующим шагом в запросе будет выбор из таблицы с оборотами документации за конкретный временной промежуток:



Рис. 13 Запрос с выбором документации с суммой нарастающим итогом


Результатом будет таблица «ДвиженияПоВыбраннымМесяцам»:



Рис. 14 Таблица Движение по выбранным месяцам с нарастающим итогом в 1С


Дальше нужно получить долги нарастающим итогом, по необходимой документации, для этого запрос будет следующим:



Рис. 15 Запрос для выбора документации по долгам нарастающим итогом


Получим промежуточную таблицу «ДвиженияПредварительные»:



Рис. 16 Таблица Движения предварительные с нарастающим итогом в 1С


Далее, согласно нашему параметру «ОстатокДолга» = 20, нужно выявить одну строку и вывести её внутри таблицы «ДвиженияОкончательные», как демонстрируется в тексте запроса ниже:



Рис. 17 Выбор остатка долга нарастающим итогом


Итогом выполнения данного запроса будет таблица «ДвиженияОкончательные», которая представлена ниже:



Рис. 18 Таблица с остатком дога нарастающим итогом


Последний шаг – это получение окончательной таблицы при помощи таблицы «ДвиженияОкончательные» и таблицы «Обороты»:



Рис. 19 Окончательный запрос с нарастающим итогом


Далее получаем окончательную таблицу «ПросроченныеДолги», как показано ниже:



Рис. 20 Окончательная таблица Просроченные долги


Специалист компании «Кодерлайн»

Айдар Фархутдинов

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.