Граф проводок

13.01.24

Разработка - Инструментарий разработчика

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Граф проводок v3:
.epf 239,58Kb
25
25 Скачать (1 SM) Купить за 1 850 руб.

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

Инструкция по использованию.

На странице "Данные" выбираем регистр для анализа, указываем период и нажимаем кнопку "Сформировать данные". При необходимости можно сохранить данные в файл или загрузить их из файла.

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

Наконец, переходим на вкладку "HTML" и наслаждаемся сформированным графом. Если был осуществлен выбор по счету, то выбранные счета будут подсвечены цветом фуксии.

В обработке используется библиотека cytoscape js

Надеюсь, обработка окажется полезной. Приветствуются пожелания и обратная связь.

Проверял на релизе платформы 1С:Предприятие 8.3 (8.3.22.2143) (по идее должна работать и на более древних версиях).

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.1.22.86

cytoscape js графы счетов поле html

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    169303    937    403    

905

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12614    99    42    

101

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26539    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    16831    41    15    

75

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11398    40    27    

66

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190552    1150    0    

918

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

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    780    2    0    

4

Работа с интерфейсом Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    55303    17    23    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. acvatoris 557 06.01.24 07:36 Сейчас в теме
Очень интересная у вас гипотеза !
Подскажите, пожалуйста, каким образом вы выводите граф в Html? Граф рисуется в канвасе ?
2. van_za 270 06.01.24 08:27 Сейчас в теме
(1)
Да, вы правы, граф можно выводить в HTML с использованием канваса (canvas). Канвас позволяет программно рисовать графику на веб-странице с помощью JavaScript.В данном случае работу по рисованию берет на себя библиотека cytoscape js. Другой способ - использовать библиотеки для визуализации данных, такие как D3.js или Chart.js,
acvatoris; +1 Ответить
11. acvatoris 557 06.01.24 17:49 Сейчас в теме
Расскажите, пожалуйста, про быстродействие. Не подвисает ли html страничка при отображении графа проводок?
16. van_za 270 06.01.24 20:36 Сейчас в теме
(11)
Зависаний не заметил
acvatoris; +1 Ответить
12. acvatoris 557 06.01.24 17:54 Сейчас в теме
Означает, ли это что при помощи данной библиотеки можно отражать граф в 3d ?
17. van_za 270 06.01.24 20:41 Сейчас в теме
(12)
Да, но тогда нужно будет купить бухгалтерам vr очки :)
portwein; acvatoris; +2 Ответить
3. sereginseregin 22 06.01.24 09:08 Сейчас в теме
Дополнительно предложу:
- Активы - треугольник вверх;
- Пассивы - треугольник вниз;
- АП - остаются окружностями;

- Стрелки красным - для отрицательных сумм - если начать стоимость и количество указывать
DimaP; ixijixi; JohnyDeath; acvatoris; JohnConnor; van_za; +6 Ответить
4. van_za 270 06.01.24 09:17 Сейчас в теме
(3) спасибо за идеи
acvatoris; +1 Ответить
5. strannik73 12 06.01.24 11:18 Сейчас в теме
Если рядом со счетом указать сальдо начальное и конечное, а рядом с вектором - величину проводки, то получится нечто похожее на локальную фондовую сеть.
acvatoris; +1 Ответить
7. sereginseregin 22 06.01.24 11:54 Сейчас в теме
(5) толщину вектора рисовать пропорционально стоимости
10. strannik73 12 06.01.24 16:18 Сейчас в теме
(7)Пачка бумаги толщиной с волосок, станок - толщиной с бревно.
6. Константин С. 674 06.01.24 11:51 Сейчас в теме
Самолетики наше все!!!
Куда привычней)))
8. sereginseregin 22 06.01.24 11:56 Сейчас в теме
(6)Самолётики - это для бухгалтера, чтобы регистрировать операции. Анализировать ИМХО на графах проще
acvatoris; +1 Ответить
9. Константин С. 674 06.01.24 14:23 Сейчас в теме
(8) все дело в привычке и вкусе, каждому свое).
Лично мне привычней как в анекдоте когда заглядывали в ящик. С лево Дт с право Кт и все это столбиком, а вцелом таблица.

но JS, прикольная.
21. TMV 14 07.01.24 14:39 Сейчас в теме
13. van_za 270 06.01.24 18:16 Сейчас в теме
(3)
1. Сделал различные фигурки для разных типов счетов, треугольника в низ нет, выбрал другую фигуру
https://js.cytoscape.org/demos/node-types/ - ссылка на пример там все типы

