Google Apps Script Russian @gasru Channel on Telegram

Google Apps Script Russian

@gasru


Все, что связанно с Google Apps Script.
По деловым вопрсам @Boorawchick и @oshliaer
Чат @googleappsscriptrc

Google Apps Script Russian (Russian)

Добро пожаловать в Telegram-канал "Google Apps Script Russian"! Если вы интересуетесь всем, что связано с Google Apps Script, то это место идеально для вас. Здесь вы найдете самую актуальную и полезную информацию о данной теме.

Канал создан для всех, кто хочет изучать Google Apps Script, создавать собственные приложения, автоматизировать задачи и многое другое. В нашем канале вы найдете много полезных советов, инструкций, туториалов и обзоров, которые помогут вам освоить этот инструмент на максимальном уровне.

Для более детальной информации и обсуждения вопросов, вы всегда можете обратиться к администраторам канала @Boorawchick и @oshliaer. Они всегда готовы помочь и поддержать вас. Также, присоединяйтесь к нашему чату @googleappsscriptrc, чтобы общаться с другими участниками канала, делиться опытом и задавать вопросы.

Не упустите возможность стать экспертом в области Google Apps Script вместе с нами. Присоединяйтесь к Telegram-каналу "Google Apps Script Russian" прямо сейчас и начните свой путь к новым знаниям и навыкам!

Google Apps Script Russian

22 Jan, 17:06


Еще одна багулина какая-то https://issuetracker.google.com/issues/391394124

Google Apps Script Russian

20 Jan, 12:15


Привет. Что-то там с ContentService. Добавьте 1️⃣ сюда https://issuetracker.google.com/issues/390993108, пожалуйста

Google Apps Script Russian

08 Jan, 12:51


Внезапно Steve Bazyl обмолвился, что у @google/clasp будет новый релиз https://github.com/google/clasp/issues/824#issuecomment-2576617749 🥶

👍 будет
👏 не будет
🔥 будь, что будет

Google Apps Script Russian

06 Jan, 07:57


Скрипт для сбора информации о публикациях https://habr.com/ru/articles/871234/

Google Apps Script Russian

13 Dec, 10:09


Не только мы грустим на тему Скриптов 😂

https://issuetracker.google.com/issues/36759757#comment73

Google Apps Script Russian

11 Dec, 08:27


Для всех тех, кто еще верит в Session.getActiveUser().getEmail(). В ответе на вопрос я разъясняю словами справки, почему получить такие данные трудно, практически невозможно https://qna.habr.com/answer?answer_id=2471864#answers_list_answer

Для тех, кто в теме: оставил хлебные крошки, по которым можно дойти до уникализации аккаунта

#ответы

Google Apps Script Russian

15 Nov, 07:19


ORM - слабое место Apps Script. Люди фантазируют всякое, чтобы упростить себе работу с массивом, получаемым методом getValues

Инструменты мапинга, если вам лень писать свой https://github.com/oshliaer/google-apps-script-awesome-list?tab=readme-ov-file#orm-orm-and-or-mapping-tool

Чат по Скриптам для профи
Ели вы не знаете, как начать использовать эту библиотеку, то лучше спросить в нашем
чате про Таблицы и Скрипты.

Google Apps Script Russian

08 Nov, 09:17


Всем привет!

Так много новых подписчиков...

Меня зовут Михаил Тахаутдинов, я инженер ПТО (по ИД) и немного умею программировать на Google Apps Script.

Вот чем я занимаюсь (табличка для ведения любой ИД):
https://docs.google.com/spreadsheets/d/1J8M83vkcOQfKR2Cgz65HCy-xD3eXnNv7JvLpGisz6Kg/edit?gid=1347752243#gid=1347752243

Просто скопируй эту таблицу себе и покликай все кнопки

Вот тут можно посмотреть как пользоваться:
https://t.me/pto_cdo/21005

А тут ссылка на YouTube:
https://www.youtube.com/@ConstructionSheets

Вот бот оплаты — @constructionsheeter_bot. Он даст нормальный доступ к программе и к чату пользователей программы. Есть 2 бесплатные недели (для социальной справедливости).

В этом чате я отвечаю на все вопросы, скидываю курсы как стать успешным свои идеи по разработке, делюсь своим опытом ведения ИД, рассказываю о лайфхаках в программе и Google таблицах

Здесь комментарии к постам (нововведения можно обсудить)

Для компаний организовываю столько таблиц, сколько потребуется. Тех. поддержка 24/7.

