Вопрос

Доступность и видимость кнопки добавления детали

Доброго времени суток!

Проблема заключается в следующем:
Расположено две одинаковые детали на одной странице редактирования на разных табах. 
при открытии первого таба, кнопка добавления инициализируется нормально, при открытии второго, не срабатывает запись в атрибут значения и не показывается нужная кнопка 

 

attributes: {
	"isEngineeringDivision": {
		"dataValueType": Terrasoft.DataValueType.BOOLEAN,
		"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
		"value": true
	},
	"isNotEngineeringDivision": {
		"dataValueType": Terrasoft.DataValueType.BOOLEAN,
		"type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
		"value": true
	}
}
methods: {
	init: function() {
		this.callParent(arguments);
		this.checkEnabledButton();
	},
 
	checkEnabledButton: function() {
		this.sandbox.publish("checkUserInAuPublish", null, ["checkUserInAuPublish"]);
		this.sandbox.subscribe("checkUserInAU", function(result) {
			this.set("isEngineeringDivision", result);
			this.set("isNotEngineeringDivision", result === true ? false : true);
		}, this, ["checkUserInAU"]);
	}
},

 

У меня такой же вопрос

4 комментария

Попробуйте по-другому объявить эти детали в блоке details.

Вот аналогичный пример:

            "SamplesDetail": {
                "schemaName": "SampleInKitDetailV2",
                "entitySchemaName": "BTSample",
                "filter": {
                    "detailColumn": "BTKitIDLookup",
                    "masterColumn": "Id"
                },
                "defaultValues": {
                    "BTKitIDLookup": {
                        "masterColumn": "Id"
                    },
                    "BTFromSupply": false
                },
                "filterMethod": "samplesFilter",

               "profileKey": "PatientParametersDetail1"
            },

 

Метод фильтрации в данном случае выглядит так:

            samplesFilterMethod: function(kitId, isSupply) {
                var filterGroup = new Terrasoft.createFilterGroup();
                filterGroup.add("KitId", Terrasoft.createColumnFilterWithParameter(
                    Terrasoft.ComparisonType.EQUAL, "BTKitIDLookup", kitId));
                filterGroup.add("SamplesIsSupply", Terrasoft.createColumnFilterWithParameter(
                    Terrasoft.ComparisonType.EQUAL, "BTFromSupply", isSupply));
                return filterGroup;
            },

Обратите внимание, что в ситуации, если на разные табы добавляется одна и та же деталь, нужно добавить свойство "profileKey" и оно должно отличаться у одинаковых деталей.

Однако в такой ситуации служба поддержки рекомендует создавать разные детали.

К сожалению это не помогло
В данный момент детали зависят от разных схем, которые наследуются от одной общей ActivityDetailV2
Добавлены как две разные
Результат один и тот же

 

Попробуйте отладиться.

Уточните, возникают ли какие-то ошибки в консоли?

Также сделайте скриншот, чтобы было понятно, что отображается в первом табе и не отображается во втором.

Алла Савельева,

Нет, все проходит без ошибок, единственное, что результат выполнения не записывается в атрибут, либо же не срабатывает visible и enabled при повторной инициализации детали 

Войдите или зарегистрируйтесь, чтобы комментировать