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


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


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


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

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


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


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

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

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

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

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

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

2. Изоляция.

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

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


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


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

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

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



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



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

  • Сивелькина С. В. 20 марта 2017

    ПАО "НИКО-БАНК" выражает свою благодарность за оперативную и грамотную работу.
    В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы "Гарант". 
    Безусловным плюсом в работе компании "МастерСофт" является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.

  • Мордвинцев С. П. 25 сентября 2016

    Коллектив компании "АЭРОПОРТ ОРЕНБУРГ" выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
    Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.

  • Ряховская Н. А. 19 июня 2017

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

  • Кетерер Т. М. 19 февраля 2018

    Главный бухгалтер муниципального бюджетного учреждения дополнительного образования "Дворец творчества детей и молодёжи" Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
    "Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе "1С: Бухгалтерия бюджетного учреждения 8" непосредственно Шевлягина Юлия.
    Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе "Зарплата и Кадры").
    Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы...".