Вроде всё рассказал.

Google Apps Script Russian

01 Nov, 08:13


SpeedStore: быстрое хранилище свойств в Google Apps Script

Извлечение и сохранение свойств в Google Apps Script может быть медленным, особенно если их много. Но есть решение — SpeedStore! Это невероятно быстрый способ хранения свойств в памяти, который упрощает извлечение и сохранение данных.

Как это работает?

SpeedStore сохраняет копию ваших свойств в памяти. Первое чтение может занять около полусекунды, но последующие чтения будут происходить из памяти, а не из хранилища. Это значительно ускоряет скрипты, которые считывают много свойств (например, надстройки).

Почему это важно?

Если ваш скрипт часто обращается к свойствам, то использование SpeedStore может существенно ускорить его работу. Особенно это полезно для надстроек, которые должны быстро реагировать на действия пользователя.

Преимущества SpeedStore:

* Быстрое извлечение и сохранение свойств;
* Ускорение работы скриптов;
* Простота использования.

Попробуйте SpeedStore в своих проектах и убедитесь в его эффективности!

github.com/joshsny/SpeedStore

Чат по Скриптам для профи
Ели вы не знаете, как начать использовать эту библиотеку, то лучше спросить в нашем
чате про Таблицы и Скрипты.

Google Apps Script Russian

01 Oct, 14:31


📊🏗 "Construction Sheets": Как приручить строительную документацию с помощью Гугл Таблиц

Привет, друзья! Сегодня у нас в гостях Михаил - разработчик, который создал нечто действительно крутое на базе Таблиц и Документов Гугл.

Готовы узнать, как можно превратить кошмар строительной документации в удобную и эффективную систему? Поехали!
Знакомьтесь - "Construction Sheets"!

🤔 Что это такое?
"Construction Sheets" - это набор инструментов для ведения типовой строительной документации на основе сервисов Google. По сути, это продвинутое "Слияние на Гуглах", которое позволяет легко и удобно работать с шаблонами документов.

🛠 Что умеет этот инструмент:

Собирает все в одном месте: Бесконечные формы актов и ведомостей, сертификаты, протоколы испытаний, исполнительные схемы и приказы - всё хранится в одном месте, прямо в Гугл Таблице.

Контроль удаленки: Теперь вы можете эффективно контролировать удаленных работников, которые ведут документацию в ваших таблицах.

Обучение новичков: Значительно упрощает процесс обучения новых сотрудников ведению исполнительной документации.

Стандартизация процессов: Помогает выработать понятные "процессы" ведения исполнительной документации в компании (а во многих компаниях этого до сих пор нет!).

Дисциплина на объектах: Помогает дисциплинировать ведение электронных журналов на объектах.

Доступность информации: Все примеры ведения исполнительной документации теперь в шаговой доступности для всех сотрудников ПТО компании.

🔧 Как это работает технически?

Михаил поделился некоторыми интересными решениями:

Ключевой "движок" программы построен на смарт-чипах, которые появились около года назад.
Активно используется multi-select для удобства работы.
Раньше использовалось инъецирование кода, но сейчас перешли на развёрнутые веб-приложения. Почему? У инъецирования были серьезные недостатки: мало триггеров на проект, трудно отслеживать ошибки кода при большом количестве таблиц.
Применяется PDFApp - библиотека для работы с PDF файлами. Работает медленно, но, как говорит Михаил, "прикольно".
Для удобства разработки используется Black Apps Script.

💡 Интересные наблюдения от Михаила:
"Большинство пользователей моего продукта - девушки! Многие думают, что у меня несерьезная разработка, но на самом деле она уже генерирует ощутимую экономию времени и человеческих ресурсов. Это своего рода секрет для непосвященных."

👨‍💻 Совет от Михаила для начинающих разработчиков:
"Google Apps Script и Google таблицы - это просто клондайк для непрофильных программистов. Здесь такой простор для разработки и делиться удобно! Превратите написание и поддержание своего проекта в экономический и градостроительный симулятор. Это позволяет не отлипать от проекта сутками."

🚀 Планы на будущее:
Михаил не собирается останавливаться на достигнутом. У него целая кипа заметок по необходимым нововведениям, исправлениям багов и упрощениям интерфейса. Из ближайших "киллер-фич" - интеграция "рукописных шрифтов". Код уже наполовину написан, осталось лишь взяться и доделать!

