1С:Предприятие 8.2 /
Разработчикам /
Встроенный язык
Особенности нетранзакционного чтения данных
Примечание: Данная статья актуальна в тех случаях, когда используются СУБД:
|
При чтении данных вне транзакции следует учитывать особенности реализации нетранзакционного чтения данных в файловом и клиент-серверном вариантах работы.
Клиент-серверный вариант работы
В случае клиент-серверного варианта работы при нетранзакционном чтении можно получить нецелостные данные.
Происходит это потому, что операции чтения, выполняемые вне рамок транзакции, используют уровень изоляции read uncommited, т.е. будут прочитаны незафиксированные изменения, выполненные другими транзакциями. Уровень изоляции read uncommited используется потому, что должна быть обеспечена предсказуемая скорость при выполнении чтения, то есть нельзя "спотыкаться" о блокировки, расставленные транзакциями других пользователей
Наглядным проявлением этой особенности может служить запись в транзакции большого количества новых документов и последующая отмена этой транзакции. Если в процессе выполнения такой транзакции в другой сессии 1С:Предприятия открыть список создаваемых документов, то можно увидеть, что по мере выполнения кода создаются новые документы, а после отмены транзакции все созданные документы будут удалены. Так происходит потому, что данные в динамических списках читаются в нетранзакционном режиме, в результате чего, несмотря на то, что транзакция активна, незафиксированные изменения, выполненные в этой транзакции, будут видны другим приложениям 1С:Предприятия :
Файловый вариант работы
При работе в файловом варианте нетранзакционное чтение выполняется иначе. В файловом варианте платформа 1С:Предприятия 8 поддерживает версионирование при нетранзакционном чтении. Поэтому запросы не выбирают данные незафиксированных изменений других транзакций.
Например, если сравнивать выполнение предыдущего примера в файловом варианте и варианте клиент-сервер, можно отметить следующие отличия:
Для случая, когда выполняемая транзакция успешно фиксируется, сравнение работы в двух вариантах работы будет выглядеть следующим образом:
Несмотря на то, что в файловом варианте работы поддерживается версионирование, при выполнении процедур, в которых используется неоднократное обращение к базе данных есть вероятность получить несогласованные данные. Это может произойти в результате того, что в период между выполнением одного и другого запроса состояние считываемых данных было изменено другой транзакцией:
Резюме |
Курс CorelDRAW
Тренинг-семинар «Как получить работу бухгалтера»
Курсы бухгалтеров с трудоустройством
Курсы программирования 1С:Предприятие 8.2
Другие материалы по теме:
спотыкаться, чтение, скорость, платформа, 1с:предприятия 8, получение, состояние, получить, особенности, клиент, выполнить, например, на основании, изменения, конфигурирование, работы, пример, документы, данные, документов, операции, конфигурации
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Встроенный язык
Другие материалы по теме:
Особенности нетранзакционного чтения данных
Блокировки данных в 1С:Предприятии 8
Особенности работы формы с данными
Общесистемные механизмы и принципы
Методика перевода работы пользователей на другую информационную базу
Нас находят: нетранзакционные субд примеры, нетранзакционные операции это
Мы на Facebook