This question has been flagged

To customize .rml reports, it is necessary to copy files of old service (inheritance has not been possible yet), customize it, unconnect old service and replace it to new customized service. The latter two points occur inside report parser (.py).

These files are - as already told - report parser (.py), .xml file containing information like report id, name, model an so on, and last not least the customized .rml file.

To replace old service with new one there are two ways: either changing report name or report id in .xml file copied from old service. Both of these ways work, as my test results showed. But I do not know, which of these ways is best and most secure regarding side effects. Reason of my question: I suppose that my issue with sometimes, invoice report is loading but not showing, is because of the way my services are registered inside system. Can anybody explain me the difference of the behaviour of these two ways of service replacement inside system?

Avatar
Discard
Author Best Answer

Another time, I can answer my question myself: I had some tests during the last days and discovered that only changing id and display string seem to achieve that replacement services are registered correctly to system. Reason: When changing name, my custom parser can not be fully uninstalled. It looks like it is uninstalled, but when I want to print original report again, system is still searching for the name of my module already uninstalled (key error). I have no idea where in database this connection to my uninstalled module remains; therfore, my database is destroyed as I am not able to revert this installation completely. When only changing id (name remains equal), I can correctly uninstall my custom report parser and reuse original one. For me, in conclusion, that means, that changing name for replacement services is the wrong way.

Avatar
Discard