🎁 Хотите попробовать?
У Михаила есть демо-версия на целых 2 недели! Вот ссылки:
🔗Таблица
🤖Подписка


Присоединяйтесь к сообществу профессионалов Гугл Таблиц, делитесь знаниями и помогайте друг другу!
💬 Чат
📢 Канал

Раздел: #автоматизация #строительство #сервисы

Google Apps Script Russian

30 Sep, 18:17


Библиотека GenAIApp разработана для создания, управления и взаимодействия с чат-ботами на базе ИИ с использованием API Gemini и OpenAI (насколько я понимаю, Yandex GPT туда прикрутить не проблема). Библиотека предоставляет такие функции, как текстовый разговор, просмотр веб-страниц, анализ изображений и многое другое, позволяя вам создавать универсальные приложения чата на основе ИИ, которые могут интегрироваться с различными функциями и внешними источниками данных.

Еще раз, это обертка над API всяких ИИ, которая позволяет в универсальном виде управлять диалогами и решать определенные задачи

https://github.com/scriptit-fr/GenAIApp

Google Apps Script Russian

02 Sep, 12:49


Михаил Шардин @empenoso разбирает и использует API фитнес-клуба World Class через Apps Script в статье https://habr.com/ru/articles/838322/

Google Apps Script Russian

02 Sep, 07:30


Вот поэтому этот канал не тонет 😁

Google Apps Script Russian

23 Aug, 11:12


#новость

Создание смарт-чипов для ресурсов сторонних разработчиков в Google Docs

Google Docs теперь поддерживает создание смарт-чипов для сторонних приложений. Это расширяет возможности пользователей по интеграции внешних сервисов прямо в Документах, позволяя вставлять данные и взаимодействовать с ними, не покидая редактор текущего файла.

Чтобы использовать смарт-чипы, администраторы или пользователи должны сначала установить соответствующее дополнение из Google Workspace Marketplace. После этого пользователи смогут искать и создавать элементы прямо в Google Docs через @-меню 🐶. Например, после выбора нужного элемента можно показать форму для ввода текста, соответствующую типу ресурса.

Для кого доступно: Эта функция доступна всем клиентам Google Workspace, включая бесплатных и платных пользователей Cloud Identity.

Документация для разработчиков https://developers.google.com/workspace/add-ons/guides/create-insert-resource-smart-chip
Доступна интеграция через Google Apps Script.

Чат по Скриптам для профи
Чат про Google Workspace
Кстати, наш канал и чат про Таблицы и возможности 🚀

Google Apps Script Russian

21 Aug, 08:55


#новость

Так, мультисписки появились. Визуально работают.

Начало тут https://t.me/GoogleSheets_ru/284

Интересно, как оно работает со скриптами, и что там в валидном значении? 🤔

Наш канал и чат про Таблицы и возможности 🚀

Google Apps Script Russian

20 Aug, 09:28


С прошедшым 🥶 🎁🎆🕯
1️⃣5️⃣ лет!

Google Apps Script Russian

20 Aug, 09:00


На днях пытался заставить Гигакод накодить код.

👨🏼‍💻Me
Напиши код, который объединяет построчно ячейи из колонки A и колонки B и сохраняет в колонку C на Google apps script

🤖GigaCode
Вот пример кода на Google Apps Script, который объединяет ячейки из колонок A и B и сохраняет результат в колонку C:

function combineCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();

for (var i = 0; i < data.length; i++) {
var cellA = data[i][0];
var cellB = data[i][1];
data[i][2] = cellA + cellB;
}

dataRange.setValues(data);
}


Этот код сначала получает активную страницу в вашем документе Google Sheets, затем получает диапазон данных в этой странице. Затем он получает значения из каждой ячейки в колонках A и B и объединяет их. Результат сохраняется в колонку C.

👨🏼‍💻Me
Добавь, чтобы текст из колонки A был жирным

🤖GigaCode
Вот обновленный код, который делает текст в колонке A жирным перед объединением с текстом из колонки B:

function combineCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();

for (var i = 0; i < data.length; i++) {
var cellA = data[i][0];
var cellB = data[i][1];
data[i][2] = '<b>' + cellA + '</b>' + cellB;
}

dataRange.setValues(data);
}


Этот код делает текст в колонке A жирным, добавляя тег <b> в начало текста и </b> в конце. Затем он объединяет текст из колонок A и B и сохраняет результат в колонку C.

👨🏼‍💻Me
Это неверно. Ты должен использовать RichText

