Циклические Задания Лидеров

0

Вопрос

Я пытаюсь назначить потенциальных клиентов руководителям учетных записей, просматривая список AE и перемещая "X" на AE, который должен быть назначен следующим. Способ, которым я определяю, следует ли кому-то назначить ведущего, заключается в том, что рядом с названием компании есть пробел.

По сути, логика должна идти следующим образом: найти пробел, найти имя AE, которое находится рядом с X, использовать это имя для заполнения пробела, найти следующий пробел и так далее, пока больше не останется пробелов. Я написал псевдо, но я вообще не знаком со сценариями приложений Google. Может ли кто-нибудь помочь мне понять, какой код будет работать для псевдо?

***
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 стоят на месте настоящих имен AE

Список имен руководителей учетных записей

Пробелы рядом с названиями компаний

1

Лучший ответ

0

Выполнение циклических назначений в Список потенциальных клиентов

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();
}

остаток %

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

2021-11-24 00:45:05

Большое вам спасибо! Это прекрасно работает!
Chad Riorden

могло бы это сработать, если бы существовало 3 разных списка, из которых циклический перебор выбирался на основе критериев лидера?
Chad Riorden

Возможно. Пожалуйста, сформулируйте эту идею в другом вопросе
MiMi

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

Популярное в этой категории

Популярные вопросы в этой категории