Добрый день.
Версия BPMOnline 7.2
При создании новой записи необходимо установить значение поля объекта в некоторое значение. Поле типа "Справочник", связано с другой таблицей. Пытаюсь делать так:
var statusNew = '8A6DEA2E-6F96-488E-B4B4-DDBEA2F225CD';
var esq = Ext.create('Terrasoft.EntitySchemaQuery', {
rootSchemaName: 'SynchronizedRuleStatus'
});
esq.getEntity(statusNew, function(result) {
if (result.success && result.entity) {
this.set('SynchronizedRuleStatus', result.entity.get('Id'));
}
}, this);
}
Однако значение поле в карточке отображается как "undefined". Как решить данную проблему?
Заранее благодарен за помощь.
Нравится
Объект замещать нельзя по некоторым соображениям.
Но проблема уже решена, может кому пригодится:
if (this.isNew) { var statusNew = '8A6DEA2E-6F96-488E-B4B4-DDBEA2F225CD'; var esq = Ext.create('Terrasoft.EntitySchemaQuery', { rootSchemaName: 'SynchronizedRuleStatus' }); esq.addColumn('Name'); esq.addColumn('Id'); esq.getEntity(statusNew, function(result) { if (result.success && result.entity) { var entity = result.entity; if (entity) { var t = { displayValue: entity.get('Name'), value: entity.get('Id') }; this.set('SynchronizedRuleStatus', t); } } }, this); }
Здравствуйте, Артем.
Я бы порекомендовал значение '8A6DEA2E-6F96-488E-B4B4-DDBEA2F225CD';
вынести в системную настройку (типа "Статус по-умолчанию") и тянуть ее оттуда.
Потому что бывают моменты, что может поменятся и сам статус или понадобится сделать перенос на другую площадку, а там статуса с таким ИД может и не оказаться, что приведет к поломке логики и необходимости лезть в схему и править.