Документация Формулы
Разделы документации

Руководство

Обзор руководства

Бизнес-процессы и задачи

Бизнес-процессы и задачи

ОБУЧАЮЩИЕ МАТЕРИАЛЫ

Как настроить проведение

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

Здесь нет теории — только порядок действий и проверки. Описание механики — в Правилах проведения.

В какой регистр пишем?ОстаткиТоваров
Что является «разрезом» (измерением)?Номенклатура, Склад
Что складываем (ресурс)?Количество, Сумма
Увеличивает или уменьшает?Приход (+)
Откуда берём значения?Табличная часть Товары
Нужны ли проводки Дт/Кт?Нет / Да — тогда см. Бухучёт

# Шаг 1. Выберите способ

СитуацияСпособГде настраивается
Поля регистра напрямую берутся из документа или его табличной частиПравила проведенияВкладка Проведение документа
Нужны бухгалтерские проводки Дт/КтУчётные правилаВкладка Учёт (Дт/Кт)
Значение надо вычислить, сложить, взять из другого объекта или проверить условиеМодуль объектаВкладка Модуль, обработчик ПередПроведением
Нужно записать данные, не связанные с проведением (журнал, счётчик, лог)Модуль объектаОбработчик ПослеПроведения

Правило выбора. Если задачу можно выразить перечислением «поле регистра ← поле документа», используйте правила проведения. Модуль — только там, где правила не выражают логику.


# Шаг 2. Подготовьте регистр

ДействиеГде
Создать регистр нужного типаРегистры
Назначить роли полей: Измерение / Ресурс / РеквизитВкладка Реквизиты регистра, колонка «Роль (регистр)»
Включить Хранить итоги, если нужны быстрые остаткиШапка редактора регистра
Включить Партионный учёт, если нужна себестоимостьТам же

Проверка: в регистре есть хотя бы одно Измерение и хотя бы один Ресурс числового типа.


# Шаг 3. Настройте правило

ДействиеЧто произойдёт
1. Откройте документ в Конструкторе—
2. Вкладка Проведение—
3. Настроить правила проведенияОткроется окно настройки
4. Выберите регистр в списке «Выберите регистр» → ДобавитьПоявится карточка правила
5. Укажите Тип движения: Приход (+) или Расход (−)Только для регистра накопления
6. Для каждого поля регистра задайте Роль и Источник в документе—
7. Сохранить и закрытьПравило записано в редакторе
8. Нажмите зелёную Записать в шапке документаПравило ушло в конфигурацию

# Источники значений

ИсточникКогда использовать
Документ.<Поле>Значение из шапки документа
<Табличная часть>.<Поле>Значение из строки табличной части (движение на каждую строку)
Текущая Дата, Текущий ПользовательСистемные значения (для системных полей подставляются сами)
КонстантаФиксированное значение: например, склад по умолчанию
Переменная модуляЗначение, вычисленное в ПередПроведением
Приход (+1) / Расход (-1)Для количества регистра накопления — задаёт знак
Партия (авто), Себестоимость (расчёт)При партионном учёте
Курс (на дату документа)При мультивалютном учёте

# Шаг 4. Если правила не подходят — добавьте модуль

Откройте вкладку Модуль документа, обработчик ПередПроведением.

js
// Пример: подставить склад по умолчанию, если он не заполнен
if (!formApi.getValue("Склад")) {
    formApi.setValue("Склад", "Основной склад");
}

Как это работает:

ПравилоПояснение
formApi — глобальная переменнаяДоступна в любом обработчике, отдельно объявлять не нужно
Переменные, объявленные в ПередПроведением (let/const/var)Становятся доступны в правилах проведения как Переменная модуля
return falseОтменяет запись или проведение
Код в ПередПроведениемВыполняется до создания движений
Код в ПослеПроведенияВыполняется после; удобно для уведомлений и логов

Подробнее — Модуль объекта.


# Шаг 5. Проверьте результат

ПроверкаКак
Документ проводитсяКнопка Провести → сообщение «Документ успешно проведён»
Движения появилисьОткройте журнал регистра в режиме Предприятие
Итоги считаютсяОстаток изменился на нужную величину
Отмена работаетОтменить проведение → «Проведение отменено», движения исчезли
Повторное проведение не дублируетПроведите дважды — движения не должны удваиваться

# Шаг 6. Не забудьте про старые документы

Изменение правил действует только на новые проведения. Чтобы применить новые правила к уже проведённым документам, используйте Администрирование → Перепроведение документов.

Что пересчитатьГалочка в перепроведении
Движения регистров(базовое действие)
Хранимые итогиПересчитать итоги
Себестоимость партийПересчитать себестоимость

# Частые проблемы

СимптомПричинаРешение
Движений нетПравило не сохранено в конфигурациюЗелёная Записать в шапке документа
Движений нетДокумент не проведёнПровести (или Ctrl+Enter)
Одно движение вместо построчныхВсе источники из шапки, нет ссылок на табличную частьДобавьте в правило поля вида Товары.<Поле>
Движения дублируютсяПроведение вызывается дважды, или логика в модуле добавляет строки вручнуюПроверьте ПередПроведением и повторите проведение
Остатки не сходятсяСмешаны Приход и РасходПроверьте Тип движения в правиле
Итоги «застыли»Хранить итоги включено позже, чем стали проводить документыЗапустите Перепроведение с Пересчитать итоги
Значение не подставляетсяВ правиле выбрана не та табличная частьОдна карточка — одна табличная часть
Ошибка при проведенииИсключение в модулеПроверьте логи, упростите ПередПроведением
Проведение «зависает» на большом объёмеДолгая транзакцияПроведите меньшими партиями; см. Параметры проведения
Себестоимость нулеваяНе включён Партионный учёт или не выбраны источники Партия (авто) / Себестоимость (расчёт)См. Партионный учёт

# Чек-лист «перед продакшеном»

  • [ ] Регистр имеет корректные Измерения и Ресурсы
  • [ ] Для каждой табличной части — своя карточка правила
  • [ ] Тип движения выставлен верно для каждого правила
  • [ ] Включено Хранить итоги, если нужны быстрые остатки
  • [ ] Проверены повторное проведение и отмена проведения
  • [ ] Настроены права доступа для пользователей
  • [ ] Сделана резервная копия — см. Обслуживание БД
  • [ ] После правки правил выполнено перепроведение
  • [ ] Проверены версии правил (если используются)

# Смотрите также