Автоматизация обновления отчетности для 100.000+ транзакций в год с помощью Google Apps Script для nocode-среды

Автоматизация обновления отчетности для 100.000+ транзакций в год с помощью Google Apps Script для nocode-среды

Как обеспечить десятки резидентов актуальными данными, если основная база данных на 100 000 записей и данные могут обновляться каждую минуту?

Автоматизация статусов резидентов – это система на базе Google Apps Script, которая предоставляет каждому резиденту его персональную Таблицу Гугл с актуальными данными, автоматически синхронизируя ее из общего реестра.

Проблема: Ручное управление данными – путь к хаосу

Бизнес столкнулся с необходимостью предоставлять резидентам актуальную информацию по их сделкам. Основная база данных велась в AmoCRM и выгружалась в Таблицу Гугл для изоляции доступа к данным и могла содержать до 100 000 записей в год, при этом данные постоянно менялись. При этом число потребителей данных больше 100.

  • Масштабирование: Ручной перенос данных для каждого резидента был невозможен. Это требовало бы огромных временных затрат и было бы чревато ошибками.
  • Актуальность данных: Любая информация, скопированная вручную, моментально устаревала, что приводило к путанице и недовольству резидентов.
  • Конфиденциальность и удобство: Резидентам был нужен простой доступ только к своей информации, без доступа к общим данным из перегруженной Таблицы выгрузок.
  • Пользовательский интерфейс и технологический стек: Необходимо было создать везде доступный пользовательский интерфейс для просмотра данных, без перегрузки и лишних разработок, т.к. основной стек клиента – nocode-среды и приложения.

Изображение проекта 1


Решение: Автономная система синхронизации

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

  1. Автоматическое создание персональных таблиц Как только в основной Таблице появляется новый резидент, система автоматически создает для него персональную Таблицу, копируя нужные заголовки и форматирование. Доступ к этой таблице сразу же предоставляется резиденту по его электронной почте.

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

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

Изображение проекта 2


Архитектура и технологический стек

Выбор стека был продиктован ключевым ограничением: решение должно было легко интегрироваться в существующую nocode-архитектуру клиента и быть максимально простым в поддержке.

На первый взгляд, для такой задачи подошла бы классическая связка “база данных + бэкенд + фронтенд”. Однако это потребовало бы значительных ресурсов на разработку и поддержку, а также усложнило бы для конечных пользователей работу с данными. Google Sheets в данном случае выступили идеальным компромиссом:

  • Привычный интерфейс: Пользователи уже умеют работать с таблицами, что исключает необходимость их обучения.
  • Гибкость: Легко выгружать данные из CRM и предоставлять кастомизированный доступ.
  • Скорость и стоимость: Apps Script позволил создать MVP в разы быстрее и дешевле, чем традиционная разработка.

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

  • Google Apps Script (V8 Runtime): Выбран как основной инструмент за его нативную и бесшовную интеграцию с сервисами Google Workspace (Sheets, Drive), что идеально подходит для автоматизации процессов внутри этой экосистемы.
  • Google Sheets API & Google Drive API: Использовались для программного взаимодействия с таблицами (чтение, запись) и файлами на Google Drive (создание, управление доступами).
  • clasp и Gulp: Применены для создания профессионального рабочего процесса. clasp позволил вести разработку в локальной среде с использованием Git, а Gulp – автоматизировать сборку и развертывание кода двух версий для разработчика и продуктовую.
  • JavaScript (с JSDoc): Язык реализации скрипта. Использование JSDoc помогло внедрить строгую типизацию, повысив надежность и читаемость кода.

Изображение проекта 3

Результаты: Измеримая польза для бизнеса

Внедрение решения принесло бизнесу ощутимые и измеримые результаты:

  • Экономия времени на 100%: Полностью автоматизирован процесс, который был бы невозможен для выполнения вручную.
  • Точность данных 99.9%: Количество ошибок, связанных с человеческим фактором, снизилось до нуля. Резиденты видят только актуальную и корректную информацию.
  • Масштабируемость: Система спроектирована для обработки более 100 000 транзакций в год, что обеспечивает запас для роста бизнеса.

Выводы

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

Ключевой показатель успеха этого решения – его полная автономность. Система работает без сбоев и какого-либо вмешательства со стороны разработчика или администратора уже много месяцев, надежно обеспечивая пользователей актуальными данными, а затраты на его создание, поддержку и эксплуатацию на данный момент уже ниже стоимости чашки кофе в месяц.

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