С какими техническими сложностями и недостатками можно столкнуться при внедрении 1С:Документооборот?

Программист 1С v8.3 (Управляемые формы) 1С:Документооборот Управленческий учет IT и автоматизация бизнеса
← На главную

Программный продукт 1С:Документооборот (1С:ДО) является мощным инструментом для автоматизации бизнес-процессов, однако его внедрение часто сопровождается рядом технических сложностей. В рамках данной статьи мы проанализируем основные недостатки системы, выявленные практикующими специалистами, и рассмотрим способы их минимизации или решения. Мы разберем архитектурные особенности, проблемы производительности и нюансы настройки прав доступа.

Архитектура прав доступа и производительность RLS

Одной из самых обсуждаемых проблем 1С:ДО является механизм ограничения доступа на уровне записей (RLS). Рассмотрим подробнее, как это устроено. В системе используется сложная логика дескрипторов доступа. При изменении прав пользователя или его включении в новую группу система запускает пересчет прав по всем связанным объектам. Выясним причину, почему это вызывает "тормоза":

  1. Обновление дескрипторов: При записи нового пользователя или изменении профиля групп доступа система может "зависнуть" на длительное время (от нескольких минут до часов в крупных базах). Это происходит из-за того, что 1С:ДО пересчитывает таблицы прав для тысяч документов и задач.
  2. Блокировки транзакций: Во время интенсивного пересчета прав пользователи могут сталкиваться с ошибками блокировки. Разберем ситуацию: если включено ОтложенноеОбновлениеПрав, очередь может достигать десятков тысяч объектов, и пока права не обновятся, пользователь не увидит свои новые задачи или документы.
  3. Нагрузка на оборудование: Использование RLS существенно повышает требования к серверному оборудованию. Для стабильной работы крайне рекомендуется использовать SQL-сервер и SSD-диски. В файловом режиме работа системы с включенным RLS практически невозможна при наличии более 5-10 активных пользователей.

Проанализируем методы ускорения: в современных редакциях (начиная с 2.1 и особенно в 3.0) разработчики внедрили механизмы, оптимизирующие расчет прав. Тем не менее, для администратора важно следить за регламентными заданиями ОбновлениеПравДоступаОперативное и ОбновлениеПравДоступаДолгое. Если права "слетают" или не назначаются, иногда помогает полная очистка и пересчет прав через консоль администратора, хотя это и ресурсоемкая процедура.

Логика построения бизнес-процессов и замещение сотрудников

Многие пользователи жалуются на то, что механизмы замещения реализованы недостаточно прозрачно. Рассмотрим ситуацию: сотрудник уходит в отпуск, и на него назначается ДелегированиеПрав. Однако задачи, которые уже были направлены пользователю, не всегда автоматически "перелетают" к его заместителю в список "Мои задачи". Они остаются висеть на отсутствующем сотруднике, и заместитель должен искать их через специализированные списки или отчеты.

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


Процедура ПередЗаписьюЗадачи(Источник, Отказ, Замещение) Экспорт
    // Проверяем наличие активного заместителя в регистре сведений
    ТекДата = ТекущаяДата();
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   СведенияОЗамещении.Заместитель
        |ИЗ
        |   РегистрСведений.СведенияОЗамещении КАК СведенияОЗамещении
        |ГДЕ
        |   СведенияОЗамещении.Сотрудник = &Исполнитель
        |   И &ТекДата МЕЖДУ СведенияОЗамещении.ДатаНачала И СведенияОЗамещении.ДатаОкончания";
    
    Запрос.УстановитьПараметр("Исполнитель", Источник.Исполнитель);
    Запрос.УстановитьПараметр("ТекДата", ТекДата);
    
    Результат = Запрос.Выполнить();
    Если Не Результат.Пустой() Тогда
        Выборка = Результат.Выбрать();
        Выборка.Следующий();
        Источник.Исполнитель = Выборка.Заместитель;
    КонецЕсли;
КонецПроцедуры

Также стоит обратить внимание на настройки ролевой адресации. Если в шаблоне процесса указана роль (например, ГлавныйБухгалтер), но исполнитель на эту роль не назначен, бизнес-процесс может просто "зависнуть" на этапе выполнения, не выдавая явной ошибки инициатору.

Связи документов и учет кадровых данных

В 1С:ДО реализован универсальный механизм связей, но он имеет свои недостатки в плане юзабилити. Посмотрим на пример: при попытке связать документ с другим документом пользователю часто предлагается список без удобных фильтров по контрагентам или видам документов. Это затрудняет работу в базах с большим объемом данных.

Что касается кадрового учета, 1С:ДО не является полноценной HRM-системой. Попытка вести в нем учет кадровых приказов сталкивается с отсутствием штатных полей для выбора ФизическоеЛицо или Сотрудник в списках входящих/исходящих документов. Для полноценной реализации этого функционала приходится использовать Дополнительные реквизиты, однако настроить для них обязательность заполнения в старых версиях системы без доработки кода было проблематично.

Хранение файлов и работа с шаблонами MS Word

При активной работе с файлами база данных начинает стремительно расти. Выясним, как с этим бороться. Оптимальным решением является использование Томов хранения файлов на диске, а не внутри самой базы SQL. Это упрощает бэкапы и ускоряет работу с конфигурацией.

Проанализируем проблему с автозаполнением шаблонов MS Word. Часто специалисты сталкиваются с тем, что повторное автозаполнение файла не срабатывает корректно или требует специфических настроек на стороне клиента. В ряде случаев приходится лезть в программный код общего модуля, отвечающего за интеграцию с COMОбъект("Word.Application"), чтобы поправить логику передачи параметров из 1С в закладки документа.

Проблема удаления объектов

Удаление помеченных объектов в 1С:ДО — это настоящий "квест". Из-за высокой связанности данных (задачи, процессы, версии файлов, записи в регистрах сведений) типовая обработка УдалениеПомеченныхОбъектов может выдавать сотни ссылок, мешающих удалению. Например, невозможно удалить документ, пока не остановлены и не удалены все связанные с ним бизнес-процессы. При этом процессы часто нельзя просто пометить на удаление из общего списка, их нужно предварительно прерывать в специализированном рабочем месте администратора.

Переход на 1С:Документооборот 3.0: что изменилось?

Рассмотрим, как эволюционировал продукт. В версии 3.0 разработчики радикально пересмотрели многие спорные моменты:

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

← На главную