Колонка «процент оплаты» в списке реализаций 1С: три способа без переписывания конфигурации | infolimp.ru

Колонка «процент оплаты» в списке реализаций 1С: три способа без переписывания конфигурации

11 мая 2026 · infolimp.ru

Автор: 1С Инсайдер · роль: практик 1С · проверка: типовые конфигурации и рабочие сценарии · 0 комментариев

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

Что считать «процентом оплаты»

Базовая логика одинакова для любой конфигурации: процент оплаты = сумма поступлений по документу-основанию, делённая на сумму реализации, умноженная на 100. Спор только в том, где брать поступления:

Имена объектов в примерах ниже даны под БП 3.0; в УТ / ERP / нетиповых их нужно заменить на свои. Логика остаётся той же.

Три способа добавить колонку

СпособГде живётКому подходитМинусы
1. Пользовательская настройка формы Только у пользователя, без правки конфигурации Когда нужно «себе» одному менеджеру; не требует прав конфигуратора Не делится с коллегами, не переживает обновления настроек пользователя
2. Дополнительный реквизит через БСП В подсистеме «Свойства» / «Дополнительные реквизиты» Когда нужно для группы пользователей и обновлять конфигурацию не хочется Значение не пересчитывается автоматически — нужна процедура заполнения
3. Расширение конфигурации Файл .cfe рядом с конфигурацией Когда нужно «для всех», централизованно, на годы Требует осторожности при обновлениях — расширение может «отвалиться» от формы

Способ 1 — за пять минут

В режиме пользователя: «Ещё → Изменить форму → Поля → Добавить поле → выбрать реквизит». Если в реквизитах списка нет готового «процент оплаты», его в этом режиме не сделать — этот способ работает только когда колонка уже посчитана где-то ниже.

Поэтому Способ 1 — это либо «настройка существующей колонки», либо мостик, после которого вы всё равно идёте в Способ 2 или 3.

Способ 2 — дополнительный реквизит, заполняемый по событию

Работает при двух условиях: в конфигурации развёрнута подсистема БСП «Свойства / Дополнительные реквизиты и сведения», и для документа реализации включена возможность хранить дополнительные реквизиты (НСИ и администрирование → Общие настройки → Дополнительные реквизиты). Если хотя бы одно условие не выполнено — переходите к Способу 3.

Завести дополнительный реквизит «Процент оплаты» у документа реализации, тип — Число. Заполнять его — подпиской на событие записи документов поступлений (поступление на расчётный счёт, приходный кассовый ордер) и самой реализации:

// Псевдокод подписки на ПриЗаписи документа поступления
Процедура ОбновитьПроцентОплаты(ДокументРеализации) Экспорт

    СуммаДокумента = ДокументРеализации.СуммаДокумента;
    Если СуммаДокумента = 0 Тогда
        Возврат;
    КонецЕсли;

    СуммаОплат = РасчетыСПокупателями.ПолучитьСуммуОплат(ДокументРеализации);

    Процент = Окр(СуммаОплат / СуммаДокумента * 100, 2);

    // Запись через стандартный механизм БСП
    УправлениеСвойствами.ЗаписатьЗначениеСвойства(
        ДокументРеализации,
        ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.ПроцентОплаты,
        Процент);

КонецПроцедуры

В реальной конфигурации имена объектов будут другими: РасчетыСПокупателями — это абстрактное имя вашего общего модуля. Где именно брать сумму оплат — зависит от конфигурации:

На больших списках (сотни–тысячи строк) не считайте процент оплаты «на лету» через вычисляемое поле формы — открытие списка заметно замедлится. Если же список почти всегда отфильтрован до десятков строк («мои за сегодня», «один контрагент»), вычисляемое поле остаётся самым дешёвым вариантом — без подписок и расширения. В остальных случаях лучше посчитать один раз при записи и хранить готовое число.

Способ 3 — расширение конфигурации с подпиской

В Конфигураторе создайте расширение (.cfe), добавьте в него реквизит «ПроцентОплаты» в документ реализации и подписку «ПриЗаписи» на документы платежей. В обработчике подписки — тот же расчёт, что в Способе 2, только без БСП-обвязки: вы просто пишете значение в реквизит документа.

В формах списка, которые система генерирует автоматически, колонка появится сама — её останется только добавить через редактор формы. Для переопределённых форм (АРМ менеджера, специальный журнал документов) расширения формы списка нужно делать отдельно: расширение реквизита само в чужую форму не вставится.

Чек-лист внедрения

  1. Определите, в какой конфигурации работаете (БП 3.0 / УТ 11 / ERP / нетиповая) и где у вас хранятся расчёты с покупателями.
  2. Выберите способ из таблицы — для большинства команд это Способ 3 (расширение).
  3. Создайте реквизит «ПроцентОплаты» типа Число(5,2) у документа реализации.
  4. Напишите функцию расчёта суммы оплат по документу-основанию — это самая важная часть, проверьте её на 5–10 реальных документах.
  5. Сделайте подписку «ПриЗаписи» на документы поступления денежных средств — они будут триггерить пересчёт.
  6. Сделайте отдельную обработку «Пересчитать процент оплаты» для группы документов — пригодится при первичном заполнении и после обновлений.
  7. Добавьте колонку в форму списка через редактор формы расширения.
  8. Протестируйте: создайте реализацию на 1000 ₽, проведите оплату на 600 ₽, убедитесь, что в списке появилось «60.00».

Типичные ошибки

Профессиональные решения для 1С и marketplace-интеграций — каталог отчётов и инструментов на витрине НОПи.

Перейти в каталог решений →