A large project has come to us to create an ERP system for a manufacturer company. As a server, the choice fell on tryton. However, their documentation is bad enough. On the Internet, we managed to find
. This information is very small for the development of any system on tryton. To close this gap, it was decided to document the entire development process, especially the pitfalls that had to be encountered. So let's get started.
You can install tryton from repositories, however, this path is not suitable for us. So go to their
. trytond - server sources, tryton - gtk client. We will have a web interface (yii) as a client, so download the
. At the moment, the latest version is 3.2.0, and we will consider it.
The server script is in the bin folder and is called trytond. When I tried to start trytond, I fell out with an error accessing the config file in /etc/trytond.conf. The magic key --help prompted that there is an argument -c (- config) with which you can specify the config file. You have to
.
The documentation claims support for postgresql, mysql, sqlite. Based on the correspondence of the developers trytond in irc, it is better not to use mysql. Accordingly, the choice fell on postgresql. I did not have to work with this database before, so I used a small
.
We need to install postgresql, create a user there, and be sure to give it rights to create a database:
Getting to edit the config. The first thing we see is the
. All documentation uses xml-rpc, although it is not included by default. I'm satisfied with json-rpc, so leave it as it is.
Next comes the database configuration. Fill in the appropriate data.
; I trytond refused to create a database with an empty admin password.
.
.
Tryton has several levels of logging (DEBUG, INFO, WARNING, ERROR, CRITICAL are indicated in the
). In the source code of the logging library there were such lines:
The larger the number, the less detailed logs. The irc flashed that
makes the most extended logs, although the documentation does not say a word about it, so I stopped at the
level.
In order to set the logging level you need to edit trytond / server.py (27 line):
.
Config changed, now we start the server. I can find a poor description of the server API
, but this is clearly not enough, so we continue to understand further. The network is full of python code to work with the server directly. It looks like this:
After long attempts to run this code, it turned out that jsonrpc is not a standard pypi library, but trytond’s own developer library, which can be picked out from the client (not to be confused with trytond / protocols / jsonrpc.py - these are different libraries). Download tryton, unpack it, and in the tryton folder we find our cherished jsonrpc.py. Now you can communicate with trytond in python, but we will have a frontend in php, so we continue to dig further.
After a long debriefing, we get the first working code (do not forget that the trytond server should be running):
This code is already clear and it is not difficult to transfer it to the necessary PL (php, Java ...). Now examine this query.
We will deal with the url request. All actions from the database are done on url
. We work with url to work with the database.
. It is assumed that the reader is already familiar with
, so we will not describe the structure of the request.
, which managed to get out of trytond / protocols / dispatcher.py and pieces of code from the irc channel:
Tryton has anonymous and authenticated requests. For example, common.server.version is an anonymous request, it can be done without logging in to the server. For common.db.create, you can omit the id and cookie, the query will still be executed. For authenticated requests, you must specify an id and a cookie.
The next step is to create a database that is necessary for the operation of trytond (users, caching ...) and the ERP system itself. The script runs for about a minute:
tryton itself will create the tables it needs in the database. It should be noted that tryton will not be able to create tables in an existing empty database even if the user is given the appropriate rights. We called the database tryton, so further requests should be made to the address
.
.
And finally we get the long-awaited response of the server with the names of the methods, some of which are described in the
Trytond methods{
"Id": 3,
"Result": [
“Model.ir.module.module.config_wizard.done.view_toolbar_get”,
“Model.ir.module.module.config_wizard.done.fields_view_get”,
"Model.ir.module.module.config_wizard.done.on_change_with",
"Model.ir.module.module.config_wizard.done.pre_validate",
“Model.ir.module.module.config_wizard.done.fields_get”,
“Model.ir.module.module.config_wizard.done.default_get”,
“Model.ir.model.print_model_graph.start.view_toolbar_get”,
“Model.ir.model.print_model_graph.start.fields_view_get”,
“Model.ir.model.print_model_graph.start.on_change_with”,
"Model.ir.model.print_model_graph.start.pre_validate",
“Model.ir.model.print_model_graph.start.fields_get”,
“Model.ir.model.print_model_graph.start.default_get”,
"Model.ir.module.module.install_upgrade.start.view_toolbar_get",
“Model.ir.module.module.install_upgrade.start.fields_view_get”,
"Model.ir.module.module.install_upgrade.start.on_change_with",
"Model.ir.module.module.install_upgrade.start.pre_validate",
“Model.ir.module.module.install_upgrade.start.fields_get”,
“Model.ir.module.module.install_upgrade.start.default_get”,
"Model.res.user.login.attempt.pre_validate",
"Model.res.user.login.attempt.fields_get",
"Model.res.user.login.attempt.default_get",
"Model.res.user.login.attempt.on_change_with",
"Model.ir.ui.menu-res.group.pre_validate",
“Model.ir.ui.menu-res.group.fields_get”,
“Model.ir.ui.menu-res.group.default_get”,
“Model.ir.ui.menu-res.group.on_change_with”,
"Model.ir.action.act_window.domain.view_toolbar_get",
"Model.ir.action.act_window.domain.fields_view_get",
"Model.ir.action.act_window.domain.export_data",
"Model.ir.action.act_window.domain.search_read",
"Model.ir.action.act_window.domain.import_data",
"Model.ir.action.act_window.domain.create",
"Model.ir.action.act_window.domain.search",
"Model.ir.action.act_window.domain.on_change_with",
"Model.ir.action.act_window.domain.write",
"Model.ir.action.act_window.domain.read",
"Model.ir.action.act_window.domain.search_count",
"Model.ir.action.act_window.domain.history_revisions",
"Model.ir.action.act_window.domain.pre_validate",
"Model.ir.action.act_window.domain.copy",
“Model.ir.action.act_window.domain.fields_get”,
"Model.ir.action.act_window.domain.default_get",
"Model.ir.action.act_window.domain.delete",
"Model.ir.model.access.view_toolbar_get",
"Model.ir.model.access.fields_view_get",
"Model.ir.model.access.export_data",
"Model.ir.model.access.search_read",
"Model.ir.model.access.import_data",
"Model.ir.model.access.create",
"Model.ir.model.access.get_access",
"Model.ir.model.access.search",
"Model.ir.model.access.on_change_with",
"Model.ir.model.access.write",
"Model.ir.model.access.read",
"Model.ir.model.access.search_count",
"Model.ir.model.access.history_revisions",
"Model.ir.model.access.pre_validate",
"Model.ir.model.access.copy",
"Model.ir.model.access.fields_get",
"Model.ir.model.access.default_get",
"Model.ir.model.access.delete",
"Model.ir.ui.view_tree_state.view_toolbar_get",
“Model.ir.ui.view_tree_state.fields_view_get”,
“Model.ir.ui.view_tree_state.export_data”,
"Model.ir.ui.view_tree_state.search_read",
“Model.ir.ui.view_tree_state.import_data”,
"Model.ir.ui.view_tree_state.create",
"Model.ir.ui.view_tree_state.get",
"Model.ir.ui.view_tree_state.search",
"Model.ir.ui.view_tree_state.on_change_with",
"Model.ir.ui.view_tree_state.write",
“Model.ir.ui.view_tree_state.read”,
“Model.ir.ui.view_tree_state.search_count”,
“Model.ir.ui.view_tree_state.set”,
“Model.ir.ui.view_tree_state.history_revisions”,
"Model.ir.ui.view_tree_state.pre_validate",
"Model.ir.ui.view_tree_state.copy",
“Model.ir.ui.view_tree_state.fields_get”,
“Model.ir.ui.view_tree_state.default_get”,
"Model.ir.ui.view_tree_state.delete",
"Model.ir.action.act_window.view_toolbar_get",
"Model.ir.action.act_window.fields_view_get",
"Model.ir.action.act_window.export_data",
"Model.ir.action.act_window.search_read",
"Model.ir.action.act_window.import_data",
"Model.ir.action.act_window.create",
"Model.ir.action.act_window.get",
"Model.ir.action.act_window.search",
"Model.ir.action.act_window.on_change_with",
"Model.ir.action.act_window.write",
"Model.ir.action.act_window.read",
"Model.ir.action.act_window.search_count",
"Model.ir.action.act_window.history_revisions",
"Model.ir.action.act_window.pre_validate",
"Model.ir.action.act_window.copy",
"Model.ir.action.act_window.fields_get",
"Model.ir.action.act_window.default_get",
"Model.ir.action.act_window.delete",
"Model.res.user.config.start.view_toolbar_get",
"Model.res.user.config.start.fields_view_get",
"Model.res.user.config.start.on_change_with",
"Model.res.user.config.start.pre_validate",
“Model.res.user.config.start.fields_get”,
"Model.res.user.config.start.default_get",
"Model.ir.module.module.dependency.view_toolbar_get",
“Model.ir.module.module.dependency.fields_view_get”,
"Model.ir.module.module.dependency.export_data",
"Model.ir.module.module.dependency.search_read",
"Model.ir.module.module.dependency.import_data",
“Model.ir.module.module.dependency.create”,
“Model.ir.module.module.dependency.search”,
"Model.ir.module.module.dependency.on_change_with",
“Model.ir.module.module.dependency.write”,
“Model.ir.module.module.dependency.read”,
"Model.ir.module.module.dependency.search_count",
"Model.ir.module.module.dependency.history_revisions",
"Model.ir.module.module.dependency.pre_validate",
"Model.ir.module.module.dependency.copy",
“Model.ir.module.module.dependency.fields_get”,
"Model.ir.module.module.dependency.default_get",
"Model.ir.module.module.dependency.delete",
"Model.ir.module.module.view_toolbar_get",
“Model.ir.module.module.fields_view_get”,
"Model.ir.module.module.export_data",
"Model.ir.module.module.search_read",
"Model.ir.module.module.import_data",
"Model.ir.module.module.create",
"Model.ir.module.module.on_write",
"Model.ir.module.module.search",
"Model.ir.module.module.on_change_with",
"Model.ir.module.module.write",
"Model.ir.module.module.read",
"Model.ir.module.module.search_count",
"Model.ir.module.module.history_revisions",
"Model.ir.module.module.pre_validate",
"Model.ir.module.module.copy",
"Model.ir.module.module.fields_get",
"Model.ir.module.module.default_get",
"Model.ir.module.module.delete",
"Model.ir.module.module.upgrade_cancel",
“Model.ir.module.module.upgrade”,
"Model.ir.module.module.install",
"Model.ir.module.module.uninstall_cancel",
"Model.ir.module.module.install_cancel",
“Model.ir.module.module.uninstall”,
“Model.ir.action-res.group.pre_validate”,
"Model.ir.action-res.group.fields_get",
“Model.ir.action-res.group.default_get”,
"Model.ir.action-res.group.on_change_with",
"Model.ir.translation.export.result.view_toolbar_get",
"Model.ir.translation.export.result.fields_view_get",
"Model.ir.translation.export.result.on_change_with",
"Model.ir.translation.export.result.pre_validate",
"Model.ir.translation.export.result.fields_get",
"Model.ir.translation.export.result.default_get",
"Model.ir.action.view_toolbar_get",
"Model.ir.action.fields_view_get",
"Model.ir.action.get_action_id",
"Model.ir.action.export_data",
"Model.ir.action.search_read",
"Model.ir.action.import_data",
"Model.ir.action.create",
"Model.ir.action.search",
"Model.ir.action.on_change_with",
"Model.ir.action.write",
"Model.ir.action.read",
"Model.ir.action.search_count",
"Model.ir.action.history_revisions",
"Model.ir.action.pre_validate",
"Model.ir.action.copy",
"Model.ir.action.fields_get",
"Model.ir.action.default_get",
"Model.ir.action.delete",
"Model.ir.translation.set.succeed.view_toolbar_get",
"Model.ir.translation.set.succeed.fields_get_get",
"Model.ir.translation.set.succeed.on_change_with",
"Model.ir.translation.set.succeed.pre_validate",
"Model.ir.translation.set.succeed.fields_get",
"Model.ir.translation.set.succeed.default_get",
"Model.ir.property.view_toolbar_get",
"Model.ir.property.fields_view_get",
"Model.ir.property.export_data",
"Model.ir.property.search_read",
"Model.ir.property.import_data",
"Model.ir.property.create",
"Model.ir.property.search",
"Model.ir.property.on_change_with",
"Model.ir.property.write",
"Model.ir.property.read",
"Model.ir.property.search_count",
"Model.ir.property.history_revisions",
"Model.ir.property.pre_validate",
"Model.ir.property.models_get",
"Model.ir.property.copy",
"Model.ir.property.fields_get",
"Model.ir.property.default_get",
"Model.ir.property.delete",
“Model.ir.rule.group-res.group.pre_validate”,
“Model.ir.rule.group-res.group.fields_get”,
“Model.ir.rule.group-res.group.default_get”,
“Model.ir.rule.group-res.group.on_change_with”,
“Model.ir.ui.view_search.view_toolbar_get”,
"Model.ir.ui.view_search.fields_view_get",
“Model.ir.ui.view_search.get_search”,
“Model.ir.ui.view_search.export_data”,
"Model.ir.ui.view_search.search_read",
"Model.ir.ui.view_search.import_data",
"Model.ir.ui.view_search.create",
"Model.ir.ui.view_search.search",
"Model.ir.ui.view_search.on_change_with",
"Model.ir.ui.view_search.write",
"Model.ir.ui.view_search.read",
“Model.ir.ui.view_search.search_count”,
“Model.ir.ui.view_search.history_revisions”,
“Model.ir.ui.view_search.pre_validate”,
"Model.ir.ui.view_search.copy",
"Model.ir.ui.view_search.fields_get",
"Model.ir.ui.view_search.default_get",
"Model.ir.ui.view_search.delete",
“Model.ir.module.module.config_wizard.first.view_toolbar_get”,
“Model.ir.module.module.config_wizard.first.fields_view_get”,
"Model.ir.module.module.config_wizard.first.on_change_with",
“Model.ir.module.module.config_wizard.first.pre_validate”,
“Model.ir.module.module.config_wizard.first.fields_get”,
“Model.ir.module.module.config_wizard.first.default_get”,
“Model.ir.action.url.view_toolbar_get”,
"Model.ir.action.url.fields_view_get",
"Model.ir.action.url.export_data",
"Model.ir.action.url.search_read",
"Model.ir.action.url.import_data",
"Model.ir.action.url.create",
"Model.ir.action.url.search",
"Model.ir.action.url.on_change_with",
"Model.ir.action.url.write",
"Model.ir.action.url.read",
"Model.ir.action.url.search_count",
“Model.ir.action.url.history_revisions”,
"Model.ir.action.url.pre_validate",
"Model.ir.action.url.copy",
"Model.ir.action.url.fields_get",
"Model.ir.action.url.default_get",
"Model.ir.action.url.delete",
"Model.ir.action.act_window.view.view_toolbar_get",
"Model.ir.action.act_window.view.fields_view_get",
"Model.ir.action.act_window.view.export_data",
"Model.ir.action.act_window.view.search_read",
"Model.ir.action.act_window.view.import_data",
"Model.ir.action.act_window.view.create",
"Model.ir.action.act_window.view.search",
"Model.ir.action.act_window.view.on_change_with",
"Model.ir.action.act_window.view.write",
"Model.ir.action.act_window.view.read",
"Model.ir.action.act_window.view.search_count",
"Model.ir.action.act_window.view.history_revisions",
"Model.ir.action.act_window.view.pre_validate",
"Model.ir.action.act_window.view.copy",
“Model.ir.action.act_window.view.fields_get”,
“Model.ir.action.act_window.view.default_get”,
"Model.ir.action.act_window.view.delete",
"Model.ir.sequence.strict.view_toolbar_get",
"Model.ir.sequence.strict.fields_view_get",
"Model.ir.sequence.strict.export_data",
"Model.ir.sequence.strict.search_read",
"Model.ir.sequence.strict.import_data",
"Model.ir.sequence.strict.create",
"Model.ir.sequence.strict.search",
"Model.ir.sequence.strict.on_change_with",
"Model.ir.sequence.strict.write",
"Model.ir.sequence.strict.read",
"Model.ir.sequence.strict.search_count",
"Model.ir.sequence.strict.code_get",
"Model.ir.sequence.strict.history_revisions",
"Model.ir.sequence.strict.pre_validate",
"Model.ir.sequence.strict.copy",
"Model.ir.sequence.strict.fields_get",
"Model.ir.sequence.strict.default_get",
"Model.ir.sequence.strict.delete",
“Model.ir.ui.menu.favorite.view_toolbar_get”,
“Model.ir.ui.menu.favorite.fields_view_get”,
"Model.ir.ui.menu.favorite.export_data",
"Model.ir.ui.menu.favorite.search_read",
"Model.ir.ui.menu.favorite.import_data",
"Model.ir.ui.menu.favorite.create",
"Model.ir.ui.menu.favorite.get",
“Model.ir.ui.menu.favorite.search”,
“Model.ir.ui.menu.favorite.on_change_with”,
"Model.ir.ui.menu.favorite.write",
"Model.ir.ui.menu.favorite.read",
"Model.ir.ui.menu.favorite.search_count",
“Model.ir.ui.menu.favorite.set”,
“Model.ir.ui.menu.favorite.history_revisions”,
“Model.ir.ui.menu.favorite.pre_validate”,
"Model.ir.ui.menu.favorite.copy",
"Model.ir.ui.menu.favorite.fields_get",
“Model.ir.ui.menu.favorite.default_get”,
“Model.ir.ui.menu.favorite.unset”,
"Model.ir.ui.menu.favorite.delete",
“Model.res.user-res.group.pre_validate”,
“Model.res.user-res.group.fields_get”,
“Model.res.user-res.group.default_get”,
"Model.res.user-res.group.on_change_with",
“Model.ir.ui.view.show.start.view_toolbar_get”,
“Model.ir.ui.view.show.start.fields_view_get”,
“Model.ir.ui.view.show.start.on_change_with”,
“Model.ir.ui.view.show.start.pre_validate”,
“Model.ir.ui.view.show.start.fields_get”,
“Model.ir.ui.view.show.start.default_get”,
"Model.ir.attachment.view_toolbar_get",
"Model.ir.attachment.fields_view_get",
"Model.ir.attachment.export_data",
"Model.ir.attachment.search_read",
"Model.ir.attachment.import_data",
"Model.ir.attachment.create",
"Model.ir.attachment.search",
"Model.ir.attachment.on_change_with_summary",
"Model.ir.attachment.on_change_with",
"Model.ir.attachment.write",
"Model.ir.attachment.read",
"Model.ir.attachment.search_count",
"Model.ir.attachment.history_revisions",
"Model.ir.attachment.pre_validate",
"Model.ir.attachment.models_get",
"Model.ir.attachment.copy",
"Model.ir.attachment.fields_get",
"Model.ir.attachment.default_get",
"Model.ir.attachment.delete",
"Model.ir.translation.update.start.view_toolbar_get",
"Model.ir.translation.update.start.fields_view_get",
"Model.ir.translation.update.start.on_change_with",
"Model.ir.translation.update.start.pre_validate",
"Model.ir.translation.update.start.fields_get",
"Model.ir.translation.update.start.default_get",
"Model.ir.export.view_toolbar_get",
"Model.ir.export.fields_view_get",
"Model.ir.export.export_data",
"Model.ir.export.search_read",
"Model.ir.export.import_data",
"Model.ir.export.create",
"Model.ir.export.search",
"Model.ir.export.on_change_with",
"Model.ir.export.write",
"Model.ir.export.read",
"Model.ir.export.search_count",
"Model.ir.export.history_revisions",
"Model.ir.export.pre_validate",
"Model.ir.export.copy",
"Model.ir.export.fields_get",
"Model.ir.export.default_get",
"Model.ir.export.delete",
"Model.ir.ui.view_tree_width.view_toolbar_get",
“Model.ir.ui.view_tree_width.fields_view_get”,
"Model.ir.ui.view_tree_width.set_width",
"Model.ir.ui.view_tree_width.export_data",
"Model.ir.ui.view_tree_width.search_read",
"Model.ir.ui.view_tree_width.import_data",
"Model.ir.ui.view_tree_width.create",
"Model.ir.ui.view_tree_width.search",
"Model.ir.ui.view_tree_width.on_change_with",
"Model.ir.ui.view_tree_width.write",
"Model.ir.ui.view_tree_width.read",
"Model.ir.ui.view_tree_width.search_count",
"Model.ir.ui.view_tree_width.history_revisions",
"Model.ir.ui.view_tree_width.pre_validate",
"Model.ir.ui.view_tree_width.copy",
“Model.ir.ui.view_tree_width.fields_get”,
"Model.ir.ui.view_tree_width.default_get",
"Model.ir.ui.view_tree_width.delete",
"Model.res.group.view_toolbar_get",
"Model.res.group.fields_view_get",
"Model.res.group.export_data",
"Model.res.group.search_read",
"Model.res.group.import_data",
"Model.res.group.create",
"Model.res.group.search",
"Model.res.group.on_change_with",
"Model.res.group.write",
"Model.res.group.read",
"Model.res.group.search_count",
"Model.res.group.history_revisions",
"Model.res.group.pre_validate",
"Model.res.group.copy",
"Model.res.group.fields_get",
"Model.res.group.default_get",
"Model.res.group.delete",
"Model.ir.sequence.view_toolbar_get",
"Model.ir.sequence.fields_view_get",
"Model.ir.sequence.export_data",
"Model.ir.sequence.search_read",
"Model.ir.sequence.import_data",
"Model.ir.sequence.create",
"Model.ir.sequence.search",
"Model.ir.sequence.on_change_with",
"Model.ir.sequence.write",
"Model.ir.sequence.read",
"Model.ir.sequence.search_count",
"Model.ir.sequence.code_get",
"Model.ir.sequence.history_revisions",
"Model.ir.sequence.pre_validate",
"Model.ir.sequence.copy",
"Model.ir.sequence.fields_get",
"Model.ir.sequence.default_get",
"Model.ir.sequence.delete",
"Model.ir.model.data.view_toolbar_get",
"Model.ir.model.data.fields_view_get",
"Model.ir.model.data.export_data",
"Model.ir.model.data.search_read",
"Model.ir.model.data.import_data",
"Model.ir.model.data.create",
"Model.ir.model.data.search",
"Model.ir.model.data.on_change_with",
"Model.ir.model.data.write",
"Model.ir.model.data.read",
"Model.ir.model.data.search_count",
"Model.ir.model.data.history_revisions",
"Model.ir.model.data.pre_validate",
"Model.ir.model.data.copy",
"Model.ir.model.data.fields_get",
"Model.ir.model.data.default_get",
"Model.ir.model.data.delete",
"Model.ir.sequence.type-res.group.pre_validate",
“Model.ir.sequence.type-res.group.fields_get”,
“Model.ir.sequence.type-res.group.default_get”,
"Model.ir.sequence.type-res.group.on_change_with",
"Model.ir.trigger.log.pre_validate",
"Model.ir.trigger.log.fields_get",
"Model.ir.trigger.log.default_get",
"Model.ir.trigger.log.on_change_with",
"Model.ir.ui.view.view_toolbar_get",
"Model.ir.ui.view.fields_view_get",
"Model.ir.ui.view.export_data",
"Model.ir.ui.view.search_read",
"Model.ir.ui.view.import_data",
"Model.ir.ui.view.create",
"Model.ir.ui.view.search",
"Model.ir.ui.view.on_change_with",
"Model.ir.ui.view.write",
"Model.ir.ui.view.read",
"Model.ir.ui.view.search_count",
“Model.ir.ui.view.history_revisions”,
"Model.ir.ui.view.pre_validate",
"Model.ir.ui.view.copy",
"Model.ir.ui.view.fields_get",
"Model.ir.ui.view.default_get",
"Model.ir.ui.view.delete",
"Model.ir.ui.view.show",
“Model.ir.action.report.view_toolbar_get”,
"Model.ir.action.report.fields_view_get",
“Model.ir.action.report.on_change_with_report_content_name”,
"Model.ir.action.report.export_data",
"Model.ir.action.report.search_read",
"Model.ir.action.report.import_data",
"Model.ir.action.report.create",
"Model.ir.action.report.search",
"Model.ir.action.report.on_change_with",
"Model.ir.action.report.write",
"Model.ir.action.report.read",
"Model.ir.action.report.search_count",
"Model.ir.action.report.history_revisions",
"Model.ir.action.report.pre_validate",
"Model.ir.action.report.copy",
"Model.ir.action.report.fields_get",
"Model.ir.action.report.default_get",
"Model.ir.action.report.delete",
"Model.res.user-ir.action.pre_validate",
"Model.res.user-ir.action.fields_get",
"Model.res.user-ir.action.default_get",
"Model.res.user-ir.action.on_change_with",
"Model.ir.model.field-res.group.pre_validate",
“Model.ir.model.field-res.group.fields_get”,
“Model.ir.model.field-res.group.default_get”,
"Model.ir.model.field-res.group.on_change_with",
"Model.ir.module.module.install_upgrade.done.view_toolbar_get",
“Model.ir.module.module.install_upgrade.done.fields_view_get”,
"Model.ir.module.module.install_upgrade.done.on_change_with",
"Model.ir.module.module.install_upgrade.done.pre_validate",
“Model.ir.module.module.install_upgrade.done.fields_get”,
“Model.ir.module.module.install_upgrade.done.default_get”,
"Model.ir.rule.view_toolbar_get",
"Model.ir.rule.fields_view_get",
"Model.ir.rule.export_data",
"Model.ir.rule.search_read",
"Model.ir.rule.import_data",
«model.ir.rule.create»,
«model.ir.rule.search»,
«model.ir.rule.on_change_with»,
«model.ir.rule.write»,
«model.ir.rule.read»,
«model.ir.rule.search_count»,
«model.ir.rule.history_revisions»,
«model.ir.rule.pre_validate»,
«model.ir.rule.copy»,
«model.ir.rule.fields_get»,
«model.ir.rule.default_get»,
«model.ir.rule.delete»,
«model.ir.translation.view_toolbar_get»,
«model.ir.translation.fields_view_get»,
«model.ir.translation.export_data»,
«model.ir.translation.search_read»,
«model.ir.translation.import_data»,
«model.ir.translation.create»,
«model.ir.translation.search»,
«model.ir.translation.on_change_with»,
«model.ir.translation.write»,
«model.ir.translation.read»,
«model.ir.translation.search_count»,
«model.ir.translation.get_language»,
«model.ir.translation.history_revisions»,
«model.ir.translation.pre_validate»,
«model.ir.translation.copy»,
«model.ir.translation.fields_get»,
«model.ir.translation.default_get»,
«model.ir.translation.delete»,
«model.ir.model.button.view_toolbar_get»,
«model.ir.model.button.fields_view_get»,
«model.ir.model.button.export_data»,
«model.ir.model.button.search_read»,
«model.ir.model.button.import_data»,
«model.ir.model.button.create»,
«model.ir.model.button.search»,
«model.ir.model.button.on_change_with»,
«model.ir.model.button.write»,
«model.ir.model.button.read»,
«model.ir.model.button.search_count»,
«model.ir.model.button.history_revisions»,
«model.ir.model.button.pre_validate»,
«model.ir.model.button.copy»,
«model.ir.model.button.fields_get»,
«model.ir.model.button.default_get»,
«model.ir.model.button.delete»,
«model.ir.translation.export.start.view_toolbar_get»,
«model.ir.translation.export.start.fields_view_get»,
«model.ir.translation.export.start.on_change_with»,
«model.ir.translation.export.start.pre_validate»,
«model.ir.translation.export.start.fields_get»,
«model.ir.translation.export.start.default_get»,
«model.ir.sequence.type.view_toolbar_get»,
«model.ir.sequence.type.fields_view_get»,
«model.ir.sequence.type.export_data»,
«model.ir.sequence.type.search_read»,
«model.ir.sequence.type.import_data»,
«model.ir.sequence.type.create»,
«model.ir.sequence.type.search»,
«model.ir.sequence.type.on_change_with»,
«model.ir.sequence.type.write»,
«model.ir.sequence.type.read»,
«model.ir.sequence.type.search_count»,
«model.ir.sequence.type.history_revisions»,
«model.ir.sequence.type.pre_validate»,
«model.ir.sequence.type.copy»,
«model.ir.sequence.type.fields_get»,
«model.ir.sequence.type.default_get»,
«model.ir.sequence.type.delete»,
«model.ir.action.wizard.view_toolbar_get»,
«model.ir.action.wizard.fields_view_get»,
«model.ir.action.wizard.export_data»,
«model.ir.action.wizard.search_read»,
«model.ir.action.wizard.import_data»,
«model.ir.action.wizard.create»,
«model.ir.action.wizard.search»,
«model.ir.action.wizard.on_change_with»,
«model.ir.action.wizard.write»,
«model.ir.action.wizard.read»,
«model.ir.action.wizard.search_count»,
«model.ir.action.wizard.history_revisions»,
«model.ir.action.wizard.pre_validate»,
«model.ir.action.wizard.copy»,
«model.ir.action.wizard.fields_get»,
«model.ir.action.wizard.default_get»,
«model.ir.action.wizard.delete»,
«model.res.user.get_preferences_fields_view»,
«model.res.user.view_toolbar_get»,
«model.res.user.fields_view_get»,
«model.res.user.export_data»,
«model.res.user.search_read»,
«model.res.user.import_data»,
«model.res.user.create»,
«model.res.user.search»,
«model.res.user.on_change_with»,
«model.res.user.write»,
«model.res.user.read»,
«model.res.user.search_count»,
«model.res.user.get_preferences»,
«model.res.user.history_revisions»,
«model.res.user.pre_validate»,
«model.res.user.set_preferences»,
«model.res.user.copy»,
«model.res.user.fields_get»,
«model.res.user.default_get»,
«model.res.user.delete»,
«model.ir.translation.clean.start.view_toolbar_get»,
«model.ir.translation.clean.start.fields_view_get»,
«model.ir.translation.clean.start.on_change_with»,
«model.ir.translation.clean.start.pre_validate»,
«model.ir.translation.clean.start.fields_get»,
«model.ir.translation.clean.start.default_get»,
«model.ir.ui.menu.view_toolbar_get»,
«model.ir.ui.menu.fields_view_get»,
«model.ir.ui.menu.export_data»,
«model.ir.ui.menu.search_read»,
«model.ir.ui.menu.import_data»,
«model.ir.ui.menu.create»,
«model.ir.ui.menu.search»,
«model.ir.ui.menu.on_change_with»,
«model.ir.ui.menu.write»,
«model.ir.ui.menu.read»,
«model.ir.ui.menu.search_count»,
«model.ir.ui.menu.history_revisions»,
«model.ir.ui.menu.pre_validate»,
«model.ir.ui.menu.copy»,
«model.ir.ui.menu.fields_get»,
«model.ir.ui.menu.default_get»,
«model.ir.ui.menu.list_icons»,
«model.ir.ui.menu.delete»,
«model.ir.cache.pre_validate»,
«model.ir.cache.fields_get»,
«model.ir.cache.default_get»,
«model.ir.cache.on_change_with»,
«model.ir.module.module.config_wizard.other.view_toolbar_get»,
«model.ir.module.module.config_wizard.other.fields_view_get»,
«model.ir.module.module.config_wizard.other.on_change_with»,
«model.ir.module.module.config_wizard.other.pre_validate»,
«model.ir.module.module.config_wizard.other.fields_get»,
«model.ir.module.module.config_wizard.other.default_get»,
«model.ir.ui.icon.view_toolbar_get»,
«model.ir.ui.icon.fields_view_get»,
«model.ir.ui.icon.export_data»,
«model.ir.ui.icon.search_read»,
«model.ir.ui.icon.import_data»,
«model.ir.ui.icon.create»,
«model.ir.ui.icon.search»,
«model.ir.ui.icon.on_change_with»,
«model.ir.ui.icon.write»,
«model.ir.ui.icon.read»,
«model.ir.ui.icon.search_count»,
«model.ir.ui.icon.history_revisions»,
«model.ir.ui.icon.pre_validate»,
«model.ir.ui.icon.copy»,
«model.ir.ui.icon.fields_get»,
«model.ir.ui.icon.default_get»,
«model.ir.ui.icon.list_icons»,
«model.ir.ui.icon.delete»,
«model.ir.configuration.pre_validate»,
«model.ir.configuration.fields_get»,
«model.ir.configuration.default_get»,
«model.ir.configuration.on_change_with»,
«model.ir.rule.group.view_toolbar_get»,
«model.ir.rule.group.fields_view_get»,
«model.ir.rule.group.export_data»,
«model.ir.rule.group.search_read»,
«model.ir.rule.group.import_data»,
«model.ir.rule.group.create»,
«model.ir.rule.group.search»,
«model.ir.rule.group.on_change_with»,
«model.ir.rule.group.write»,
«model.ir.rule.group.read»,
«model.ir.rule.group.search_count»,
«model.ir.rule.group.history_revisions»,
«model.ir.rule.group.pre_validate»,
«model.ir.rule.group.copy»,
«model.ir.rule.group.fields_get»,
«model.ir.rule.group.default_get»,
«model.ir.rule.group.delete»,
«model.ir.rule.group-res.user.pre_validate»,
«model.ir.rule.group-res.user.fields_get»,
«model.ir.rule.group-res.user.default_get»,
«model.ir.rule.group-res.user.on_change_with»,
«model.res.user.warning.view_toolbar_get»,
«model.res.user.warning.fields_view_get»,
«model.res.user.warning.export_data»,
«model.res.user.warning.search_read»,
«model.res.user.warning.import_data»,
«model.res.user.warning.create»,
«model.res.user.warning.search»,
«model.res.user.warning.on_change_with»,
«model.res.user.warning.write»,
«model.res.user.warning.read»,
«model.res.user.warning.search_count»,
«model.res.user.warning.history_revisions»,
«model.res.user.warning.pre_validate»,
«model.res.user.warning.copy»,
«model.res.user.warning.fields_get»,
«model.res.user.warning.default_get»,
«model.res.user.warning.delete»,
«model.ir.translation.clean.succeed.view_toolbar_get»,
«model.ir.translation.clean.succeed.fields_view_get»,
«model.ir.translation.clean.succeed.on_change_with»,
«model.ir.translation.clean.succeed.pre_validate»,
«model.ir.translation.clean.succeed.fields_get»,
«model.ir.translation.clean.succeed.default_get»,
«model.ir.trigger.view_toolbar_get»,
«model.ir.trigger.fields_view_get»,
«model.ir.trigger.on_change_on_time»,
«model.ir.trigger.on_change_on_write»,
«model.ir.trigger.export_data»,
«model.ir.trigger.search_read»,
«model.ir.trigger.import_data»,
«model.ir.trigger.create»,
«model.ir.trigger.on_change_on_delete»,
«model.ir.trigger.search»,
«model.ir.trigger.on_change_with»,
«model.ir.trigger.write»,
«model.ir.trigger.read»,
«model.ir.trigger.search_count»,
«model.ir.trigger.history_revisions»,
«model.ir.trigger.pre_validate»,
«model.ir.trigger.on_change_on_create»,
«model.ir.trigger.copy»,
«model.ir.trigger.fields_get»,
«model.ir.trigger.default_get»,
«model.ir.trigger.delete»,
«model.ir.action.keyword.view_toolbar_get»,
«model.ir.action.keyword.fields_view_get»,
«model.ir.action.keyword.export_data»,
«model.ir.action.keyword.search_read»,
«model.ir.action.keyword.import_data»,
«model.ir.action.keyword.create»,
«model.ir.action.keyword.get_keyword»,
«model.ir.action.keyword.search»,
«model.ir.action.keyword.on_change_with»,
«model.ir.action.keyword.write»,
«model.ir.action.keyword.read»,
«model.ir.action.keyword.search_count»,
«model.ir.action.keyword.history_revisions»,
«model.ir.action.keyword.pre_validate»,
«model.ir.action.keyword.models_get»,
«model.ir.action.keyword.copy»,
«model.ir.action.keyword.fields_get»,
«model.ir.action.keyword.default_get»,
«model.ir.action.keyword.delete»,
«model.ir.date.pre_validate»,
«model.ir.date.fields_get»,
«model.ir.date.default_get»,
«model.ir.date.today»,
«model.ir.date.on_change_with»,
«model.ir.model.field.access.view_toolbar_get»,
«model.ir.model.field.access.fields_view_get»,
«model.ir.model.field.access.export_data»,
«model.ir.model.field.access.search_read»,
«model.ir.model.field.access.import_data»,
«model.ir.model.field.access.create»,
«model.ir.model.field.access.search»,
«model.ir.model.field.access.on_change_with»,
«model.ir.model.field.access.write»,
«model.ir.model.field.access.read»,
«model.ir.model.field.access.search_count»,
«model.ir.model.field.access.history_revisions»,
«model.ir.model.field.access.pre_validate»,
«model.ir.model.field.access.copy»,
«model.ir.model.field.access.fields_get»,
«model.ir.model.field.access.default_get»,
«model.ir.model.field.access.delete»,
«model.ir.model.button-res.group.pre_validate»,
«model.ir.model.button-res.group.fields_get»,
«model.ir.model.button-res.group.default_get»,
«model.ir.model.button-res.group.on_change_with»,
«model.ir.lang.view_toolbar_get»,
«model.ir.lang.fields_view_get»,
«model.ir.lang.export_data»,
«model.ir.lang.search_read»,
«model.ir.lang.import_data»,
«model.ir.lang.create»,
«model.ir.lang.search»,
«model.ir.lang.on_change_with»,
«model.ir.lang.write»,
«model.ir.lang.read»,
«model.ir.lang.search_count»,
«model.ir.lang.history_revisions»,
«model.ir.lang.pre_validate»,
«model.ir.lang.copy»,
«model.ir.lang.fields_get»,
«model.ir.lang.default_get»,
«model.ir.lang.delete»,
«model.ir.cron.view_toolbar_get»,
«model.ir.cron.fields_view_get»,
«model.ir.cron.export_data»,
«model.ir.cron.search_read»,
«model.ir.cron.import_data»,
«model.ir.cron.create»,
«model.ir.cron.search»,
«model.ir.cron.on_change_with»,
«model.ir.cron.write»,
«model.ir.cron.read»,
«model.ir.cron.search_count»,
«model.ir.cron.history_revisions»,
«model.ir.cron.pre_validate»,
«model.ir.cron.copy»,
«model.ir.cron.fields_get»,
«model.ir.cron.default_get»,
«model.ir.cron.delete»,
«model.ir.export.line.view_toolbar_get»,
«model.ir.export.line.fields_view_get»,
«model.ir.export.line.export_data»,
«model.ir.export.line.search_read»,
«model.ir.export.line.import_data»,
«model.ir.export.line.create»,
«model.ir.export.line.search»,
«model.ir.export.line.on_change_with»,
«model.ir.export.line.write»,
«model.ir.export.line.read»,
«model.ir.export.line.search_count»,
«model.ir.export.line.history_revisions»,
«model.ir.export.line.pre_validate»,
«model.ir.export.line.copy»,
«model.ir.export.line.fields_get»,
«model.ir.export.line.default_get»,
«model.ir.export.line.delete»,
«model.ir.translation.set.start.view_toolbar_get»,
«model.ir.translation.set.start.fields_view_get»,
«model.ir.translation.set.start.on_change_with»,
«model.ir.translation.set.start.pre_validate»,
«model.ir.translation.set.start.fields_get»,
«model.ir.translation.set.start.default_get»,
«model.ir.model.field.view_toolbar_get»,
«model.ir.model.field.fields_view_get»,
«model.ir.model.field.export_data»,
«model.ir.model.field.search_read»,
«model.ir.model.field.import_data»,
«model.ir.model.field.create»,
«model.ir.model.field.search»,
«model.ir.model.field.on_change_with»,
«model.ir.model.field.write»,
«model.ir.model.field.read»,
«model.ir.model.field.search_count»,
«model.ir.model.field.history_revisions»,
«model.ir.model.field.pre_validate»,
«model.ir.model.field.copy»,
«model.ir.model.field.fields_get»,
«model.ir.model.field.default_get»,
«model.ir.model.field.delete»,
«model.ir.module.module.config_wizard.item.view_toolbar_get»,
«model.ir.module.module.config_wizard.item.fields_view_get»,
«model.ir.module.module.config_wizard.item.export_data»,
«model.ir.module.module.config_wizard.item.search_read»,
«model.ir.module.module.config_wizard.item.import_data»,
«model.ir.module.module.config_wizard.item.create»,
«model.ir.module.module.config_wizard.item.search»,
«model.ir.module.module.config_wizard.item.on_change_with»,
«model.ir.module.module.config_wizard.item.write»,
«model.ir.module.module.config_wizard.item.read»,
«model.ir.module.module.config_wizard.item.search_count»,
«model.ir.module.module.config_wizard.item.history_revisions»,
«model.ir.module.module.config_wizard.item.pre_validate»,
«model.ir.module.module.config_wizard.item.copy»,
«model.ir.module.module.config_wizard.item.fields_get»,
«model.ir.module.module.config_wizard.item.default_get»,
«model.ir.module.module.config_wizard.item.delete»,
«model.ir.model.global_search»,
«model.ir.model.view_toolbar_get»,
«model.ir.model.fields_view_get»,
«model.ir.model.list_models»,
«model.ir.model.export_data»,
«model.ir.model.search_read»,
«model.ir.model.import_data»,
«model.ir.model.create»,
«model.ir.model.search»,
«model.ir.model.list_history»,
«model.ir.model.on_change_with»,
«model.ir.model.write»,
«model.ir.model.read»,
«model.ir.model.search_count»,
«model.ir.model.history_revisions»,
«model.ir.model.pre_validate»,
«model.ir.model.copy»,
«model.ir.model.fields_get»,
«model.ir.model.default_get»,
«model.ir.model.delete»,
«wizard.ir.module.module.config_wizard.create»,
«wizard.ir.module.module.config_wizard.execute»,
«wizard.ir.module.module.config_wizard.delete»,
«wizard.ir.translation.update.create»,
«wizard.ir.translation.update.execute»,
«wizard.ir.translation.update.delete»,
«wizard.ir.translation.set.create»,
«wizard.ir.translation.set.execute»,
«wizard.ir.translation.set.delete»,
«wizard.ir.module.module.install_upgrade.create»,
«wizard.ir.module.module.install_upgrade.execute»,
«wizard.ir.module.module.install_upgrade.delete»,
«wizard.ir.translation.export.create»,
«wizard.ir.translation.export.execute»,
«wizard.ir.translation.export.delete»,
«wizard.res.user.config.create»,
«wizard.res.user.config.execute»,
«wizard.res.user.config.delete»,
«wizard.ir.ui.view.show.create»,
«wizard.ir.ui.view.show.execute»,
«wizard.ir.ui.view.show.delete»,
«wizard.ir.module.module.config.create»,
«wizard.ir.module.module.config.execute»,
«wizard.ir.module.module.config.delete»,
«wizard.ir.model.print_model_graph.create»,
«wizard.ir.model.print_model_graph.execute»,
«wizard.ir.model.print_model_graph.delete»,
«wizard.ir.translation.clean.create»,
«wizard.ir.translation.clean.execute»,
«wizard.ir.translation.clean.delete»,
«report.ir.model.graph.execute»
]
}