Как я могу скопировать записи с одной вкладки на другую для указанных критериев?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу скопировать записи с одной вкладки на другую для указанных критериев?

Сообщение Anonymous »

Обзор :
Я пытаюсь копировать записи с одной вкладки на другую для указанных критериев. Скопировать источник ( index ) вкладка и назначение ( Все рабочие ордена ) вкладка.
Когда инициируется функция, вкладка «Все рабочие ордена» должна получать только записи, где значение Индекс столбцы Br2: br равна клеточной ячейке r6 . 15.05.2025, копируйте записи, которые соответствуют этим критериям с вкладки «Индекс» на вкладку «Заказ всех рабочих». Появляется, что предложение о том, где не настроена правильно. Скопированные записи должны начинаться в первой доступной пустой строке, и все предыдущие записи на вкладке «Все рабочие заказы» должны быть все еще не повреждены. < /P>

Код: Выделить всё

function copyDatabase_25() {

var response=ui.alert("Complete Payment Processing Period", "Are you sure you want to finalize the Processing Period? By selecting YES, all Inspections within this designated date range will be copied to the All Work Orders tab.", ui.ButtonSet.YES_NO);

//checking the user response

if(response==ui.Button.NO)
{
return; //exit from this function
}

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Index");
var desinationsheet = ss.getSheetByName("All Work Orders");

var startRow = 2;
var numRows = sheet.getLastRow() - startRow + 1;
var startCol = 24;
var numCols = 44;
var startColTarget = 1;
var dataRange = sheet.getRange(startRow, startCol, numRows, numCols);
var data = dataRange.getValues();
var Copy = "Copy";
var firstEmptyRow = sheet.getRange("A2:AQ").getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow() + 1;
var dataToCopy = data.filter(row => row[2] !== Copy);

//Get the cell value
var selected_processing_pd = sheet.getRange("R6").getValue();

var rangeValues = sheet.getRange("BR2:BR").getValues();

// Compare and process
for (var i = 0; i < rangeValues.length; i++) {
for (var j = 0; j < rangeValues[i].length; j++) {
if (rangeValues[i][j] == selected_processing_pd ) {

desinationsheet.getRange(firstEmptyRow, startColTarget, dataToCopy.length, dataToCopy[0].length).setValues(dataToCopy);
}
}
}

ss.toast("The Inspections for the " + selected_processing_pd + " Payment Processing Pd, have been successfully copied to the All Work Orders tab")

}
Пример входных данных
index, параметры ячейки R6

Код: Выделить всё

05/01/2025 - 05/15/2025
05/16/2025 - 05/31/2025
комбинированный диапазон дат (индекс, столбец Br)

Код: Выделить всё

05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
05/16/2025 - 05/31/2025
05/16/2025 - 05/31/2025
05/16/2025 - 05/31/2025
05/16/2025 - 05/31/2025
05/01/2025 - 05/15/2025
05/16/2025 - 05/31/2025
05/16/2025 - 05/31/2025
05/16/2025 - 05/31/2025
05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
05/01/2025 - 05/15/2025
Изображение

Изображение



Подробнее здесь: https://stackoverflow.com/questions/796 ... d-criteria
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»