<h2><b>О проекте:</b></h2><p>Добрый день!</p><p>Я использую Google Sheets для учета закупок материалов на строительном объекте. Ищю разработчика Google Apps Script для интеграции и доработки нескольких модулей, чтобы создать единый, сквозной процесс от заявки до отслеживания поставки.</p><p>Текущие скрипты выполняют разовые задачи:</p><ul><li><p>загрузка счетов в Gdrive</p></li><li><p>распознавание(gemini) и запись в таблицу</p></li><li><p>формирование из счетов и позиций реестра на оплату</p></li></ul><p>Нужно дописать недостающие модули и объединить их в единую систему с централизованным отслеживанием статусов. Ниже краткая логика проекта</p><h2><b>Ключевое требование:</b></h2><p>Центральным элементом системы должна стать сквозная идентификация каждой позиции заявки. Этот ID должен проходить через все этапы и модули, связывая заявку, счет, утверждение и оплату.</p><h2><b>Основные задачи и модули:</b></h2><p><b>1. Подготовка данных и заявок:</b></p><p>Необходимо обеспечить автоматическое присвоение ID каждой новой позиции в таблице заявок.</p><p>Настроить перенос заявок в рабочие таблицы снабженцев.</p><p><b>2. Модуль "Обработка и Привязка Счетов":</b></p><p>Задача: Интеграция существующего функционала загрузки и распознавания счетов.</p><p>Логика: Снабженец должен иметь возможность привязать позиции из счета к конкретным ID из таблицы заявок.</p><p>Результат: Четкая связь: одна позиция заявки = одна позиция в счете.</p><p><b>3. Модуль "Реестр на утверждение" </b>(Частичная доработка)<b>:</b></p><p>Задача: Доработать скрипт формирования реестра, обеспечив сохранение ранее неутвержденных позиций.</p><p>Логика: Руководитель проставляет статус каждой позиции/счета: Утвердить, Отклонить, Перенести.</p><p>Новое: После обработки решений, система должна сохранять проставленные комментарии и отметки утверждения/отклонения/переноса.</p><p><b>4. Модуль "Управление статусами" (Центральный компонент):</b></p><p>Задача: Создать единый механизм для изменения статуса каждой позиции (по ее ID).</p><p>Логика: Создать центральную таблицу "Трекер статусов". Все действия (утверждение, оплата, отклонение) должны обновлять статус в этой таблице.</p><p>Результат:</p><p>Прорабы видят статус своих заявок по ID.</p><p>Скрипт должен вести лог-историю всех изменений статусов (когда, кто, что изменил).</p><p><b>5. Модули "Оплата" и "Поставка":</b></p><p>Задача: Автоматизировать перенос позиций на последующие этапы и отслеживать факт поставки/оплаты.</p><p>Логика:</p><p>"Утвержденные" позиции автоматически переходят в реестр оплаты.</p><p>"Оплаченные" позиции автоматически переходят в реестр "Контроль поставки".</p><p>При оплате/поставке должны фиксироваться суммы, даты, номера платежек.</p><p><b>6. Отчетность и справочники:</b></p><p>Задача: Автоматизировать подсчеты и справочники.</p><p>Логика:</p><p>Разработать логику для автоматического обновления справочника контрагентов (например, "общая сумма закупки у контрагента").</p><p>Настроить сводные отчеты по договорам (сравнение суммы договора и оплаченной суммы).</p><p>Создать дашборды для общей аналитики (по объектам, по закупкам).</p><h2><b>Требования к разработчику:</b></h2><p>Опыт разработки на Google Apps Script (GAS) в Google Sheets.</p><p>Умение работать с данными как в массивах (для скорости) и применять форматирование пакетно (через RichTextValues и getRangeList).</p><p>Навыки создания надежного и легко поддерживаемого кода.</p><h2>Ожидю в отклике:</h2><ol><li><p>Ваше видение архитектуры.</p></li><li><p>Примерная оценка объема работы по модулям.</p></li><li><p>Вопросы по проекту.</p></li></ol>