Пытаюсь сделать так
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) { ...