Files
tryton-db-migration/reports/model_tree_5.0.md
T
uha4 c0dd24b6c5 Proteus-Zweig: dataset.yaml-Pipeline und 5.0/8.0-Modellbaumvergleich
- create_dataset.py, compare_snapshots.py, rst_to_dataset.py: Proteus-
  Testdatensatz anlegen/vergleichen bzw. aus *.rst-Szenarien extrahieren
- create_dataset.py: Feld-Alias-Fallback (FIELD_RENAMES) für bekannte
  Umbenennungen wie stock.move.uom -> unit, bidirektional
- merge_dedup_rsts.py: Extrahierte YAMLs pro Version zusammenführen,
  versionsinterne Duplikate entfernen, abhängigkeitskorrekt sortieren
- extract_model_tree.py: Modellbaum (Modelle/Felder) statisch aus dem
  Tryton-Quellcode ziehen, für 5.0 und 8.0
- model_diff.py, model_coverage.py: 5.0<->8.0-Modelländerungen finden und
  gegen die aktuelle Testdatenabdeckung abgleichen, priorisiert nach
  tatsächlicher Änderung
- reports/*_merged.yaml: Extraktionsergebnisse für die aktiven
  Module (rohe *.rst-Quellen bewusst nicht mitversioniert)
- Ordner doc ergänzt
2026-08-22 10:52:13 +02:00

1213 lines
42 KiB
Markdown

# Modellbaum (ir, res, company, country, currency, party, product, product_measurements, production, production_split, stock, stock_lot, stock_lot_sled, stock_product_location, stock_shipment_measurements, stock_split)
## `company.company` _(Felder aus: company)_
- **childs**: One2Many -> `company.company`
- **currency**: Many2One -> `currency.currency` required
- **employees**: One2Many -> `company.employee`
- **footer**: Text
- **header**: Text
- **parent**: Many2One -> `company.company`
- **party**: Many2One -> `party.party` required
- **timezone**: Selection
## `company.employee` _(Felder aus: company)_
- **company**: Many2One -> `company.company` required
- **end_date**: Date
- **party**: Many2One -> `party.party` required
- **start_date**: Date
## `country.country` _(Felder aus: country)_
- **code**: Char
- **code3**: Char
- **code_numeric**: Char
- **name**: Char required
- **subdivisions**: One2Many -> `country.subdivision`
## `country.subdivision` _(Felder aus: country)_
- **code**: Char required
- **country**: Many2One -> `country.country` required
- **name**: Char required
- **parent**: Many2One -> `country.subdivision`
- **type**: Selection required
## `country.zip` _(Felder aus: country)_
- **city**: Char
- **country**: Many2One -> `country.country` required
- **subdivision**: Many2One -> `country.subdivision`
- **zip**: Char
## `currency.currency` _(Felder aus: currency)_
- **code**: Char required
- **digits**: Integer required
- **name**: Char required
- **numeric_code**: Char
- **rate**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **rates**: One2Many -> `currency.currency.rate`
- **rounding**: Numeric required
- **symbol**: Char required
## `currency.currency.rate` _(Felder aus: currency)_
- **currency**: Many2One -> `currency.currency`
- **date**: Date required
- **rate**: Numeric
## `ir.action` _(Felder aus: ir)_
- **groups**: Many2Many -> `ir.action-res.group`
- **icon**: Many2One -> `ir.ui.icon`
- **keywords**: One2Many -> `ir.action.keyword`
- **name**: Char required
- **type**: Char required
- **usage**: Char
## `ir.action-res.group` _(Felder aus: res)_
- **action**: Many2One -> `ir.action` required (aus Modul `res`)
- **group**: Many2One -> `res.group` required (aus Modul `res`)
## `ir.action.act_window` _(Felder aus: ir)_
- **act_window_domains**: One2Many -> `ir.action.act_window.domain`
- **act_window_views**: One2Many -> `ir.action.act_window.view`
- **action**: Many2One -> `ir.action` required
- **context**: Char
- **context_domain**: Char
- **context_model**: Char
- **domain**: Char
- **domains**: Function[Binary] NICHT setzbar (Function ohne setter)
- **limit**: Integer
- **order**: Char
- **pyson_context**: Function[Char] NICHT setzbar (Function ohne setter)
- **pyson_domain**: Function[Char] NICHT setzbar (Function ohne setter)
- **pyson_order**: Function[Char] NICHT setzbar (Function ohne setter)
- **pyson_search_value**: Function[Char] NICHT setzbar (Function ohne setter)
- **res_model**: Char
- **search_value**: Char
- **views**: Function[Binary] NICHT setzbar (Function ohne setter)
## `ir.action.act_window.domain` _(Felder aus: ir)_
- **act_window**: Many2One -> `ir.action.act_window` required
- **count**: Boolean
- **domain**: Char
- **name**: Char
- **sequence**: Integer required
## `ir.action.act_window.view` _(Felder aus: ir)_
- **act_window**: Many2One -> `ir.action.act_window`
- **sequence**: Integer required
- **view**: Many2One -> `ir.ui.view` required
## `ir.action.keyword` _(Felder aus: ir)_
- **action**: Many2One -> `ir.action`
- **groups**: Function[One2Many] NICHT setzbar (Function ohne setter)
- **keyword**: Selection required
- **model**: Reference -> `Model`
## `ir.action.report` _(Felder aus: ir)_
- **action**: Many2One -> `ir.action` required
- **direct_print**: Boolean
- **email**: Char
- **extension**: Selection
- **is_custom**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **model**: Char
- **module**: Char
- **pyson_email**: Function[Char] NICHT setzbar (Function ohne setter)
- **report**: Char
- **report_content**: Function[Binary]
- **report_content_custom**: Binary
- **report_content_name**: Function[Char] NICHT setzbar (Function ohne setter)
- **report_name**: Char required
- **single**: Boolean
- **template_extension**: Selection required
- **translatable**: Boolean
## `ir.action.url` _(Felder aus: ir)_
- **action**: Many2One -> `ir.action` required
- **url**: Char required
## `ir.action.wizard` _(Felder aus: ir)_
- **action**: Many2One -> `ir.action` required
- **email**: Char
- **model**: Char
- **window**: Boolean
- **wiz_name**: Char required
## `ir.attachment` _(Felder aus: ir)_
- **data**: Binary
- **data_size**: Function[Integer] NICHT setzbar (Function ohne setter)
- **description**: Text
- **file_id**: Char
- **link**: Char
- **name**: Char required
- **summary**: Function[Char] NICHT setzbar (Function ohne setter)
- **type**: Selection required
## `ir.cache` _(Felder aus: ir)_
- **name**: Char required
- **timestamp**: Timestamp
## `ir.configuration` _(Felder aus: ir)_
- **hostname**: Char
- **language**: Char
## `ir.cron` _(Felder aus: company, ir)_
- **args**: Text
- **companies**: Many2Many -> `ir.cron-company.company` (aus Modul `company`)
- **function**: Char
- **interval_number**: Integer required
- **interval_type**: Selection
- **model**: Char
- **name**: Char required
- **next_call**: DateTime required
- **number_calls**: Integer required
- **repeat_missed**: Boolean
- **request_user**: Many2One -> `res.user` required
- **user**: Many2One -> `res.user` required
## `ir.cron-company.company` _(Felder aus: company)_
- **company**: Many2One -> `company.company` required (aus Modul `company`)
- **cron**: Many2One -> `ir.cron` required (aus Modul `company`)
## `ir.export` _(Felder aus: ir)_
- **export_fields**: One2Many -> `ir.export.line`
- **name**: Char
- **resource**: Char
## `ir.export.line` _(Felder aus: ir)_
- **export**: Many2One -> `ir.export` required
- **name**: Char
## `ir.lang` _(Felder aus: ir)_
- **code**: Char required
- **date**: Char required
- **decimal_point**: Char required
- **direction**: Selection required
- **grouping**: Char required
- **mon_decimal_point**: Char required
- **mon_grouping**: Char required
- **mon_thousands_sep**: Char
- **n_cs_precedes**: Boolean
- **n_sep_by_space**: Boolean
- **n_sign_posn**: Integer required
- **name**: Char required
- **negative_sign**: Char
- **p_cs_precedes**: Boolean
- **p_sep_by_space**: Boolean
- **p_sign_posn**: Integer required
- **parent**: Char
- **positive_sign**: Char
- **thousands_sep**: Char
- **translatable**: Boolean
## `ir.model` _(Felder aus: ir)_
- **fields**: One2Many -> `ir.model.field` required
- **global_search_p**: Boolean
- **info**: Text
- **model**: Char required
- **module**: Char
- **name**: Char
## `ir.model.access` _(Felder aus: ir)_
- **description**: Text
- **group**: Many2One -> `res.group`
- **model**: Many2One -> `ir.model` required
- **perm_create**: Boolean
- **perm_delete**: Boolean
- **perm_read**: Boolean
- **perm_write**: Boolean
## `ir.model.button` _(Felder aus: ir)_
- **clicks**: One2Many -> `ir.model.button.click`
- **confirm**: Text
- **groups**: Many2Many -> `ir.model.button-res.group`
- **help**: Text
- **model**: Many2One -> `ir.model` required
- **name**: Char required
- **reset**: Many2Many -> `ir.model.button-button.reset`
- **reset_by**: Many2Many -> `ir.model.button-button.reset`
- **rules**: One2Many -> `ir.model.button.rule`
- **string**: Char
## `ir.model.button-button.reset` _(Felder aus: ir)_
- **button**: Many2One -> `ir.model.button` required
- **button_ruled**: Many2One -> `ir.model.button` required
## `ir.model.button-res.group` _(Felder aus: res)_
- **button**: Many2One -> `ir.model.button` required (aus Modul `res`)
- **group**: Many2One -> `res.group` required (aus Modul `res`)
## `ir.model.button.click` _(Felder aus: ir, res)_
- **button**: Many2One -> `ir.model.button` required
- **record_id**: Integer required
- **user**: Many2One -> `res.user` (aus Modul `res`)
## `ir.model.button.rule` _(Felder aus: ir, res)_
- **button**: Many2One -> `ir.model.button` required
- **condition**: Char
- **description**: Char
- **group**: Many2One -> `res.group` (aus Modul `res`)
- **number_user**: Integer required
## `ir.model.data` _(Felder aus: ir)_
- **db_id**: Integer required
- **fs_id**: Char required
- **fs_values**: Text
- **model**: Char required
- **module**: Char required
- **noupdate**: Boolean
- **out_of_sync**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **values**: Text
## `ir.model.field` _(Felder aus: ir)_
- **field_description**: Char
- **groups**: Many2Many -> `ir.model.field-res.group`
- **help**: Text
- **model**: Many2One -> `ir.model` required
- **module**: Char
- **name**: Char required
- **relation**: Char
- **ttype**: Char
## `ir.model.field-res.group` _(Felder aus: res)_
- **field**: Many2One -> `ir.model.field` required (aus Modul `res`)
- **group**: Many2One -> `res.group` required (aus Modul `res`)
## `ir.model.field.access` _(Felder aus: ir)_
- **description**: Text
- **field**: Many2One -> `ir.model.field` required
- **group**: Many2One -> `res.group`
- **perm_create**: Boolean
- **perm_delete**: Boolean
- **perm_read**: Boolean
- **perm_write**: Boolean
## `ir.model.print_model_graph.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **filter**: Text
- **level**: Integer required
## `ir.module` _(Felder aus: ir)_
- **childs**: Function[One2Many] NICHT setzbar (Function ohne setter)
- **dependencies**: One2Many -> `ir.module.dependency`
- **name**: Char required
- **parents**: Function[One2Many] NICHT setzbar (Function ohne setter)
- **state**: Selection
- **version**: Function[Char] NICHT setzbar (Function ohne setter)
## `ir.module.activate_upgrade.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **module_info**: Text
## `ir.module.config_wizard.item` _(Felder aus: ir)_
- **action**: Many2One -> `ir.action` required
- **sequence**: Integer required
- **state**: Selection required
## `ir.module.config_wizard.other` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **percentage**: Float
## `ir.module.dependency` _(Felder aus: ir)_
- **module**: Many2One -> `ir.module` required
- **name**: Char
- **state**: Function[Selection] NICHT setzbar (Function ohne setter)
## `ir.note` _(Felder aus: ir)_
- **message**: Text
- **message_wrapped**: Function[Text] NICHT setzbar (Function ohne setter)
- **unread**: Function[Boolean]
## `ir.note.read` _(Felder aus: ir)_
- **note**: Many2One -> `ir.note` required
- **user**: Many2One -> `res.user` required
## `ir.queue` _(Felder aus: ir)_
- **data**: Dict
- **dequeued_at**: Timestamp
- **enqueued_at**: Timestamp required
- **expected_at**: Timestamp
- **finished_at**: Timestamp
- **name**: Char required
- **scheduled_at**: Timestamp
## `ir.rule` _(Felder aus: ir)_
- **domain**: Char required
- **rule_group**: Many2One -> `ir.rule.group` required
## `ir.rule.group` _(Felder aus: ir)_
- **default_p**: Boolean
- **global_p**: Boolean
- **groups**: Many2Many -> `ir.rule.group-res.group`
- **model**: Many2One -> `ir.model` required
- **name**: Char
- **perm_create**: Boolean
- **perm_delete**: Boolean
- **perm_read**: Boolean
- **perm_write**: Boolean
- **rules**: One2Many -> `ir.rule`
## `ir.rule.group-res.group` _(Felder aus: res)_
- **group**: Many2One -> `res.group` required (aus Modul `res`)
- **rule_group**: Many2One -> `ir.rule.group` required (aus Modul `res`)
## `ir.sequence` _(Felder aus: company, ir, res)_
- **code**: Selection required
- **company**: Many2One -> `company.company` (aus Modul `company`)
- **groups**: Function[Many2Many] NICHT setzbar (Function ohne setter) (aus Modul `res`)
- **last_timestamp**: Integer
- **name**: Char required
- **number_increment**: Integer
- **number_next**: Function NICHT setzbar (Function ohne setter)
- **number_next_internal**: Integer
- **padding**: Integer
- **prefix**: Char
- **suffix**: Char
- **timestamp_offset**: Float required
- **timestamp_rounding**: Float required
- **type**: Selection
## `ir.sequence.type` _(Felder aus: ir, res)_
- **code**: Char required
- **groups**: Many2Many -> `ir.sequence.type-res.group` (aus Modul `res`)
- **name**: Char required
## `ir.sequence.type-res.group` _(Felder aus: res)_
- **group**: Many2One -> `res.group` required (aus Modul `res`)
- **sequence_type**: Many2One -> `ir.sequence.type` required (aus Modul `res`)
## `ir.session` _(Felder aus: ir)_
- **key**: Char required
## `ir.session.wizard` _(Felder aus: ir)_
- **data**: Text
## `ir.translation` _(Felder aus: ir)_
- **fuzzy**: Boolean
- **lang**: Selection
- **model**: Function[Char] NICHT setzbar (Function ohne setter)
- **module**: Char
- **name**: Char required
- **overriding_module**: Char
- **res_id**: Integer required
- **src**: Text
- **src_md5**: Char required
- **type**: Selection required
- **value**: Text
## `ir.translation.export.result` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **file**: Binary
## `ir.translation.export.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **language**: Many2One -> `ir.lang` required
- **module**: Many2One -> `ir.module` required
## `ir.translation.update.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: ir)_
- **language**: Many2One -> `ir.lang` required
## `ir.trigger` _(Felder aus: ir)_
- **action_function**: Char required
- **action_model**: Many2One -> `ir.model` required
- **condition**: Char required
- **limit_number**: Integer required
- **minimum_time_delay**: TimeDelta
- **model**: Many2One -> `ir.model` required
- **name**: Char required
- **on_create**: Boolean
- **on_delete**: Boolean
- **on_time**: Boolean
- **on_write**: Boolean
## `ir.trigger.log` _(Felder aus: ir)_
- **record_id**: Integer required
- **trigger**: Many2One -> `ir.trigger` required
## `ir.ui.icon` _(Felder aus: ir)_
- **icon**: Function[Char] NICHT setzbar (Function ohne setter)
- **module**: Char required
- **name**: Char required
- **path**: Char required
- **sequence**: Integer required
## `ir.ui.menu` _(Felder aus: ir)_
- **action**: Function[Reference]
- **action_keywords**: One2Many -> `ir.action.keyword`
- **childs**: One2Many -> `ir.ui.menu`
- **complete_name**: Function[Char] NICHT setzbar (Function ohne setter)
- **favorite**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **groups**: Many2Many -> `ir.ui.menu-res.group`
- **icon**: Selection
- **name**: Char required
- **parent**: Many2One -> `ir.ui.menu`
## `ir.ui.menu-res.group` _(Felder aus: res)_
- **group**: Many2One -> `res.group` required (aus Modul `res`)
- **menu**: Many2One -> `ir.ui.menu` required (aus Modul `res`)
## `ir.ui.menu.favorite` _(Felder aus: ir)_
- **menu**: Many2One -> `ir.ui.menu` required
- **user**: Many2One -> `res.user` required
## `ir.ui.view` _(Felder aus: ir)_
- **arch**: Function[Text]
- **data**: Text
- **domain**: Char
- **field_childs**: Char
- **inherit**: Many2One -> `ir.ui.view`
- **model**: Char
- **module**: Char
- **name**: Char
- **priority**: Integer required
- **type**: Selection
## `ir.ui.view_search` _(Felder aus: ir)_
- **domain**: Char
- **model**: Char required
- **name**: Char required
- **user**: Many2One -> `res.user` required
## `ir.ui.view_tree_state` _(Felder aus: ir)_
- **child_name**: Char
- **domain**: Char required
- **model**: Char required
- **nodes**: Text
- **selected_nodes**: Text
- **user**: Many2One -> `res.user` required
## `ir.ui.view_tree_width` _(Felder aus: ir)_
- **field**: Char required
- **model**: Char required
- **user**: Many2One -> `res.user` required
- **width**: Integer required
## `party.address` _(Felder aus: party, stock)_
- **city**: Char
- **country**: Many2One -> `country.country`
- **delivery**: Boolean (aus Modul `stock`)
- **full_address**: Function[Text] NICHT setzbar (Function ohne setter)
- **name**: Char
- **party**: Many2One -> `party.party` required
- **party_name**: Char
- **street**: Text
- **subdivision**: Many2One -> `country.subdivision`
- **zip**: Char
## `party.address.format` _(Felder aus: party)_
- **country**: Many2One -> `country.country`
- **format_**: Text required
- **language**: Many2One -> `ir.lang`
## `party.category` _(Felder aus: party)_
- **childs**: One2Many -> `party.category`
- **name**: Char required
- **parent**: Many2One -> `party.category`
## `party.check_vies.result` _(Wizard/Transient - nicht persistent)_ _(Felder aus: party)_
- **parties_failed**: Many2Many -> `party.party`
- **parties_succeed**: Many2Many -> `party.party`
## `party.configuration` _(Felder aus: party)_
- **party_lang**: MultiValue
- **party_sequence**: MultiValue
## `party.contact_mechanism` _(Felder aus: party)_
- **comment**: Text
- **email**: Function[Char]
- **name**: Char
- **other_value**: Function[Char]
- **party**: Many2One -> `party.party` required
- **sip**: Function[Char]
- **skype**: Function[Char]
- **type**: Selection required
- **url**: Function[Char] NICHT setzbar (Function ohne setter)
- **value**: Char
- **value_compact**: Char
- **website**: Function[Char]
## `party.erase.ask` _(Wizard/Transient - nicht persistent)_ _(Felder aus: party)_
- **party**: Many2One -> `party.party` required
## `party.identifier` _(Felder aus: party)_
- **code**: Char required
- **party**: Many2One -> `party.party` required
- **type**: Selection
## `party.party` _(Felder aus: party, stock)_
- **addresses**: One2Many -> `party.address`
- **categories**: Many2Many -> `party.party-party.category`
- **code**: Char required
- **code_readonly**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **contact_mechanisms**: One2Many -> `party.contact_mechanism`
- **customer_location**: MultiValue (aus Modul `stock`)
- **email**: Function[Char] NICHT setzbar (Function ohne setter)
- **fax**: Function[Char] NICHT setzbar (Function ohne setter)
- **full_name**: Function[Char] NICHT setzbar (Function ohne setter)
- **identifiers**: One2Many -> `party.identifier`
- **lang**: MultiValue
- **langs**: One2Many -> `party.party.lang`
- **locations**: One2Many -> `party.party.location` (aus Modul `stock`)
- **mobile**: Function[Char] NICHT setzbar (Function ohne setter)
- **name**: Char
- **phone**: Function[Char] NICHT setzbar (Function ohne setter)
- **replaced_by**: Many2One -> `party.party`
- **supplier_location**: MultiValue (aus Modul `stock`)
- **tax_identifier**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **website**: Function[Char] NICHT setzbar (Function ohne setter)
## `party.party-party.category` _(Felder aus: party)_
- **category**: Many2One -> `party.category` required
- **party**: Many2One -> `party.party` required
## `party.party.lang` _(Felder aus: party)_
- **lang**: Many2One -> `ir.lang`
- **party**: Many2One -> `party.party`
## `party.party.location` _(Felder aus: stock)_
- **party**: Many2One -> `party.party` (aus Modul `stock`)
## `party.replace.ask` _(Wizard/Transient - nicht persistent)_ _(Felder aus: party)_
- **destination**: Many2One -> `party.party` required
- **source**: Many2One -> `party.party` required
## `product.by_location.context` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **forecast_date**: Date (aus Modul `stock`)
- **stock_date_end**: Function[Date] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
## `product.category` _(Felder aus: product)_
- **childs**: One2Many -> `product.category`
- **name**: Char required
- **parent**: Many2One -> `product.category`
## `product.configuration` _(Felder aus: product)_
- **default_cost_price_method**: MultiValue
## `product.cost_price` _(Felder aus: product)_
- **cost_price**: Numeric
- **product**: Many2One -> `product.product`
## `product.cost_price_method` _(Felder aus: product)_
- **cost_price_method**: Selection
- **template**: Many2One -> `product.template`
## `product.list_price` _(Felder aus: product)_
- **list_price**: Numeric
- **template**: Many2One -> `product.template`
## `product.product` _(Felder aus: product, production, stock, stock_product_location)_
- **boms**: One2Many -> `product.product-production.bom` (aus Modul `production`)
- **code**: Char
- **cost_price**: MultiValue
- **cost_price_uom**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **cost_prices**: One2Many -> `product.cost_price`
- **cost_value**: Function[Numeric] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **description**: Text
- **forecast_quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **lead_times**: One2Many -> `production.lead_time` (aus Modul `production`)
- **list_price_uom**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **locations**: One2Many -> `stock.product.location` (aus Modul `stock_product_location`)
- **quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **template**: Many2One -> `product.template` required
## `product.product-production.bom` _(Felder aus: production)_
- **bom**: Many2One -> `production.bom` required (aus Modul `production`)
- **product**: Many2One -> `product.product` required (aus Modul `production`)
## `product.template` _(Felder aus: product, product_measurements, production, stock, stock_lot, stock_lot_sled)_
- **categories**: Many2Many -> `product.template-product.category`
- **categories_all**: Many2Many -> `product.template-product.category.all`
- **consumable**: Boolean
- **cost_price**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **cost_price_method**: MultiValue
- **cost_price_methods**: One2Many -> `product.cost_price_method`
- **cost_value**: Function[Numeric] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **default_uom**: Many2One -> `product.uom` required
- **default_uom_category**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **expiration_state**: Selection (aus Modul `stock_lot_sled`)
- **expiration_time**: Integer (aus Modul `stock_lot_sled`)
- **forecast_quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **height**: Float (aus Modul `product_measurements`)
- **height_digits**: Function[Integer] NICHT setzbar (Function ohne setter) (aus Modul `product_measurements`)
- **height_uom**: Many2One -> `product.uom` (aus Modul `product_measurements`)
- **length**: Float (aus Modul `product_measurements`)
- **length_digits**: Function[Integer] NICHT setzbar (Function ohne setter) (aus Modul `product_measurements`)
- **length_uom**: Many2One -> `product.uom` (aus Modul `product_measurements`)
- **list_price**: MultiValue
- **list_prices**: One2Many -> `product.list_price`
- **lot_required**: Many2Many -> `product.template-stock.lot.type` (aus Modul `stock_lot`)
- **name**: Char required
- **producible**: Boolean (aus Modul `production`)
- **products**: One2Many -> `product.product`
- **quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock`)
- **shelf_life_state**: Selection (aus Modul `stock_lot_sled`)
- **shelf_life_time**: Integer (aus Modul `stock_lot_sled`)
- **type**: Selection required
- **volume**: Float (aus Modul `product_measurements`)
- **volume_digits**: Function[Integer] NICHT setzbar (Function ohne setter) (aus Modul `product_measurements`)
- **volume_uom**: Many2One -> `product.uom` (aus Modul `product_measurements`)
- **weight**: Float (aus Modul `product_measurements`)
- **weight_digits**: Function[Integer] NICHT setzbar (Function ohne setter) (aus Modul `product_measurements`)
- **weight_uom**: Many2One -> `product.uom` (aus Modul `product_measurements`)
- **width**: Float (aus Modul `product_measurements`)
- **width_digits**: Function[Integer] NICHT setzbar (Function ohne setter) (aus Modul `product_measurements`)
- **width_uom**: Many2One -> `product.uom` (aus Modul `product_measurements`)
## `product.template-product.category` _(Felder aus: product)_
- **category**: Many2One -> `product.category` required
- **template**: Many2One -> `product.template` required
## `product.template-product.category.all` _(Felder aus: product)_
- **category**: Many2One -> `product.category`
- **template**: Many2One -> `product.template`
## `product.template-stock.lot.type` _(Felder aus: stock_lot)_
- **template**: Many2One -> `product.template` required (aus Modul `stock_lot`)
- **type**: Many2One -> `stock.lot.type` required (aus Modul `stock_lot`)
## `product.uom` _(Felder aus: product)_
- **category**: Many2One -> `product.uom.category` required
- **digits**: Integer required
- **factor**: Float required
- **name**: Char required
- **rate**: Float required
- **rounding**: Float required
- **symbol**: Char required
## `product.uom.category` _(Felder aus: product)_
- **name**: Char required
- **uoms**: One2Many -> `product.uom`
## `production` _(Felder aus: production)_
- **bom**: Many2One -> `production.bom`
- **company**: Many2One -> `company.company` required
- **cost**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **effective_date**: Date
- **effective_start_date**: Date
- **inputs**: One2Many -> `stock.move`
- **location**: Many2One -> `stock.location` required
- **number**: Char
- **outputs**: One2Many -> `stock.move`
- **planned_date**: Date
- **planned_start_date**: Date
- **product**: Many2One -> `product.product`
- **quantity**: Float
- **reference**: Char
- **state**: Selection
- **unit_digits**: Function[Integer] NICHT setzbar (Function ohne setter)
- **uom**: Many2One -> `product.uom`
- **uom_category**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **warehouse**: Many2One -> `stock.location` required
## `production.assign.failed` _(Wizard/Transient - nicht persistent)_ _(Felder aus: production)_
- **moves**: Many2Many -> `stock.move`
## `production.bom` _(Felder aus: production)_
- **inputs**: One2Many -> `production.bom.input`
- **name**: Char required
- **output_products**: Many2Many -> `production.bom.output`
- **outputs**: One2Many -> `production.bom.output`
## `production.bom.input` _(Felder aus: production)_
- **bom**: Many2One -> `production.bom` required
- **product**: Many2One -> `product.product` required
- **quantity**: Float required
- **unit_digits**: Function[Integer] NICHT setzbar (Function ohne setter)
- **uom**: Many2One -> `product.uom` required
- **uom_category**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `production.bom.tree` _(Wizard/Transient - nicht persistent)_ _(Felder aus: production)_
- **childs**: One2Many -> `production.bom.tree`
- **product**: Many2One -> `product.product`
- **quantity**: Float
- **unit_digits**: Integer
- **uom**: Many2One -> `product.uom`
## `production.bom.tree.open.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: production)_
- **bom**: Many2One -> `product.product-production.bom` required
- **category**: Many2One -> `product.uom.category`
- **product**: Many2One -> `product.product`
- **quantity**: Float required
- **unit_digits**: Integer
- **uom**: Many2One -> `product.uom` required
## `production.bom.tree.open.tree` _(Wizard/Transient - nicht persistent)_ _(Felder aus: production)_
- **bom_tree**: One2Many -> `production.bom.tree`
## `production.configuration` _(Felder aus: production)_
- **production_sequence**: MultiValue
## `production.configuration.production_sequence` _(Felder aus: production)_
- **production_sequence**: Many2One -> `ir.sequence` required
## `production.lead_time` _(Felder aus: production)_
- **bom**: Many2One -> `production.bom`
- **lead_time**: TimeDelta
- **product**: Many2One -> `product.product` required
## `production.split.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: production_split)_
- **count**: Integer (aus Modul `production_split`)
- **quantity**: Float required (aus Modul `production_split`)
- **unit_digits**: Integer (aus Modul `production_split`)
- **uom**: Many2One -> `product.uom` required (aus Modul `production_split`)
- **uom_category**: Many2One -> `product.uom.category` (aus Modul `production_split`)
## `res.group` _(Felder aus: res)_
- **buttons**: Many2Many -> `ir.model.button-res.group`
- **field_access**: One2Many -> `ir.model.field.access`
- **model_access**: One2Many -> `ir.model.access`
- **name**: Char required
- **rule_groups**: Many2Many -> `ir.rule.group-res.group`
- **users**: Many2Many -> `res.user-res.group`
## `res.user` _(Felder aus: company, res)_
- **actions**: Many2Many -> `res.user-ir.action`
- **applications**: One2Many -> `res.user.application`
- **companies**: Function[One2Many] NICHT setzbar (Function ohne setter) (aus Modul `company`)
- **company**: Many2One -> `company.company` (aus Modul `company`)
- **email**: Char
- **employee**: Many2One -> `company.employee` (aus Modul `company`)
- **employees**: Many2Many -> `res.user-company.employee` (aus Modul `company`)
- **groups**: Many2Many -> `res.user-res.group`
- **language**: Many2One -> `ir.lang`
- **language_direction**: Function[Char] NICHT setzbar (Function ohne setter)
- **login**: Char required
- **main_company**: Many2One -> `company.company` (aus Modul `company`)
- **menu**: Many2One -> `ir.action` required
- **name**: Char
- **password**: Function[Char]
- **password_hash**: Char
- **password_reset**: Char
- **password_reset_expire**: Timestamp
- **pyson_menu**: Function[Char] NICHT setzbar (Function ohne setter)
- **sessions**: Function[Integer] NICHT setzbar (Function ohne setter)
- **signature**: Text
- **status_bar**: Function[Char] NICHT setzbar (Function ohne setter)
- **warnings**: One2Many -> `res.user.warning`
## `res.user-company.employee` _(Felder aus: company)_
- **employee**: Many2One -> `company.employee` required (aus Modul `company`)
- **user**: Many2One -> `res.user` required (aus Modul `company`)
## `res.user-ir.action` _(Felder aus: res)_
- **action**: Many2One -> `ir.action` required
- **user**: Many2One -> `res.user` required
## `res.user-res.group` _(Felder aus: res)_
- **group**: Many2One -> `res.group` required
- **user**: Many2One -> `res.user` required
## `res.user.application` _(Felder aus: res)_
- **application**: Selection
- **key**: Char required
- **state**: Selection
- **user**: Many2One -> `res.user`
## `res.user.login.attempt` _(Felder aus: res)_
- **ip_address**: Char
- **ip_network**: Char
- **login**: Char
## `res.user.warning` _(Felder aus: res)_
- **always**: Boolean
- **name**: Char required
- **user**: Many2One -> `res.user` required
## `stock.configuration` _(Felder aus: stock, stock_lot_sled)_
- **inventory_sequence**: MultiValue
- **shelf_life_delay**: MultiValue (aus Modul `stock_lot_sled`)
- **shipment_in_return_sequence**: MultiValue
- **shipment_in_sequence**: MultiValue
- **shipment_internal_sequence**: MultiValue
- **shipment_internal_transit**: MultiValue
- **shipment_out_return_sequence**: MultiValue
- **shipment_out_sequence**: MultiValue
## `stock.configuration.sequence` _(Felder aus: stock)_
- **inventory_sequence**: Many2One -> `ir.sequence` required
- **shipment_in_return_sequence**: Many2One -> `ir.sequence` required
- **shipment_in_sequence**: Many2One -> `ir.sequence` required
- **shipment_internal_sequence**: Many2One -> `ir.sequence` required
- **shipment_out_return_sequence**: Many2One -> `ir.sequence` required
- **shipment_out_sequence**: Many2One -> `ir.sequence` required
## `stock.inventory` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **date**: Date required
- **empty_quantity**: Selection
- **lines**: One2Many -> `stock.inventory.line`
- **location**: Many2One -> `stock.location` required
- **lost_found**: Many2One -> `stock.location` required
- **number**: Char
- **state**: Selection
## `stock.inventory.count.quantity` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **line**: Many2One -> `stock.inventory.line` required
- **product**: Many2One -> `product.product`
- **quantity_added**: Float required
- **quantity_resulting**: Float
- **unit_digits**: Integer
- **uom**: Many2One -> `product.uom`
## `stock.inventory.count.search` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **search**: Reference -> `Search` required
- **search_model**: Function[Selection] NICHT setzbar (Function ohne setter)
## `stock.inventory.line` _(Felder aus: stock, stock_lot)_
- **expected_quantity**: Float required
- **inventory**: Many2One -> `stock.inventory` required
- **inventory_state**: Function[Selection] NICHT setzbar (Function ohne setter)
- **lot**: Many2One -> `stock.lot` (aus Modul `stock_lot`)
- **moves**: One2Many -> `stock.move`
- **product**: Many2One -> `product.product` required
- **quantity**: Float
- **unit_digits**: Function[Integer] NICHT setzbar (Function ohne setter)
- **uom**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.location` _(Felder aus: production, stock)_
- **address**: Many2One -> `party.address`
- **childs**: One2Many -> `stock.location`
- **code**: Char
- **cost_value**: Function[Numeric] NICHT setzbar (Function ohne setter)
- **flat_childs**: Boolean
- **forecast_quantity**: Function[Float] NICHT setzbar (Function ohne setter)
- **input_location**: Many2One -> `stock.location`
- **left**: Integer required
- **name**: Char required
- **output_location**: Many2One -> `stock.location`
- **parent**: Many2One -> `stock.location`
- **picking_location**: Many2One -> `stock.location`
- **production_location**: Many2One -> `stock.location` (aus Modul `production`)
- **quantity**: Function[Float] NICHT setzbar (Function ohne setter)
- **right**: Integer required
- **storage_location**: Many2One -> `stock.location`
- **type**: Selection
- **warehouse**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.location.lead_time` _(Felder aus: stock)_
- **lead_time**: TimeDelta
- **warehouse_from**: Many2One -> `stock.location`
- **warehouse_to**: Many2One -> `stock.location`
## `stock.lot` _(Felder aus: stock_lot, stock_lot_sled)_
- **expiration_date**: Date (aus Modul `stock_lot_sled`)
- **expiration_state**: Function[Selection] NICHT setzbar (Function ohne setter) (aus Modul `stock_lot_sled`)
- **forecast_quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock_lot`)
- **number**: Char required (aus Modul `stock_lot`)
- **product**: Many2One -> `product.product` required (aus Modul `stock_lot`)
- **quantity**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock_lot`)
- **shelf_life_expiration_date**: Date (aus Modul `stock_lot_sled`)
- **shelf_life_expiration_state**: Function[Selection] NICHT setzbar (Function ohne setter) (aus Modul `stock_lot_sled`)
## `stock.lot.type` _(Felder aus: stock_lot)_
- **code**: Char required (aus Modul `stock_lot`)
- **name**: Char required (aus Modul `stock_lot`)
## `stock.lots_by_location.context` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock_lot)_
- **forecast_date**: Date (aus Modul `stock_lot`)
- **stock_date_end**: Function[Date] NICHT setzbar (Function ohne setter) (aus Modul `stock_lot`)
## `stock.move` _(Felder aus: production, stock, stock_lot, stock_shipment_measurements)_
- **assignation_required**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **company**: Many2One -> `company.company` required
- **cost_price**: Numeric
- **currency**: Many2One -> `currency.currency`
- **effective_date**: Date
- **from_location**: Many2One -> `stock.location` required
- **internal_quantity**: Float required
- **internal_volume**: Float (aus Modul `stock_shipment_measurements`)
- **internal_weight**: Float (aus Modul `stock_shipment_measurements`)
- **lot**: Many2One -> `stock.lot` (aus Modul `stock_lot`)
- **origin**: Reference -> `Origin`
- **planned_date**: Date
- **product**: Many2One -> `product.product` required
- **product_uom_category**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **production_input**: Many2One -> `production` (aus Modul `production`)
- **production_output**: Many2One -> `production` (aus Modul `production`)
- **quantity**: Float required
- **shipment**: Reference -> `Shipment`
- **state**: Selection
- **to_location**: Many2One -> `stock.location` required
- **unit_digits**: Function[Integer] NICHT setzbar (Function ohne setter)
- **unit_price**: Numeric
- **unit_price_required**: Function[Boolean] NICHT setzbar (Function ohne setter)
- **uom**: Many2One -> `product.uom` required
## `stock.move.split.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock_split)_
- **count**: Integer (aus Modul `stock_split`)
- **quantity**: Float required (aus Modul `stock_split`)
- **unit_digits**: Integer (aus Modul `stock_split`)
- **uom**: Many2One -> `product.uom` required (aus Modul `stock_split`)
- **uom_category**: Many2One -> `product.uom.category` (aus Modul `stock_split`)
## `stock.package` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock_shipment_measurements)_
- **additional_weight**: Float (aus Modul `stock_shipment_measurements`)
- **total_volume**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock_shipment_measurements`)
- **total_weight**: Function[Float] NICHT setzbar (Function ohne setter) (aus Modul `stock_shipment_measurements`)
## `stock.period` _(Felder aus: stock, stock_lot)_
- **caches**: One2Many -> `stock.period.cache`
- **company**: Many2One -> `company.company` required
- **date**: Date required
- **lot_caches**: One2Many -> `stock.period.cache.lot` (aus Modul `stock_lot`)
- **state**: Selection
## `stock.period.cache` _(Felder aus: stock)_
- **internal_quantity**: Float
- **location**: Many2One -> `stock.location` required
- **period**: Many2One -> `stock.period` required
- **product**: Many2One -> `product.product` required
## `stock.period.cache.lot` _(Felder aus: stock_lot)_
- **internal_quantity**: Float (aus Modul `stock_lot`)
- **location**: Many2One -> `stock.location` required (aus Modul `stock_lot`)
- **lot**: Many2One -> `stock.lot` (aus Modul `stock_lot`)
- **period**: Many2One -> `stock.period` required (aus Modul `stock_lot`)
- **product**: Many2One -> `product.product` required (aus Modul `stock_lot`)
## `stock.product.location` _(Felder aus: stock_product_location)_
- **location**: Many2One -> `stock.location` required (aus Modul `stock_product_location`)
- **product**: Many2One -> `product.product` required (aus Modul `stock_product_location`)
- **warehouse**: Many2One -> `stock.location` required (aus Modul `stock_product_location`)
## `stock.product_quantities_warehouse` _(Felder aus: stock)_
- **quantity**: Function[Float] NICHT setzbar (Function ohne setter)
## `stock.product_quantities_warehouse.context` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **warehouse**: Many2One -> `stock.location` required
## `stock.products_by_locations.context` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **forecast_date**: Date
- **stock_date_end**: Function[Date] NICHT setzbar (Function ohne setter)
## `stock.shipment.in` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **contact_address**: Many2One -> `party.address`
- **effective_date**: Date
- **incoming_moves**: Function[One2Many]
- **inventory_moves**: Function[One2Many]
- **moves**: One2Many -> `stock.move`
- **number**: Char
- **origins**: Function[Char] NICHT setzbar (Function ohne setter)
- **planned_date**: Date
- **reference**: Char
- **state**: Selection
- **supplier**: Many2One -> `party.party` required
- **supplier_location**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **warehouse**: Many2One -> `stock.location` required
- **warehouse_input**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **warehouse_storage**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.shipment.in.return` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **delivery_address**: Many2One -> `party.address`
- **effective_date**: Date
- **from_location**: Many2One -> `stock.location` required
- **moves**: One2Many -> `stock.move`
- **number**: Char
- **origins**: Function[Char] NICHT setzbar (Function ohne setter)
- **planned_date**: Date
- **reference**: Char
- **state**: Selection
- **supplier**: Many2One -> `party.party` required
- **to_location**: Many2One -> `stock.location` required
## `stock.shipment.in.return.assign.failed` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **moves**: Many2Many -> `stock.move`
## `stock.shipment.internal` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **effective_date**: Date
- **effective_start_date**: Date
- **from_location**: Many2One -> `stock.location` required
- **incoming_moves**: Function[One2Many]
- **moves**: One2Many -> `stock.move`
- **number**: Char
- **outgoing_moves**: Function[One2Many]
- **planned_date**: Date
- **planned_start_date**: Date
- **reference**: Char
- **state**: Selection
- **to_location**: Many2One -> `stock.location` required
- **transit_location**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.shipment.internal.assign.failed` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **moves**: Many2Many -> `stock.move`
## `stock.shipment.out` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **customer**: Many2One -> `party.party` required
- **customer_location**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **delivery_address**: Many2One -> `party.address` required
- **effective_date**: Date
- **inventory_moves**: Function[One2Many]
- **moves**: One2Many -> `stock.move`
- **number**: Char
- **origins**: Function[Char] NICHT setzbar (Function ohne setter)
- **outgoing_moves**: Function[One2Many]
- **planned_date**: Date
- **reference**: Char
- **state**: Selection
- **warehouse**: Many2One -> `stock.location` required
- **warehouse_output**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **warehouse_storage**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.shipment.out.assign.failed` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock)_
- **inventory_moves**: Many2Many -> `stock.move`
## `stock.shipment.out.return` _(Felder aus: stock)_
- **company**: Many2One -> `company.company` required
- **customer**: Many2One -> `party.party` required
- **customer_location**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **delivery_address**: Many2One -> `party.address` required
- **effective_date**: Date
- **incoming_moves**: Function[One2Many]
- **inventory_moves**: Function[One2Many]
- **moves**: One2Many -> `stock.move`
- **number**: Char
- **origins**: Function[Char] NICHT setzbar (Function ohne setter)
- **planned_date**: Date
- **reference**: Char
- **state**: Selection
- **warehouse**: Many2One -> `stock.location` required
- **warehouse_input**: Function[Many2One] NICHT setzbar (Function ohne setter)
- **warehouse_storage**: Function[Many2One] NICHT setzbar (Function ohne setter)
## `stock.shipment.split.start` _(Wizard/Transient - nicht persistent)_ _(Felder aus: stock_split)_
- **domain_moves**: Many2Many -> `stock.move` (aus Modul `stock_split`)
- **moves**: Many2Many -> `stock.move` (aus Modul `stock_split`)