Публикация

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

Вопрос

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

Подробнее: http://www.community.terrasoft.ru/forum/topic/13684

Ответ

Рекомендуется в случае связанных объектов использовать свойства attribute и attributePath в бизнес-правилах:

"attribute": "Order",
"attributePath":"SxPaymentFormula.SxPaymentDelay"

В случае редактируемого реестра данный вариант не всегда помогает, так как часть логики выполняется в карточке, а часть - в реестре. В этом случае самым простым вариантом решения будет устанавливать значение атрибута в методе initEntity карточки детали. Примерно так:

initEntity: function(callback, scope) {
        this.callParent([function() {
                if (!this.get("Order.SxPaymentFormula.SxPaymentDelay")) {
                        this.set("Order.SxPaymentFormula.SxPaymentDelay",
                                this.get("Order") && this.get("Order")["SxPaymentFormula.SxPaymentDelay"]);
                }
                callback.call(scope || this);
        }this]);
}

В бизнес-правиле в этом случае необходимо использовать только

"attribute": "Order.SxPaymentFormula.SxPaymentDelay"

 

Нравится

Поделиться

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