2. Убрал надписи вида счета.

https://js.cytoscape.org/demos/node-types/

3. Добавил опциональную возможность вывода суммы проводок по документу.

4. Стрелки красным - для отрицательных сумм - у меня пока нет отрицательных сумм (если сумма отрицательная меняю местами Дт Кт)
Прикрепленные файлы:
acvatoris; +1 Ответить
14. van_za 270 06.01.24 20:11 Сейчас в теме
4. Добавил опцию вывода остатков по счету (начальный конечный)
5. Добавил опцию вывода наименования счета
6. Добавил кнопку обновить
acvatoris; +1 Ответить
15. van_za 270 06.01.24 20:21 Сейчас в теме
Так примерно выглядит
Прикрепленные файлы:
DimaP; JohnyDeath; acvatoris; +3 Ответить
18. acvatoris 557 06.01.24 22:02 Сейчас в теме
Можно сделать настройку в которой каждый пользователь сможет указывать какой тип фигуры будет активным или пассивным счётом, менять ли местами дебет с кредитом при отрицательной сумме или нет, можно ещё придумать какие- нибудь интересные настройки. Может быть ещё будет полезна настройка выбор периода, за который нужно сформировать граф
19. van_za 270 06.01.24 22:28 Сейчас в теме
(18)
спасибо за идеи!!!

1. Можно сделать настройку в которой каждый пользователь сможет указывать какой тип фигуры будет активным или пассивным счётом - планирую реализовать в дальнейшем..

2. менять ли местами дебет с кредитом при отрицательной сумме - это уже реализовано

3. Может быть ещё будет полезна настройка выбор периода, за который нужно сформировать граф - уже есть возможность выбрать данные за период
acvatoris; +1 Ответить
20. sereginseregin 22 07.01.24 10:20 Сейчас в теме
(19)
3) Чтобы граф стал инструментом, обеспечить подьзователя:
- Выбором периода;
- Выбором счетов;
- Выбором аналитики по субконто;

При этом, выбранные счета или субконто - определяют центральные счета, к ним на графе отображать все корреспондирующие (не указанные пользователем, для полноты картины движения стоимости). Получается графическое представление Оборотно-сальдовой ведомости. Как стоимость пришла и куда перераспределилась.
25. van_za 270 08.01.24 06:11 Сейчас в теме
(20)
Спасибо за идеи, думаю как лучше сделать, особенно мне видится полезным возможность отобрать по виду субконто, мне было бы интересно посмотреть например как ходит по счетам конкретный контрагент или договор.
22. john2004 07.01.24 15:34 Сейчас в теме
После всех доводок предлагаю переназвать в "Герцог баланса" :)
shard; ixijixi; acvatoris; +3 Ответить
23. van_za 270 07.01.24 20:14 Сейчас в теме
24. zhichkin 1531 08.01.24 00:22 Сейчас в теме
Хотелось бы обратить внимание на следующий труд в этой области: Графы затрат, Александр Поляков 2010 и 2014 годы публикации.
leiss123; +1 Ответить
26. van_za 270 08.01.24 06:19 Сейчас в теме
(24)
Я рассматриваю только фронтовую задачу про то как визуализировать, а там теория про то как сделать (разобраться как сделан) расчет себестоимости.
27. van_za 270 08.01.24 06:39 Сейчас в теме
Благодаря предложениям, а также собственному видению сформулировал примерный план для реализации 3ей версии.

Данные
- Добавить возможность отбирать данные проводок
(как минимум хотелось бы добавить отбор по значениям субконто), в идеале хотелось бы сделать какой то универсальный отбор (@sereginseregin)

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

Настройки вывода
- Вытащить в интерфейс доступные параметры построения графа из cytoscape js.
- Добавить варианты выбора фигур для видов счетов (@acvatoris)
- Добавить возможность сохранения настроек вывода в файл json
acvatoris; +1 Ответить
28. rzh 08.01.24 17:10 Сейчас в теме
Годная вещь! На githab не публикуете?
29. pma_2015 134 08.01.24 18:12 Сейчас в теме
Спасибо за публикацию.
1. Есть хотя бы один живой бухгалтер заказчик на такой анализ?
2. В сторону PlantUML не смотрели?
Мы на PlantUML тоже сделали проводки.
Прикрепленные файлы:
Анализ проводок.svg
30. van_za 270 08.01.24 22:00 Сейчас в теме
(29)
Я написал что это моя гипотеза, пока предварительно показывал аналитикам, вроде как понравилось, но может так сказать что бы не демотивировать коллегу :)
Пока в большей степени ориентируюсь на свои ощущение, мне было бы проще так понять связи.
acvatoris; +1 Ответить
32. Viktor_Ermakov 371 09.01.24 08:20 Сейчас в теме
(30) с гипотезой согласен полностью, визуализация любой задачи схожим образом, сильно облегчает понимание что в разработке архитектуры, программировании, так и в прикладных задачах. Автор молодец. Пора выложить исходники на github и принимать туда пожелания, выпускать версии обработки.
31. Viktor_Ermakov 371 09.01.24 08:16 Сейчас в теме
(29)
PlantUML

