#0
by ivanovnm
Код выполняется в транзакции, как узнать уровень вложенности транзакции и установленный режим блокировки - Автоматический или Управляемый?
#1
by zladenuw
можно узнать или есть, а количество нет. а что ты имеешь виду под вложенностью ? рекурсия функции или процедуры ?
#2
by МихаилМ
на текущий момент 1c8 не поддерживает вложенных транзакций так что уровень вложенности всегда = 1
#3
by ivanovnm
Имеется в виду вложенность транзакций, когда внутри одной транзакции выполняется вторая, внутри второй третья... Да, вложенные транзакции не поддерживаются, но если отмена транзакции происходит на втором и более уровне, то до отката транзакции может пройти куча времени в течении которого внесенные в базу данных изменения генерируют "грязное чтение" для отчетов. Если отмена происходит на первом - откат последует сразу за отменой.
#4
by Лефмихалыч
может просто не писать такой херовый код, в котором транзакции внутри транзакций?..
#5
by ivanovnm
Еще вопрос, можно ли выяснить текущее состояние транзакции - будет ли она отменена при фиксации или зафиксируется? Ну, были ли уже неявные отмены вложенных транзакций?
#6
by ivanovnm
Обработка восстановления последовательности - перепроведение документов, внутри которых создаются задания. Какой код тут может быть нормальным?
#7
by rs_trade
открой руководство разработчика. там все написано. режим определяется транзакцией самого верхнего уровня.
#8
by ivanovnm
При проведении документа процедура "Обработка проведения" выполняется в транзакции с уровнем вложенности 1, запись набора записей из движений документа по команде Движения.Записать кажется выполняется уже на уровне 2.
#14
by ivanovnm
Просто в Автоматическом и Управляемом режимах разделяемые блокировки по разному работают: в Автоматическом держатся до конца транзакции, в Управляемом освобождаются сразу после чтения. Соответственно поведение при проведении должно быть разным. Это как-то должно учитываться? Или поправьте меня если я не прав. нет такого свойства.
#18
by rs_trade
При чем тут вообще общие модули? Транзакция верхнего уровня начинается в модуле документа.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- как узнать остаток по кассе в любой валюте имеющейся в справочнике валют?
- Как узнать размер таблицы в SQL базе?
- Как узнать узнать идентификатор конфигурации
- Как узнать текущий документ записи регистра в запросе?
- Как в ПриЗаписи узнать режим записи документа.
- Как получть текущий элемент управления в ячейке табличного поля
- Как узнать где выполняется текущий код? (Клиент разный, сервер)
- Как программно узнать текущий вариант отчета в СКД?
- Режим управления блокировкой данных в транзакции по умолчанию
- В подписке на событие узнать Интерактивная запись или нет?
В этой группе 1С
- Создание нового значения регистра сведений из формы документа
- Обновление конфигурации РИБ через обмен - отказывается
- Не выгружаются пояснения в 1С8 БП 2.0 (рел 46)
- Распределение 25 счета на 20 (Рауз)
- Объект и ЭтотОбъект
- Что такое клюшки?
- УФ Сортировка в табличной части документа
- Обращение к ресурсу регистра сведений
- v8: Не проводится документ "Поступление товаров и услуг" без объяснения причин
- Ошибка при обмена в Розница 2.0
- Помогите с FTP. Ошибка работы с Интернет
- Как сделать "возврат" в процедуре изменения поля ввода на форме?
- Где найти правила обмена ТиС 9.2 и БП 3.0 ? Или как настроить выгрузку?
- Печать из макета 1С
- Где-нибудь реализована автоматическая рассылка сообщений должникам?
- Добавить колонки в Таблицу значений
- Обновление нетиповой УПП 1.3
- где взять ОГРН Контрагента
- БГУ выгрузка отчетности в Контур Экстерн
- Какой компонентой генерировать QR-код и читать QR-код с фотографии?