Domanda

Sto cercando di scrivere un semplice script per un foglio di calcolo di Google Docs. I due link qui sotto sono uno screenshot dei fogli che sto scrivendo la sceneggiatura.

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

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

Il Foglio Ordini di acquisto, Se la colonna e == "magazzino", quindi ho bisogno di trovare il numero di parte e regolare la quantità in lamiera "Inventario". Bellow è un inizio a quello che sto cercando di fare. Qualcuno può darmi una mano?

function updateInventoryFromPurchaseOrders() {
  var purchaseOrders = {}; // A mapping of partNumber => quantity.
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Purchase Orders');
  if (sheet) {
    // For each row, if column "E" == "stock" then set partNumber, quantity.
    purchaseOrders[partNumber] = quantity;
  }
  // Now purchaseOrders should look like {'SL249':5, 'ML50':1, 'MWF':1}

  sheet = ss.getSheetByName('Inventory');
  if (sheet) {
    // For each row, set quantity, partNumber.
    var purchased = purchaseOrders[partNumber];
    // Set column "A" value = quantity + purchased
  }
}

Grazie per l'aiuto.

È stato utile?

Soluzione

javascript non è così caratteristica foreach -. Ci sono i modi di aggirare il problema, tra cui l'attuazione del meccanismo di soli

Se è un Fix sola volta e si migrare verso qualche altra lingua presto - vorrei suggerire quanto segue:

for( var CurrentRow=0; CurrentRow < DetermineMaxRows(); CurrentRow++ ) {
    if(isColumnEEqualStock()){
        //Things you want to do
    }
}

Qualcosa simmilar per l'iterazione attraverso righe e colonne ...

Se si desidera implementare il proprio foreach dare un'occhiata a questo sito .

Se si prevede di ampliare i vostri sforzi Javascript considerano testo del link .

In caso contrario, pensare di fare appletts in Java e la loro applicazione, invece di uno script.

Altri suggerimenti

Se la tua bandiera per il magazzino, e la quantità sono nello stesso foglio, si potrebbe ottenere l'intero contenuto dello stesso array (utilizzato .getDataRange (), ad appena afferrare tutto), poi quando si trova la tua nel contenuto stock, si può semplicemente prendere l'indice successivo in quella riga.

var partNumbers = sheet.getDataRange().getValues(); 

for(num in partNumbers){
  if(partNumbers[num][4] == 'stock'){ //
    // Assuming quantity is in column F
    purchaseOrders[partNumber] = partNumbers[num][5];
  }
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top