А у Вас поделка выложена на github или может еще где?
33. pma_2015 134 09.01.24 09:04 Сейчас в теме
(31) https://infostart.ru/1c/tools/1527549/ это расширение для ERP. Технический алгоритм здесь: https://infostart.ru/1c/tools/1513591/
Viktor_Ermakov; +1 Ответить
34. van_za 270 09.01.24 10:42 Сейчас в теме
(31)
Привет!
Пока нет, доделаю запланированные изменения и выложу код на github
Viktor_Ermakov; +1 Ответить
35. van_za 270 10.01.24 19:55 Сейчас в теме
Добавил отборы (измерения регистра + субконто)
Добавил возможность выбора ресурсов.
acvatoris; +1 Ответить
36. user707242_Gold_karas 13 11.01.24 12:04 Сейчас в теме
При прокручивании колесика мыши - масштаб графа очень быстро меняется, можно как то более сгладить? А так красота.
37. van_za 270 11.01.24 12:19 Сейчас в теме
(36)
возможно, посмотрю документацию к библиотеке
38. van_za 270 13.01.24 06:48 Сейчас в теме
(36)
в следующей версии опции отображения будут выведены в форму и будет уменьшено значение по умолчанию
wheelSensitivity - сейчас 1 будет 0.1
39. van_za 270 13.01.24 16:53 Сейчас в теме
Всем привет!
Спасибо всем за скачивания и оценки.
Также спасибо за обратную связь.
@acvatoris
@user707242_Gold_karas
@sereginseregin
@john2004
Последние изменения.
- Интерфейсные изменения в странице данные (json c права на всю страницу)
- Добавил параметры библиотеки в форму
- Улучшил значения настроек по умолчанию (например шаг зума при прокрутке колесика)
- Добавил выбор фигур по виду счета
- Настройки перенес в страницу html (меняете настройки и сразу видите изменения)
40. Polav62 342 22.01.24 13:20 Сейчас в теме
(39)
По поводу возможного функционала подсистемы визуализации можно посмотреть здесь:
- Строим граф затрат в слое бухгалтерского учета
- Строим граф затрат в слое управленческого учета
leiss123; +1 Ответить
41. van_za 270 05.02.24 08:53 Сейчас в теме
(40)
У меня решение по графическому анализу проводок без привязки к конкретному прикладу (себестоимость и прочее).
Кейс условно следующий, аналитику нужно изменить движения, при помощи данной обработки аналитик может посмотреть "как есть", использовать картинки для формирования документации и прочее. Также это может быть полезно для расследования по конкретным кейсам (например какими документами и проводками сформировались остатки по основному средству "тумбочка" или контрагенту "ИП иванов")
42. Polav62 342 05.02.24 22:30 Сейчас в теме
(41)
Это понятно. Да и подсистеме визуализации для отрисовки графа не особо важно из какого хранилища брать данные (затраты, расчеты и т.п.). В конечном счете главное, чтобы там можно было выделить узлы и дуги (или ребра), а затем их оптимально расположить на плоскости (планарный граф или максимально приближенный к планарному).
Я так понял, что Вы интересуетесь полезным функционалом такой подсистемы, в частности, можно посоветовать:
- ввести классы узлов - это позволит, например, присваивать классу вид геометрической фигуры, цвет фона и т.п.
- дать пользователю возможность интерактивно выделять различные подграфы - множества соседних узлов, кластеров, процессов - чтобы можно было "путешествовать" по графу. Например:
Выделяем кластеры
Выделяем процессы
43. van_za 270 05.02.24 22:41 Сейчас в теме
(42)
Это интересно и пересекается с моими мыслями и некоторыми обсуждения и с коллегами.
Оставьте свое сообщение