Просто учусь пользоваться верблюдом и возникают проблемы. Я могу правильно сделать два разных запроса, но когда я объединяю их, я получаю сообщение об ошибке. Я посмотрел документацию и до сих пор не понимаю, в чем проблема.
Query1:
var specifier1 = "<Where><Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>" +
"<UserID/></Value></Eq></Where>";
Query2:
var specifier2 = "<Where><Eq><FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value>"+
"</Eq></Where>";
Комбинированный запрос:
var specifier = "<Where><And><Eq><FieldRef Name='Requestor_x0020_Name' LookupId='True'/><Value Type='Lookup'>" +
"<UserID/></Value></Eq><And><Eq>"+
"<FieldRef Name='ID'/><Value Type='Text'>"+currentItemID+"</Value>"+
"</Eq></And></And></Where>";
Ошибка, которую я получаю с комбинированным запросом:
Request Failed.One or more field types are not installed properly. Go to the list settings page to delete these fields.
undefined
После задания строки Iесть следующие звонки. Может быть, это должно быть иначе, когда у вас есть условия? Мой console.log в моем цикле перечисления, кажется, там, где вещи терпят неудачу. Кажется, что сообщение об ошибке следует за 6x: xxxxxx
camlQuery.set_viewXml("<View><Query>"+specifier+"</Query></View>");
var collListItems = list.getItems(camlQuery);
ctx.load(collListItems);
ctx.executeQueryAsync(
function(){
var enumerator = collListItems.getEnumerator();
count = collListItems.get_count();
while(enumerator.moveNext()){
var item = enumerator.get_current();
console.log("xxxxxID : " + item.get_id());
}
if (count == 0) {
LockDownCells();
}
},
function(sender,args){
console.log("xxxxxxRequest Failed."+args.get_message() + "\n" + args.get_stackTrace());
}
);