Round Robin De Plomo De Las Asignaciones De

0

Pregunta

Estoy tratando de asignar conduce a ejecutivos de Cuenta con un bucle a través de la lista de AE y en movimiento con una "X" a la AE que debe ser asignado siguiente. La forma de determinar si el plomo se debe asignar a alguien es si hay un espacio en blanco junto al nombre de la compañía.

Esencialmente, la lógica debe ir, encontrar en blanco, encontrar AE nombre que está al lado de la X, utilizar ese nombre para llenar el espacio en blanco, buscar siguiente en blanco, y así sucesivamente hasta que no hay más espacios en blanco. He escrito pseudo, pero no estoy familiarizado con Google App Scripts en todo. Alguien puede ayudarme mi averiguar cuál es el código de trabajo para la 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 
}
***

El a,B,C en lugar de la real AE nombres

Lista de los nombres de los Ejecutivos de Cuenta

Los espacios en blanco junto a nombres de la Compañía

1

Mejor respuesta

0

Hacer Round Robin de las Asignaciones a los candidatos de la 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();
}

resto %

He intentado añadir contenido adicional pero Desbordamientos de Pila estúpido contenido corrector fue decayendo tablas con formato incorrecto de código.

2021-11-24 00:45:05

Muchas gracias! Este funciona a la perfección!
Chad Riorden

sería capaz de trabajar si hubo 3 lista diferente que el round robin sacó de la base en criterios de la delantera?
Chad Riorden

Probablemente. Por favor, plantear la idea en otra pregunta
MiMi

En otros idiomas

Esta página está en otros idiomas

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