Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа с транзакциями
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 7.7" > (7.7) Форум по общим вопросам "1С:Предприятие 7.7"
XXL
Объясните мне, пожалуйста, зачем нужны транзакции, для чего они используются, в каких случаях, как правильно этим пользоваться. Читаю-читаю, и никак не пойму cry_1.gif
Snake-84
Транзакция используется обычно для ускорения работы кода, т.к. не записывается каждый измененный объект отдельно, а все пишется одним блоком функцией "ЗафиксироватьТранзакцию()". Скорость обычно отличается в разы!!! Так же иногда бывает необходимо отменить все изменения (например обнаружили критический незаполненный реквизит). Тогда функция "ОтменитьТранзакцию()" откатывает все изменения, внесенные в базу, после "НачатьТранзакцию()". Понятно объяснил?
WaRDeR
Только в момент открытия транзакции никто не может пользоваться базой. Это как монопольный режим (кстати в монопольном режиме от транзакций толку нет).
XXL
Snake-84, да, спасибо:) все поняла:)
Михаил Госьков
Не совсем верно. Назначение транзакции не повышении скорости, а в том, чтобы добиться синхронного изменения данных в базе по принципу "все-или-ничего". После момента начала транзакции все изменения в базе становятся обратимыми: если прервать транзакцию до ее записи, эти изменения не будут записаны, база данных вернется к моменту начала транзакции. Например, после начала транзакции введены и проведены несколько документов, добавлены записи в справочники товаров, покупателей, цен и т.д.
Если такую транзакцию прервать, не записывать, то все эти документы и записи исчезнут.
Мастер_миража
а еще каждая операция выполняемая с базой данных(добавление, удаление и т.д.) представляет собой небольшую транзакцию...
так что транзакции в коде везде и всюду

поетому ты не можешь не знать как ими пользоваться biggrin.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.