Тема: Иерархия
Показать сообщение отдельно
Старый 19.11.2019, 17:30   #1  
GSP is offline
GSP
Участник
 
34 / 10 (1) +
Регистрация: 14.10.2019
Иерархия
Необходимо при заполнении поля на родительской категории - заполнять это же поле этим же значением в дочерних категориях. В дочерних можно вручную менять, но в категориях выше при этом меняться не должно.

Методы на таблице

X++:
public void modifiedField(FieldId _fieldId)
{
    super(_fieldId);

    switch (_fieldId)
    {
        case fieldNum(EcoResCategory, CategoriesOfGoodsForService) :
            if (this.CategoriesOfGoodsForService)
            {
                this.SetChildrenCategory();
            }
        break;
    }

}
Планировалось, что метод ниже будет вызываться, если есть дочерние уровни.
ParentCategory - это код родителя
X++:
public void lukSetChildrenCategory()
{
    EcoResCategory ecoResCategory;

    while select ecoResCategory
        where ecoResCategory.CategoryHierarchy == this.CategoryHierarchy
           && ecoResCategory.ParentCategory  == this.RecId
    {
        ecoResCategory.CategoriesOfGoodsForService = this.CategoriesOfGoodsForService;
        ecoResCategory.SetChildrenCategory();
    }

}