Last Post…
I get the same error from the API via Erp.BO.DynAttrValueSetSvc/Update in a company without AUOM.
Looks like the Part Attributes slider is an app-open of view: Erp.UI.DynAttrValueEntry
I believe this is different than the DynAttribute Set Maintenance app as it take a value-in, etc, etc
You might gleen something if you try adding a menu to that app.
Anyway, tracing that slider, I found it calls:
Erp.BO.DynAttrValueSetSvc/UpdateAttributeValuesObject which takes the following schema of Part and Attribute values and appears to create the Attribute Set and return it’s ID and works for a Class having blank Calculation Type.
{
"attrClassID": "JAB-AREA-LBS",
"commitLineDtl": false,
"dynAttrValueDS": {
"InventoryDynAttrValues": [
{
"Height": 4,
"Length": 4,
"Volume": 0,
"Width": 4,
"InventoryAttributeColumnCompany": "XXXXXX",
"InventoryAttributeColumnAttrClassID": "JAB-AREA-LBS",
"InventoryAttributeColumnAttributeSetID": 0,
"InventoryAttributeColumnRelatedToSchemaName": "Erp",
"InventoryAttributeColumnRelatedToTableName": "Part",
"InventoryAttributeColumnPartNum": "00P1",
"InventoryAttributeColumnRelatedToSysRowID": "68cafa8f-0dd5-4ba5-b64c-b03a002e13ad",
"InventoryAttributeColumnAttributeValueSeq": 0,
"RowMod": "A",
"SysRowID": "00000000-0000-0000-0000-000000000000"
}
]
},
"inventoryDynAttrValueParamsTS": {
"InventoryDynAttrValueSummary": [
{
"AttrClassID": "JAB-AREA-LBS",
"Company": "XXXXXX",
"DualQty": 0,
"DualUM": "",
"IUM": "",
"OurQty": 0,
"LineDesc": "",
"PartNum": "00P1",
"RemainingDualQty": 0,
"RemainingOurQty": 0,
"RelatedToSchemaName": "Erp",
"RelatedToSysRowID": "68cafa8f-0dd5-4ba5-b64c-b03a002e13ad",
"RelatedToTableName": "Part",
"EnteredDualQty": 0,
"EnteredOurQty": 0,
"UsedInPlanning": false,
"ErrorType": 0,
"ErrorMsg": "",
"NeedToUpdate": false,
"TemplateWhereAvailable": 0,
"ServiceError": false,
"ServiceErrorMessage": "",
"EntityAction1": "",
"EntityAction2": "",
"EntityActionMessage1": "",
"EntityActionMessage2": "",
"EntityActionMessageTitle1": "",
"EntityActionMessageTitle2": "",
"PerformUpdateOnClose": false,
"ShowSummaryInformation": false,
"PerformAttributeOnChangeEvent": false,
"AttributeSetID": 0,
"NumberOfPieces": 0,
"CommittedSplitQty": 0,
"RevisionNum": "",
"TrackInventoryAttributes": false,
"TrackInventoryByRevision": false,
"SysRowID": "00000000-0000-0000-0000-000000000000",
"RowMod": ""
}
]
},
"ds": {
"InventoryDynAttrValueSummary": [],
"InventoryDynAttrValues": [
{
"Height": 4,
"Length": 4,
"Volume": 0,
"Width": 4,
"InventoryAttributeColumnCompany": "XXXXXX",
"InventoryAttributeColumnAttrClassID": "JAB-AREA-LBS",
"InventoryAttributeColumnAttributeSetID": 0,
"InventoryAttributeColumnRelatedToSchemaName": "Erp",
"InventoryAttributeColumnRelatedToTableName": "Part",
"InventoryAttributeColumnPartNum": "00P1",
"InventoryAttributeColumnRelatedToSysRowID": "68cafa8f-0dd5-4ba5-b64c-b03a002e13ad",
"InventoryAttributeColumnAttributeValueSeq": 0,
"RowMod": "A",
"SysRowID": "00000000-0000-0000-0000-000000000000"
}
]
},
"invTrasferParams": {
"InvTransfer": []
}
}
So there is a way to load them while also setting them to the respective part if you’re up for the json + API effort.