From 5d9c4e863f28e83ca2e40856cf4e569e571c3203 Mon Sep 17 00:00:00 2001 From: Aleksandr Nagaev Date: Mon, 8 Jan 2024 22:37:57 +0300 Subject: [PATCH] [SE] [pivot] deleted unused code --- .../lookupandreferenceFunctions.js | 68 ------------------- 1 file changed, 68 deletions(-) diff --git a/cell/model/FormulaObjects/lookupandreferenceFunctions.js b/cell/model/FormulaObjects/lookupandreferenceFunctions.js index bcf4d28a07..5f4ef1b0b4 100644 --- a/cell/model/FormulaObjects/lookupandreferenceFunctions.js +++ b/cell/model/FormulaObjects/lookupandreferenceFunctions.js @@ -1198,74 +1198,6 @@ function (window, undefined) { } } return refError; - - // 2 варианта поиска сводной таблицы: - // 1.Пройтись по всему bbox и вызывать getPivotTable пока не вернем true, иначе false - // 2.Проходиться по всем сводным таблицам и сравнивать их range с полученным на персечение(если пересекается то true иначе false) - - // 1 вариант: - let isFound = false, pivot; - for (let row = bbox.r1; row <= bbox.r2; row++) { - if (isFound) { - break - } - - for (let col = bbox.c1; col <= bbox.c2; col++) { - // todo проверить pivotTable на другой странице - pivot = ws.getPivotTable(col, row); - if (pivot) { - isFound = true; - break - } - } - } - if (!isFound) { - return refError; - } - - // далее проходимся по заголовкам и сравниваем с первым аргументом - let fields = pivot.asc_getDataFields(); - if (fields && fields.length > 0) { - for (let i = 0; i < fields.length; i++) { - let field = fields[i], - fieldName = field.name, - fld = field.fld; - - if (fieldName.toLowerCase() !== looking_field.toLowerCase()) { - continue; - } else { - // Если мы нашли имя поля равное искомому, то вызываем функцию поиска - let rowColData = pivot.updateRowColItems(); - let lookingOperationType = Object.keys(operationTypes).find(key => operationTypes[key] === field.subtotal); - // Функция поиска: если аргументов меньше 4 и таблица не имеет общего резульатата(grand total или single Columns или single Rows), то возвращаем ошибку - if (!pivot.colGrandTotals && !pivot.rowGrandTotals && arg.length === 2) { - return refError; - } else if ((pivot.colGrandTotals || pivot.rowGrandTotals) && arg.length === 2) { - // Вернуть значение grandTotal для поля по его имени - - result = rowColData.dataRow.total[i][lookingOperationType.toLowerCase()]; - // todo - // result = getGrandTotalByFieldName(fieldName); - } else if (arg.length > 2) { - let preparedItemsArray = prepareItemsArray(items_array); - if (!preparedItemsArray) { - return refError - } - // Необходимо доставать пары элементов из массива items_array и затем вернуть значение из таблицы, в зависимости от этих данных - // Пара элементов это имя поля и одно из значений в нем - // С помощью них нужно найти персечения в таблице и вернуть значение grandTotal(если такое существует для данного пересечения) - - result = rowColData.dataRow.total[i][lookingOperationType.toLowerCase()]; - // todo - // result = getGrandTotalOnSeveralFields(fieldName, items_array); - } - - return new cNumber(result); // Временная заглушка для результата. Нужно обрабатывать все возможные типы - } - } - } - - return refError; }; const prepareItemsArray = function (array) {