При внедрении и сопровождении системы 1С:Документооборот 3.0 (ДО) перед разработчиком неизбежно встает вопрос: как адаптировать справочник ДокументыПредприятия под специфические требования бизнеса? Этот справочник является ядром системы, и от того, какой путь доработки мы выберем — создание новых форм, программную модификацию существующих или использование дополнительных реквизитов — будет зависеть стабильность обновлений и производительность всей базы данных. В этой статье мы подробно проанализируем опыт ведущих специалистов и выработаем оптимальную стратегию кастомизации.
Рассмотрим ситуацию: для разных видов документов (договоры, служебные записки, распоряжения) требуются разные наборы полей. В старых версиях платформы или при неопытном подходе часто создают отдельные формы объекта для каждого вида. Проанализируем, почему это тупиковый путь:
Рекомендация: Всегда используем одну основную форму объекта, но модифицируем её программно. В 1С:Документооборот 3.0 предусмотрен механизм «Схем документов», который позволяет настраивать состав полей через интерфейс. Если же типовых возможностей настройки видимости недостаточно, мы прибегаем к коду в расширениях.
Механизм дополнительных реквизитов и сведений в ДО развит очень сильно. Выясним преимущества этого метода:
Однако проанализируем и «узкие места». Дополнительные реквизиты хранятся в табличной части справочника. Это означает, что при выполнении сложных отчетов или запросов по тысячам документов производительность будет ниже, чем при обращении к обычным реквизитам. Если вам нужно использовать поле как индекс для поиска или для связи в сложных запросах, доп. реквизиты могут стать «бутылочным горлышком».
Если бизнес-процесс требует добавления уникальных полей, которые будут использоваться постоянно и массово, мы выбираем путь добавления реквизитов в Справочник.ДокументыПредприятия через расширение. Разберем алгоритм действий по шагам:
Преф_ДатаПодписанияКонтрагентом), чтобы избежать конфликтов имен при обновлениях.ПриСозданииНаСервере.Посмотрим на пример программного добавления элемента на форму:
&НаСервере
Процедура Преф_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
// Определяем группу, в которую хотим добавить поле
ГруппаШапка = ЭтаФорма.Элементы.ГруппаШапка;
// Добавляем элемент программно
НовыйЭлемент = ЭтаФорма.Элементы.Добавить("Преф_ДатаПодписания", Тип("ПолеФормы"), ГруппаШапка);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "Объект.Преф_ДатаПодписания";
НовыйЭлемент.Заголовок = "Дата подписания (доп)";
КонецПроцедуры
Этот подход позволяет сохранить «чистоту» формы и обеспечить легкую поддержку. Мы не трогаем визуальный редактор формы в расширении (что часто ведет к ошибкам при обновлении), а управляем составом элементов через код.
Важно помнить о техническом ограничении СУБД (например, MS SQL Server). В справочнике ДокументыПредприятия уже сотни полей. Добавление еще 50-100 реквизитов может привести к тому, что размер строки таблицы превысит 8 КБ. Рассмотрим решение этой проблемы:
Если вам нужно добавить много специфических данных для определенных видов документов, вместо добавления реквизитов в сам справочник, создайте Регистр сведений. В качестве измерения используйте ссылку на документ, а в ресурсах опишите все нужные поля. На форму документа такой регистр выводится как отдельная вкладка или набор полей, которые подгружаются при открытии и сохраняются при записи документа.
Одной из самых сложных тем при доработке ДО является его интеграция с ERP, КА или УТ. Рассмотрим ситуацию: вы добавили новые реквизиты в ДО и хотите, чтобы они автоматически передавались в ERP через механизм бесшовной интеграции.
Проанализируем типичные проблемы интеграции:
default.vrd на стороне веб-сервера (IIS/Apache), увеличив параметры connectTimeout и sendTimeout.maxAllowedContentLength в конфигурации IIS.Если вы добавили реквизиты через «Дополнительные реквизиты», их сложнее связать с объектами ERP в типовом окне настройки связей. Вам придется писать программный код (скрипты) прямо в настройках интеграции. Если же реквизиты добавлены в метаданные, они видны в дереве выбора объектов интеграции «из коробки», что значительно упрощает жизнь консультантам.
Иногда документ требует наличия специфической таблицы (например, «График поставок» или «Перечень оборудования»), которой нет в типовом справочнике. Как мы выяснили ранее, добавление реальных ТЧ в справочник может перегрузить объект. Разберем альтернативный метод:
Используйте Регистр сведений с признаком «Ведущее» для измерения ссылки на документ. На форме документа создайте динамический список, отображающий данные этого регистра. Для редактирования строк можно открывать отдельное окно формы записи регистра или использовать редактирование «в списке». Это профессиональный подход, который не раздувает объект ДокументыПредприятия и обеспечивает высокую скорость работы базы.
Подводя итог, сформулируем основные правила доработки 1С:Документооборот 3.0:
ПриСозданииНаСервере или ПриЧтенииНаСервере.Соблюдение этих принципов позволит вашей системе оставаться производительной, а обновления будут проходить быстро и безболезненно для бизнеса.