Документы
Документы — объекты для регистрации хозяйственных операций и событий предприятия (накладные, счета, платежки). Имеют временную последовательность и могут проводиться для изменения учетных данных.
Основные события
Модуль объекта:
| Событие | Когда вызывается | Для чего используется |
|---|---|---|
ПередЗаписью() | Перед записью | Валидация, расчеты |
ПриЗаписи() | Во время записи | Дополнительные проверки, запись связанных данных |
ОбработкаПроведения() | При проведении | Создание движений |
ОбработкаЗаполнения() | При создании | Автозаполнение полей |
Удаление движений
Свойство «Удаление движений» управляет автоматическим удалением записей регистров при работе с документом. Влияет на параллельность работы и производительность.
| Вариант | Когда удаляет движения | Когда НЕ удаляет | Для чего используется |
|---|---|---|---|
| Удалять автоматически при отмене проведения (стандарт) | 1. Удаление документа 2. Отмена проведения | Перепроведение (перезаписывает) | |
| Удалять автоматически | 1. Перепроведение 2. Удаление 3. Отмена проведения | Всегда удаляет старые | Когда нужна полная очистка перед новыми движениями |
| Не удалять автоматически | Никогда автоматически | Всегда | Оперативный учет в реальном времени или построчное проведение |
Влияние на блокировки и производительность
-
«Удалять автоматически» (плохо для параллельности):
Начало транзакции
🔒 УДАЛЕНИЕ старых движений (X-блокировка)
🔒 Длительные вычисления и прочие действия
🔒 Запись движений
🔒 Контроль остатков
ФиксацияПри перепроведении этого документа, еще до выполнения процедуры
ОбработкаПроведения, движения будут удалены. Что бы удалить данные платформа накладывает X блокировку, которая держится до конца транзакции. -
«Удалять автоматически при отмене проведения» (лучш е для параллельности):
Начало транзакции
Длительные вычисления и прочие действия
🔒 Запись движений
🔒 Контроль остатков
ФиксацияПреимущество: Во втором случае, данные будут заблокированы на гораздо меньшее время, чем в первом. А чем меньше длится блокировка, тем меньше вероятность возникновения проблем при многопользовательской работе.
Последовательности
Последовательности — это механизм для автоматического перепроведения зависимых документов при изменении исторических данных. Устанавливает метку времени после которой требуется восстановление последовательности, до неё считается что учет корректен.
Изменили ранний документ → система перепроводит все последующие. Критически важны для корректности расчетов (себестоимость, валютные переоценки), но создают проблемы с производительностью и блокировками. В современных конфигурациях используют альтернативные подходы (например, закрытие месяца).
Журналы документов
Журналы документов - Объект метаданных для объединенного просмотра документов разных видов в одной таблице. Аналогия: "сводная таблица" для документов. Позволяют показывать один документ в нескольких журналах с разными графами (колонками). Используются для логической группировки по бизнес-процессам или ролям пользовате
Когда создавать журналы:
- ✅ Логическая группировка документов (по процессам)
- ✅ Упрощение работы пользователей (одно окно)
- ✅ Контроль и мониторинг (сводные данные)
Ответы на ключевые вопросы
1. Из реквизитов перенесли движения документа на форму. Начали задваиваться движения при записи в форме. Почему?
// РЕШЕНИЕ: Установить галочку "Использовать всегда"
// Когда движения на форме они прочитаны и новые движения просто добавляются.
2. Если проводим документ или перепроводим, то надо запустить алгоритм проверки расчетов показателей, которые были внесены в документ. Если показатели не верны, то необходимо сообщить об этом пользователю и не дать провести документ. Где и как это сделать?
- Если ввод интерактивный в обработчике ОбработкаПроверкиЗаполнения
- Если программно тогда явно вызвать ПроверитьЗаполнение()