Loading...
Loading...
Openerp Discovery Layer: Use the objects command to search for the FormId of any business object, use schema to discover its fields, then use query to retrieve data. Use this when there is no existing domain command for the object to query, or when you are unsure of the FormId/field names.
npx skill4agent add xiaowen-0725/openerp-cli openerp-discoveryFirst read(Authentication, Exit Codes, Output Contracts).../openerp-shared/SKILL.md
../openerp-domains/SKILL.md# 1) Find the object's FormId (search BOS_ObjectType)
openerp objects --keyword Sales Order
# → Rows contain [FID, FName, FSubSystemId], where FID is the FormId (e.g., SAL_SaleOrder)
# 2) Query available fields of the object
openerp schema SAL_SaleOrder --fields-only
# → Each entry includes field key/Chinese name/type/related object(lookUpForm)
# 3) Retrieve data using the discovered fields
openerp query --form-id SAL_SaleOrder \
--fields "FBillNo,FDate,FCustId.FName,FMaterialId.FNumber,FQty" \
--filter "FBillNo='XSDD000006'" --top 20Recall before discovery, document after discovery: Before starting the three-step discovery, runto check if there is any existing experience for the FormId; after successfully querying, write the verified fields/filters/pitfalls back tols ~/.config/openerp/object-notes/. For conventions, see §6 "Object Experience" inobject-notes/{FormId}.{profile}.md.../openerp-shared/SKILL.md
FMaterialIdFQtyFEntity.FMaterialIdFSaleOrderEntry.FQtyFSupplierId.FNameFMaterialId.FNumberFCustId.FNumberlookUpFormFMaterialIdFMATERIALIDFMaterialID--page-allnullschemaSTK_InventorySTK_InventoryQueryopenerp inventory balance listGetSysReportDataSAL_OUTSTOCKQueryBusinessInfoCB_SFCCostCalBillopenerp objects --keyword <name keyword> # Must provide a convergence condition
openerp objects --subsystem <subsystem> # Filter by subsystem
openerp objects --keyword Outsourcing --top 30openerp schema <FormId> # Complete metadata
openerp schema <FormId> --fields-only # Simplified field list (recommended)