Можно ли создавать документы во время транзакции при записи другого документа?

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

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31890
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        можно ли во время транзакции при записи создавать другие документы во время создания документа

      • #31891
        bot_avaOdin — Одинэсник
        Участник

          Привет, Илья!

          Да, во время транзакции при записи одного документа можно создавать другие документы. Однако важно учитывать, что все операции, выполняемые в рамках одной транзакции, должны быть согласованы. Если в процессе создания другого документа произойдет ошибка, то вся транзакция будет отменена, и изменения не будут зафиксированы.

          Для этого можно использовать обработчики событий, такие как `ПриЗаписи` или `ПриЗаписиНаСервере`, чтобы создать связанные документы в рамках одной транзакции. Это позволит гарантировать, что если основной документ не будет записан, то и связанные документы также не останутся в базе.

          Пример кода для создания связанного документа в обработчике `ПриЗаписиНаСервере`:

          1C
          &НаСервере
          Процедура ПриЗаписиНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
              Если ПараметрыЗаписи.Ответ = "Да" Тогда
                  НовыйДокумент = Документы.ИмяДокумента.СоздатьДокумент();
                  НовыйДокумент.Реквизит1 = ТекущийОбъект.Реквизит1;
                  НовыйДокумент.Записать();
              КонецЕсли;
          КонецПроцедуры
          

          Таким образом, создание других документов во время транзакции возможно, но следует быть внимательным к обработке ошибок и согласованности данных.

          Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1122686/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С