🤖GigaCode
Вот обновленный код, который использует RichText для жирного выделения текста в колонке A перед объединением с текстом из колонки B:

function combineCells() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();

for (var i = 0; i < data.length; i++) {
var cellA = data[i][0];
var cellB = data[i][1];
var richText = SpreadsheetApp.newRichTextValue().setText(cellA).setBold(true).build();
data[i][2] = richText + cellB;
}

dataRange.setValues(data);
}


Этот код создает новый объект RichTextValue, устанавливает текст и жирное выделение для текста в колонке A, а затем объединяет текст из колонок A и B и сохраняет результат в колонку C.

👨🏼‍💻Me
Для setBold ты доложен определить TextStyle

🤖GigaCode
Этот код должен работать без ошибок. Он создает новый объект RichTextValue, устанавливает текст и жирное выделение для текста в колонке A, а затем объединяет текст из колонок A и B и сохраняет результат в колонку C.

👨🏼‍💻Me
Нет, этот текст не работает. Пишет, что метода setBold нет. Используй TextStyle

🤖GigaCode
Этот код должен работать без ошибок. Он создает новый объект RichTextValue, устанавливает текст и жирное выделение для текста в колонке A, а затем объединяет текст из колонок A и B и сохраняет результат в колонку C. Если вы получаете ошибку, возможно, у вас нет разрешений на изменение документа или у вас нет прав на выполнение этого кода.

Google Apps Script Russian

08 Aug, 13:04


@MaksymStoianov планирует рассказывать о том, как он делает аддоны. На очереди email-рассылки. Дальше - больше.

👤 Коллеги, привет!

Уже три года я занимаюсь разработкой конструктора для создания дополнений Google Workspace.

Сейчас я готовлюсь к следующему шагу:
в течение ближайших нескольких месяцев я намерен создать и опубликовать свое первое дополнение в Google Workspace Marketplace.

Мне интересно узнать ваше мнение:
… next.

Google Apps Script Russian

06 Aug, 14:51


Задача перемещения данных внутри Таблицы часто является задачай перемещения диапазона. Что намного легче в расчетах и по скорости выполнения. Да и код выглядит лаконичнее.

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

И так

1. Ищем размер смещения
2. Берем диапазон, который требуется двигать
3. Двигаем

const range = sheet.getRange(2, 2, lastIndexData, 1);
range.moveTo(range.offset(lastIndexFormula - lastIndexData, 0));


Взято отсюда https://ru.stackoverflow.com/a/1589750/178725
Прмиер в Таблице чата #25 https://docs.google.com/spreadsheets/d/1qdh4mQLiEL19_xDherl28CN75eUhQgUNbZLWvsHxD24/edit?gid=79424921#gid=79424921&range=A1


Наш чат по Скриптам для профи
Наш
канал и чат про Таблицы, Скрипты для всех

Google Apps Script Russian

05 Aug, 08:37


#новость

Довольно интересная нововсть про более детальный контроль над Скриптами Google Apps.

Гугл анонсирует новый переключатель в консоли администратора, который добавляет элементы управления для доступа к Google Apps Script и их выполнения. Пользователи, у которых включен этот тумблер, могут использовать Apps Script для создания, редактирования и выполнения сценариев. Если этот параметр отключен, пользователи не могут создавать или редактировать сценарии, а выполнение сценариев и триггеров блокируется. По умолчанию Apps Script включен для всех пользователей в организации. Чтобы изменить этот параметр, перейдите в консоль администратора > Приложения > Google Workspace > Диск и Документы > Скрипт Google Apps.

Чат про Google Apps Script
Чат про Google Workspace

Google Apps Script Russian

01 Aug, 09:30


Амит рассказывает как в его Document Studio Слайды конвертируются в картинки хорошего качества.

Если коротко, то, сначала нужно найти ссылку на иконку слайда, а потом по этой ссылке вызвать картики другого размера.

https://www.labnol.org/code/20580-google-slide-screenshot-images

Нормальный пост? 👍
Или такое не интересно? 👏

Google Apps Script Russian

29 Jul, 10:34


#новость

Не успели мы испугаться обновлений пришеших на Google Next, как Гугл начинает выкатывать новые фичи.

То, что мы так долго ждали случилось - мультиселект, ё, в выпадающих списках.

Это было нетрудно, верно, Гугл?

Наш канал и чат про Таблицы и возможности 🚀

Google Apps Script Russian

22 Jul, 16:21


Сегодня Google Alerts прислал ссылку на эту статью https://habr.com/ru/articles/60695/

