Giter Club home page Giter Club logo

oejia_weshop's People

Contributors

jonexiong avatar pyrun13 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oejia_weshop's Issues

不能安装模块“oejia_weshop”,因为一个外部依赖没有满足:No module named Crypto

安装提示 不能安装模块“oejia_weshop”,因为一个外部依赖没有满足:No module named Crypto

已查看文件夹目录放置正确,位置命名均无错误,系统引导安装了python3,但依旧存在python2版本,pip3安装了Crypto以及其他模块,甚至登陆python3后执行import引用也可执行,重启设备后 依旧如此,想问问各位前辈有没有解决办法,或者odoo默认的使用python版本是2还是3啊?还是哪里引用错误了 万分感谢

安装的时候出现错误 哪位大神看看这是什么问题

Odoo Server Error
Traceback (most recent call last):
File "/data/odoo12/odoo12-server/odoo/http.py", line 656, in _handle_exception
data-pjax
File "/data/odoo12/odoo12-server/odoo/http.py", line 314, in _handle_exception
In this repository
File "/data/odoo12/odoo12-server/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/data/odoo12/odoo12-server/odoo/http.py", line 698, in dispatch
Jun 13, 2019
File "/data/odoo12/odoo12-server/odoo/http.py", line 346, in _call_function

File "/data/odoo12/odoo12-server/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/data/odoo12/odoo12-server/odoo/http.py", line 339, in checked_call
File "/data/odoo12/odoo12-server/odoo/http.py", line 941, in call

File "/data/odoo12/odoo12-server/odoo/http.py", line 519, in response_wrap
data-pjax="#js-repo-pjax-container">
File "/data/odoo12/odoo12-server/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/data/odoo12/odoo12-server/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/data/odoo12/odoo12-server/odoo/api.py", line 759, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/data/odoo12/odoo12-server/odoo/api.py", line 746, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "", line 2, in button_immediate_install
File "/data/odoo12/odoo12-server/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
return method(self, *args, **kwargs)
File "/data/odoo12/odoo12-server/odoo/addons/base/models/ir_module.py", line 445, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/data/odoo12/odoo12-server/odoo/addons/base/models/ir_module.py", line 561, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/data/odoo12/odoo12-server/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry.db, force_demo, status, update_module)
File "/data/odoo12/odoo12-server/odoo/modules/loading.py", line 421, in load_modules
loaded_modules, update_module, models_to_check)
File "/data/odoo12/odoo12-server/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/data/odoo12/odoo12-server/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/data/odoo12/odoo12-server/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/data/odoo12/odoo12-server/odoo/tools/convert.py", line 798, in convert_file
convert_csv_import(cr, module, pathname, fp.read(), idref, mode, noupdate)
File "/data/odoo12/odoo12-server/odoo/tools/convert.py", line 845, in convert_csv_import
raise Exception(
('Module loading %s failed: file %s could not be processed:\n %s') % (module, fname, warning_msg))
Exception: 模块加载 oejia_weshop 失败: 文件 oejia_weshop/security/ir.model.access.csv 无法处理:
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_banner'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_banner'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_config'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_payment'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_product_category'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_product_category'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_user'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_province'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_province'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_city'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_city'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_district'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_district'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_shipper'
在字段'Object'中没找到匹配的记录外部 ID 'model_oe_shipper'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_banner'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_notice'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_notice'
在字段'Object'中没找到匹配的记录外部 ID 'model_wxapp_product_category'
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值
找不到字段 'Object' (model_id)所需的值

12 安装时报错

