Как грамотный анализ ускорил работу в 3000 раз

20.05.26

Управление ИТ - Управление ИТ-департаментом

Как упростить, ускорить и роботизировать сервисные задачи средствами 1С без лишней сложности? Реальный кейс интеграции 1С с сервисом ФНС для обработки чеков самозанятых: от ручной работы и долгих ожиданий до автоматизации, которая сократила обработку с четырех с половиной часов до пяти секунд. Показываем, почему быстрая правка кода не всегда решает проблему, а грамотный анализ процесса может дать результат в сотни и тысячи раз лучше. Объясняем, как исчезновение удобной недокументированной функции на стороне внешнего сервиса заставило перестроить архитектуру и превратить 1С в центральный микросервис.

В этой статье будут практические заметки из жизни. Этот кейс закончился буквально в феврале. Работали с ним три года, а я занимался им примерно полтора года.
 


История вопроса простая. Обычная бухгалтерия, обычные услуги от самозанятых. Мы получаем чеки. Сначала бухгалтерия просто вручную забивала их в документ поступления. Потом скачали обработку с «Инфостарта»: по ссылке от налоговой получаем данные и можем все загрузить. Бухгалтеру жизнь облегчили. Все довольны, все хорошо. Айтишники, вы молодцы.

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

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


Рост нагрузки и оптимизация процессов



Но оказалось, что чеков у нас много. И самой большой проблемой было то, что налоговая отвечает не так быстро, как нам хотелось бы. У нас десятки баз и куча чеков.
 


Бухгалтерия приходит с вопросом: «А можно как-то ускорить?»

А что такое? Работали же, все устраивало.

«Ну да, – говорят, – работали. Но нам понравилось работать с самозанятыми. У нас их теперь много. Мы франшиза, так что организаций у нас тоже много. И как-то четыре с половиной часа тратить на обработку одного месяца не хочется».

Да, действительно проблема. Надо ускоряться. Давайте оптимизировать.

Открываем обработку, смотрим, как она работает. Ее делали коллеги до меня. Видимо, открыли ее в первый раз – тихий ужас.

Обработка была сделана молодым, талантливым 1Сником для своей маленькой бухгалтерии с маленьким количеством самозанятых. Она получает таблицу в Excel. По каждой таблице начинает проверять, где ИНН, где ссылка на чек, где фамилия получателя. И все это – в цикле по каждой строке таблицы.

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

Выясняется, что в одной базе у нас ведется 90% работы. При этом обработка каждый раз не знает, с чем ей приходится работать. По ссылке из налоговой ничего непонятно – просто набор цифр и букв. И только получив данные, можно посмотреть, это чек для нашей организации или для соседней.

Хорошо. Код мы перепишем, почтовый ящик отфильтруем. Но самое главное – это организовать процесс.

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

Хорошо. Программу мы отточили, данными занялись.
 

Изображение выглядит как снимок экрана, текст, диаграмма, дизайн Автоматически созданное описание


Смотрим дальше. Письмо может содержать ссылку на чек в теме, можно написать ее в теле письма, можно приложить таблицу. А в таблицу мы можем написать ИНН и уже сразу на входе смотреть, наше это письмо или нет.
 


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

Айтишники, вы молодцы. Про проблему забыли где-то на полгода или месяцев восемь.
 

Изображение выглядит как снимок экрана, текст, линия, График Автоматически созданное описание


Результат хороший. За счет оптимизации кода мы с четырех с половиной часов дошли до получаса. А за счет организации процесса и работы пользователей сократили время еще вдвое.


Технический кризис и вынужденное внедрение OCR


И тут через восемь месяцев, в феврале, случается катастрофа. Как всегда, ничего не работает. Часа полтора-два уходит на выяснение: а где у вас не работает? Что именно? Смотрим, что случилось.

Если послать ссылку на чек в налоговую, в конце там «/print», и мы получаем картинку. Оказывается, нигде это не публиковалось, нигде не афишировалось, но если послать в конце «xml», мы получаем xml-файл. Посылаем «json» – получаем json.

Мы этим пользовались, и все работало. А 20 февраля налоговая внезапно отключила этот сервис. У вас остается только картинка.

Срочно ремонтируем, бухгалтерию успокаиваем. Хотя бы что-то из налоговой мы получаем.

С помощью Яндекса удалось подружиться с налоговой и получать свои данные. Но Яндекс за это просит деньги – хотя бы 13 копеек за каждое удачное распознавание. Мы проверили: из тысячи посланных картинок не распозналась только одна.

Ладно. Вроде бы контур настроили. Яндекс высылает нам полный текст, который нашел на чеке. Мы поставили небольшой парсер – и все, получаем все свои нужные данные.


Архитектурная перестройка: 1С как центральный микросервис


Но это все-таки не то. И тут рождается мысль: у налоговой есть микросервис – посылаешь ссылку, получаешь картинку. У Яндекса есть микросервис – посылаешь картинку, получаешь текст. У нас же тоже есть микросервис.

Для своей 1С в свое время, когда выяснилось, что у нас десятки баз, была поставлена еще одна центральная база. Она точно такая же типовая бухгалтерия со своими добавленными мной расширениями, которая просто обслуживает эти базы: раз в пять минут проверяет доступность – работает или не работает. Раз в полчаса проверяет печатные формы и шаблоны документов: все ли у всех одинаково. Если эту центральную базу нагрузить еще одним сервисом, нам будет еще лучше.
 


