|
Блокировка при проведении документа | ☑ | ||
---|---|---|---|---|
0
Бубр
07.09.17
✎
16:12
|
Доброго времени всем.
Имитировал проведение документа чека с 2х сеансов 1 в первом сеансе встал в отладку на строке НаборДвижений.ВыполнитьДвижения(); 2 во втором сеансе пытаюсь продать такой же товар и ухожу лесом в блокировку. Режим блокировка Автоматический. Хочу сделать так, чтобы второй сеанс был в состоянии продать товар без блокировок. Натолкните на мысли куда копать ? попытался открыть документ чек с пробитым товаром во втором сеансе увис на этом запросе : (P1 varbinary(16),@P2 datetime2(3),@P3 datetime2(3),@P4 datetime2(3),@P5 datetime2(3),@P6 datetime2(3),@P7 datetime2(3)) SELECT TOP 21 _Document236_R._Date_Time AS _A1, _Document236_R._Number AS _A2, _Document236_R._Fld6021RRef AS _A3RRef, _Document236_R._Fld6023 AS _A4, _Document236_R._Fld8041RRef AS _A5RRef, _Document236_R._Fld6026 AS _A6, _Document236_R._Fld6019RRef AS _A7RRef, _Document236_R._Fld6024 AS _A8, _Document236_R._Fld6027RRef AS _A9RRef, _Document236_R._Fld6020RRef AS _A10RRef, _Document236_R._IDRRef AS _A11RRef, _Document236_R._Marked AS _A12, _Document236_R._Posted AS _A13, _Reference52_rdld4htn._Description AS _A14, _Reference75_rdld4htn._Description AS _A15, _Reference86_rdld4htn._Description AS _A16 FROM _Document236 _Document236_R WITH(NOLOCK) LEFT OUTER JOIN _Reference86 _Reference86_rdld4htn WITH(NOLOCK) ON _Document236_R._Fld6020RRef = _Reference86_rdld4htn._IDRRef LEFT OUTER JOIN _Reference75 _Reference75_rdld4htn WITH(NOLOCK) ON _Document236_R._Fld6027RRef = _Reference75_rdld4htn._IDRRef LEFT OUTER JOIN _Reference52 _Reference52_rdld4htn WITH(NOLOCK) ON _Document236_R._Fld6021RRef = _Reference52_rdld4htn._IDRRef WHERE _Document236_R._IDRRef > P1 AND _Document236_R._Date_Time = @P2 AND _Document236_R._Date_Time >= @P3 AND _Document236_R._Date_Time <= @P4 OR _Document236_R._Date_Time > @P5 AND _Document236_R._Date_Time >= @P6 AND _Document236_R._Date_Time <= @P7 ORDER BY _Document236_R._Date_Time, _Document236_R._IDRRef краткий перевод SELECT TOP 21 ДокументЧекККМ.Дата,ДокументЧекККМ.Номер, ДокументЧекККМ.КассаККМ, ДокументЧекККМ.СуммаДокумента, ДокументЧекККМ.СтатусЧекаККМ, ДокументЧекККМ.НомерЧекаККМ, ДокументЧекККМ.ВидОперации, ДокументЧекККМ.Комментарий из Документ.Чекккм ЛевоеСоединение Справочник.Склады ЛевоеСоединение Справочник.Пользователи ЛевоеСоединение Справочник.Кассыккм упорядочить по ДокументЧекККМ.Дата, ДокументЧекККМ.Ссылка |
|||
1
Господин ПЖ
07.09.17
✎
16:16
|
там NOLOCK везде - точно этот запрос?
|
|||
2
Бубр
07.09.17
✎
16:18
|
(1) sp_who2 дал результат ожидания на этом процессе
процесс открыл вот так dbcc inputbuffer(59) |
|||
3
Бубр
07.09.17
✎
16:20
|
(1) это я попытался открыть документ уже пробитый с тем же товаром, который стоит в 1м сеансе на точке останова
|
|||
4
Господин ПЖ
07.09.17
✎
16:24
|
а версия скуля какая? там read committed snapshot - есть?
|
|||
5
Бубр
07.09.17
✎
16:27
|
(4) 2008, везде no lock только
|
|||
6
Бубр
07.09.17
✎
16:29
|
(4) может я не туда смотрю ? опыта много со скулем пока нет
|
|||
7
Господин ПЖ
07.09.17
✎
16:34
|
а sp_lock что говорит?
inputbuffer просто дает последнюю инструкцию. судя по всему - от какого-то списка... так что твои выводы возможно не верны |
|||
8
ptiz
07.09.17
✎
16:42
|
(0) "во втором сеансе пытаюсь продать такой же товар "
По-моему, только так: включать разделение итогов в регистре и переходить на "управляемый" режим. |
|||
9
Бубр
07.09.17
✎
16:47
|
(7) посмотрел sp_lock в нем был другой SPID в запросе была вот такая конструкция WITH(SERIALIZABLE)
|
|||
10
Господин ПЖ
07.09.17
✎
16:48
|
(9) это уже ближе к истине
|
|||
11
Бубр
07.09.17
✎
16:52
|
(10) основная таблица регистра ЦеныАТТ
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |