При работе в 1С:ERP Управление предприятием 2.4 многие пользователи и аналитики сталкиваются с особенностью: при использовании объекта расчетов «По договору» автоматическое распределение оплат по методу ФИФО (First In, First Out) происходит строго по хронологии первичных документов (накладных, актов). Это часто вызывает вопросы, особенно когда в системе зафиксированы четкие графики платежей и отсрочки, которые, казалось бы, должны определять приоритет погашения долга. В этой статье мы подробно разберем внутреннюю архитектуру расчетов, выясним причины такого поведения системы и найдем способы корректной настройки отчетности.
Для начала проанализируем, как 1С:ERP разделяет информацию о долгах. В системе сосуществуют два параллельных слоя данных, которые не всегда пересекаются в момент проведения документов:
ПриобретениеТоваровУслуг или РеализацияТоваровУслуг). Именно на этом слое работает бухгалтерский учет и регистры накопления, отвечающие за сальдо расчетов.Разберем ситуацию: у вас есть две накладные. Первая от 1-го числа с отсрочкой 30 дней, вторая от 5-го числа с оплатой по факту (0 дней). С точки зрения «Плана», первой должна быть оплачена вторая накладная. Однако механизм ФИФО при объекте расчетов «По договору» всегда выберет накладную от 1-го числа, так как она является более ранним «фактическим» возникновением долга.
Выясним, почему разработчики выбрали именно такой подход. Когда в качестве объекта расчетов выбран «Договор», система воспринимает его как единую «корзину» задолженности. При поступлении оплаты или проведении взаимозачета запускается фоновое регламентное задание ВыполнениеОтложенныхДвиженийПоРасчетам.
Этот алгоритм работает следующим образом:
РасчетыСКлиентами (или РасчетыСПоставщиками).Проанализируем претензию многих пользователей: «Отчеты по просрочке показывают ерунду». Это происходит из-за конфликта ФИФО и графиков. Если оплата закрыла раннюю накладную (которая еще не просрочена по графику), то более поздняя накладная (у которой срок оплаты уже наступил) остается «висеть» в системе как неоплаченная.
Рассмотрим пример в цифрах:
Алгоритм ФИФО закроет Реализацию №1. В итоге в отчете по задолженности мы увидим: долг по Реализации №2 (1000 руб.), который является просроченным на 4 дня. Пользователь возмущен: «Я же заплатил, почему у меня висит просрочка?». Но с точки зрения системы, вы закрыли обязательство, возникшее первым по времени.
Если для вашего бизнеса критично, чтобы оплаты закрывали задолженность именно в соответствии со сроками оплаты (плановыми датами), необходимо пересмотреть настройки ведения расчетов. Рассмотрим основные варианты:
Это самый эффективный способ решить проблему. Когда объектом расчетов является конкретный документ (заказ или накладная), оплата привязывается к нему напрямую (либо вручную в платежном документе, либо через подбор). В этом случае:
Начиная с поздних релизов ветки 2.4 и в версии 2.5, была внедрена новая архитектура расчетов. Разберем ее ключевые отличия:
РасчетыПоСрокам.Важно понимать, что логика 1С опирается на требования законодательства и арбитражную практику. В суде при отсутствии четкого указания в назначении платежа, какой именно документ оплачивается, задолженность гасится в порядке ее возникновения (по датам первичных документов). С точки зрения бухгалтерского учета, «срок оплаты» — это лишь условие договора, которое не меняет факт того, что долг по первой накладной возник раньше.
Посмотрим на технический аспект реализации в коде (схематично):
Процедура РаспределитьДолгПоФИФО(ОбъектРасчетов)
// Система выбирает документы, увеличивающие долг,
// упорядочивая их по МоментуВремени (Дата + Ссылка)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Документ, СуммаДолг ИЗ РегистрРасчетыСКлиентами
ГДЕ ОбъектРасчетов = &ОбъектРасчетов
УПОРЯДОЧИТЬ ПО Период, Регистратор.МоментВремени";
// ... логика распределения суммы платежа по найденным строкам
КонецПроцедуры
Как видим, в запросе отсутствует поле ДатаПлатежа. Это подтверждает, что механизм спроектирован для работы с хронологией документов.
Подведем итоги нашего анализа. Автоматическое закрытие по ФИФО в 1С:ERP — это инструмент для массового учета, где приоритетом является хронология возникновения обязательств, а не графики оплат. Если для вас важна точность отчетов по просрочке при использовании объекта «По договору», мы рекомендуем:
Таким образом, «фатальный недостаток», о котором часто говорят пользователи, является осознанным архитектурным решением, направленным на баланс между юридической чистотой учета и производительностью системы.