Транзакции в 1С. Свойства, способы создания | МастерСофт
8 (800) 77-55-848
общие вопросы
8 (800) 77-51-901
вопросы по 1С
 
Транзакция в 1С


Транзакции в 1С


В этом материале мы расскажем о «зоне ответственности» транзакций «1С». О том, что такое блокировки и взаимоблокировки мы уже писали, так вот, данные действия являются прямым следствием транзакций «1С».


Что же из себя представляет транзакция в 1С?


По определению, транзакция в 1С это последовательность действий, которая переводит базу данных из одного целостного состояния в другое целостное состояние. К примеру - процесс перевода денег с одной банковской карты на другую.

Итог транзакций может быть диаметрально противоположен: они либо выполняются до конца, либо в принципе невыполнимы. Такого понятия как «частично выполненная транзакция» нет. В СУБД транзакции фиксируются с помощью COMMIT.


Свойства транзакций


Обозначим наиболее часто встречающие требования к транзакциям «1С» - ACID (Atomicity, Consistency, Isolation, Durability).

Есть перечень свойств, которые должны быть у каждой транзакции:

1. Атомарность (неделимость).

Суть ее состоит в том, чтобы по окончании транзакции все сведения были согласованы. Ведь даже если добавили незначительную запись, то вполне может возникнуть рассогласование.

Рассмотрим пример, когда происходит попытка внести запись вне транзакции. Т.е. вначале пользователь добавляет запись в основную таблицу, а потом в индексы. При этом возможно будет внести новые данные лишь в первый индекс. Во второй сделать это будет проблематично, могут возникнуть непредвиденные помехи (к примеру, отключится электропитание).

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

2. Изоляция.

Данное свойство «отвечает» за параллельный режим работы пользователей и помогает предотвратить потерю общих данных. К примеру, может возникнуть ситуация, при которой два пользователя вносят изменения в один документ, и, как результат, стирают изменения друг друга. Здесь и приходит на помощь изоляция.

Главная ее задача – защищать информацию от других транзакций. Блокировки при этом обеспечивают изоляцию транзакции.


Cпособы создания транзакции


1. Автоматический. К примеру, обработать проведение документа или запись элемента справочника в информационную базу. Увидеть, активна ли транзакция или нет, поможет опция «Транзакция активна()».

2. Самостоятельный. (Т.е., когда ее создает разработчик). Пошагово это выглядит так: «Начать Транзакцию()», в заключении «Зафиксировать Транзакцию()», либо (при необходимости) «Отменит Транзакцию()».

Отметим, что вложенные транзакции 1С не поддерживает. Если пользователь периодически открывает транзакцию, она «объединяется» и «превращается» в одну. Если проводится фиксация или отмена, то это распространяется на все транзакции, которые были активированы до этого.



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

Вернуться в блог
 

Отзывы о компании

  • «Усинская ЦРБ»

    Государственно бюджетное учреждение здравоохранения Республики Коми «Усинская ЦРБ» выражает благодарность специалистам компании «МастерСофт» за своевременную, квалифицированную помощь, оказываемую Вашими сотрудниками по сопровождению программы 1С: Медицина. Больничная аптека.
    Надеемся на дальнейшее сотрудничество!

  • «Орский Вагонный Завод»

    ООО "Орский Вагонный Завод" выражает искреннюю благодраность за качество обслуживания вашими специалистами. Консультации и поставка антивирусов всегда проходят оперативно и на высоком профессиональном уровне.
    Уверены, что и в дальнейшем наше сотрудничество на взаимовыгодных условиях продолжится.

  • «МКУ ЦБ Краснокамский район»

    Муниципальное казенное учреждение Централизованная бухгалтерия муниципального района Краснокамский район Республики Башкортостан выражает благодарность компании «МастерСофт».
    Компания «МастерСофт» зарекомендовала себя, как надежный партнер, и мы рассчитываем на дальнейшее плодотворное сотрудничество в области информационных технологий.

  • «Газпром добыча Оренбург»

    От имени ООО «Газпром добыча Оренбург» примите искренние поздравления по случаю 20-летия со дня основания компании «МастерСофт».
    Информационно-правовое обеспечение Вашей компании активно используется специалистами ООО «Газпром добыча Оренбург». За годы нашего сотрудничества мы высоко оценили Ваш профессионализм и ответственность.
    Позвольте выразить коллективу компании «МастерСофт» глубокую признательность за плодотворное сотрудничество и пожелать дальнейшего процветания, творческих успехов в сохранении и приумножении лучших традиций компании!