Некорректное расположение полей в детали Связи карточки задачи
После добавления одного поля в карточку задачи и в EntityConnection, поля начинают "плясать". Иногда открывается в таком виде, при этом заполненные значения не видны.
И после рефреша всё проходит, но потом может появиться снова
Как с этим бороться?![]()
Нравится
1) Делаем select запрос в EntityConnection, видим поле Position, радуемся, настраиваем порядок.
2) Обновляем деталь, видим беспорядок, грустим (сортировка как бы есть, но её нет, т.к. в коде детали хлам, который не работает)
3) Вспоминаем, что у нас есть руки, и редактируем EntityConnectionsDetailV2:
methods: {
/**
* Убираем позиции с 999 индексом (исключаем ненужные связи)
* */
removePositions: function(item) {
return item.$Position !== 999;
},
/**
* обработка и сортировка связей
* */
processEntityConnectionsResponse: function(collection) {
var filtered = collection.filterByFn(this.removePositions, this);
var sorted = filtered.sort(null, null, function(a, b) {
var v1 = a.$Position;
var v2 = b.$Position;
return v1===v2 ? 0 : (v1 > v2 ? 1 : -1);
});
collection.clear();
collection.loadAll(sorted);
this.loadColumnValues(collection);
return sorted;
}
}
Молитвой и божьим словом, на сколько я помню обращения в саппорт коллег))
1) Делаем select запрос в EntityConnection, видим поле Position, радуемся, настраиваем порядок.
2) Обновляем деталь, видим беспорядок, грустим (сортировка как бы есть, но её нет, т.к. в коде детали хлам, который не работает)
3) Вспоминаем, что у нас есть руки, и редактируем EntityConnectionsDetailV2:
methods: {
/**
* Убираем позиции с 999 индексом (исключаем ненужные связи)
* */
removePositions: function(item) {
return item.$Position !== 999;
},
/**
* обработка и сортировка связей
* */
processEntityConnectionsResponse: function(collection) {
var filtered = collection.filterByFn(this.removePositions, this);
var sorted = filtered.sort(null, null, function(a, b) {
var v1 = a.$Position;
var v2 = b.$Position;
return v1===v2 ? 0 : (v1 > v2 ? 1 : -1);
});
collection.clear();
collection.loadAll(sorted);
this.loadColumnValues(collection);
return sorted;
}
}