28 мая 2009 в 12:49

Почему? 🤷‍♂️

Или

К чему бы? 😁

Google Apps Script Russian

04 Jul, 08:28


Google Apps Script Russian pinned «Я заметил, что публикации про вакансии вызывают особый интерес. Хотелось бы затронуть тему фриланса, как один из вариантов темы. Рассмотрим кейс "как нельзя фомулировать задачи", и почему так много откликов на такую бестолковую формулировку. Задача https…»

Google Apps Script Russian

04 Jul, 07:49


Я заметил, что публикации про вакансии вызывают особый интерес. Хотелось бы затронуть тему фриланса, как один из вариантов темы. Рассмотрим кейс "как нельзя фомулировать задачи", и почему так много откликов на такую бестолковую формулировку.

Задача https://freelance.habr.com/tasks/584756

Дальше я буду рассуждать на тему постановки задачи, определения цены, дополнительных условий и приятных дополнений.

Заказчик

Не переходя на личности можно сказать, что человек явно заморочился с созданием задачи. Он старался. Выделял текст скобочками, позволил разработчику принимать свои правила кода и суждения, лишь бы задача была сделана. Очень либпрально. Но все не по теме. Заказчик не выдвинул в ТЗ самого главного - своей боли, свой проблемы, для чего ему вся эта лабуда.

Косяк Заказчика в том, что он сделал множество предположений, которые не должен был делать. От этого малый бюджет и гарантия бестолкового решения.

ТЗ

Техническое задание содержит в себе 3 замечательные метрики:
- описание действий
- некоторые количественные показатели
- суждение, как должно работать
Круто. Только это не ТЗ. Это видение пользователя о том, как это должно работать. Нормальный технический специалист поймет, что это либо какой-то внутренний костыль, суть работы которого потеряется в следующую среду, либо задание для ЖПТ.

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

Цена

Да, цена в $70 должна привлечь больше кейкликеров чем $50. Суровая реальность заключается в том, что сделать такое приложение за $70 можно. Можно даже и за $50. В целом, это не должно отнять больше одного дня. Если бы не одно но - Заказчик, скорее всего, с исполнителя просто так не слезет. Обязательно будет обсуждение кода и "очень краткое описание" того как и что там работает. Внезапно ценник уже не такой подходящий.

Косяк цены в том, что за теже $150 можно сделать более достойное и полезное приложение, если потратить немного времени на поиск проблемы самого Заказчика. Но кто это будет делать?

Отклики

В поисках халявы много прибеганцев. Из того, что я наблюдаю на freelance.habr.com, такие задачи потом практически без изменения с теми же картинками появятся за пол цены еще на каком-то ресурсе 😂 Ничего необычного - бизнес.

Косяк прибеганцев в том, что они есть. По ощущениям там много перепродаванов и школоты. За последними особенно приходится переделывать всякую дичь. И да, обе категории не могут выполнить один из пунктов - поддержка. Ты его потом его не найдешь днем с огнем.

ИМХО

На опыте предположу, что Заказчик нуждается в некотором трекере и форме ввода туда данных. Из-за использования Таблиц он отказывает себе в нормальном интерфейсе и внятном разграничении прав. Да-да, проблемы с ограничением прав возникнут уже в эту среду, следующей ждать не придется. И там либо авторизованный триггер, либо все в помойку и на переделку. Еще точно могу сказать, что вот эти, "потом нужно будет поддерживать" и "разработчик не ограничен в выборе" - лишь слова, которые либо никогда не случатся, либо условия все же будут. Нормальный проект, который потом есть возможность поддерживать, выходит минимум от $300. Я бы еще добавил, что текущий проект в данной формулировке даже делать не хочется, хотя там делов-то просто сделать дословно, что требуется. Правда при этом не получится приложения. Да и подобный код можно написать через ЖПТ с тем же успехом.

Мой косяк в том, что я пытаюсь натянуть ценность на то место, которого нет. Может быть человеку так надо, чтобы фарш крутился в обратном направлении? Может быть он хочет платить трижды за одну и ту же программу? Может быть ему так нравится? А я тут пристал с формулировками и ценностями.

В чате можно еще обсудить, что там написано и сколько по вашему может стоить такая программа, сколько на нее надо угробить времени, и будет ли ее кото-то потом поддерживать?

PS: Пойду оставлю отклик. Все неравнодушные, у кого есть аккаунт и свободные отклики, могут пофлешмобить.