143 = 100 + 43: даты, отчёты и обработка сбоев
143 = 100 + 43: даты, отчёты и обработка сбоев Настоящие таблицы сразу показали, что я недодумал: даты, отчёты, обработка сбоев. Когда через сервис проходят настоящие таблицы, сразу видно, что недодумал. Первый вопрос — даты. Заявки собрал 3 октября, файл отправил 5 октября, а счета нужны от 3 октября. Если обработчик смотрит только на сегодняшний день, правильные заявки оказываются за пределами отбора. Добавил календарь: перед выставлением сотрудник выбирает дату счетов, дата перевозки остаётся из заявки, время загрузки сохраняется отдельно. Три разных события получили три разных значения — до этого они превращались в одну условную «дату». Но календаря было мало: в Google-таблице могли остаться данные от прошлых загрузок. Ввёл отдельную партию загрузки — она хранит файл, дату, сотрудника и состав заявок. При нажатии чекбокса обрабатывается именно выбранная партия. Состояние сохраняется после перезапуска и перехода через полночь. Следующий вопрос — скорость. Заявки передавались частями, а нужна отправка всей партии одним запросом. Доработал обе стороны: на VPS собирается пакет, в расширении появились его приём и результаты по каждой заявке. Проверку защиты от повторов сделал на 100 существующих счетах: передал пакетом, получил прежние номера, новых счетов не возникло. На файле из другого города проверил создание: 14 счетов, 14 PDF. Дальше — дозагрузка. Внешние сервисы могут временно не отвечать. В обработчике появилась сохранённая очередь с повторами, окно восстановления до 24 часов. При этом у разных ошибок разные последствия: если 1С сообщила, что документ не создан, — один сценарий; если ответ потерялся — сначала проверить наличие счёта. Потом отчёты. Первые сообщения были тяжёлыми: длинная ссылка, цифры в одном абзаце. Я посмотрел с телефона и написал: это невозможно читать. Перестроил под рабочие вопросы: сколько требовало счёт, сколько подтверждено в 1С, сколько PDF доставлено, что осталось и почему. На раннем прогоне проверка требовалась для 84 заявок. За цифрой пять ситуаций: 73 раза не сопоставилось название, в четырёх — несколько карточек, в одном — нет договора, в четырёх — нет суммы, в двух — технический сбой. Сводка «84 ошибки» смешивает действия бухгалтера с работой интеграции, поэтому технический отказ стал объяснять отдельно. В сообщениях появились точная строка таблицы, название клиента, сумма, причина и действие. Столбец Y получил объяснение «Статус счёта». Позже контрольный итог выглядел так: 143 заявки к выставлению = 100 подтверждённых счетов + 43 заявки, требующие исправления. Отдельно исправил НДС в уже созданных тестовых счетах — у одного ИП НДС есть, цена уже включает его. Проект оформил в Git: исходники расширения, серверный код, тесты, инструкции получили историю изменений. Обновление перестало быть «скопировали файл и надеемся» — перед ним сохраняется прежнее состояние и выполняются проверки. На этом этапе перестал считать успешный запуск службы доказательством готовности. Нужны совпавшие числа: сколько приняли, сколько создали, сколько доставили и почему остальное остановилось. В следующей части расскажу, как автоматизировал тесты и внедрил ИИ-агента для бухгалтера. 👉 Телеграм: @hudushin_seo 👉 MAX: max.ru/id623410360097_biz 👉 Речевая аналитика: slishnoai.ru #ХудушинМаксим #ZarubaFitness #ЗарубаФитнес #Подольск