Size: a a a

Чат | Google Таблицы и скрипты

2020 March 15

K

Kanat in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Но сам принцип прикольный, я так слово не подменял в QUERY 👍
еще заглавные буквы сделал в месяцах😁
источник

SR

Saveliy Rosman in Чат | Google Таблицы и скрипты
Хай, гайз
Как сделать последовательное выполнение функций в скрипте? Щас у меня они выполняются не дожидаясь друг друга
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Saveliy Rosman
Хай, гайз
Как сделать последовательное выполнение функций в скрипте? Щас у меня они выполняются не дожидаясь друг друга
Что-то не увидел примера
источник

SR

Saveliy Rosman in Чат | Google Таблицы и скрипты
range.setValue(range.getValue()+range_two.getValue());
//Запись результат в яцеку

showForm(prise,number_phone,name_tp,fio);
// показ формы и запрос суммы от пользователя

ss.getCurrentCell().offset(activeRow-1,3).activate();
//заполнение ячейки

logirovanie(ss,"Покупка пакета Максимальный") запись в лог
источник

SR

Saveliy Rosman in Чат | Google Таблицы и скрипты
так вот logirovanie выполняется не дожидаясь завершения showForm
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Saveliy Rosman
так вот logirovanie выполняется не дожидаясь завершения showForm
Надо построить код иначе и дожидаться того, когда пользователь нажмет yes / ok в форме
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
вроде такого
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
источник

EN

Eugeny Namokonov in Чат | Google Таблицы и скрипты
Функция идет дальше только если форма возвращает YES.
источник

SR

Saveliy Rosman in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Функция идет дальше только если форма возвращает YES.
хм...надо попробоать...спасибо)
источник

IV

Ivan Vetrov in Чат | Google Таблицы и скрипты
Kanat
еще заглавные буквы сделал в месяцах😁
👍
источник

K

Kanat in Чат | Google Таблицы и скрипты
@vitalich спешл фо ю
источник

VP

Vitaliy P. in Чат | Google Таблицы и скрипты
Kanat
@vitalich спешл фо ю
👍🏻
источник

OP

Oleg Puchev in Чат | Google Таблицы и скрипты
Всех приветствую!!!

Столкнулся с проблемой со скриптовой выгрузкой диапазона, сформированного с помощью QUERY
В двух словах пояснение функционала:
1. Формируется диапазон значений с помощью различных формул, в т.ч. и QUERY
2. Скрипт копирует данный диапазон в другую Таблицу

Все в общем то просто, НО ЕСТЬ ПРОБЛЕММА:
1. Значения, сформированные с помощью QUERY скрипт читает через раз, при этом значения, сформированные с помощью других формул читает стабильно (вчера целый день значения QUERY не читал, вечером читал нормально, сегодня опять не читает.) При этом вместо значений пишет  #N/A (нет данных) или вообще пустые ячейки
https://prnt.sc/rgmmw1 - скрин исходника
https://prnt.sc/rgmp4o - скрин Таблицы назначения

Знаю, что нужно выкладывать Таблицу с примером, я ее даже создал, но в ней скрипт  работает исправно. Если нужно могу дать пример со скриптом.

Просьба, откликнуться тем, кто с такой проблемой сталкивался и знает, как ее можно решить.

БОЛЬШЯА ПРОСЬБА, ПОМОГИТЕ ПЛИЗ
источник

V

Vadim_ua in Чат | Google Таблицы и скрипты
Eugeny Namokonov
Надо построить код иначе и дожидаться того, когда пользователь нажмет yes / ok в форме
вроде как есть функция которая ожидает выполнения, но я плохо помню использовал в 1 проекте, сейчас найти не могу
источник

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Oleg Puchev
Всех приветствую!!!

Столкнулся с проблемой со скриптовой выгрузкой диапазона, сформированного с помощью QUERY
В двух словах пояснение функционала:
1. Формируется диапазон значений с помощью различных формул, в т.ч. и QUERY
2. Скрипт копирует данный диапазон в другую Таблицу

Все в общем то просто, НО ЕСТЬ ПРОБЛЕММА:
1. Значения, сформированные с помощью QUERY скрипт читает через раз, при этом значения, сформированные с помощью других формул читает стабильно (вчера целый день значения QUERY не читал, вечером читал нормально, сегодня опять не читает.) При этом вместо значений пишет  #N/A (нет данных) или вообще пустые ячейки
https://prnt.sc/rgmmw1 - скрин исходника
https://prnt.sc/rgmp4o - скрин Таблицы назначения