Замечательно. У нас есть почтовый ящик, налоговая, Яндекс. Мы добавляем сюда микросервис 1С. И все начинает крутиться.
 


У нас центральная база. Только она одна обращается в почтовый ящик, получает новые ссылки, смотрит по регистру, обработаны они или нет. Если нет – отправляемся в налоговую, отправляемся в Яндекс, получаем новые данные.

Десяток наших баз, чтобы получить свои новые свежие данные, уже не стучатся куда-то во внешние сервисы. Просто делают запрос в центральную базу: «Нам за такой-то период дайте данные». И все. На всю обработку уходит теперь 5 секунд.
 

Изображение выглядит как снимок экрана, текст, линия, диаграмма Автоматически созданное описание


График в результате выглядит вообще фантастически: было четыре с половиной часа, стало 5 секунд. Вот теперь айтишники действительно молодцы.


Философия разработки и практические примеры автоматизации



Мы добились этого благодаря таким идеям: робот должен быть простым. Все, что он делает, может уместиться на один экран: часть с запросом, часть с ответом. Чем проще, тем лучше и тем надежнее оно работает.
 


1С – это тоже микросервис. И микросервис работает как в облаке, так и в звездчатой системе, или когда все совсем по-простому.
 


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

На этой идее, что 1С – тоже микросервис, я сделал несколько расширений, которые помогали мне в работе.

Вот, например, сообщение робота по проверке баз: кто-то отвечает, кто-то работает, кто-то не работает. Просто открыл телефон, посмотрел в Telegram. Если что-то не так, сразу можно позвонить сисадмину и сказать: «Alarm, работай».

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

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


Вот сервисные отчеты по состоянию наших баз. Надо проверить, все ли периоды у нас закрыты, можно ли двигаться дальше. Нажал кнопочку – через 10 секунд получил ответ: остались эти три базы. Можно уточнить у бухгалтерии, что случилось и когда будет готово.
 


Также можно посмотреть, все ли нормально у нас в отделе кадров, у всех ли правильные печатные формы.

Плюс обратите внимание на колонку «Версия». Состав информации по дополнительным обработкам в 1С скудный. Поэтому мы решили, что версия в формате «релиз 1», «версия 2», «подрелиз 35» – это неинформативно. Ставим дату.

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


Даже по шаблонам печатных форм видно, все ли поставлены или мы где-то что-то пропустили.

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции Анализ & Управление в ИТ-проектах.

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Управление ИТ-департаментом Бесплатно (free)

Масштабирование штата ИТ-подразделения – это всегда изменения, а любое изменение – это всегда больно, дорого и сложно. Расскажем о переходе ИТ от состояния «чёрного ящика» к полноценному партнёру, преимуществах аккредитации для выделенной ИТ-дочки и изменениях, которые потребовались в оргструктуре и подходах к руководству.

16.12.2024    2642    0    kosmonavtka    6    

13

Управление ИТ-департаментом Бесплатно (free)

Вы когда-нибудь задумывались, почему одни ИТ-компании растут из года в год минимум по 30%, а другие считают за счастье повторить показатели прошлого года? Одни ищут возможности: как выйти на новые проекты, адаптироваться к очередному кризису и нарастить объемы. Другие ищут оправдания: дефицит специалистов на рынке, гонка зарплат, клиенты в кризис экономят деньги… Расскажем о методике стратегического планирования OKR, которая позволяет управлять имеющимися ресурсами и выжимать максимум из того, что есть.

03.09.2024    1747    0    hobbit91    1    

4

Управление ИТ-департаментом Бесплатно (free)

В последнее время в ИТ-сфере получил распространение термин «бизнес-партнёр». О том, чем отличается новая модная должность от менеджера по изменениям, и как превратить ИТ-службу в бизнес-партнера холдинговой структуры, пойдет речь в статье.

26.09.2023    3853    0    tchee    0    

12

Управление ИТ-департаментом Бесплатно (free)

Когда с 1С в онлайне работают 1500 пользователей в режиме 24x7, создавая сотни тысяч документов в день, а бизнес регулярно просит новые фичи, которые потом должны работать с учетом SLA, проблема производительности и отказоустойчивости выходит на первый план.

21.08.2023    2410    0    user1272110    1    

5

Управление ИТ-департаментом Бесплатно (free)

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

18.08.2023    8593    0    Pryamonosov    2    

6

Управление ИТ-департаментом Бесплатно (free)

КРОК – ИТ-компания, выполняющая больше 2000 проектов в год, но у компании нет проектного офиса – его заменяют специализированные ИТ-инструменты и люди, которые общаются между собой. Расскажем о том, как сотрудничать с творцами автоматизированных систем и какие ИТ-инструменты использовать для получения обратной связи от команд и измерения «пульса» активностей.

24.07.2023    3109    0    user1693260    0    

5

Управление ИТ-департаментом Программист Руководитель проекта Бесплатно (free)

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

09.12.2022    4372    0    roman72    13    

13

Управление ИТ-департаментом Бесплатно (free)

Олег Филиппов, СТО WiseAdvice.Tech, рассказал, как эволюционировал стэк технологий в компании.

22.12.2021    5002    0    wiseadvice_tech    9    

38
Для отправки сообщения требуется регистрация/авторизация