错误:
Odoo Server Error

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1108, in _validate_fields
check(self)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 351, in _check_xml
self.postprocess_and_fields(view.model, view_doc, view.id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1096, in postprocess_and_fields
self.raise_view_error(message, view_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 548, in raise_view_error
raise ValueError(message)
ValueError: 字段nickname不存在

错误的上下文:
视图 wxapp.user.view_tree
[view_id: 1374, xml_id: n/a, model: wxapp.user, parent_id: n/a]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3838, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 128, in _load_records_create
records = super(View, self)._load_records_create(values)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3752, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 452, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 428, in create
return super(View, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 452, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3569, in create
fields[0].determine_inverse(batch_recs)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1110, in determine_inverse
getattr(records, self.inverse)()
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 275, in _inverse_arch
view.write(data)
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 41, in write
return super(View, self).write(vals)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 444, in write
return super(View, self).write(self._compute_defaults(vals))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3284, in write
self._write(store_vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3430, in _write
self._validate_fields(vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1112, in validate_fields
raise ValidationError("%s\n\n%s" % (
("Error while validating constraint"), tools.ustr(e)))
odoo.exceptions.ValidationError: ('constraint 检查错误\n\n字段nickname不存在\n\n错误的上下文:\n视图 wxapp.user.view_tree\n[view_id: 1374, xml_id: n/a, model: wxapp.user, parent_id: n/a]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/usr/lib/python3/dist-packages/odoo/http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 939, in call
return self.method(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 966, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "", line 2, in button_immediate_install
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 73, in check_and_log
return method(self, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 444, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_module.py", line 552, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 86, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 421, in load_modules
loaded_modules, update_module, models_to_check)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 313, in load_marked_modules
perform_checks=perform_checks, models_to_check=models_to_check
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 222, in load_module_graph
load_data(cr, idref, mode, kind='data', package=package, report=report)
File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 68, in load_data
tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 801, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 864, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 754, in parse
self.parse(rec, mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 763, in parse
exc_info[2]
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise
raise value.with_traceback(tb)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 757, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 662, in _tag_record
record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3838, in _load_records
records = self._load_records_create([data['values'] for data in to_create])
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 128, in _load_records_create
records = super(View, self)._load_records_create(values)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3752, in _load_records_create
return self.create(values)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 452, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 428, in create
return super(View, self).create(vals_list)
File "", line 2, in create
File "/usr/lib/python3/dist-packages/odoo/api.py", line 452, in _model_create_multi
return create(self, arg)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3569, in create
fields[0].determine_inverse(batch_recs)
File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1110, in determine_inverse
getattr(records, self.inverse)()
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 275, in _inverse_arch
view.write(data)
File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 41, in write
return super(View, self).write(vals)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 444, in write
return super(View, self).write(self._compute_defaults(vals))
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3284, in write
self._write(store_vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 3430, in _write
self._validate_fields(vals)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1112, in validate_fields
raise ValidationError("%s\n\n%s" % (
("Error while validating constraint"), tools.ustr(e)))
odoo.tools.convert.ParseError: "constraint 检查错误

字段nickname不存在

错误的上下文:
视图 wxapp.user.view_tree
[view_id: 1374, xml_id: n/a, model: wxapp.user, parent_id: n/a]
None" while parsing /usr/lib/python3/dist-packages/odoo/myaddons/oejia_weshop/views/wxapp_user_views.xml:5, near

wxapp.user.view_tree
wxapp.user
tree
999

                <field name="name"/>
                <field name="nickname"/>
                <field name="avatar"/>
                <field name="phone"/>

                <field name="country"/>
                <field name="province"/>
                <field name="city"/>
           <field name="language"/>
           <field name="gender"/>

           <field name="partner_id"/>
                <field name="create_date" string="注册时间"/>
                <field name="last_login"/>
                <field name="status"/>

                <field name="register_type"/>
           <field name="register_ip"/>
           <field name="ip"/>

           <field name="address_ids"/>

            </tree>
        </field>
    </record>

psycopg2.ProgrammingError: syntax error at or near "ON"

安装报错:
File "/home/wxm_odoo/odoo-dev/addons/oejia_weshop/models/oe_city.py", line 19, in init self.env.cr.execute(init_sql) File "/home/wxm_odoo/odoo-dev/odoo/odoo/sql_db.py", line 155, in wrapper return f(self, *args, **kwargs) File "/home/wxm_odoo/odoo-dev/odoo/odoo/sql_db.py", line 232, in execute res = self._obj.execute(query, params) psycopg2.ProgrammingError: syntax error at or near "ON" LINE 2: ... AT TIME ZONE 'UTC', 1, NOW() AT TIME ZONE 'UTC') ON CONFLIC...

SQL语法:”INSERT .... ON CONFLICT ...." 需要PostgresSQL 9.4以上,最好在README.md中提醒,我一直用的都是9.3

打开模块时报错

错误:
Odoo Server Error

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/usr/lib/python3/dist-packages/odoo/http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 939, in call
return self.method(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 962, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 745, in call_kw
return _call_kw_model(method, model, args, kwargs)
File "/usr/lib/python3/dist-packages/odoo/api.py", line 718, in _call_kw_model
result = method(recs, *args, **kwargs)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1376, in load_views
for [v_id, v_type] in views
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1376, in
for [v_id, v_type] in views
File "/usr/lib/python3/dist-packages/odoo/addons/mail/models/mail_thread.py", line 410, in fields_view_get
res = super(MailThread, self).fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
File "/usr/lib/python3/dist-packages/odoo/models.py", line 1462, in fields_view_get
xarch, xfields = View.postprocess_and_fields(self._name, etree.fromstring(result['arch']), view_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1084, in postprocess_and_fields
fields_def = self.postprocess(model, node, view_id, False, fields)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 909, in postprocess
fields.update(self.postprocess(model, f, view_id, in_tree_view, model_fields))
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 909, in postprocess
fields.update(self.postprocess(model, f, view_id, in_tree_view, model_fields))
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 909, in postprocess
fields.update(self.postprocess(model, f, view_id, in_tree_view, model_fields))
[Previous line repeated 1 more time]
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 869, in postprocess
).postprocess_and_fields(field.comodel_name, f, view_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 1096, in postprocess_and_fields
self.raise_view_error(message, view_id)
File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 548, in raise_view_error
raise ValueError(message)
ValueError: 字段route_id不存在

错误的上下文:
视图 n/a
[view_id: n/a, xml_id: n/a, model: n/a, parent_id: n/a]

Odoo 13 compatible?

Hello Thanks for sharing this module.

Do you have an version compatible with odoo 13?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.