159 заявок вместо 143: как сервер собрал процесс для семи юрлиц
159 заявок вместо 143: как сервер собрал процесс для семи юрлиц После первого счёта нужен был не скриншот, а процесс, который работает без моего участия После первого счёта можно было сделать скриншот и написать «интеграция готова». Но мне нужен был процесс, которым сотрудник сможет пользоваться завтра без моего участия. Следующий этап — серверный. На VPS развернул приложение, окружение, хранилище состояния и службы. Подключил Telegram, Google-таблицы и удалённый HTTP-сервис 1С. Работу разложил по этапам: принять файл, подготовить заявки, дождаться проверки, отправить в 1С, получить результаты, забрать PDF, доставить сотруднику. На каждом этапе сохраняется состояние — сервис помнит, что произошло до перезапуска. Проверка самостоятельности простая: в штатном пути нет шага «открыть компьютер Максима». Все обращения к Google, Telegram и 1С выполняются с VPS. Первую Google-таблицу уже использовали в другом процессе — менеджер заполнял заявки и нажимал чекбокс, после чего информация уходила клиентам и водителям. Для счетов такое не подходило: отделил выставление документов от старой рассылки маршрутов. Дальше масштабировал настройку на семь юрлиц. Создал отдельные Google-таблицы, связал с организациями в 1С. Отдельный юрлицо не означал отдельную версию программы — общий сервис обслуживает все таблицы по одним правилам. Затем предложил: зачем бухгалтеру вручную перекладывать Excel в Google? Пусть отправляет файл боту, сервис сам заполнит таблицу, а человек проверит строки перед созданием документов. Зафиксировал правило: один Excel — один юрлицо. Появился рабочий сценарий: бухгалтер выбирает юрлицо, отправляет Excel, отвечает на вопросы по неоднозначным строкам, проверяет таблицу и включает чекбокс генерации. После этого сервис обращается к 1С, счета возвращаются в Telegram. Загрузка файла сама счета не создаёт — сначала черновик. Быстро выяснилось, что у слова «таблица» в компании много значений: где-то заголовки на привычной строке, где-то над ними название направления, где-то объединённые ячейки. На первой версии один файл бот не принял — формально честно, но для бухгалтера сервис не работал. Стали разбирать реальные образцы из разных городов. «Оплата вод» для счёта покупателю не нужна, но привязываться навсегда к букве H нельзя — в другом файле под ней другое поле. Разделил «ДА» и «НЕТ» в оплате: «ДА» — оплата по счёту, «НЕТ» — QR, счёт не выставляем. Если суммы нет, счёт тоже не создаётся, сотрудник получает объяснение. На одном реальном файле это выглядело так: 159 заявок, из них 143 по счёту и 16 по QR. Если написать человеку только «загружено 159», он спросит, почему ждал 143. В ответе разделил общий объём файла и количество заявок к выставлению. Была ситуация с повторяющимися клиентами: одно юрлицо два раза, суммы разные — две перевозки или ошибка? Автоматически удалять строку нельзя, добавил вопрос по паре. В одном городе у клиента были две суммы — выставили обе. Сделал единый Excel-шаблон: заголовки защитил, рабочая область на 2 000 строк, колонки по логике заполнения — клиент и ИНН рядом, затем перевозка, сумма, оплата. Шаблон тоже переделывал: если сотрудник ищет ИНН в конце строки, это недоработка интерфейса. Так к модулю 1С добавилась рабочая оболочка: принимает файл, показывает данные, сохраняет решения и доводит результат до бухгалтера. 👉 Телеграм: @hudushin_seo 👉 MAX: max.ru/id623410360097_biz 👉 Речевая аналитика: slishnoai.ru #ХудушинМаксим #ZarubaFitness #ЗарубаФитнес #Подольск