Как работают онлайн-взаиморасчеты в 1С:УТ 11 и стоит ли ожидать отказа от старых регистров?

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

В современных версиях 1С:Управление торговлей 11 (начиная с 11.4 и более поздних, таких как 11.5) произошла серьезная смена парадигмы учета расчетов с контрагентами. Мы привыкли к модели, где после проведения документов требовалось запускать регламентное задание по распределению расчетов. Теперь же система перешла на так называемые онлайн-взаиморасчеты. В этой статье мы подробно разберем, что это значит для пользователей и разработчиков, какие регистры уходят в прошлое и как правильно работать с новой архитектурой.

Эволюция механизмов: от офлайна к онлайну

Ранее в 1С:УТ 11 использовался «офлайн» режим. При такой схеме документы реализации или оплаты просто делали записи в регистры накопления, а конечное распределение авансов по накладным выполнялось фоновым заданием. Это часто приводило к тому, что в отчетах в течение дня пользователь видел неактуальную информацию: долг висел одновременно и как аванс, и как дебиторская задолженность.

Проанализируем, что изменилось с введением онлайн-режима. Теперь распределение происходит непосредственно в момент проведения документа. Система сама находит свободные остатки авансов или неоплаченные накладные и выполняет зачет по методу FIFO или по конкретным объектам расчетов. Это позволяет получать актуальные данные в отчетах мгновенно.

Какие регистры признаны устаревшими?

Важным вопросом для разработчиков (особенно тех, кто дорабатывал типовые механизмы) является изменение структуры данных. Разберем, какие регистры постепенно выводятся из эксплуатации:

  1. РасчетыСКлиентамиПоДокументам — старый регистр, использовавшийся для офлайн-распределения.
  2. РасчетыСПоставщикамиПоДокументам — аналогичный регистр для закупок.

Вместо них в актуальных версиях (УТ 11.5+) основная нагрузка ложится на новые регистры:

  1. РасчетыСКлиентами — содержит общую информацию о состоянии расчетов.
  2. РасчетыСКлиентамиПоСрокам — ключевой регистр для детализации задолженности по датам возникновения и плановым датам погашения.
  3. ПлановыеОплатыКлиентов — отвечает за хранение графиков оплат, которые еще не наступили фактически.

Важный момент для программистов: если у вас реализованы дописки, опирающиеся на регистры «По документам», при обновлении на релизы 11.5 и выше их необходимо переносить на новые регистры, так как старые перестают заполняться при включении новой функциональности.

Проблема некорректного долга при наличии отсрочки

Рассмотрим ситуацию, часто встречающуюся у пользователей: документ реализации проведен, по договору установлена отсрочка (например, 14 дней), но в отчетах сумма сразу попадает в колонку «Долг», и система может блокировать отгрузку из-за «наличия задолженности». Выясним причину такого поведения.

В новой модели взаиморасчетов система четко разделяет два понятия:

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

  1. Зайдите в документ Реализация товаров и услуг, перейдите на вкладку Дополнительно и проверьте поле График оплаты. Если он не заполнен или заполнен как «Оплата после отгрузки (0 дней)», система посчитает долг просроченным сразу в день отгрузки.
  2. Проанализируйте настройки лимита кредита в договоре или соглашении. Там можно указать «Запрещать отгрузку при наличии просроченной задолженности». Если выбрано просто «при наличии задолженности», блокировка будет срабатывать даже при действующей отсрочке.

Технические особенности работы с кодом в онлайн-режиме

Посмотрим на пример того, как система теперь обрабатывает данные. Поскольку распределение идет «на лету», в модулях менеджеров расчетов активно используются временные таблицы. Разработчикам больше не нужно искать код в регламентных заданиях, теперь логика сосредоточена в общих модулях, отвечающих за проведение документов по регистрам расчетов.

Для анализа движений мы можем использовать запросы к регистру РасчетыСКлиентамиПоСрокам. Обратите внимание на измерение ДатаПлановогоПогашения. Именно по нему система определяет, является ли долг просроченным.


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

Запрос.УстановитьПараметр("ТекущаяДата", ТекущаяДата());
Запрос.УстановитьПараметр("Аналитика", СсылкаНаАналитику);
Результат = Запрос.Выполнить().Выбрать();

Преимущества перехода на новую модель

Несмотря на сложность перестройки существующих систем, онлайн-взаиморасчеты дают ряд преимуществ, которые мы сейчас разберем:

Таким образом, будущее, о котором спрашивали на форумах, уже наступило. Полный переход на онлайн-взаиморасчеты — это не просто смена имен регистров, а качественное изменение оперативности учета. Рекомендуем пользователям внимательнее следить за заполнением графиков оплаты, а программистам — готовиться к рефакторингу своих расширений под новую структуру РасчетыСКлиентамиПоСрокам.

← На главную