Пытаюсь сделать так
var update = this.Ext.create("Terrasoft.UpdateQuery", {rootSchemaName: this.entitySchemaName});
update.filters.add("IdFilter", this.Terrasoft.createColumnFilterWithParameter("Id", selectedRows));
update.setParameterValue("B2BClient", Terrasoft.GUID_EMPTY, Terrasoft.DataValueType.GUID);
update.execute(function() {
this.updateDetail({reloadAll: true});
}, this);Упорно ничего не работает.
Даже если писать вместо Terrasoft.GUID_EMPTY null или Terrasoft.DataValueType.LOOKUP, выдает Uncaught Идентификатор GUID должен содержать 32 цифры и 4 дефиса (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
Нравится
Лёш, проблема не там где ищешь.
Ты фильтр добавляешь selectedRows а тип фильтра используешь как для this.get("Id").
Ошибка в том что фильтр ожидает от тебя не array а GUID.
Для массива измени тип фильтра на createColumnInFilterWithParameters.
А в исходниках кстати указано что апдейте надо Null передавать, а не GuidEmpty
Добрый вечер.
Попробуйте написать таким образом:
update.setParameterValue("B2BClient", null, Terrasoft.DataValueType.LOOKUP);
Лёш, проблема не там где ищешь.
Ты фильтр добавляешь selectedRows а тип фильтра используешь как для this.get("Id").
Ошибка в том что фильтр ожидает от тебя не array а GUID.
Для массива измени тип фильтра на createColumnInFilterWithParameters.
А в исходниках кстати указано что апдейте надо Null передавать, а не GuidEmpty
В конфигурации встречается и работает нормально null и с Terrasoft.DataValueType.GUID тоже. Например, в FileDetail:
var update = Ext.create("Terrasoft.UpdateQuery", {
rootSchemaName: this.entitySchema.name
});
update.enablePrimaryColumnFilter(itemId);
update.setParameterValue("LockedOn", currentDateTime, Terrasoft.DataValueType.DATE_TIME);
if (isLocked) {
update.setParameterValue("LockedBy", Terrasoft.SysValue.CURRENT_USER_CONTACT.value,
Terrasoft.DataValueType.GUID);
} else {
update.setParameterValue("LockedBy", null, Terrasoft.DataValueType.GUID);
}
update.execute(function(response) {
...