Вопрос
В контрагентах некорректно отображается Полнота наполнения (вместо % - тысячи). Для решения порекомендовали пересохранить каждую запись (это действительно помогает), но у нас больше 5000 контрагентов – пересохранять каждого совсем не вариант.
Ответ
Запись обновляется при открытии карточки в следствии вызова метода GetRecordCompleteness() сервиса CompletenessService.
Получить все записи для последующего перебора можно в консоли браузера, для этого выполним:
var esq = Ext.create("Terrasoft.EntitySchemaQuery", {rootSchemaName: "Account"});
esq.addColumn("Id");
esq.getEntityCollection(function(result) {
var items = null;
if (result.success) {
items = result.collection;
document.testResult = items;
console.log("testResult added");
}
}, this);
После чего вызовем метод сервиса для каждой записи, это займет какое-то время.
document.iter = 0;
document.myLoop = function() {
var item = document.testResult.collection.items[document.iter];
setTimeout(function () {
// ---------
console.log(item.values.Id);
var config = {
recordId: item.values.Id,
schemaName: "Account"
};
require(["ServiceHelper"], function(ServiceHelper) {
ServiceHelper.callService("CompletenessService",
"GetRecordCompleteness",
function(response) {
},
config,
this);
});
// ---------
document.iter++;
if (document.iter < document.testResult.collection.items.length) {
document.myLoop();
}
}, 1000)
};
document.myLoop();