Знаю, что нужно выкладывать Таблицу с примером, я ее даже создал, но в ней скрипт  работает исправно. Если нужно могу дать пример со скриптом.

Просьба, откликнуться тем, кто с такой проблемой сталкивался и знает, как ее можно решить.

БОЛЬШЯА ПРОСЬБА, ПОМОГИТЕ ПЛИЗ
До того как брать данные из таблицы нужно убедиться что все формулы сработали, для этого используется SpreadsheetApp.flush() перед взятием данных из таблицы. Попробуйте.
источник

OP

Oleg Puchev in Чат | Google Таблицы и скрипты
Роман Игнатов
До того как брать данные из таблицы нужно убедиться что все формулы сработали, для этого используется SpreadsheetApp.flush() перед взятием данных из таблицы. Попробуйте.
Так ведь на скрине видно, что все формулы сработали - диапазон сформирован из 3-з строк, а а при копировании часть строки, сформированная с помощью QUERY не копируется, воспринимается как отсутствие данных
источник

OP

Oleg Puchev in Чат | Google Таблицы и скрипты
Вот текст скрипта, возможно в нем причина нестабильной работы?


// Функция по переносу данных
function sendtoSalesRegister(){
 
 //Инструкция - Функция по переносу данных из МАГАЗИН АФИНА  (Лист "Портал в РЕЕСТР ПРОДАЖ") в РЕЕСТР ПРОДАЖ)

var ss = SpreadsheetApp.getActive(); // Текущая таблица
var ssDB = SpreadsheetApp.openById('1TdtPKIqnNuGgfC9jWzxHLJ_k4ozAHQEUt9Le6lyKUoo'); // Таблица назначения
var sheetRecipient = ssDB.getSheetByName('РЕЕСТР ПРОДАЖ'); // Лист куда записываются данные

var sheetSender = ss.getSheetByName('Портал в РЕЕСТР ПРОДАЖ'); // Лист откуда берутся данные
var senderStartRow = 5; // Стартовая строка с которой нужно брать данные
var senderCols = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28]; // Номера колонок в Листе откуда берутся данные
 
 // ВЫПОЛНЕНИЕ СКРИПТА
 var arr = [];
 var values = sheetSender.getRange(senderStartRow, 1, sheetSender.getLastRow()-senderStartRow+1, sheetSender.getLastColumn()).getValues();
//  Logger.log(values);jjj
 for(var i = 0;i < values.length; i++) {
   var row = values[i];
   var mas = [];
   senderCols.forEach(function(val){mas.push(row[val-1])});
   arr.push(mas);
 }

   
    //Очистка формы ввода: ФОРМЫ РЕГИСТРАЦИИ ПРОДАЖИ и РЕГИСТРАЦИИ НОВОГО КЛИЕНТА
   var spreadsheet = SpreadsheetApp.getActive();
   spreadsheet.setActiveSheet(spreadsheet.getSheetByName('МОНИТОР ПРОДАВЦА'), true);
 spreadsheet.getRangeList(['B9:D9','H9:I10','B15:D19','J15:K19','O15:P19','R15:R19','W15:AA19','H21:K21','N2:N10','W21:AA21','B5']).activate().clear({contentsOnly: true, skipFilteredRows: true});
   spreadsheet.getRange('A1').activate();
 // Конец очистки формы ввода

 
 sheetRecipient.getRange(getLastRowByRange(sheetRecipient,senderCols.length), 1, arr.length, arr[0].length).setValues(arr);
 return true;
  }
источник

РИ

Роман Игнатов... in Чат | Google Таблицы и скрипты
Oleg Puchev
Так ведь на скрине видно, что все формулы сработали - диапазон сформирован из 3-з строк, а а при копировании часть строки, сформированная с помощью QUERY не копируется, воспринимается как отсутствие данных
По-моему, с похожей проблемой приходили уже, когда query переносил данные достаточно странно? Заменить query на что-то другое?
источник

V

Vadim_ua in Чат | Google Таблицы и скрипты
Роман Игнатов
До того как брать данные из таблицы нужно убедиться что все формулы сработали, для этого используется SpreadsheetApp.flush() перед взятием данных из таблицы. Попробуйте.
Точно=) Ее и использовал, уже нашел в проекте, и увидел что вы написали
источник