В поисках причины "почему перестал закрываться 25й счет в БСХП" в отладчике дошел до общего модуля "РасчетСебестоимости" и процедуры "Рассчитать себестоимость". В которой оказался очень длинный комментарий с описанием методики расчета, основанной на графах.
Графы? Хм, это что-то из какого-там курса института. Ну, там, стрелочки и круглешки. Для решения задач по графам можно считать вершины, но это для самых простых задач. А еще формулы вроде были... Эх, давно это было.
А дальше я увидел вот что:
Процедура ЗаписатьОписаниеГрафаДляОтладки(Затраты, МенеджерВременныхТаблиц, Ссылка)
// Записывает представление данных о затратах на языке Dot.
// Может содержать некоторые прикладные данные (наименования подразделений, номенклатурных групп).
// Эти данные могут быть полезны для настройки распределения затрат.
Если Не ОбщегоНазначенияКлиентСервер.РежимОтладки() Тогда
Возврат;
КонецЕсли;
ЗаписьЖурналаРегистрации(
ИмяСобытияЖурналаРегистрации("Отладка.ПредставлениеЗатрат"),
УровеньЖурналаРегистрации.Информация,
Метаданные.Документы.РегламентнаяОперация,
Ссылка,
ОписаниеГрафа(Затраты, МенеджерВременныхТаблиц));
КонецПроцедуры
Сохранение текстового описания графа в журнал регистрации?
Ввожу в параметрах конфигуратора "РежимОтладки", запускаю закрытие месяца, и...
Гуглим язык dot и википедия советует Graphviz. Ставим, скармливаем текст из ЖР, и... Падение. Скачиваю zip-версию, импорт, и... падение. В общем, Graphviz не захотел питаться моим файлом.
Но это не беда. Гуглим "dot vizualation online" и в конце концов
В общем, рекомендую https://dreampuf.github.io/GraphvizOnline, выбирайте engine=osage для более понятного линейного вида, и format=png для копирования правой кнопкой мыши и печати через paint длинной портянки. Вот такой:
(полная версия есть в скриншотах, надо "открыть картинку")
Ну вот и всё!
Мне была интересна сама возможность получить готовый граф затрат из БП. К сожалению, он оказался неудобочитаемым. Но для отъявленных программистов это не беда. Передаю знамя им.