Флаг установки в Javascript - PullRequest
       4

Флаг установки в Javascript

4 голосов
/ 14 декабря 2010

Ниже приведен скрипт, который я использую для электронной таблицы документов Google.

Эти ссылки показывают, что я делаю:

http://i.stack.imgur.com/uGik7.png

http://i.stack.imgur.com/AbKnQ.png

Как мне установить «флаг», чтобы при повторном запуске этого скрипта он не добавлял явно добавленные стоковые элементы?

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = ss.getSheetByName("Purchase Orders");
  var sheet2 = ss.getSheetByName("Inventory");
  var data = sheet1.getDataRange();
  var i_data = sheet2.getDataRange();
  var lastRow = data.getLastRow();
  var iLastRow = i_data.getLastRow();

  for (i=1;i<=lastRow;i++) {
    if (data.getCell(i, 5).getValue() == "stock"){
      for (n=1;n<=iLastRow;n++){
        if (data.getCell(i,3).getValue() == i_data.getCell(n,3).getValue()) {
        i_data.getCell(n, 1).setValue(i_data.getCell(n,1).getValue() + data.getCell(i,2).getValue());
       }
      }
    }

  }
}​

Полагаю, я пытаюсь сделать это: после того, как предмет был добавлен в инвентарь, скрипт добавляет x к столбцу i этой строки. Затем, когда скрипт запускается снова, он пропускает строки со знаком x в столбце i

Ответы [ 3 ]

3 голосов
/ 14 декабря 2010

Назначьте ячейку для хранения значения флага, и скрипт должен проверить эту конкретную ячейку для значения флага.

2 голосов
/ 15 декабря 2010

В JavaScript функции - это объекты.Объекты имеют свойства.Итак, украсим вашу функцию:

function myFunction() {
    if (!myFunction.alreadyDoneRunIt) {
        alert('bapt uia');
        myFunction.alreadyDoneRunIt = true;
    }
}

for (var i = 0; i < 10; i++) {
    myFunction(); // alerts once
}
1 голос
/ 14 декабря 2010

Сначала добавьте значения в массив.Каждый раз, когда вы добавляете элемент, проверяйте массив, чтобы увидеть, есть ли он в нем.Затем зациклите массив для публикации в пользовательском интерфейсе.

Вот публикация, помогающая проверить, содержит ли массив значение. stackoverflow.com / вопросы / 237104 /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...