Меня зовут Андрей, и последние 3 года я занимался цифровой трансформацией закупочных процессов в научно-исследовательском институте. Сегодня расскажу, как мы перевели организацию с бумажного документооборота на полностью автоматизированную систему в 1С:ERP с интеграцией 1С:Документооборот, и какие грабли собрали по пути.
Спойлер: экономия времени составила 70%, но путь был тернист.
Исходные данные: с чем пришлось работать
Масштаб проблемы
Объем документов: 100-150 документов в день (Пакет документов для визирования мог составлять 100+ страниц, учитывая конструкторскую документацию);
Количество согласующих: от 10 до 20 человек на документ;
Среднее время согласования: 10-15 дней (при нормативе 2-3 дня);
Процент потерянных документов: ~3% (казалось бы немного, но при наших объемах это критично);
Бюджет проектов: 500+ млн рублей в год.
Техническая база
Было:
- 1С:ERP(для учета)
- Excel (для всего остального)
- Папки на общем диске (версионность? не, не слышали)
- Email (основной канал коммуникации)
- Подписи ручкой (да, в 2024 году)
Человеческий фактор
Самое сложное — это не технологии, а люди. У нас было:
40% сотрудников старше 50 лет;
0% желания что-то менять ("Работает же!");
100% уверенность руководства, что "эта ваша автоматизация - пустая трата денег;
Этап 1: Выбор решения и архитектура
Почему 1С:Документооборот?
Интеграция с 1С:ERP — нативная, из коробки;
Понятный вендор — для госсектора это критично;
Наличие специалистов — найти 1С-ника в последнее время стало куда проще;
Цена — адекватная для наших объемов;
Архитектура решения
graph LR
A[1С:ERP] -->|REST API| B[1С:Документооборот]
B --> C[Модуль согласования]
B --> D[Модуль контроля]
B --> E[Модуль отчетности]
Этап 2: Разработка и кастомизация
Главная боль: интеграция с существующими процессами
Типовое решение 1С:Документооборот покрывало примерно 60% наших потребностей. Остальные 40% пришлось допиливать. Вот основные доработки:
1. Автоматическое создание маршрутов согласования
// Упрощенный пример кода определения маршрута
Процедура ОпределитьМаршрутСогласования(Документ)
Если Документ.СуммаДокумента > 100000 Тогда
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Крупные закупки");
ИначеЕсли Документ.ТипЗакупки = Перечисления.ТипыЗакупок.ЕдинственныйПоставщик Тогда
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Единственный поставщик");
Иначе
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Стандартный");
КонецЕсли;
// Добавляем динамических согласующих
Если Документ.КодПроекта = "ОКР" Тогда
ДобавитьСогласующего(МаршрутСогласования, "ГлавныйКонструктор");
КонецЕсли;
Возврат МаршрутСогласования;
КонецПроцедуры
2. Система эскалации и контроля сроков
Одна из ключевых проблем — документы «зависали» у согласующих. Решение:
// Регламентное задание проверки сроков
Процедура ПроверитьПросроченныеДокументы()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДокументыНаСогласовании.Ссылка,
| ДокументыНаСогласовании.ТекущийСогласующий,
| РАЗНОСТЬДАТ(ДокументыНаСогласовании.ДатаНачалаЭтапа, &ТекущаяДата, ДЕНЬ) КАК ДнейНаСогласовании
|ИЗ
| РегистрСведений.ДокументыНаСогласовании КАК ДокументыНаСогласовании
|ГДЕ
| ДокументыНаСогласовании.Статус = &СтатусНаСогласовании
| И РАЗНОСТЬДАТ(ДокументыНаСогласовании.ДатаНачалаЭтапа, &ТекущаяДата, ДЕНЬ) > 2";
// Первое напоминание через 2 дня
// Эскалация руководителю через 3 дня
// Эскалация топ-менеджменту через 5 дней
КонецПроцедуры
Этап 3: Внедрение — как не сломать работающий бизнес
Поэтапный переход
Нельзя просто взять и перевести всех на новую систему. Мы шли постепенно:
Пилотная группа (2 недели) — 5 человек, самые лояльные к изменениям
Расширенный пилот (1 месяц) — одно подразделение целиком
Параллельная работа (2 месяца) — новая система + старый процесс
Полный переход (1 месяц) — отключение старого процесса
Обучение: Метод кнута
К сожалению, преодолеть сопротивление к изменениям путем лояльности и эффективности процессов при использовании, задача не посильная. Устаревшая модель согласования была по нраву многим, так как подъем вопроса на высокий уровень позволял ускорить любой процесс, но фундаментально вопрос не решался. "Бегунки" были довольны тем что им платят зарплату за тривиально простую работу, инициаторы радостны, что сделали и забыли (Аргументация - ну мы сделали - а всё зависло в подразделении N), согласующие могли говорить, что документы только пришли, а по факту могли лежать на столе неделями, руководство считало - процесс идет, значит все хорошо.
Метрики, которые убедили руководство
# Дашборд для руководства (упрощенный пример)
metrics = {
"Среднее время согласования": {
"До": "14 - 30 дней",
"После": "2.1 дня",
},
"Потерянные документы": {
"До": "3%",
"После": "0%",
"Улучшение": "100%"
},
"Время на подготовку отчетов": {
"До": "16 часов/месяц",
"После": "10 минут/месяц",
"Улучшение": "99%"
}
}
Этап 4: Оптимизация и масштабирование
Автоматизация рутины через обработки
После базового внедрения начали автоматизировать всё подряд:
Автоматическое формирование пакетов документов
Процедура СформироватьПакетДокументов(Заявка)
ПакетДокументов = Документы.ПакетДокументов.СоздатьДокумент();
// Автоматически создаем все необходимые документы
СоздатьТехническоеЗадание(ПакетДокументов, Заявка);
СоздатьРасчетНМЦК(ПакетДокументов, Заявка);
СоздатьПроектДоговора(ПакетДокументов, Заявка);
Если Заявка.СуммаЗакупки > 5000000 Тогда
СоздатьФинансовоеОбоснование(ПакетДокументов, Заявка);
КонецЕсли;
// Автоматически запускаем на согласование
ПакетДокументов.Записать(РежимЗаписиДокумента.Проведение);
ЗапуститьПроцессСогласования(ПакетДокументов);
КонецПроцедуры
Интеграция с Power BI для аналитики
1С умеет в отчеты, но Power BI — это другой уровень:
-- SQL запрос для выгрузки данных в Power BI
SELECT
d.DocumentID,
d.DocumentType,
d.Amount,
d.CreationDate,
DATEDIFF(day, d.CreationDate, d.ApprovalDate) as ApprovalDays,
u.Department,
p.ProjectCode,
p.ProjectBudget
FROM
Documents d
JOIN Users u ON d.CreatorID = u.UserID
JOIN Projects p ON d.ProjectID = p.ProjectID
WHERE
d.Status = 'Approved'
AND d.CreationDate >= DATEADD(month, -6, GETDATE())
Результаты: цифры, которые говорят сами за себя
Качественные изменения
Прозрачность процессов — в любой момент видно, где находится документ
Контроль исполнения — автоматические напоминания и эскалации
Единая точка правды — все версии документов в одном месте
Аудит и compliance — полная история изменений и согласований
Грабли, на которые мы наступили
Грабли #1: Недооценка сопротивления
Проблема: "У нас всегда так было" — главный враг автоматизации.
Решение: Радикальное внесение изменений путем создания нормативных документов, отказ участников процесса принимать документы не в регламентированной форме.
Грабли #2: Попытка автоматизировать всё и сразу
Проблема: Хотели сразу покрыть 100% процессов.
Решение: MVP first. Сначала базовый функционал, потом наращивание.
Грабли #3: Отсутствие регламентов
Проблема: Автоматизировали хаос, получили автоматизированный хаос.
Решение: Сначала регламент, потом автоматизация.
Технический стек и инструменты
Core:
- 1C:ERP: 8.3.18
- 1C:Документооборот: 2.1
- MS SQL Server: 2019
Интеграции:
- REST API: для связи между системами
- RabbitMQ: для асинхронной обработки
- Python: для внешних обработок
Мониторинг:
- Grafana: дашборды для IT
- Power BI: бизнес-аналитика
Инфраструктура:
- Сервер: 32 CPU, 128 GB RAM
- Пользователей: 200+ одновременно
- База данных: ~500 GB
Выводы и рекомендации
Что работает:
Поэтапное внедрение — не пытайтесь изменить всё за раз
Метрики с первого дня — иначе не докажете эффективность
Вовлечение пользователей — они должны хотеть изменений
Простота интерфейса — если нужна инструкция, вы проиграли
Быстрые победы — покажите результат в первые 2 недели
Что не работает:
Копирование чужих процессов без адаптации
Экономия на обучении пользователей
Игнорирование обратной связи
Отсутствие поддержки после внедрения
Если вы думаете об автоматизации документооборота в своей организации, вот мой главный совет: начните с малого, но думайте о большом.
Наш проект окупился за 8 месяцев. Сейчас система обрабатывает 100+ документов в день практически без участия человека в рутинных операциях. Люди занимаются действительно важными задачами, а не перекладыванием бумажек.
skela23
Интересная тема, вы бы вместо кусков кода, разместили бы схемы процессов. Так бы было информативнее
Amonoc Автор
Их надо обезличивать, так как в наше время сложно что-то показать без последствий)
Я попробую)