To implement this example, you need three new configuration objects.
The first object is Chart of characteristic types. It will store characteristic types that can generally be used to describe materials.
The second object is a catalog subordinate to the MaterialsAndServices catalog. The catalog items describe material options, where each option has a fixed set of characteristic values.
The third object is an information register that stores the relationships between specific characteristic values and a certain material option (fig. 15.4).
Fig. 15.4. Logical relation between the objects
Using this logical structure, you can describe each lot of delivered materials using any number of characteristic types, since the relationships are stored in the information register.
Besides, you gain the option to perform accounting based on characteristic types by adding one more dimension to the accumulation registers. This dimension will store references to items of the catalog that is subordinate to the MaterialsAndServices catalog (see fig. 15.4).
So to find out the balance of materials that have some specific value of a certain characteristic, all you need to do is select all the items of the subordinate catalog that have this characteristic value from the information register, and then get the accumulation register balances for their owners.