ОБУЧАЮЩИЕ МАТЕРИАЛЫ
Как настроить проведение
Практическое руководство: как выбрать способ проведения и настроить его так, чтобы документ создавал нужные движения.
Здесь нет теории — только порядок действий и проверки. Описание механики — в Правилах проведения.
| В какой регистр пишем? | ОстаткиТоваров |
|---|---|
| Что является «разрезом» (измерением)? | Номенклатура, Склад |
| Что складываем (ресурс)? | Количество, Сумма |
| Увеличивает или уменьшает? | Приход (+) |
| Откуда берём значения? | Табличная часть Товары |
| Нужны ли проводки Дт/Кт? | Нет / Да — тогда см. Бухучёт |
# Шаг 1. Выберите способ
| Ситуация | Способ | Где настраивается |
|---|---|---|
| Поля регистра напрямую берутся из документа или его табличной части | Правила проведения | Вкладка Проведение документа |
| Нужны бухгалтерские проводки Дт/Кт | Учётные правила | Вкладка Учёт (Дт/Кт) |
| Значение надо вычислить, сложить, взять из другого объекта или проверить условие | Модуль объекта | Вкладка Модуль, обработчик ПередПроведением |
| Нужно записать данные, не связанные с проведением (журнал, счётчик, лог) | Модуль объекта | Обработчик ПослеПроведения |
Правило выбора. Если задачу можно выразить перечислением «поле регистра ← поле документа», используйте правила проведения. Модуль — только там, где правила не выражают логику.
# Шаг 2. Подготовьте регистр
| Действие | Где |
|---|---|
| Создать регистр нужного типа | Регистры |
| Назначить роли полей: Измерение / Ресурс / Реквизит | Вкладка Реквизиты регистра, колонка «Роль (регистр)» |
| Включить Хранить итоги, если нужны быстрые остатки | Шапка редактора регистра |
| Включить Партионный учёт, если нужна себестоимость | Там же |
Проверка: в регистре есть хотя бы одно Измерение и хотя бы один Ресурс числового типа.
# Шаг 3. Настройте правило
| Действие | Что произойдёт |
|---|---|
| 1. Откройте документ в Конструкторе | — |
| 2. Вкладка Проведение | — |
| 3. Настроить правила проведения | Откроется окно настройки |
| 4. Выберите регистр в списке «Выберите регистр» → Добавить | Появится карточка правила |
| 5. Укажите Тип движения: Приход (+) или Расход (−) | Только для регистра накопления |
| 6. Для каждого поля регистра задайте Роль и Источник в документе | — |
| 7. Сохранить и закрыть | Правило записано в редакторе |
| 8. Нажмите зелёную Записать в шапке документа | Правило ушло в конфигурацию |
# Источники значений
| Источник | Когда использовать |
|---|---|
Документ.<Поле> | Значение из шапки документа |
<Табличная часть>.<Поле> | Значение из строки табличной части (движение на каждую строку) |
| Текущая Дата, Текущий Пользователь | Системные значения (для системных полей подставляются сами) |
| Константа | Фиксированное значение: например, склад по умолчанию |
| Переменная модуля | Значение, вычисленное в ПередПроведением |
| Приход (+1) / Расход (-1) | Для количества регистра накопления — задаёт знак |
| Партия (авто), Себестоимость (расчёт) | При партионном учёте |
| Курс (на дату документа) | При мультивалютном учёте |
# Шаг 4. Если правила не подходят — добавьте модуль
Откройте вкладку Модуль документа, обработчик ПередПроведением.
// Пример: подставить склад по умолчанию, если он не заполнен
if (!formApi.getValue("Склад")) {
formApi.setValue("Склад", "Основной склад");
}Как это работает:
| Правило | Пояснение |
|---|---|
formApi — глобальная переменная | Доступна в любом обработчике, отдельно объявлять не нужно |
Переменные, объявленные в ПередПроведением (let/const/var) | Становятся доступны в правилах проведения как Переменная модуля |
return false | Отменяет запись или проведение |
Код в ПередПроведением | Выполняется до создания движений |
Код в ПослеПроведения | Выполняется после; удобно для уведомлений и логов |
Подробнее — Модуль объекта.
# Шаг 5. Проверьте результат
| Проверка | Как |
|---|---|
| Документ проводится | Кнопка Провести → сообщение «Документ успешно проведён» |
| Движения появились | Откройте журнал регистра в режиме Предприятие |
| Итоги считаются | Остаток изменился на нужную величину |
| Отмена работает | Отменить проведение → «Проведение отменено», движения исчезли |
| Повторное проведение не дублирует | Проведите дважды — движения не должны удваиваться |
# Шаг 6. Не забудьте про старые документы
Изменение правил действует только на новые проведения. Чтобы применить новые правила к уже проведённым документам, используйте Администрирование → Перепроведение документов.
| Что пересчитать | Галочка в перепроведении |
|---|---|
| Движения регистров | (базовое действие) |
| Хранимые итоги | Пересчитать итоги |
| Себестоимость партий | Пересчитать себестоимость |
# Частые проблемы
| Симптом | Причина | Решение |
|---|---|---|
| Движений нет | Правило не сохранено в конфигурацию | Зелёная Записать в шапке документа |
| Движений нет | Документ не проведён | Провести (или Ctrl+Enter) |
| Одно движение вместо построчных | Все источники из шапки, нет ссылок на табличную часть | Добавьте в правило поля вида Товары.<Поле> |
| Движения дублируются | Проведение вызывается дважды, или логика в модуле добавляет строки вручную | Проверьте ПередПроведением и повторите проведение |
| Остатки не сходятся | Смешаны Приход и Расход | Проверьте Тип движения в правиле |
| Итоги «застыли» | Хранить итоги включено позже, чем стали проводить документы | Запустите Перепроведение с Пересчитать итоги |
| Значение не подставляется | В правиле выбрана не та табличная часть | Одна карточка — одна табличная часть |
| Ошибка при проведении | Исключение в модуле | Проверьте логи, упростите ПередПроведением |
| Проведение «зависает» на большом объёме | Долгая транзакция | Проведите меньшими партиями; см. Параметры проведения |
| Себестоимость нулевая | Не включён Партионный учёт или не выбраны источники Партия (авто) / Себестоимость (расчёт) | См. Партионный учёт |
# Чек-лист «перед продакшеном»
- [ ] Регистр имеет корректные Измерения и Ресурсы
- [ ] Для каждой табличной части — своя карточка правила
- [ ] Тип движения выставлен верно для каждого правила
- [ ] Включено Хранить итоги, если нужны быстрые остатки
- [ ] Проверены повторное проведение и отмена проведения
- [ ] Настроены права доступа для пользователей
- [ ] Сделана резервная копия — см. Обслуживание БД
- [ ] После правки правил выполнено перепроведение
- [ ] Проверены версии правил (если используются)
