ГОСТ Р ИСО 10303-41—2022
Определения параметров:
relation — (входной) проверяемый экземпляр представляющего отношение между изделиями
объекта product_relationship;
relatives — (входной) набор представляющих изделия объектов product. Функция проверяет, есть
ли среди данного набора экземпляры, играющие роль атрибута relating_product объекта product_re-
lationship, играющего роль параметра relation;
specific_relation — (входной) полное квалифицированное наименование подтипа представляю
щего отношение между изделиями объекта product_relationship.
21.5.6 Функция categories_of_product
Функция categories_of_product возвращает набор наименований категорий изделия, к которым
относится изделие, представленное объектом product, играющим роль входного параметра. Функция
оценивает множество представленных объектами product_category категорий изделий, связанных с
изделием, представленным объектом product, играющим роль входного параметра. Функция возвра
щает набор строк значений атрибута name (наименование) объектов product_category, представляю
щих найденные категории изделий.
EXPRESS-спеииФикаиия:
*)
FUNCTION categories_of_product (obj :product) : SET OF STRING;
LOCAL
OF product_category;
:= [];
category_assignments :BAG
categories :SET OF STRING
END_LOCAL;
category_assignments := USEDIN(obj,
’PRODUCT_DEFINITION_SCHEMA.PRODUCT__RELATED_PRODUCT_CATEGORY.PRODUCTS’);
REPEAT i := LOINDEX(category_assignments) TO
HIINDEX(category_assignments) BY 1;
categories := categories + category_assignments[i].name;
END_REPEAT;
RETURN(categories);
END_FUNCTION;
(*
"
Определение параметра:
obj — (входной) объект product, представляющий изделие, наименования категорий которого на
ходятся в поиске.
21.5.7 Функция get_product_definitions
Функция get_product_definitions возвращает для любого представляющего изделие объекта
product набор экземпляров представляющих определения объектов product_definition, которые ссы
лаются на этот объект product косвенно, через объект product_definition_formation, представляющий
версию изделия.
Примечание — Данная функция не используется в настоящей схеме.
EXPRESS-спеииФикаиия:
*)
FUNCTION get_product_definitions (c_def_instance :product) :SET
OF product_definition;
LOCAL
pd_set :SET OF product_definition_formation := [];
pdr_set :SET OF product_definition := [];
END_LOCAL;
pd_set := bag_to_set(USEDIN(c_def_instance,
’PRODUCT_DEFINITION_SCHEMA.PRODUCT_DEFINITION_FORMATION.OF_PRODUCT’));
IF (SIZEOF(pd_set) < 1)
THEN
RETURN(pdr_set);
228