diff --git a/README b/README.rst similarity index 61% rename from README rename to README.rst index 028a05120452d494361c07079b5548f2742a3eb8_UkVBRE1F..490c4a52dff260fa72d54423f770c360a4c34c92_UkVBRE1FLnJzdA== 100644 --- a/README +++ b/README.rst @@ -1,2 +1,3 @@ -== Configure your OpenERP server for analytic fields == +Analytic Structure +================== @@ -2,3 +3,5 @@ +Configure your OpenERP server for analytic fields +------------------------------------------------- In your OpenERP server's configuration file, you can set several optional @@ -3,4 +6,4 @@ In your OpenERP server's configuration file, you can set several optional -parameters related to the analytic module. +parameters related to the analytic module.:: @@ -6,6 +9,6 @@ -[analytic] -key = value ... + [analytic] + key = value ... Those options must be grouped under the [analytic] category. If the category @@ -21,8 +24,8 @@ -== Add the MetaAnalytic metaclass to a model == - +Add the MetaAnalytic metaclass to a model +----------------------------------------- At the beginning of the source file, import the MetaAnalytic metaclass: @@ -31,7 +34,9 @@ Inside your Model class, define MetaAnalytic to be used as metaclass: -__metaclass__ = MetaAnalytic +.. code:: python + + __metaclass__ = MetaAnalytic @@ -35,7 +40,8 @@ -== Add analytic fields to a model == +Add analytic fields to a model +------------------------------ First of all, make sure you are using the MetaAnalytic metaclass. @@ -44,8 +50,10 @@ Use the analytic fields associated with the model: -_analytic = True +.. code:: python + + _analytic = True Use analytic fields associated with another model: @@ -48,9 +56,11 @@ Use analytic fields associated with another model: -_analytic = 'account_move_line' +.. code:: python + + _analytic = 'account_move_line' Use several analytic field structures, associated with different prefixes: @@ -53,10 +63,12 @@ Use several analytic field structures, associated with different prefixes: -_analytic = { - 'a': 'account_asset_asset', - 't': 'account_move_line', -} +.. code:: python + + _analytic = { + 'a': 'account_asset_asset', + 't': 'account_move_line', + } @@ -61,8 +73,7 @@ - -== Add analytic fields to a view == - +Add analytic fields to a view +----------------------------- Analytic fields can be added to the view individually, like any other field: @@ -66,7 +77,9 @@ Analytic fields can be added to the view individually, like any other field: -<field name="a1_id" /> +.. code:: xml + + <field name="a1_id" /> 'a' is the prefix associated with the structure. By default, it is 'a'. '1' is the dimension's ordering as defined by the analytic structure. @@ -76,7 +89,9 @@ (defined by its prefix) that wasn't explicitly placed in the view. This field is automatically generated when you call the Metaclass -<field name="analytic_dimensions" required="1" prefix="t" /> +.. code:: xml + + <field name="analytic_dimensions" required="1" prefix="t" /> The prefix can be omitted for a structure that uses the default prefix 'a'. Any other attribute will be propagated to the analytic fields. @@ -85,10 +100,12 @@ Warning: analytic fields should generally not be used inside nested sub-views. If possible, create a separate record and use the context to specify the view: -<field name="order_line" colspan="4" nolabel="1" context="{ - 'form_view_ref' : 'module.view_id', - 'tree_view_ref' : 'module.view_id' -}"/> +.. code:: xml + + <field name="order_line" colspan="4" nolabel="1" context="{ + 'form_view_ref' : 'module.view_id', + 'tree_view_ref' : 'module.view_id' + }"/> @@ -92,8 +109,8 @@ -== Bind an analytic dimension to a model == - +Bind an analytic dimension to a model +------------------------------------- First of all, make sure you are using the MetaAnalytic metaclass. Then, add the _dimension attribute to your class, using the following syntax. @@ -101,8 +118,10 @@ Bind the model to an analytic dimension named after the model, using default values: -_dimension = True +.. code:: python + + _dimension = True Bind the model to an analytic dimension with a specified name, using default values: @@ -105,9 +124,11 @@ Bind the model to an analytic dimension with a specified name, using default values: -_dimension = 'Funding Source' +.. code:: python + + _dimension = 'Funding Source' Bind the model to an analytic dimension, using either custom or default values: @@ -110,19 +131,21 @@ Bind the model to an analytic dimension, using either custom or default values: -_dimension = { - 'name': 'School', - 'column': 'analytic_code_id', - 'ref_id': 'school_analytic_dimension', - 'ref_module': 'my_module', - 'sync_parent': False, - 'rel_description': True, - 'rel_active': (u"Active", 'active_code'), - 'use_inherits': False, - 'use_code_name_methods': False, -} +.. code:: python + + _dimension = { + 'name': 'School', + 'column': 'analytic_code_id', + 'ref_id': 'school_analytic_dimension', + 'ref_module': 'my_module', + 'sync_parent': False, + 'rel_description': True, + 'rel_active': (u"Active", 'active_code'), + 'use_inherits': False, + 'use_code_name_methods': False, + } key (default value): description @@ -125,9 +148,9 @@ key (default value): description -name (= _description or _name): The name of the analytic dimension. +`name` (= `_description` or `_name`): The name of the analytic dimension. This name is only used when creating the dimension in the database. column (analytic_id): The field that links each record to an analytic code. @@ -130,8 +153,8 @@ This name is only used when creating the dimension in the database. column (analytic_id): The field that links each record to an analytic code. -ref_id (= _name + analytic_dimension_id): The external ID that will +`ref_id` (= `_name` + `analytic_dimension_id`): The external ID that will be used by the analytic dimension. By setting this value, you can allow two models to use the same dimension, or a model to use an already existing one. @@ -135,6 +158,6 @@ be used by the analytic dimension. By setting this value, you can allow two models to use the same dimension, or a model to use an already existing one. -ref_module (empty string): The name of the module associated with the dimension +`ref_module` (empty string): The name of the module associated with the dimension record. Change this value in order to use a dimension defined in a data file. @@ -139,4 +162,4 @@ record. Change this value in order to use a dimension defined in a data file. -sync_parent (False): Controls the synchronization of the codes' parent-child +`sync_parent` (`False`): Controls the synchronization of the codes' parent-child hierarchy with that of the model. When using an inherited, renamed parent field, @@ -142,3 +165,3 @@ hierarchy with that of the model. When using an inherited, renamed parent field, -you must give the parent field name rather than simply True. +you must give the parent field name rather than simply `True`. @@ -144,5 +167,5 @@ -use_inherits (special): Determines whether the analytic codes should be bound +`use_inherits` (special): Determines whether the analytic codes should be bound to the records by inheritance, or through a simple many2one field. Inheritance allows for better synchronization, but can only be used if there are no duplicate fields between the two objects. @@ -146,7 +169,7 @@ to the records by inheritance, or through a simple many2one field. Inheritance allows for better synchronization, but can only be used if there are no duplicate fields between the two objects. -The default value is True if the model has no 'name' and 'code_parent_id' field -as well as no inheritance of any kind, and False otherwise. If the object has -inheritances that do not cause conflicts, you can set it to True. +The default value is `True` if the model has no 'name' and 'code_parent_id' field +as well as no inheritance of any kind, and `False` otherwise. If the object has +inheritances that do not cause conflicts, you can set it to `True`. @@ -152,7 +175,7 @@ -rel_active (False): Create a related field in the model, targeting the +`rel_active` (`False`): Create a related field in the model, targeting the analytic code field 'active' and with an appropriate store parameter. This is useful when the model doesn't inherit analytic_code and/or when it already has a field named 'active'. Can take a pair of string values: (field label, field name). If given a string, the default field name 'active' will be used. @@ -154,7 +177,7 @@ analytic code field 'active' and with an appropriate store parameter. This is useful when the model doesn't inherit analytic_code and/or when it already has a field named 'active'. Can take a pair of string values: (field label, field name). If given a string, the default field name 'active' will be used. -If given True, the default field label 'Active' will also be used. +If given `True`, the default field label 'Active' will also be used. @@ -160,3 +183,3 @@ -rel_description (False): Same as rel_active for the code field 'description'. +`rel_description` (`False`): Same as rel_active for the code field 'description'. If given a string, the default field name 'description' will be used. @@ -162,3 +185,3 @@ If given a string, the default field name 'description' will be used. -If given True, the default field label 'Description' will also be used. +If given `True`, the default field label 'Description' will also be used. @@ -164,8 +187,8 @@ -use_code_name_methods (False): Set to True in order to override the methods +`use_code_name_methods` (`False`): Set to `True` in order to override the methods name_get and name_search, using those of analytic code. This allows the analytic code's description to be displayed (and searched) along with the entry's name in many2one fields targeting the model. @@ -166,12 +189,12 @@ name_get and name_search, using those of analytic code. This allows the analytic code's description to be displayed (and searched) along with the entry's name in many2one fields targeting the model. -=== Active / View type / Disabled in my company === - +Active / View type / Disabled in my company +------------------------------------------- Differences between the various "active" fields: - Active: Determines whether an analytic code is in the referential. @@ -174,7 +197,6 @@ Differences between the various "active" fields: - Active: Determines whether an analytic code is in the referential. - - View type: Determines whether an analytic code is not selectable (but still in the referential). @@ -179,5 +201,4 @@ - View type: Determines whether an analytic code is not selectable (but still in the referential). - - Disabled per company: Determines whether an analytic code is disabled for the current company. @@ -182,2 +203,3 @@ - Disabled per company: Determines whether an analytic code is disabled for the current company. +