← На главную
При разработке интеграций и веб-кабинетов для партнеров часто возникает вопрос: зачем в конфигурации «1С:Управление торговлей 11» существует отдельный документ СверкаВзаиморасчетов, если при формировании печатной формы данные о задолженности собираются динамическим запросом? Выясним причину такого архитектурного решения и подробно разберем, как правильно реализовать вывод акта сверки во внешние системы.
Архитектурное назначение документа «Сверка взаиморасчетов»
На первый взгляд кажется, что документ выполняет исключительно роль фильтра по периоду, организации и контрагенту. Однако его задачи значительно шире:
- Регистрация факта и контроль бизнес-процесса. Документ фиксирует, когда именно проводилась сверка с контрагентом, за какой конкретно интервал времени и кто из сотрудников назначен ответственным за процедуру.
- Хранение данных и защита от перепроведения документов. В современных версиях при включенном механизме «Онлайн-взаиморасчеты» документ сохраняет табличные части с данными организации и контрагента, а также фиксирует расхождения («Сверена с разногласиями», «Отклонена»). Это гарантирует, что сверка не изменится задним числом при случайной модификации первичных документов в закрытом периоде.
- Основа для юридически значимого ЭДО. Документ является базой для обмена электронными актами по формату ФНС России через операторов ЭДО, фиксации титула покупателя и электронной цифровой подписи.
- Служебные механизмы интеграции. На основании документов сверки функционирует интеграция с сервисом
1С:Сверка 2.0 для сопоставления расхождений по первичным документам.
Проблема создания документов из личного кабинета клиента
Когда перед разработчиком встает задача дать клиенту возможность самостоятельно просматривать и сверять взаиморасчеты через внешний сайт или личный кабинет, возникает соблазн программно создавать документ СверкаВзаиморасчетов при каждом запросе пользователя. Проанализируем, почему этого делать не стоит:
- Засорение базы данных. Постоянная генерация новых ссылочных документов внешними клиентами приведет к разрастанию таблиц и хаосу в журнале документов, из-за чего бухгалтеры и менеджеры потеряют контроль над реальными процессами сверки.
- Транзакционные блокировки и производительность. Запись объекта
ДокументОбъект инициирует проверку прав, выполнение кода в модулях объекта и подписках на события, захватывая транзакционные блокировки. При одновременной работе множества клиентов это вызовет просадку производительности всей системы. - Безопасность и RLS. Предоставление внешним учетным записям права на запись документов в базу увеличивает риски ошибок в шаблонах ограничений на уровне записей (RLS) и потенциальной утечки данных других партнеров.
Варианты реализации сверки для внешних систем
Разберем два корректных подхода к решению задачи, исключающих захламление информационной базы.
Вариант 1. Динамическое формирование данных через отчет или HTTP-сервис (рекомендуемый)
Оптимальное решение заключается в том, чтобы выдавать клиенту в веб-интерфейс расчетные данные напрямую из регистров взаиморасчетов, формируя готовый отчет или печатную форму динамически без создания документа.
Рассмотрим по шагам логику работы этого метода:
- Личный кабинет отправляет запрос к
HTTP-сервису 1С с передачей параметров: период сверки и идентификатор контрагента. - Сервис выполняется в привилегированном режиме, проверяет права и с жестким отбором считывает остатки и обороты из регистров:
РасчетыСКлиентами, РасчетыСКлиентамиПоСрокам, а при необходимости и РасчетыСПоставщиками. - В ответ сервис возвращает JSON-структуру с операциями либо готовый PDF-файл печатной формы отчета (например, сформированный на базе типовой схемы компоновки данных
СверкаВзаиморасчетов). - Если клиенту требуется официальный документ, в личном кабинете реализуется отдельная кнопка «Запросить официальную сверку». Только по этому явному действию создается один документ со статусом «Создана» или «На сверке», который поступает в работу ответственному менеджеру.
Вариант 2. Использование типовой подсистемы «Самообслуживание партнеров»
Если для работы с клиентами применяется штатный функционал конфигурации, разберем возможности встроенного механизма самообслуживания:
- Для внешнего пользователя настраивается специальный профиль доступа, открывающий интерфейс самообслуживания партнеров.
- Клиент получает доступ к просмотру своих текущих расчетов и состоянию задолженности.
- Формирование печатной формы сверки выполняется без создания промежуточных документов в журнале оперативного учета, что исключает человеческий фактор и ошибки дублирования.
Выводы
Документ СверкаВзаиморасчетов в УТ 11 служит для юридической фиксации состояния расчетов, ведения претензионной работы и поддержки ЭДО. Для пользовательских кабинетов и внешних витрин создание документов в базе на каждый клик является архитектурной ошибкой. Правильный подход — оперативный вывод данных запросом или отчетом, а создание документа — только в качестве регламентированного действия при подтвержденном согласовании расчетов.