Взаимоблокировки (Записать в Журнал регистрации)
РегистрНакопления.ОтгрузкаТоваров
Ошибка при вызове метода контекста (Записать): Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Транзакция (идентификатор процесса 100) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=38, Severity=D, native=1205, line=1
Ошибка при попытке проведения документа!
Здравствуйте!
Есть регистр ОтгрузкаТоваров и он прописан в Движении документа Отгрузка.
Нигде в конфигурации регистр.ОтгрузкаТоваров.Записать() - нет.
Надо отловить вышеуказанный случай, который выходит пользователям и записать в журнал регистраций. (Чтобы увидеть статистику и поискать возможные причины..)
Как записывать в Журнал регистрации - взамоблокировки Движения документов?
Ошибка при вызове метода контекста (Записать): Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Транзакция (идентификатор процесса 100) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=38, Severity=D, native=1205, line=1
Ошибка при попытке проведения документа!
Здравствуйте!
Есть регистр ОтгрузкаТоваров и он прописан в Движении документа Отгрузка.
Нигде в конфигурации регистр.ОтгрузкаТоваров.Записать() - нет.
Надо отловить вышеуказанный случай, который выходит пользователям и записать в журнал регистраций. (Чтобы увидеть статистику и поискать возможные причины..)
Как записывать в Журнал регистрации - взамоблокировки Движения документов?
Процедура ОбработкаПроведения(Отказ, Режим)
// регистр ОтгрузкаТоваров Расход
Движения.ОтгрузкаТоваров.Записывать = Истина;
Движения.ОтгрузкаТоваров.Очистить();
Для Каждого ТекСтрокаТовары Из Товары Цикл
Движение = Движения.ОтгрузкаТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Организация = Организация;
Движение.Склад = Склад;
Движение.Номенклатура = ТекСтрокаТовары.Номенклатура;
Движение.ХарактеристикаНоменклатуры = ТекСтрокаТовары.ХарактеристикаНоменклатуры;
Движение.ШтрихкодОтгрузки = ШтрихкодОтгрузки;
Движение.Контрагент = Контрагент;
Движение.ДокументРеализации = ДокументРеализации;
Движение.Количество = ТекСтрокаТовары.Количество;
Движение.Стоимость = ТекСтрокаТовары.Стоимость;
КонецЦикла;
КонецПроцедуры
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
// Вставить содержимое обработчика.
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Может в модуль регистра куда-то можно вставить подобную конструкцию?
Может в модуль регистра куда-то можно вставить подобную конструкцию?
НачатьТранзакцию();
Попытка
// Движения..?
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
// Запись события в журнал регистрации для системного администратора.
ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'"),
УровеньЖурналаРегистрации.Ошибка,,Строка(СсылкаДляПередачиВЖурналРегистрации(Ссылка)),
ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
Отказ = Истина;
#Если Клиент или ВнешнееСоединение Тогда
Сообщить("Не выполнена запись об изменении документа");
#КонецЕсли
КонецПопытки;
Показать
(5)
Ошибка локализована.
Запускаем два клиента, на одном делаем массовое распроведение РТиУ через групповую обработку.
На втором, так же проводим ЧекиККМ.
{Обработка.ГрупповаяОбработкаСправочниковИДокументов.Форма.Форма.Форма(1701)}: Ошибка при вызове метода контекста (Записать)
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Транзакция (идентификатор процесса 115) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=38, Severity=D, native=1205, line=1
Вроде бы все удачно, но не указывается причина блокировки, ожидаемо регистр по товарам.
Непонятно, что взаимоблокируется.
Как быть?
Ошибка локализована.
Запускаем два клиента, на одном делаем массовое распроведение РТиУ через групповую обработку.
На втором, так же проводим ЧекиККМ.
{Обработка.ГрупповаяОбработкаСправочниковИДокументов.Форма.Форма.Форма(1701)}: Ошибка при вызове метода контекста (Записать)
Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
по причине:
Конфликт блокировок при выполнении транзакции:
Microsoft SQL Server Native Client 10.0: Транзакция (идентификатор процесса 115) вызвала взаимоблокировку ресурсов блокировка с другим процессом и стала жертвой взаимоблокировки. Запустите транзакцию повторно.
HRESULT=80004005, SQLSrvr: SQLSTATE=40001, state=38, Severity=D, native=1205, line=1
Вроде бы все удачно, но не указывается причина блокировки, ожидаемо регистр по товарам.
Непонятно, что взаимоблокируется.
Как быть?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот