Round Robin Levar Atribuições

0

Pergunta

Eu estou tentando atribuir leva para executivos de Conta loop através de lista de AE e mover um "X" para a AE, que deve ser atribuído a próxima. A maneira que eu determinar se o condutor deve ser atribuído a alguém é se houver um espaço em branco ao lado do nome da empresa.

Essencialmente, a lógica deve ir, para encontrar em branco, encontrar AE nome que fica ao lado do X, utilizar esse nome para preencher o espaço em branco, localizar seguinte em branco, e assim por diante até que não haja mais espaços em branco. Eu tenho escrito pseudo-mas eu não estou familiarizado com o Google App Scripts em tudo. Alguém pode me ajudar o meu descobrir qual o código que irá trabalhar para o pseudo?

***
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 são em lugar de a verdadeira AE nomes

Lista de nomes de Executivos de Conta

Espaços em branco ao lado de nomes de empresas

1

Melhor resposta

0

Fazer rodízio Atribuições Lidera Lista

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

restante %

Eu tentei adicionar conteúdo adicional, mas Estouros de Pilha estúpido conteúdo verificador foi sinalização de tabelas formatadas incorretamente o código.

2021-11-24 00:45:05

Muito obrigado! Isso funciona perfeitamente!
Chad Riorden

este seria capaz de trabalhar se foram 3 lista diferente que o round robin puxado com base em critérios de liderança?
Chad Riorden

Provavelmente. Por favor, representam a idéia em outra pergunta
MiMi

Em outros idiomas

Esta página está em outros idiomas

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