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
This commit is contained in:
@@ -0,0 +1,532 @@
|
||||
{
|
||||
"records": [
|
||||
{
|
||||
"key": "scenario_party_erase__party",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Pam",
|
||||
"active": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_party_erase__attachment",
|
||||
"model": "ir.attachment",
|
||||
"fields": {
|
||||
"resource": {
|
||||
"$ref": "scenario_party_erase__party"
|
||||
},
|
||||
"name": "Attachment"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_party_replace__party1",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Pam"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_lot_shipment_out__customer",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Customer"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_product_location__supplier",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Suppier"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_reporting__supplier",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Supplier"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__employee_party",
|
||||
"model": "party.party",
|
||||
"fields": {
|
||||
"name": "Employee"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__employee",
|
||||
"model": "company.employee",
|
||||
"fields": {
|
||||
"party": {
|
||||
"$ref": "scenario_stock_shipment_internal__employee_party"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_out__employee",
|
||||
"model": "company.employee",
|
||||
"fields": {
|
||||
"party": {
|
||||
"$ref": "scenario_stock_shipment_internal__employee_party"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__template",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "product",
|
||||
"default_uom": {
|
||||
"$manual": "unit"
|
||||
},
|
||||
"type": "goods",
|
||||
"producible": true,
|
||||
"list_price": {
|
||||
"$decimal": "30"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__template1",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "component 1",
|
||||
"default_uom": {
|
||||
"$manual": "unit"
|
||||
},
|
||||
"type": "goods",
|
||||
"list_price": {
|
||||
"$decimal": "5"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__template2",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "component 2",
|
||||
"default_uom": {
|
||||
"$manual": "meter"
|
||||
},
|
||||
"type": "goods",
|
||||
"list_price": {
|
||||
"$decimal": "7"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_average_cost_price__template",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "Product",
|
||||
"default_uom": {
|
||||
"$manual": "unit"
|
||||
},
|
||||
"type": "goods",
|
||||
"list_price": {
|
||||
"$decimal": "300"
|
||||
},
|
||||
"cost_price_method": "average"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_inventory__template2",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "Product",
|
||||
"default_uom": {
|
||||
"$manual": "kg"
|
||||
},
|
||||
"type": "goods",
|
||||
"list_price": {
|
||||
"$decimal": "140"
|
||||
},
|
||||
"cost_price_method": "average"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_lot_shipment_out__template",
|
||||
"model": "product.template",
|
||||
"fields": {
|
||||
"name": "Product",
|
||||
"default_uom": {
|
||||
"$manual": "unit"
|
||||
},
|
||||
"type": "goods",
|
||||
"list_price": {
|
||||
"$decimal": "20"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__bom",
|
||||
"model": "production.bom",
|
||||
"fields": {
|
||||
"name": "product"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__production",
|
||||
"model": "production",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"product": {
|
||||
"$manual": "product"
|
||||
},
|
||||
"bom": {
|
||||
"$ref": "scenario_production__bom"
|
||||
},
|
||||
"quantity": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_production__production_lead_time",
|
||||
"model": "production.lead_time",
|
||||
"fields": {
|
||||
"product": {
|
||||
"$manual": "product"
|
||||
},
|
||||
"bom": {
|
||||
"$ref": "scenario_production__bom"
|
||||
},
|
||||
"lead_time": {
|
||||
"$manual": "datetime.timedelta(1)"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__stock_user",
|
||||
"model": "res.user",
|
||||
"fields": {
|
||||
"name": "Stock",
|
||||
"login": "stock",
|
||||
"main_company": {
|
||||
"$manual": "company"
|
||||
},
|
||||
"employee": {
|
||||
"$ref": "scenario_stock_shipment_internal__employee"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_out__stock_user",
|
||||
"model": "res.user",
|
||||
"fields": {
|
||||
"name": "Stock",
|
||||
"login": "stock",
|
||||
"main_company": {
|
||||
"$manual": "company"
|
||||
},
|
||||
"employee": {
|
||||
"$ref": "scenario_stock_shipment_out__employee"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_inventory__inventory",
|
||||
"model": "stock.inventory",
|
||||
"fields": {
|
||||
"location": {
|
||||
"$manual": "storage_loc"
|
||||
},
|
||||
"empty_quantity": "keep"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_inventory_empty_quantity__inventory",
|
||||
"model": "stock.inventory",
|
||||
"fields": {
|
||||
"location": {
|
||||
"$manual": "storage_loc"
|
||||
},
|
||||
"empty_quantity": "empty"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_average_cost_price__storage_sub_loc",
|
||||
"model": "stock.location",
|
||||
"fields": {
|
||||
"name": "Storage Sub",
|
||||
"type": "storage",
|
||||
"parent": {
|
||||
"$manual": "storage_loc"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_product_location__child_loc",
|
||||
"model": "stock.location",
|
||||
"fields": {
|
||||
"name": "Child Location",
|
||||
"parent": {
|
||||
"$manual": "storage_loc"
|
||||
},
|
||||
"code": "CHI"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_in_same_storage_input__storage1",
|
||||
"model": "stock.location",
|
||||
"fields": {
|
||||
"name": "Storage 1",
|
||||
"parent": {
|
||||
"$manual": "storage_loc"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__internal_loc",
|
||||
"model": "stock.location",
|
||||
"fields": {
|
||||
"name": "Internal",
|
||||
"type": "storage"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__lead_time",
|
||||
"model": "stock.location.lead_time",
|
||||
"fields": {
|
||||
"from_warehouse": {
|
||||
"$manual": "storage_loc.warehouse"
|
||||
},
|
||||
"to_warehouse": {
|
||||
"$manual": "storage_loc.warehouse"
|
||||
},
|
||||
"lead_time": {
|
||||
"$manual": "datetime.timedelta(1)"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_average_cost_price__incoming_move",
|
||||
"model": "stock.move",
|
||||
"fields": {
|
||||
"product": {
|
||||
"$manual": "product"
|
||||
},
|
||||
"uom": {
|
||||
"$manual": "unit"
|
||||
},
|
||||
"quantity": 1,
|
||||
"from_location": {
|
||||
"$manual": "supplier_loc"
|
||||
},
|
||||
"to_location": {
|
||||
"$manual": "storage_loc"
|
||||
},
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"effective_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
},
|
||||
"unit_price": {
|
||||
"$decimal": "200"
|
||||
},
|
||||
"currency": {
|
||||
"$manual": "company.currency"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_product_location__shipment_in",
|
||||
"model": "stock.shipment.in",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"supplier": {
|
||||
"$ref": "scenario_stock_product_location__supplier"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_reporting__shipment_in",
|
||||
"model": "stock.shipment.in",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"supplier": {
|
||||
"$ref": "scenario_stock_reporting__supplier"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_in_same_storage_input__shipment_in",
|
||||
"model": "stock.shipment.in",
|
||||
"fields": {
|
||||
"supplier": {
|
||||
"$ref": "scenario_stock_reporting__supplier"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_reporting__shipment_internal",
|
||||
"model": "stock.shipment.internal",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
},
|
||||
"from_location": {
|
||||
"$manual": "storage_loc"
|
||||
},
|
||||
"to_location": {
|
||||
"$manual": "lost_loc"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_internal__shipment",
|
||||
"model": "stock.shipment.internal",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"from_location": {
|
||||
"$ref": "scenario_stock_shipment_internal__internal_loc"
|
||||
},
|
||||
"to_location": {
|
||||
"$manual": "storage_loc"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_lot_shipment_out__shipment_out",
|
||||
"model": "stock.shipment.out",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_reporting__shipment_out",
|
||||
"model": "stock.shipment.out",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_out__shipment_out",
|
||||
"model": "stock.shipment.out",
|
||||
"fields": {
|
||||
"planned_date": {
|
||||
"$manual": "today"
|
||||
},
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_out_same_storage_output__shipment_out",
|
||||
"model": "stock.shipment.out",
|
||||
"fields": {
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_split_shipment__shipment1",
|
||||
"model": "stock.shipment.out",
|
||||
"fields": {
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_product_location__shipment_out_return",
|
||||
"model": "stock.shipment.out.return",
|
||||
"fields": {
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"supplier": {
|
||||
"$ref": "scenario_stock_product_location__supplier"
|
||||
},
|
||||
"from_location": {
|
||||
"$manual": "output_loc"
|
||||
},
|
||||
"to_location": {
|
||||
"$manual": "supplier_loc"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "scenario_stock_shipment_out_return_same_storage_input__shipment",
|
||||
"model": "stock.shipment.out.return",
|
||||
"fields": {
|
||||
"customer": {
|
||||
"$ref": "scenario_stock_lot_shipment_out__customer"
|
||||
},
|
||||
"warehouse": {
|
||||
"$manual": "warehouse_loc"
|
||||
},
|
||||
"company": {
|
||||
"$manual": "company"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,103 @@
|
||||
# Testdaten-Abdeckung gegen den 5.0-Modellbaum
|
||||
|
||||
|
||||
## Komplett unabgedeckte Modelle (35)
|
||||
|
||||
Für diese Modelle gibt es noch gar keinen Record in der dataset.yaml:
|
||||
|
||||
- `company.company` _[geändert]_
|
||||
- `country.subdivision` _[geändert]_
|
||||
- `currency.currency` _[geändert]_
|
||||
- `currency.currency.rate` _[geändert]_
|
||||
- `party.address` _[geändert]_
|
||||
- `party.address.format` _[geändert]_
|
||||
- `party.contact_mechanism` _[geändert]_
|
||||
- `product.cost_price` _[geändert]_
|
||||
- `product.list_price` _[geändert]_
|
||||
- `product.product` _[geändert]_
|
||||
- `production.bom.input` _[geändert]_
|
||||
- `stock.inventory.line` _[geändert]_
|
||||
- `stock.lot` _[geändert]_
|
||||
- `stock.product.location` _[geändert]_
|
||||
- `stock.shipment.in.return` _[geändert]_
|
||||
- `country.zip` _[entfernt]_
|
||||
- `stock.lot.type` _[entfernt]_
|
||||
- `country.country` _[nur ergänzt]_
|
||||
- `party.configuration` _[nur ergänzt]_
|
||||
- `party.identifier` _[nur ergänzt]_
|
||||
- `product.category` _[nur ergänzt]_
|
||||
- `product.configuration` _[nur ergänzt]_
|
||||
- `production.configuration` _[nur ergänzt]_
|
||||
- `stock.configuration` _[nur ergänzt]_
|
||||
- `party.category` _[unverändert]_
|
||||
- `party.party.lang` _[unverändert]_
|
||||
- `party.party.location` _[unverändert]_
|
||||
- `product.cost_price_method` _[unverändert]_
|
||||
- `product.uom` _[unverändert]_
|
||||
- `product.uom.category` _[unverändert]_
|
||||
- `production.configuration.production_sequence` _[unverändert]_
|
||||
- `stock.configuration.sequence` _[unverändert]_
|
||||
- `stock.period` _[unverändert]_
|
||||
- `stock.period.cache` _[unverändert]_
|
||||
- `stock.period.cache.lot` _[unverändert]_
|
||||
|
||||
|
||||
## Teilweise abgedeckte Modelle (15)
|
||||
|
||||
Modell hat mind. einen Record, aber nicht alle setzbaren Felder werden benutzt:
|
||||
|
||||
|
||||
### `product.template` _[geändert]_
|
||||
- optional, ungenutzt: categories, categories_all, consumable, cost_price_methods, expiration_state, expiration_time, height, height_uom, length, length_uom, list_prices, lot_required, products, shelf_life_state, shelf_life_time, volume, volume_uom, weight, weight_uom, width, width_uom
|
||||
|
||||
### `production` _[geändert]_
|
||||
- **required, aber ungenutzt:** company, location, warehouse
|
||||
- optional, ungenutzt: effective_date, effective_start_date, inputs, number, outputs, planned_start_date, reference, state, uom
|
||||
|
||||
### `res.user` _[geändert]_
|
||||
- **required, aber ungenutzt:** menu
|
||||
- optional, ungenutzt: actions, applications, company, email, employees, groups, language, password, password_hash, password_reset, password_reset_expire, signature, warnings
|
||||
|
||||
### `stock.inventory` _[geändert]_
|
||||
- **required, aber ungenutzt:** company, date, lost_found
|
||||
- optional, ungenutzt: lines, number, state
|
||||
|
||||
### `stock.move` _[geändert]_
|
||||
- **required, aber ungenutzt:** internal_quantity
|
||||
- optional, ungenutzt: cost_price, internal_volume, internal_weight, lot, origin, production_input, production_output, shipment, state
|
||||
|
||||
### `stock.shipment.in` _[geändert]_
|
||||
- optional, ungenutzt: contact_address, effective_date, incoming_moves, inventory_moves, moves, number, reference, state
|
||||
|
||||
### `stock.shipment.internal` _[geändert]_
|
||||
- optional, ungenutzt: effective_date, effective_start_date, incoming_moves, moves, number, outgoing_moves, planned_start_date, reference, state
|
||||
|
||||
### `stock.shipment.out` _[geändert]_
|
||||
- **required, aber ungenutzt:** delivery_address
|
||||
- optional, ungenutzt: effective_date, inventory_moves, moves, number, outgoing_moves, reference, state
|
||||
|
||||
### `stock.shipment.out.return` _[geändert]_
|
||||
- **required, aber ungenutzt:** delivery_address
|
||||
- optional, ungenutzt: effective_date, incoming_moves, inventory_moves, moves, number, planned_date, reference, state
|
||||
|
||||
### `company.employee` _[nur ergänzt]_
|
||||
- **required, aber ungenutzt:** company
|
||||
- optional, ungenutzt: end_date, start_date
|
||||
|
||||
### `party.party` _[nur ergänzt]_
|
||||
- **required, aber ungenutzt:** code
|
||||
- optional, ungenutzt: addresses, categories, contact_mechanisms, customer_location, identifiers, lang, langs, locations, replaced_by, supplier_location
|
||||
|
||||
### `production.bom` _[nur ergänzt]_
|
||||
- optional, ungenutzt: inputs, output_products, outputs
|
||||
|
||||
### `stock.location` _[nur ergänzt]_
|
||||
- **required, aber ungenutzt:** left, right
|
||||
- optional, ungenutzt: address, childs, flat_childs, input_location, output_location, picking_location, production_location, storage_location
|
||||
|
||||
### `ir.attachment` _[unverändert]_
|
||||
- **required, aber ungenutzt:** type
|
||||
- optional, ungenutzt: data, description, file_id, link
|
||||
|
||||
### `stock.location.lead_time` _[unverändert]_
|
||||
- optional, ungenutzt: warehouse_from, warehouse_to
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,463 @@
|
||||
# Modellbaum-Diff: 5.0 -> 8.0
|
||||
|
||||
|
||||
## entfernt (12) - Modell existiert nicht mehr
|
||||
|
||||
- `country.zip`
|
||||
- `ir.model.field-res.group`
|
||||
- `product.template-stock.lot.type`
|
||||
- `production.assign`
|
||||
- `production.assign.failed`
|
||||
- `stock.lot.type`
|
||||
- `stock.shipment.in.return.assign`
|
||||
- `stock.shipment.in.return.assign.failed`
|
||||
- `stock.shipment.internal.assign`
|
||||
- `stock.shipment.internal.assign.failed`
|
||||
- `stock.shipment.out.assign`
|
||||
- `stock.shipment.out.assign.failed`
|
||||
|
||||
## geändert (57) - Feld(er) entfernt oder geändert - Kandidat für einen echten Vergleichslauf
|
||||
|
||||
|
||||
### `company.company`
|
||||
- entfernte Felder: childs, parent
|
||||
- (zusätzlich neue Felder: logo, logo_cache, tax_identifiers)
|
||||
|
||||
### `country.subdivision`
|
||||
- **code**: required: True -> None
|
||||
- **type**: required: True -> None
|
||||
- (zusätzlich neue Felder: flag)
|
||||
|
||||
### `currency.currency`
|
||||
- **symbol**: required: True -> None
|
||||
|
||||
### `currency.currency.rate`
|
||||
- **currency**: required: None -> True
|
||||
- **rate**: required: None -> True
|
||||
|
||||
### `ir.action`
|
||||
- **type**: type: Char -> Selection
|
||||
- (zusätzlich neue Felder: action, records)
|
||||
|
||||
### `ir.action.act_window`
|
||||
- entfernte Felder: action
|
||||
- **domains**: type: Function[Binary] -> Function[Field]
|
||||
- **views**: type: Function[Binary] -> Function[Field]
|
||||
|
||||
### `ir.action.act_window.domain`
|
||||
- entfernte Felder: sequence
|
||||
|
||||
### `ir.action.act_window.view`
|
||||
- entfernte Felder: sequence
|
||||
- **act_window**: required: None -> True
|
||||
- (zusätzlich neue Felder: model)
|
||||
|
||||
### `ir.action.keyword`
|
||||
- **action**: required: None -> True
|
||||
- **groups**: type: Function[One2Many] -> Function[Many2Many]
|
||||
|
||||
### `ir.action.report`
|
||||
- entfernte Felder: action, email, pyson_email
|
||||
- (zusätzlich neue Felder: record_name, report_content_html)
|
||||
|
||||
### `ir.action.url`
|
||||
- entfernte Felder: action
|
||||
|
||||
### `ir.action.wizard`
|
||||
- entfernte Felder: action, email
|
||||
|
||||
### `ir.cron`
|
||||
- entfernte Felder: args, function, model, name, number_calls, repeat_missed, request_user, user
|
||||
- **interval_type**: required: None -> True
|
||||
- **next_call**: required: True -> None
|
||||
- (zusätzlich neue Felder: day, hour, logs, method, minute, running, timezone, weekday)
|
||||
|
||||
### `ir.model`
|
||||
- entfernte Felder: info, model
|
||||
- **fields**: required: True -> None
|
||||
- **name**: required: None -> True
|
||||
- (zusätzlich neue Felder: string)
|
||||
|
||||
### `ir.model.access`
|
||||
- **model**: type: Many2One -> Char; relation: ir.model -> None
|
||||
|
||||
### `ir.model.button`
|
||||
- **model**: type: Many2One -> Char; relation: ir.model -> None
|
||||
|
||||
### `ir.model.data`
|
||||
- entfernte Felder: fs_values, out_of_sync, values
|
||||
- **db_id**: required: True -> None
|
||||
- (zusätzlich neue Felder: field_names)
|
||||
|
||||
### `ir.model.field`
|
||||
- entfernte Felder: field_description, groups
|
||||
- **model**: type: Many2One -> Char; relation: ir.model -> None
|
||||
- (zusätzlich neue Felder: access, string)
|
||||
|
||||
### `ir.model.field.access`
|
||||
- **field**: type: Many2One -> Char; relation: ir.model.field -> None
|
||||
- (zusätzlich neue Felder: model)
|
||||
|
||||
### `ir.module`
|
||||
- **childs**: type: Function[One2Many] -> Function[Many2Many]
|
||||
- **parents**: type: Function[One2Many] -> Function[Many2Many]
|
||||
|
||||
### `ir.module.config_wizard.item`
|
||||
- entfernte Felder: sequence
|
||||
|
||||
### `ir.rule.group`
|
||||
- **model**: type: Many2One -> Char; relation: ir.model -> None
|
||||
- **name**: required: None -> True
|
||||
|
||||
### `ir.sequence`
|
||||
- entfernte Felder: code, groups
|
||||
- (zusätzlich neue Felder: preview, sequence_type)
|
||||
|
||||
### `ir.sequence.type`
|
||||
- entfernte Felder: code
|
||||
|
||||
### `ir.translation`
|
||||
- entfernte Felder: src_md5
|
||||
- (zusätzlich neue Felder: field, src_plural, value_1, value_2, value_3)
|
||||
|
||||
### `ir.trigger`
|
||||
- entfernte Felder: action_function, action_model, on_create, on_delete, on_time, on_write
|
||||
- (zusätzlich neue Felder: action, on_create_, on_delete_, on_time_, on_write_)
|
||||
|
||||
### `ir.ui.icon`
|
||||
- entfernte Felder: sequence
|
||||
- **icon**: type: Function[Char] -> Function[Text]
|
||||
|
||||
### `ir.ui.view`
|
||||
- entfernte Felder: priority
|
||||
- (zusätzlich neue Felder: basis, extensions)
|
||||
|
||||
### `ir.ui.view_search`
|
||||
- **user**: required: True -> None
|
||||
|
||||
### `ir.ui.view_tree_width`
|
||||
- **width**: required: True -> None
|
||||
- (zusätzlich neue Felder: occurrence, screen_width)
|
||||
|
||||
### `party.address`
|
||||
- entfernte Felder: name, zip
|
||||
- **street**: type: Text -> Function[Text]
|
||||
- (zusätzlich neue Felder: attn, building_name, building_number, contact_mechanisms, floor_number, identifiers, post_box, post_office, postal_code, private_bag, room_number, street_name, street_single_line, street_unstructured, subdivision_types, unit_number, warehouses)
|
||||
|
||||
### `party.address.format`
|
||||
- entfernte Felder: country, language
|
||||
- (zusätzlich neue Felder: building_number_format, country_code, floor_number_format, language_code, post_box_format, post_office_format, private_bag_format, room_number_format, street_format, unit_number_format)
|
||||
|
||||
### `party.contact_mechanism`
|
||||
- **value**: required: None -> True
|
||||
- (zusätzlich neue Felder: address, delivery, language, languages)
|
||||
|
||||
### `product.cost_price`
|
||||
- **cost_price**: required: None -> True
|
||||
|
||||
### `product.list_price`
|
||||
- **template**: required: None -> True
|
||||
- (zusätzlich neue Felder: product)
|
||||
|
||||
### `product.product`
|
||||
- entfernte Felder: lead_times
|
||||
- (zusätzlich neue Felder: code_readonly, identifiers, list_price, list_price_used, list_prices, position, prefix_code, production_lead_times, replaced_by, suffix_code)
|
||||
|
||||
### `product.template`
|
||||
- entfernte Felder: height_digits, length_digits, volume_digits, weight_digits, width_digits
|
||||
- **lot_required**: type: Many2Many -> MultiSelection; relation: product.template-stock.lot.type -> None
|
||||
- (zusätzlich neue Felder: code, code_readonly, locations, lot_sequence)
|
||||
|
||||
### `production`
|
||||
- entfernte Felder: effective_date, planned_date, reference, unit_digits, uom
|
||||
- (zusätzlich neue Felder: origin, type, unit)
|
||||
|
||||
### `production.bom.input`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- **product**: required: True -> None
|
||||
- (zusätzlich neue Felder: phantom_bom, unit)
|
||||
|
||||
### `production.bom.tree`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: unit)
|
||||
|
||||
### `production.bom.tree.open.start`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: unit)
|
||||
|
||||
### `production.split.start`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: unit)
|
||||
|
||||
### `res.user`
|
||||
- entfernte Felder: main_company
|
||||
- **companies**: type: Function[One2Many] -> Many2Many; relation: None -> res.user-company.company
|
||||
- **menu**: required: True -> None
|
||||
- (zusätzlich neue Felder: avatar_badge_url, company_filter, notifications, warehouse)
|
||||
|
||||
### `res.user.application`
|
||||
- **application**: required: None -> True
|
||||
|
||||
### `stock.inventory`
|
||||
- entfernte Felder: lost_found
|
||||
|
||||
### `stock.inventory.count.quantity`
|
||||
- entfernte Felder: quantity_added, quantity_resulting, unit_digits, uom
|
||||
- (zusätzlich neue Felder: lot, quantity, total_quantity, unit)
|
||||
|
||||
### `stock.inventory.count.search`
|
||||
- entfernte Felder: search_model
|
||||
|
||||
### `stock.inventory.line`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: inventory_date, inventory_location, unit)
|
||||
|
||||
### `stock.lot`
|
||||
- entfernte Felder: expiration_date, expiration_state, number, product, shelf_life_expiration_date, shelf_life_expiration_state
|
||||
- (zusätzlich neue Felder: default_uom)
|
||||
|
||||
### `stock.move`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: cost_price_required, delay, from_location_name, origin_planned_date, outcome_moves, product_cost_price, production, production_cost_price_updated, to_location_name, unit, unit_price_company, unit_price_updated)
|
||||
|
||||
### `stock.move.split.start`
|
||||
- entfernte Felder: unit_digits, uom
|
||||
- (zusätzlich neue Felder: unit)
|
||||
|
||||
### `stock.product.location`
|
||||
- **product**: required: True -> None
|
||||
- (zusätzlich neue Felder: template)
|
||||
|
||||
### `stock.shipment.in`
|
||||
- entfernte Felder: effective_date, number, planned_date, reference
|
||||
- **warehouse_input**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
- **warehouse_storage**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
|
||||
### `stock.shipment.in.return`
|
||||
- entfernte Felder: effective_date, number, planned_date, reference
|
||||
- (zusätzlich neue Felder: warehouse)
|
||||
|
||||
### `stock.shipment.internal`
|
||||
- entfernte Felder: effective_date, number, planned_date, reference
|
||||
- (zusätzlich neue Felder: internal_transit_location, to_warehouse, warehouse)
|
||||
|
||||
### `stock.shipment.out`
|
||||
- entfernte Felder: effective_date, number, planned_date, reference
|
||||
- **warehouse_output**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
- **warehouse_storage**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
|
||||
### `stock.shipment.out.return`
|
||||
- entfernte Felder: delivery_address, effective_date, number, planned_date, reference
|
||||
- **warehouse_input**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
- **warehouse_storage**: type: Function[Many2One] -> Many2One; relation: None -> stock.location; required: None -> True
|
||||
- (zusätzlich neue Felder: contact_address)
|
||||
|
||||
## neu (76) - Modell gibt es erst ab 8.0
|
||||
|
||||
- `company.company.logo.cache`
|
||||
- `company.company.tax_identifier`
|
||||
- `country.organization`
|
||||
- `country.organization.member`
|
||||
- `country.postal_code`
|
||||
- `country.region`
|
||||
- `currency.cron`
|
||||
- `currency.cron-currency.currency`
|
||||
- `ir.avatar`
|
||||
- `ir.avatar.cache`
|
||||
- `ir.calendar.day`
|
||||
- `ir.calendar.month`
|
||||
- `ir.chat.channel`
|
||||
- `ir.chat.follower`
|
||||
- `ir.chat.message`
|
||||
- `ir.cron.log`
|
||||
- `ir.email`
|
||||
- `ir.email.address`
|
||||
- `ir.email.template`
|
||||
- `ir.email.template-ir.action.report`
|
||||
- `ir.error`
|
||||
- `ir.export-res.group`
|
||||
- `ir.export-write-res.group`
|
||||
- `ir.filestore.queue`
|
||||
- `ir.lang.config`
|
||||
- `ir.lang.config.start`
|
||||
- `ir.message`
|
||||
- `ir.model.log`
|
||||
- `ir.model.refresh_materialized`
|
||||
- `ir.module.config.start`
|
||||
- `ir.ui.view_tree_optional`
|
||||
- `party.address.subdivision_type`
|
||||
- `party.contact_mechanism.language`
|
||||
- `party.party-delivered_to-stock.location`
|
||||
- `product.configuration.default_lot_sequence`
|
||||
- `product.cost_price.revision`
|
||||
- `product.identifier`
|
||||
- `product.modify_cost_price`
|
||||
- `product.modify_cost_price.start`
|
||||
- `product.price_list`
|
||||
- `product.price_list.line`
|
||||
- `product.product.replace`
|
||||
- `product.product.replace.ask`
|
||||
- `product.recompute_cost_price.start`
|
||||
- `res.notification`
|
||||
- `res.user-company.company`
|
||||
- `res.user.device`
|
||||
- `stock.configuration.measurement`
|
||||
- `stock.location.waste`
|
||||
- `stock.lot.trace`
|
||||
- `stock.lots_by_locations`
|
||||
- `stock.move.add.lots`
|
||||
- `stock.move.add.lots.start`
|
||||
- `stock.move.add.lots.start.lot`
|
||||
- `stock.product_quantities_warehouse.move`
|
||||
- `stock.product_quantities_warehouse.move.open`
|
||||
- `stock.product_quantities_warehouse.open`
|
||||
- `stock.products_by_locations`
|
||||
- `stock.reporting.inventory`
|
||||
- `stock.reporting.inventory.context`
|
||||
- `stock.reporting.inventory.daily`
|
||||
- `stock.reporting.inventory.move`
|
||||
- `stock.reporting.inventory.range.context`
|
||||
- `stock.reporting.inventory.turnover`
|
||||
- `stock.reporting.inventory.turnover.context`
|
||||
- `stock.reporting.margin.category`
|
||||
- `stock.reporting.margin.category.time_series`
|
||||
- `stock.reporting.margin.category.tree`
|
||||
- `stock.reporting.margin.context`
|
||||
- `stock.reporting.margin.main`
|
||||
- `stock.reporting.margin.main.time_series`
|
||||
- `stock.reporting.margin.product`
|
||||
- `stock.reporting.margin.product.time_series`
|
||||
- `stock.shipment.assign`
|
||||
- `stock.shipment.assign.partial`
|
||||
- `stock.shipment.drop`
|
||||
|
||||
## nur ergänzt (24) - nur neue Felder dazugekommen, Rest unverändert
|
||||
|
||||
- `company.employee`
|
||||
- `country.country`
|
||||
- `ir.configuration`
|
||||
- `ir.export`
|
||||
- `ir.lang`
|
||||
- `ir.session`
|
||||
- `ir.translation.export.result`
|
||||
- `ir.ui.menu`
|
||||
- `party.configuration`
|
||||
- `party.identifier`
|
||||
- `party.party`
|
||||
- `product.by_location.context`
|
||||
- `product.category`
|
||||
- `product.configuration`
|
||||
- `production.bom`
|
||||
- `production.configuration`
|
||||
- `res.group`
|
||||
- `res.user.login.attempt`
|
||||
- `stock.configuration`
|
||||
- `stock.location`
|
||||
- `stock.package`
|
||||
- `stock.product_quantities_warehouse`
|
||||
- `stock.product_quantities_warehouse.context`
|
||||
- `stock.products_by_locations.context`
|
||||
|
||||
## unverändert (101) - komplett identisch geblieben
|
||||
|
||||
- `company.company.config`
|
||||
- `company.company.config.start`
|
||||
- `ir.action-res.group`
|
||||
- `ir.attachment`
|
||||
- `ir.cache`
|
||||
- `ir.cron-company.company`
|
||||
- `ir.date`
|
||||
- `ir.export.line`
|
||||
- `ir.model.button-button.reset`
|
||||
- `ir.model.button-res.group`
|
||||
- `ir.model.button.click`
|
||||
- `ir.model.button.rule`
|
||||
- `ir.model.graph`
|
||||
- `ir.model.print_model_graph`
|
||||
- `ir.model.print_model_graph.start`
|
||||
- `ir.model.workflow_graph`
|
||||
- `ir.module.activate_upgrade`
|
||||
- `ir.module.activate_upgrade.done`
|
||||
- `ir.module.activate_upgrade.start`
|
||||
- `ir.module.config`
|
||||
- `ir.module.config_wizard`
|
||||
- `ir.module.config_wizard.done`
|
||||
- `ir.module.config_wizard.first`
|
||||
- `ir.module.config_wizard.other`
|
||||
- `ir.module.dependency`
|
||||
- `ir.note`
|
||||
- `ir.note.read`
|
||||
- `ir.queue`
|
||||
- `ir.rule`
|
||||
- `ir.rule.group-res.group`
|
||||
- `ir.sequence.strict`
|
||||
- `ir.sequence.type-res.group`
|
||||
- `ir.session.wizard`
|
||||
- `ir.translation.clean`
|
||||
- `ir.translation.clean.start`
|
||||
- `ir.translation.clean.succeed`
|
||||
- `ir.translation.export`
|
||||
- `ir.translation.export.start`
|
||||
- `ir.translation.report`
|
||||
- `ir.translation.set`
|
||||
- `ir.translation.set.start`
|
||||
- `ir.translation.set.succeed`
|
||||
- `ir.translation.update`
|
||||
- `ir.translation.update.start`
|
||||
- `ir.trigger.log`
|
||||
- `ir.ui.menu-res.group`
|
||||
- `ir.ui.menu.favorite`
|
||||
- `ir.ui.view.show`
|
||||
- `ir.ui.view.show.start`
|
||||
- `ir.ui.view_tree_state`
|
||||
- `party.category`
|
||||
- `party.check_vies`
|
||||
- `party.check_vies.result`
|
||||
- `party.configuration.party_lang`
|
||||
- `party.configuration.party_sequence`
|
||||
- `party.erase`
|
||||
- `party.erase.ask`
|
||||
- `party.letter`
|
||||
- `party.party-party.category`
|
||||
- `party.party.lang`
|
||||
- `party.party.location`
|
||||
- `party.replace`
|
||||
- `party.replace.ask`
|
||||
- `product.configuration.default_cost_price_method`
|
||||
- `product.cost_price_method`
|
||||
- `product.product-production.bom`
|
||||
- `product.recompute_cost_price`
|
||||
- `product.template-product.category`
|
||||
- `product.template-product.category.all`
|
||||
- `product.uom`
|
||||
- `product.uom.category`
|
||||
- `production.bom.output`
|
||||
- `production.bom.tree.open`
|
||||
- `production.bom.tree.open.tree`
|
||||
- `production.configuration.production_sequence`
|
||||
- `production.lead_time`
|
||||
- `production.split`
|
||||
- `res.user-company.employee`
|
||||
- `res.user-ir.action`
|
||||
- `res.user-res.group`
|
||||
- `res.user.config`
|
||||
- `res.user.config.start`
|
||||
- `res.user.email_reset_password`
|
||||
- `res.user.warning`
|
||||
- `stock.configuration.location`
|
||||
- `stock.configuration.sequence`
|
||||
- `stock.inventory.count`
|
||||
- `stock.location.lead_time`
|
||||
- `stock.location.lot.shelf_life`
|
||||
- `stock.lots_by_location.context`
|
||||
- `stock.move.split`
|
||||
- `stock.period`
|
||||
- `stock.period.cache`
|
||||
- `stock.period.cache.lot`
|
||||
- `stock.shipment.in.restocking_list`
|
||||
- `stock.shipment.internal.report`
|
||||
- `stock.shipment.out.delivery_note`
|
||||
- `stock.shipment.out.picking_list`
|
||||
- `stock.shipment.out.return.restocking_list`
|
||||
- `stock.shipment.split`
|
||||
- `stock.shipment.split.start`
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user