Вопрос

Настройка полей в карточке фильтрации отчета

Делаю форму фильтрации отчета фаст репорта, нужно сделать подписку на изменение поля(настройка видимости, доступности, автозаполнения)

Подписка не срабатывает. Кто сталкивался с подобным и какие есть варианты исправить?

return {
		messages: {},
        attributes: {
            "IsContract": {
                "dataValueType": Terrasoft.DataValueType.BOOLEAN,
                "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				"value": false,
                "dependencies": [
					{
						"columns": ["WiseSectionSettlements"],
						"methodName": "RecalcIsContract"
					}
                ]
            },
...
methods: {
			RecalcIsContract: function() {
				this.set("IsContract", (this.get("WiseSectionSettlements") &&
					this.get("WiseSectionSettlements").value === "5cfa748e-185e-40fa-ab0e-a29ab91aa10d"));
			},

 

Нравится

1 комментарий

Странный у вас код в методе RecalcIsContract. Надо делать в два атрибута в IsContract изначальное состояние, и дополнительный атрибут с пересчитанным состоянием IsContract относительно условий.

Либо через конвертер, в BasePageV2 есть пример

{

                "operation": "insert",

                "name": "CardContentWrapper",

                "values": {

                    "id": "CardContentWrapper",

                    "selectors": {"wrapEl": "#CardContentWrapper"},

                    "itemType": Terrasoft.ViewItemType.CONTAINER,

                    "wrapClass": ["card-content-container"],

                    "items": [],

                    "markerValue": {

                        "bindTo": "IsEntityInitialized",

                        "bindConfig": {

                            "converter": "getCardContentContainerMarkerValue"

                        }

                    }

                }

            }

 

getCardContentContainerMarkerValue: function() {

                return this.get("IsEntityInitialized") ? "EntityLoaded" : "EntityLoading";

            }

Показать все комментарии