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

Основой основ бухгалтерского учета является «проводка», которая описывается как минимум тремя параметрами: счетом-источником (счетом кредита), счетом приемником (счетом дебета) и суммой. Если счета бухгалтерского учета представить узлами, то проводки естественно оказываются их связями, что приводит к очевидной мысли изображать множество проводок в виде ориентированного графа. При всей наглядности представления набора проводок в виде графа, у этого представления есть существенные минусы. Оно недостаточно информативно и неоднозначно строится. Из-за чего широкого применения на практике это представление не нашло.
Предлагается заменить представление множества проводок в виде графа представлением в виде диаграммы Сэнкей. Это позволяет изобразить суммы проводок в виде ширины потоков данной диаграммы, что добавляет диаграмме информативности. В сочетании с более регулярным расположением счетов на диаграмме и использованием для них цветовой маркировки это придает диаграмме наглядность и дополнительную красоту.
Проблема превращения ориентированного графа проводок в диаграмму Сэнкей заключается в возможном наличии циклов в этом графе. Эти циклы приходится разрывать. Для чего некоторые счета приходится изображать на диаграмме дважды: один раз слева с исходящими дугами, второй раз – справа с входящими.
Для выбора расщепляемых счетов можно использовать следующий «жадный» алгоритм: первым расщепляется счет, через который проходит максимальное количество циклов. После этого снова определяется наличие циклов. И если они остались, следующий максимально-цикличный счет снова расщепляется. Пока в графе не останется ни одного цикла. На практике бывает достаточно расщепить 1-3 счета.
Так как граф проводок имеет относительно небольшие размеры, подсчет числа циклов ведется последовательным возведением в степень матрицы смежности графа. Число циклов длины, которая соответствует степени матрицы, находится на ее диагонали. Диагональные элементы накапливаются, что и дает в итоге суммы количества циклов разной длины, из которых выбирается максимальная.
На рисунке можно посмотреть пример получающейся диаграммы, реализованной в виде отчета для программы 1С: Бухгалтерия 3.0. Тот, кто немного знаком с бухучетом, оценит то, как по классике расположились потоки проводок между счетами. Благодаря представлению в виде диаграммы Сэнкей, вся система учтенных в данном периоде хозяйственных операций видна как на ладони.
Попробуйте — возможно, это именно тот способ визуализации, которого вам не хватало!