Как организовать взаиморасчеты в разрезе счетов в 1С:Управление торговлей 11?

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

В типовой конфигурации 1С:Управление торговлей 11 (УТ 11) часто возникает ситуация, когда пользователи, привыкшие к работе в 1С:Бухгалтерия предприятия (БП), пытаются найти привычный разрез учета — Счет на оплату. В БП счет является ключевым звеном, по которому отслеживаются оплаты. Однако в УТ 11 архитектура построена иначе: здесь первичным является Заказ или Объект расчетов. В этой статье мы разберем, как реализовать учет «по счетам», не ломая типовую логику системы и не прибегая к опасному переписыванию регистров.

Понимаем методологию: Почему в УТ нет взаиморасчетов по «Счетам»?

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

Документ Счет на оплату в УТ 11 является, по сути, лишь «печатной формой» или вспомогательным документом для казначейства. Он не делает движений по регистрам накопления РасчетыСКлиентами или РасчетыСПоставщиками. Поэтому ответ на вопрос «как сделать расчеты по счетам» кроется в правильной настройке Заказов.

Решение 1: Использование Заказов в роли Счетов (Методологическое)

Рассмотрим самый правильный и «чистый» способ. В 1С:УТ 11 функционал документа Заказ клиента полностью поглощает функционал счета. Если ваша бизнес-логика требует оплаты по конкретному документу, выполним следующие шаги:

  1. Перейдем в настройки договора с контрагентом.
  2. На вкладке Расчеты установим переключатель Детализация расчетов в положение По заказам.
  3. Теперь каждый созданный Заказ клиента будет выступать отдельным объектом расчетов.

В этом случае при поступлении оплаты в документе Поступление безналичных денежных средств в качестве объекта расчетов мы выбираем именно Заказ. В отчетах, таких как Ведомость расчетов с клиентами, мы увидим дебиторскую и кредиторскую задолженность в разрезе каждого заказа, что фактически и будет являться задолженностью по счету.

Решение 2: Взаиморасчеты со счетами поставщиков

Ситуация со счетами от поставщиков сложнее, так как Заказ поставщику не всегда удобно создавать заранее. Однако, начиная с актуальных версий УТ 11.5, в системе появился документ Счет на оплату поставщика. Рассмотрим его особенности:

Этот документ позволяет зафиксировать реквизиты входящего счета (номер, дату, сумму) и запланировать оплату в Платежном календаре. Однако, чтобы он стал объектом расчетов, методологически верно будет создать на его основании Заказ поставщику. Именно Заказ поставщику станет той аналитикой, которая «пройдет» через все регистры и покажет долг. Для удобства поиска в заказе следует заполнять поле Номер входящего документа, куда вписывается номер реального счета поставщика.

Решение 3: Синхронизация с Бухгалтерией (БП 3.0)

Выясним причину основной боли многих компаний — загрузка оплат из БП. Бухгалтеры разносят банк в БП, где зачастую нет заказов, и оплата падает просто «на договор». При миграции в УТ такие оплаты становятся «авансами» и не закрывают конкретные заказы (счета).

Чтобы решить эту проблему без изменения кода, проанализируем возможности типового обмена:

Техническая реализация через расширение (для разработчиков)

Если типовой функционал категорически не подходит и вы решили добавить справочник Счета или использовать документ Счет на оплату как объект расчетов, вам придется работать с механизмом определяемых типов. Рассмотрим пример, как система понимает, что может быть объектом расчетов.

В конфигураторе найдем ОпределяемыйТип.ОбъектРасчетов. Чтобы добавить туда новый документ, нужно включить его в состав этого типа через расширение. Однако помните, что это лишь верхушка айсберга. Вам придется дорабатывать программный интерфейс (API) модулей расчета, таких как РасчетыСКлиентами. Посмотрим на пример кода, который может потребоваться при программном заполнении объекта расчетов в платежном документе через расширение:


// Пример модификации заполнения объекта расчетов в расширении
&После("ЗаполнитьОбъектРасчетовВПлатежке")
Процедура Расш1_ЗаполнитьОбъектРасчетовВПлатежке(ДокументОбъект, Параметры)
    // Если в доп. реквизитах указан наш "Счет", подставляем его
    Если ЗначениеЗаполнено(ДокументОбъект.ДополнительныеРеквизиты.Найти(ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("СсылкаНаСчет"))) Тогда
        ДокументОбъект.ОбъектРасчетов = ДокументОбъект.ДополнительныеРеквизиты.Найти(...).Значение;
    КонецЕсли;
КонецПроцедуры

Важное предупреждение: Вмешательство в логику Объектов расчетов крайне не рекомендуется. Это может привести к некорректной работе Фонового задания по расчету взаиморасчетов, неверному формированию записей в регистре ДетализацияРасчетовПоПартнерам и «развалу» отчета Задолженность клиентов по срокам.

Итоги и рекомендации

Подводя итог, разберем краткий алгоритм действий для внедрения учета по счетам в УТ 11:

  1. Откажитесь от идеи внедрения новой сущности «Счет» в регистры взаиморасчетов. Это создаст огромные проблемы при обновлении и поддержке системы.
  2. Используйте Заказы. Настройте в договорах детализацию По заказам. В печатных формах заказов можно изменить заголовок с «Заказ №...» на «Счет на оплату №...».
  3. Для входящих счетов поставщиков используйте типовой документ Счет на оплату поставщика для планирования, но взаиморасчеты ведите по Заказам поставщику.
  4. Если данные приходят из БП, настройте правила сопоставления так, чтобы номер счета из комментария платежа помогал системе найти нужный Заказ клиента в УТ.

Такой подход позволит вам сохранить чистоту конфигурации, получать корректную управленческую отчетность и при этом удовлетворить требования пользователей и бухгалтерии по детализации учета в разрезе выставленных документов.

← На главную