Skip to main content

Документы

Документы — объекты для регистрации хозяйственных операций и событий предприятия (накладные, счета, платежки). Имеют временную последовательность и могут проводиться для изменения учетных данных.

Основные события

Модуль объекта:

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

Удаление движений

Свойство «Удаление движений» управляет автоматическим удалением записей регистров при работе с документом. Влияет на параллельность работы и производительность.

ВариантКогда удаляет движенияКогда НЕ удаляетДля чего используется
Удалять автоматически при отмене проведения (стандарт)1. Удаление документа 2. Отмена проведенияПерепроведение (перезаписывает)
Удалять автоматически1. Перепроведение 2. Удаление 3. Отмена проведенияВсегда удаляет старыеКогда нужна полная очистка перед новыми движениями
Не удалять автоматическиНикогда автоматическиВсегдаОперативный учет в реальном времени или построчное проведение

Влияние на блокировки и производительность

  • «Удалять автоматически» (плохо для параллельности):

        Начало транзакции
    🔒 УДАЛЕНИЕ старых движений (X-блокировка)
    🔒 Длительные вычисления и прочие действия
    🔒 Запись движений
    🔒 Контроль остатков
    Фиксация

    При перепроведении этого документа, еще до выполнения процедуры ОбработкаПроведения, движения будут удалены. Что бы удалить данные платформа накладывает X блокировку, которая держится до конца транзакции.

  • «Удалять автоматически при отмене проведения» (лучше для параллельности):

        Начало транзакции
    Длительные вычисления и прочие действия
    🔒 Запись движений
    🔒 Контроль остатков
    Фиксация

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

Последовательности

Последовательности — это механизм для автоматического перепроведения зависимых документов при изменении исторических данных. Устанавливает метку времени после которой требуется восстановление последовательности, до неё считается что учет корректен.

Изменили ранний документ → система перепроводит все последующие. Критически важны для корректности расчетов (себестоимость, валютные переоценки), но создают проблемы с производительностью и блокировками. В современных конфигурациях используют альтернативные подходы (например, закрытие месяца).

Журналы документов

Журналы документов - Объект метаданных для объединенного просмотра документов разных видов в одной таблице. Аналогия: "сводная таблица" для документов. Позволяют показывать один документ в нескольких журналах с разными графами (колонками). Используются для логической группировки по бизнес-процессам или ролям пользовате

Когда создавать журналы:

  • ✅ Логическая группировка документов (по процессам)
  • ✅ Упрощение работы пользователей (одно окно)
  • ✅ Контроль и мониторинг (сводные данные)

Ответы на ключевые вопросы

1. Из реквизитов перенесли движения документа на форму. Начали задваиваться движения при записи в форме. Почему?

// РЕШЕНИЕ: Установить галочку "Использовать всегда"
// Когда движения на форме они прочитаны и новые движения просто добавляются.

2. Если проводим документ или перепроводим, то надо запустить алгоритм проверки расчетов показателей, которые были внесены в документ. Если показатели не верны, то необходимо сообщить об этом пользователю и не дать провести документ. Где и как это сделать?

- Если ввод интерактивный в обработчике ОбработкаПроверкиЗаполнения
- Если программно тогда явно вызвать ПроверитьЗаполнение()

3. Чем отличаются три варианта удаления движений?

  • «При отмене»: удаляет только при удалении/отмене документа
  • «Автоматически»: удаляет при любом перепроведении
  • «Не удалять»: никогда автоматически, нужно управлять вручную

4. Как влияет на производительность?

«Автоматически» блокирует движения в начале транзакции → плохо при долгих расчетах.
«Не удалять» блокирует в конце → лучше для параллельности.