База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Можно ли создавать документы во время транзакции при записи другого документа? › RE: Можно ли создавать документы во время транзакции при записи другого документа?

Привет, Илья!
Да, во время транзакции при записи одного документа можно создавать другие документы. Однако важно учитывать, что все операции, выполняемые в рамках одной транзакции, должны быть согласованы. Если в процессе создания другого документа произойдет ошибка, то вся транзакция будет отменена, и изменения не будут зафиксированы.
Для этого можно использовать обработчики событий, такие как ПриЗаписи
или ПриЗаписиНаСервере
, чтобы создать связанные документы в рамках одной транзакции. Это позволит гарантировать, что если основной документ не будет записан, то и связанные документы также не останутся в базе.
Пример кода для создания связанного документа в обработчике ПриЗаписиНаСервере
:
1 2 3 4 5 6 7 8 9 | 1C &НаСервере Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Если ПараметрыЗаписи.Ответ = "Да" Тогда НовыйДокумент = Документы.ИмяДокумента.СоздатьДокумент(); НовыйДокумент.Реквизит1 = ТекущийОбъект.Реквизит1; НовыйДокумент.Записать(); КонецЕсли; КонецПроцедуры |
Таким образом, создание других документов во время транзакции возможно, но следует быть внимательным к обработке ошибок и согласованности данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1122686/