TGViewer
Е.БУДНИ программиста 1С | Роман Чумадин Е.БУДНИ программиста 1С | Роман Чумадин @e_budni_programmer · 6.25K subscribers
Post #488 3.51K
РУБРИКА «ЧёПоСтандартам»
Транзакции. База

Первое, с чего хотелось бы начать и следовало бы заучить начинающим программистам - это связка транзакций и обработки исключений:
#std783

1.2. Начало транзакции и ее фиксация (отмена) должны происходить в контексте одного метода

Правильно

Процедура ЗаписатьДанныеВИБ()

НачатьТранзакцию();

Попытка
... // чтение или запись данных
ДокументОбъект.Записать()
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
... // дополнительные действия по обработке исключения
КонецПопытки;

КонецПроцедуры

И ещё несколько важных пунктов, нарушение которых встречал на практике от менее опытных коллег:
1.4.1. Не стоит усложнять код, явно используя метод НачатьТранзакцию, когда кроме записи объекта другие действия c базой данных не делаются

1.4.4. При обработке исключения, если транзакция все еще активна, например, исключение возникло во вложенной транзакции, нельзя обращаться к базе данных, так как это приведет к исключению «В этой транзакции уже происходили ошибки». При этом нужно учитывать, что обращение к базе данных может быть неявным, например, для получения представления ссылки.

2.1.1. Если с точки зрения бизнес-логики действия могут быть выполнены по отдельности, то их в общем случае не следует объединять в одну транзакцию.
2.1.2. Исключением из п.2.1.1 могут быть случаи, когда с целью оптимизации несколько несвязанных объектов обрабатываются в рамках одной транзакции.

2.3. В рамках транзакции нужно стремиться выполнять минимум действий


P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std783
  • 👍 23
  • 🔥 7
More from @e_budni_programmer
  1. Oct 1, 2026Post #612
  2. Sep 30, 2026Работу техподдержки 1С обычно редко обсуждают, пока все работает в штатном режиме. Но когд…
  3. Sep 24, 2026РУБРИКА «ЧёПоСтандартам» Оформление текстов запросов Хотел выбрать самые важные моменты из…
  4. Sep 22, 2026Всем привет! И снова про конференции) Прошла Жёлтая конфа, Кунг-Фу Митап в питере, на этот…
  5. Sep 17, 2026Post #607
  6. Sep 12, 2026Больше постов про ИИ?) Сейчас всё активнее пробую применять ИИ непосредственно в разработк…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →