Используйте Google Таблицы в качестве инструмента отчетности вашего приложения
Из этой лаборатории вы узнаете, как использовать Google Таблицы в качестве настраиваемого инструмента отчетности для ваших пользователей. Вы измените образец приложения для отслеживания заказов для экспорта в электронную таблицу и создания визуализаций с помощью API Google Sheets. Пример приложения построен с использованием Node.js и веб-инфраструктуры Express, но те же основные принципы применимы к любой архитектуре.
Из этой лаборатории вы узнаете, как использовать Google Таблицы в качестве настраиваемого инструмента отчетности для ваших пользователей. Вы измените образец приложения для отслеживания заказов для экспорта в электронную таблицу и создания визуализаций с помощью API Google Sheets. Пример приложения построен с использованием Node.js и веб-инфраструктуры Express, но те же основные принципы применимы к любой архитектуре.
Google Codelabs
Use Google Sheets as your application's reporting tool | Google Codelabs
In this codelab, you’ll learn how to integrate the Google Sheets API into an application to provide custom reporting.
Forwarded from volond
=Arrayformula(split(textjoin("";true;transpose({SEQUENCE(1;$A$1;2);split(rept("_"&$A$2&"#,";$A$1);",")}));"#"))Forwarded from volond
Возможно кому-то понадобиться список периодов дат на каждый год
=arrayformula(transpose(TEXT(DATEVALUE("1."&SEQUENCE(1;12;1)&"."&year(today()));"dd.mm.yyyy"))&"-"&{TEXT(transpose(DATEVALUE("1."&SEQUENCE(1;11;2)&"."&year(today()))-1);"dd.mm.yyyy");TEXT(DATE(year(today());12;31);"dd.mm.yyyy")})
#formulaАвтоматическое создание уникальных идентификаторов в Google Таблицах
#JS
#JS
// UID UNIQUENESS
// ID_LENGTH = 3: 226,920 posible values
// ID_LENGTH = 4: 13,388,280 posible values
// ID_LENGTH = 5: 776,520,240 posible values
// ID_LENGTH = 6: 44,261,653,680 posible values
var ID_LENGTH = 5;
// Thanks to Tom Spencer for this function
// Tom's website/blog is at fiznool.com
function generateUID () {
var ALPHABET = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
var rtn = '';
for (var i = 0; i < ID_LENGTH; i++) {
rtn += ALPHABET.charAt(Math.floor(Math.random() * ALPHABET.length));
}
return rtn;
}Mod и остаток — не одно и то же
В любом случае: на прошлой неделе я узнал что-то странное и хочу поделиться: оказывается, mod и остаток от деления — не одно и то же. Действительно забавно то, что некоторые читатели при этих словах выпрыгивают со своих кресел и орут: «А ведь именно это я всегда пытался сказать вам и всем остальным!»
Читать...
В любом случае: на прошлой неделе я узнал что-то странное и хочу поделиться: оказывается, mod и остаток от деления — не одно и то же. Действительно забавно то, что некоторые читатели при этих словах выпрыгивают со своих кресел и орут: «А ведь именно это я всегда пытался сказать вам и всем остальным!»
Читать...
Хабр
Mod и остаток — не одно и то же
Приготовьтесь, вас ждёт крайне педантичная статья, которая вполне может спасти вас на собеседовании или сэкономить несколько часов при вылавливании бага в прод...
Выводим список День + Название Дня недели
const getDaysArray = (year, month) => {
year = year || new Date().getFullYear()
month = month || new Date().getMonth()+1
console.log(month)
const names = Object.freeze(
['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']);
const date = new Date(year, month - 1, 1);
const result = [];
while (date.getMonth() == month - 1) {
result.push(`${date.getDate()}-${names[date.getDay()]}`);
date.setDate(date.getDate() + 1);
}
return result;
}
//[ '1-fri','2-sat',....,'30-sat','31-sun' ]
#JS #dateForwarded from volond
=query(A2:A,"select A where " & textjoin(" and ",true,ARRAYFORMULA(" A contains '" & QUERY({B2:C},"select Col2 where Col1=True") &"'")))Forwarded from Ботоводство на Google Apps Script и не только...
Аудит Google Drive
Сценарий ListFilesFolders: это скрипт Google Apps, в котором перечислены все файлы и / или папки в
* Папка Google Диска, а затем записывает список в электронную таблицу партиями. В скрипте используется
* механизм кэширования, позволяющий восстанавливать вывод после возможного сбоя; однако это не будет продолжаться
* чтобы восстановить прерванный скрипт и продолжить поиск.
Сценарий ListFilesFolders: это скрипт Google Apps, в котором перечислены все файлы и / или папки в
* Папка Google Диска, а затем записывает список в электронную таблицу партиями. В скрипте используется
* механизм кэширования, позволяющий восстанавливать вывод после возможного сбоя; однако это не будет продолжаться
* чтобы восстановить прерванный скрипт и продолжить поиск.
Gist
[Google Apps Script] List all files & folders in a Google Drive folder, & write into a speadsheet
[Google Apps Script] List all files & folders in a Google Drive folder, & write into a speadsheet - appsScript_ListFilesFolders_ver.2.js
PropertyServices
Упрощает использование PropertyServices сценариев Google Apps. Может обрабатывать объекты и сохранять значения даты.
Пример
Упрощает использование PropertyServices сценариев Google Apps. Может обрабатывать объекты и сохранять значения даты.
Пример
// initialize available stores, with sensible default values
const lib = Properties.scriptStore(); // or
const lib = Properties.userStore(); // or
const lib = Properites.documentStore();
// set keys to values of any kind, including nested objects with dates!
lib.set('key', 564);
lib.set('obj', {nested: [1, 2, new Date(), 400.2, {hi='hi'}]});
// retrieve values with get
const value = lib.get('obj')
value.nested[4].hi; // 'hi'
// retrieve keys with getKeys
const keys = lib.getKeys(); // array
// bulk update
lib.setProperties({
key: 0,
obj: {}
});
// remove keys
lib.remove('key'); // just the one
lib.removeAll(); // all of them
// get everything
// (possibly very slow: goes through each key and stores onto new object)
const props = lib.getAll(); // returns key value objectGitHub
modularLibrariesV8/Properties.js at master · classroomtechtools/modularLibrariesV8
Collection of libraries for Google AppsScripts with V8 engine - modularLibrariesV8/Properties.js at master · classroomtechtools/modularLibrariesV8
This media is not supported in your browser
VIEW IN TELEGRAM
Измените порядок файлов в проекте Apps Script #newIDE
This media is not supported in your browser
VIEW IN TELEGRAM
Мульти-курсор для одновременного редактирования нескольких строк
[ALT] + click,
чтобы вставить
#newIDE
[ALT] + click,
чтобы вставить
#newIDE
This media is not supported in your browser
VIEW IN TELEGRAM
Скопируйте строку ниже или выше
с помощью
[ALT] + [SHIFT] + [UP] или [ALT] + [SHIFT] + [DOWN]
#newIDE
с помощью
[ALT] + [SHIFT] + [UP] или [ALT] + [SHIFT] + [DOWN]
#newIDE