- PVSM.RU - https://www.pvsm.ru -
Меня зовут Андрей, и последние 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С:ERP — нативная, из коробки;
Понятный вендор — для госсектора это критично;
Наличие специалистов — найти 1С-ника в последнее время стало куда проще;
Цена — адекватная для наших объемов;
graph LR
A[1С:ERP] -->|REST API| B[1С:Документооборот]
B --> C[Модуль согласования]
B --> D[Модуль контроля]
B --> E[Модуль отчетности]
Типовое решение 1С:Документооборот покрывало примерно 60% наших потребностей. Остальные 40% пришлось допиливать. Вот основные доработки:
// Упрощенный пример кода определения маршрута
Процедура ОпределитьМаршрутСогласования(Документ)
Если Документ.СуммаДокумента > 100000 Тогда
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Крупные закупки");
ИначеЕсли Документ.ТипЗакупки = Перечисления.ТипыЗакупок.ЕдинственныйПоставщик Тогда
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Единственный поставщик");
Иначе
МаршрутСогласования = Справочники.МаршрутыСогласования.НайтиПоНаименованию("Стандартный");
КонецЕсли;
// Добавляем динамических согласующих
Если Документ.КодПроекта = "ОКР" Тогда
ДобавитьСогласующего(МаршрутСогласования, "ГлавныйКонструктор");
КонецЕсли;
Возврат МаршрутСогласования;
КонецПроцедуры
Одна из ключевых проблем — документы «зависали» у согласующих. Решение:
// Регламентное задание проверки сроков
Процедура ПроверитьПросроченныеДокументы()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДокументыНаСогласовании.Ссылка,
| ДокументыНаСогласовании.ТекущийСогласующий,
| РАЗНОСТЬДАТ(ДокументыНаСогласовании.ДатаНачалаЭтапа, &ТекущаяДата, ДЕНЬ) КАК ДнейНаСогласовании
|ИЗ
| РегистрСведений.ДокументыНаСогласовании КАК ДокументыНаСогласовании
|ГДЕ
| ДокументыНаСогласовании.Статус = &СтатусНаСогласовании
| И РАЗНОСТЬДАТ(ДокументыНаСогласовании.ДатаНачалаЭтапа, &ТекущаяДата, ДЕНЬ) > 2";
// Первое напоминание через 2 дня
// Эскалация руководителю через 3 дня
// Эскалация топ-менеджменту через 5 дней
КонецПроцедуры
Нельзя просто взять и перевести всех на новую систему. Мы шли постепенно:
Пилотная группа (2 недели) — 5 человек, самые лояльные к изменениям
Расширенный пилот (1 месяц) — одно подразделение целиком
Параллельная работа (2 месяца) — новая система + старый процесс
Полный переход (1 месяц) — отключение старого процесса
К сожалению, преодолеть сопротивление к изменениям путем лояльности и эффективности процессов при использовании, задача не посильная. Устаревшая модель согласования была по нраву многим, так как подъем вопроса на высокий уровень позволял ускорить любой процесс, но фундаментально вопрос не решался. "Бегунки" были довольны тем что им платят зарплату за тривиально простую работу, инициаторы радостны, что сделали и забыли (Аргументация - ну мы сделали - а всё зависло в подразделении N), согласующие могли говорить, что документы только пришли, а по факту могли лежать на столе неделями, руководство считало - процесс идет, значит все хорошо.
# Дашборд для руководства (упрощенный пример)
metrics = {
"Среднее время согласования": {
"До": "14 - 30 дней",
"После": "2.1 дня",
},
"Потерянные документы": {
"До": "3%",
"После": "0%",
"Улучшение": "100%"
},
"Время на подготовку отчетов": {
"До": "16 часов/месяц",
"После": "10 минут/месяц",
"Улучшение": "99%"
}
}
После базового внедрения начали автоматизировать всё подряд:
Процедура СформироватьПакетДокументов(Заявка)
ПакетДокументов = Документы.ПакетДокументов.СоздатьДокумент();
// Автоматически создаем все необходимые документы
СоздатьТехническоеЗадание(ПакетДокументов, Заявка);
СоздатьРасчетНМЦК(ПакетДокументов, Заявка);
СоздатьПроектДоговора(ПакетДокументов, Заявка);
Если Заявка.СуммаЗакупки > 5000000 Тогда
СоздатьФинансовоеОбоснование(ПакетДокументов, Заявка);
КонецЕсли;
// Автоматически запускаем на согласование
ПакетДокументов.Записать(РежимЗаписиДокумента.Проведение);
ЗапуститьПроцессСогласования(ПакетДокументов);
КонецПроцедуры
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 — полная история изменений и согласований
Проблема: "У нас всегда так было" — главный враг автоматизации.
Решение: Радикальное внесение изменений путем создания нормативных документов, отказ участников процесса принимать документы не в регламентированной форме.
Проблема: Хотели сразу покрыть 100% процессов.
Решение: MVP first. Сначала базовый функционал, потом наращивание.
Проблема: Автоматизировали хаос, получили автоматизированный хаос.
Решение: Сначала регламент, потом автоматизация.
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+ документов в день практически без участия человека в рутинных операциях. Люди занимаются действительно важными задачами, а не перекладыванием бумажек.
Автор: Amonoc
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/avtomatizatsiya/430682
Ссылки в тексте:
[1] Источник: https://habr.com/ru/articles/947078/?utm_source=habrahabr&utm_medium=rss&utm_campaign=947078
Нажмите здесь для печати.