Как ссылаться на значение в запросе App Maker (как я делаю в скрипте приложений) - PullRequest
0 голосов
/ 24 декабря 2018

Я пишу сценарий для получения номера запаса, циклически перебираю существующие номера запаса, пока не будет найдено совпадение, а затем присваиваю этот уникальный номер запаса записи.Моя проблема в том, что обычные данные [i] [2], похоже, не ссылаются на «запрос» так же, как в скрипте Apps ссылаются на массив.

Честное предупреждение, я пытаюсь расширить свои навыки работы со скриптом приложений в более широкий Javascript, так что есть большая вероятность, что я все делаю неправильно - я весь слух, если вы скажете мне, что яЯ делаю все это неправильно!

Использование журнала: data [i] [2] дает мне «неопределенное», тогда как data [2] дает мне все поля третьего элемента в моем запросе.Исходя из этого, я чувствую, что мне просто нужно научиться правильно ссылаться на него.

//Querying my datasource as 'var data'
var query = app.models.UsedVehicles.newQuery();
query.filters.ParentDealType._contains = prefix;
var data = query.run();
//Returns four records which is correct.

var testStockNo = prefix+month+countstring+year; 
console.log("Test Stock Number " + j + ": " + testStockNo);
for (i = 0; i < data.length; i++){
     console.log("data[i][2]: " + data[i][2]); //results: undefined
     console.log("data[2]: " + data[2]); //results: all fields of 3rd query result.
     if(data[i][2] === testStockNo){
        k++;
        break;
     }else{
     console.log("No Match");
  }
}

Даже если testStockNo равно значению в поле : TStockNo ,В журнале отображаются:
Контрольный номер запаса 1: C1200118

данные [i] [2]: неопределено

данные [2]: запись: {TIndex: 8, TVin8: HS654987, TStockNo: null, TParentStkNo: GSD6578, TYear: 2010, TMake: NISSAN, TModel: PICKUP, TM Пробег: 24356, ParentDealType: C}

Нет совпадений

1 Ответ

0 голосов
/ 24 декабря 2018

Проблема / решение:

query.run() возвращает массив записей, а НЕ массив массивов (2D).Вы должны получить доступ к значению Record, используя key вместо index.

Фрагменты:

console.log("data[i][TStockNo]: " + data[i]['TStockNo']);
console.log("data[i].TStockNo: " + data[i].TStockNo);
console.log("data[2]: " + data[2]); 

Ссылки:

...