Часто в процессе работы с типовыми конфигурациями, такими как 1С:Управление торговлей или ERP, разработчики и пользователи сталкиваются с ситуацией, когда стандартные колонки «% оплаты» и «% отгрузки» перестают заполняться после очередного обновления системы или при изменении настроек договора. Давайте разберемся, почему это происходит и как правильно подойти к решению данной задачи.
Первое, что необходимо понять — это архитектурное решение разработчиков 1С. В типовых механизмах системы расчет процентов оплаты и отгрузки в динамическом списке напрямую зависит от способа ведения взаиморасчетов. Если в настройках договора выбрано «По договору в целом», система намеренно отключает автоматический расчет этих показателей для конкретного документа заказа.
Причины такого ограничения заключаются в следующем:
ВзаиморасчетыСПартнерами и РасчетыСКлиентами. В базах с большим количеством документов это приводит к критическому замедлению работы интерфейса.Разберем, какие подходы можно применить, если бизнесу критически важно видеть эти данные в списке заказов.
Самый правильный с точки зрения архитектуры 1С способ — переход на ведение взаиморасчетов «По заказам». Этот подход позволяет:
Вместо того чтобы перегружать динамический список документов, воспользуйтесь аналитическими отчетами. Такие отчеты, как Ведомость расчетов с клиентами, позволяют гибко настраивать группировки и вычисления. Вынос логики расчетов в отчеты переносит нагрузку с интерфейса пользователя на сервер аналитики, что является стандартом при работе с большими объемами данных.
Если отказ от расчетов «по договору» невозможен, опытные программисты могут реализовать доработку через расширения конфигурации. Разберем основные этапы такой работы:
Пример логики запроса, которую можно использовать в расширении для анализа состояния заказа:
ВЫБРАТЬ
ЗаказыКлиентов.Ссылка КАК Заказ,
ЕСТЬNULL(Взаиморасчеты.СуммаОплаты, 0) КАК СуммаОплаты,
ЗаказыКлиентов.СуммаДокумента КАК СуммаЗаказа
ИЗ
Документ.ЗаказКлиента КАК ЗаказыКлиентов
ЛЕВОЕ СОЕДИНЕНИЕ
РегистрНакопления.РасчетыСКлиентами.Остатки(, ) КАК Взаиморасчеты
ПО ЗаказыКлиентов.Ссылка = Взаиморасчеты.ОбъектРасчетов
Современная методология 1С предлагает уходить от «процентных» показателей к статусной модели. Вместо того чтобы вычислять проценты, бизнес-процесс настраивается через статусы:
Статусы устанавливаются либо менеджером вручную, либо автоматически с помощью регламентных заданий при наступлении определенных условий. Такой подход более устойчив к изменениям в структуре взаиморасчетов и упрощает принятие решений по работе с клиентами.
Подводя итог, можно сказать, что отсутствие процентов в списке заказов — это не ошибка, а осознанное ограничение платформы. Анализируйте потребности вашего бизнеса и выбирайте решение: от изменения настроек взаиморасчетов до профессиональной доработки через расширения.