Yuvarlak Robin Kurşun Atamaları

0

Soru

Ae'lerin listesini gözden geçirerek ve bir sonraki atanması gereken AE'YE bir "X" taşıyarak Hesap yöneticilerine müşteri adayları atamaya çalışıyorum. Müşteri adayının birine atanıp atanmayacağını belirleme şeklim, şirket adının yanında bir boşluk olup olmadığıdır.

Esasen mantık gitmeli, boş bulmalı, X'in yanında bulunan AE adını bulmalı, boşluğu doldurmak için bu adı kullanmalı, bir sonraki boşluğu bulmalı ve daha fazla boşluk kalmayıncaya kadar devam etmelidir. Sözde yazdım ama Google Uygulama Komut Dosyalarına hiç aşina değilim. Birisi sözde için hangi kodun işe yarayacağını bulmama yardım edebilir mi?

***
var STRINGX = 'X';
function main() {
  Logger.log(getNextPerson())
  var person = getNextPerson();
  var leadRow = findNextOpenLead();
  assignPersonToNextLead(person, leadRow);
  moveXDown();
}
function getNextPerson() {
  var sheet = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  var startRow = 2;
  var salesReps = sheet[1].splice(0, 1)
}
function moveXDown() {
  // find column with x and save it as a variable
  // delete x from that column
  // add 1 to  column we found 
  // put it in ^ that column
}
function assignPersonToNextLead(person, leadRow) {
  // find row next to lead 
  // put person in the b column and row of lead
}
function findNextOpenLead() {
  // go through column b until you find an open cell
  // use that row in column d to find the lead 
}
***

A,B, C'ler gerçek ae'nin isimlerinin yerine geçer.

Hesap Yöneticilerinin adlarının listesi

Şirket adlarının yanındaki boşluklar

1

En iyi cevabı

0

Müşteri Adayları Listesine Yuvarlak Robin Atamaları Yapma

function roundRobinLeads() {
  const ss = SpreadsheetApp.getActive();
  const lsh = ss.getSheetByName('Round Robin Leads');
  const lvs = lsh.getRange(2, 1, lsh.getLastRow() - 1, lsh.getLastColumn()).getDisplayValues();
  const rsh = ss.getSheetByName('Round Robin');
  const rvs = rsh.getRange(2, 1, rsh.getLastRow() - 1, 2).getValues();
  let rr = { pA: [], index: 0, incr: function () { return this.index++ % this.pA.length; }, getIndex: function () { return this.index % this.pA.length; } };
  rvs.forEach((r, i) => {
    rr[r[1]] = r[0];
    rr.pA.push(r[1]);//push name in property array
    if (r[0]) {
      rr.index = i;//assign initial selection
      rsh.getRange(rr.index + 2, 1).setValue('');//remove x from current next
    }

  });
  lvs.forEach((r, i) => {if (!r[1]) {lsh.getRange(i + 2, 2).setValue(rr.pA[rr.incr()]);}});//assign lead and increment index
  rsh.getRange(rr.getIndex() + 2, 1).setValue('x');//record next assignment from rr.getIndex();
}

kalan %

Ek içerik eklemeye çalıştım ancak Yığın Taşmaları aptal içerik denetleyicisi tabloları yanlış biçimlendirilmiş kod olarak işaretliyordu.

2021-11-24 00:45:05

Çok teşekkür ederim! Bu mükemmel çalışıyor!
Chad Riorden

round robin'in liderlik kriterlerine göre çıkardığı 3 farklı liste olsaydı bu işe yarayabilir miydi?
Chad Riorden

Muhtemelen. Lütfen bu fikri başka bir soruda belirtin
MiMi

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................