04.01.2002, 15:42 | #1 |
Участник
|
Один из подходов к анализу движения данных в AXAPTA
Иногда возникает необходимость разобраться, что происходит при той или иной операции в AXAPTA. Например, как разносятся проводки в ГК или, как происходит фактуровка Заказа.
Предлагаю следующую схему: 1. Отследить какие таблицы модифицируются, трассировкой обращений к БД 2. Восстановить связи между ними с помощью MorphXplorer 3. Проанализировать результаты 1. Отследить какие таблицы модифицируются, трассировкой обращений к БД Использовать возможность AXAPTA меню Сервис->Параметры вкладка Разработка, поставить галочку в Мониторинг – Запросов к базе данных. После этого произвести необходимую операцию, затем отключить мониторинг. Теперь в окне сообщений есть последовательность обращений к Базе Данных (таблица.операция()). Очень полезная функция перед мониторингом – очистить окно сообщений (меню Команда->Очистить). Теперь можно определить какие таблицы изменялись, просто выписать таблицы с командами update, delete, insert … 2. Восстановить связи между ними с помощью MorphXplorer С помощью MorphXplorer визуализируем связи между таблицами. см. статья в Базе знаний: Использование MorphXplorer 3. Анализ результатов Теперь анализируя диаграммы и содержимое таблиц можно сделать определенные выводы. Например, составить рекомендации к откату при фактуровки Заказа. Хотелось бы обратить внимание на то, что желательно, если это не очевидно, сравнивать содержимое таблицы до и после исследуемой операции, для выработки конкретного решения. Примечания Следует заметить, что при данном подходе можно выявить необходимые таблицы и их связи только при конкретной ситуации (конкретных настройках параметров, допустим Заказа). Выявить затрагиваемые объекты для общего случая фактически невозможно, разве, что перебором установок различных параметров, но для этого надо знать какие на то параметры влияют. Наиболее оптимальный выход посмотреть, какие объекты затрагиваются в нескольких случаях, и попытаться обобщить. Точную картину можно получить только при анализе кода, что затруднительно, очень много объектов, в самих объектах много небольших функций, причем и объекты и функции зачастую непонятного назначения, т.к. отсутствует не только подробная документация, но и даже комментарии в коде. Например этот метод был использован при исследовании возможности удаления проводок
__________________
Гурьев Сергей |
|