Здравствуйте
поставил ксеон новый процессор вместо ай 5
8 потоков стало вроде бы
все стало шустрее но памяти 16 гб стало не хватать
расширил до 32
по скрипту из режима записи в режим запуска поменял с помощью другого спеца порядок функций
раньше в онстартапликейшен загружал куки и файл
теперь онстартапликейшен убрал и все что в ней было объявлено закинул в начало мейна
все стало пахать
но странно ведь утверждалось что те элементы которые не будут меняться лучше как раз в онстарталикейшен можно загружать и не париться
был однопоток но все равно глючило почему то в режиме запуска
убрал в мейн из онстарьапликейшен все запуск в однопотоке норм трудится
правда была еще проблема что ставил повторять скрипт
а он через 3-4 повторения заканчивался пришлось бегать ставить метки
в общем с басом основная проблема это обучение и примеры собранные и централизованно с грамотным содержанием оформлены
интерфейс тоже звиздец какой то
я долго не мог понять где пункт выпадающего контекстного меню на элементе а оказалось в итоге что контекстное меню надо было проматывать еще дальше вниз колесиком мыши чтобы там из 15 опций низ показался
звиздец же
но в целом хоть и безплатно но хочется обучения и красивости и доубства оформления
копии бас тоже сейчас запускаются пока 3 штуки норм пашут именно паралелльно:)независимо друг от друга
кстати если кому интересно была проблема с установкой 4 планов по 8 гигабайт на материнскую плату b85+ и не шло никак
2 норм а две другие не хотели мириться
решилось через очень долгое и случайное мозговое штурмирование методом тыка
надо было в биосе включить и отключить слоты памяти ибо даже после обнуления биоса путем вытаскивания батарейки где то информация закрепилась и слоты глючили
но после отключения включения все 4 слота стали пахать и память у меня теперь 32 гигабайта:) а я уж смирился с 16
так что есть польза от совместного решени язадач и резонанса
аурауспешайкая
Работа с гугл таблицами через бас
-
@Vennix Читаем данные столбца
В таблице : Инструменты-редактор скриптовvar ss = SpreadsheetApp.getActiveSpreadsheet(), // spreadsheet s = ss.getActiveSheet(); // sheet function getData(){ var result = [], range = 'B:B', // диапазон ячеек, который хотим выгружать values = s.getRange(range).getValues(), last_row = parseInt(s.getLastRow()); for (var i = 1; i < last_row; i++) { result.push(values[i]); } return result; } function doGet() { var data = getData(); if(!data) { data = ''; } return ContentService.createTextOutput( JSON.stringify({'result': data})).setMimeType(ContentService.MimeType.JSON); }Назвать, сохранить и опубликовать как веб-приложение
Скопировать URL в конце и вставить в Get запрос в БАСе -
Благодарю. Ячейки читает. Единственная проблема, что читает только выбранный изначально диапазон ячеек, при создании скрипта. После измения, сохранения и публикации, в скрипте сохраняется новый диапазон, но почему-то при запросах работает только старый. В чем может быть дело?
-
@AndreyKa @Vennix Чтобы после редактирования скрипта изменения применились надо при публикации указать, что "новая" версия. Нужный диапазон и любые другие данные данные можно передавать в самом запросе
Доки
https://developers.google.com/apps-script/guides/web
https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app -
@Vennix это запись по тому-же принципу
function doGet(e) { var sheet = SpreadsheetApp.openById("код из ссылки на таблицу"); var n=sheet.getRange("A1").getValue()+2; var d = new Date(); sheet.getRange("A"+n).setValue(d); sheet.getRange("B"+n).setValue(e.parameter.p1); sheet.getRange("C"+n).setValue(e.parameter.p2); sheet.getRange("D"+n).setValue(e.parameter.p3); sheet.getRange("E"+n).setValue(e.parameter.p4); sheet.getRange("F"+n).setValue(e.parameter.p5); sheet.getRange("G"+n).setValue(e.parameter.p6); sheet.getRange("H"+n).setValue(e.parameter.p7); sheet.getRange("A1").setValue(n-1); }В А1 записываем 0 и запись начнется со второй строки.
К ссылке после публикации добавляем ?p1=[[переменная1]]&p2=[[переменная2]]&p3=&p4=&p5=&p6=&p7=
В значениях для записи не должно быть пробелов (убираю так: [[SAVED_TEXT]].replace(/\s+/g,'')) -
@Vennix это перезапись:
function doGet(e) { var sheet = SpreadsheetApp.openById("код из ссылки на таблицу"); sheet.getRange("K1").setValue(e.parameter.p1); var n=sheet.getRange("K1").getValue(); var d = new Date(); sheet.getRange("A"+n).setValue(d); sheet.getRange("B"+n).setValue(e.parameter.p2); sheet.getRange("C"+n).setValue(e.parameter.p3); sheet.getRange("D"+n).setValue(e.parameter.p4); sheet.getRange("E"+n).setValue(e.parameter.p5); sheet.getRange("F"+n).setValue(e.parameter.p6); sheet.getRange("G"+n).setValue(e.parameter.p7); sheet.getRange("H"+n).setValue(e.parameter.p8); }В K1 записываю номер строки которую перезаписываю
-
-
@Alstellar А что не получается?
запрос такого вида должен получиться: https://script.google.com/macros/s/AKfxQ-hRenQAg-m3cwAhFXjC_EgZJghmznefwts/exec?p1=34&p2=12345678&p3=$999 -
@AndreyKa said in Работа с гугл таблицами через бас:
@Alstellar А что не получается?
запрос такого вида должен получиться: https://script.google.com/macros/s/AKfxQ-hRenQAg-m3cwAhFXjC_EgZJghmznefwts/exec?p1=34&p2=12345678&p3=$999Да, только знак доллара нужно будет экранировать - гуглите метод encodeURIComponent()