Гость
Форумы / [игнор отключен] [закрыт для гостей] / Управляемые блокировки в УТ11 / 18 сообщений из 18, страница 1 из 1
08.11.2017, 15:42
    #39549664
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Смотрю исходники УТ11. И не могу понять вот какую штуку. В части документов например ПоступлениеТоваровУслуг режим управления блокировкой данных стоит Автоматический, а в части например ПорчаТоваров - Управляемый.

При этом обработка проведения порчи товаров в части, скажем, свободных остатков точно такая же. Соответственно если в управляемом режиме уровень изоляции уменьшается до READ COMMITED, то можно спокойно два раза в порче товаров списать один и тот же товар. И вообще может я чего то не понимаю, но такое ощущение что в документах режимы управления блокировкой расставлены от балды.

Ну и также складывается впечатление, что люди которые писали УТ, решили ну его нафиг этот 1С с его ОРМом, мы раньше под Оракл херачили, здесь будем делать аналогично. То есть там почти вся логика на SELECT'ах и времянках (в проведении того же ПоступлениеТоваровУслуг практически ни одного цикла по данным не вижу). С тем же успехом они могли бы и на Оракл+Дельфи фигачить. Я конечно понимаю производительность все дела, но сопровождаемость и расширяемость это как бы тоже не пустой звук.
...
Рейтинг: 0 / 0
08.11.2017, 15:53
    #39549678
Пришелец-прораб
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_JunkieСоответственно если в управляемом режиме уровень изоляции уменьшается до READ COMMITED, то можно спокойно два раза в порче товаров списать один и тот же товар. И вообще может я чего то не понимаю, но такое ощущение что в документах режимы управления блокировкой расставлены от балды.

в упр. режиме блокировками заведует сервер приложений и что там в базе с изоляцией - по барабану. и обеспечение "не списания" - возлагается на пограмиста
...
Рейтинг: 0 / 0
08.11.2017, 16:08
    #39549695
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Пришелец-прорабNitro_JunkieСоответственно если в управляемом режиме уровень изоляции уменьшается до READ COMMITED, то можно спокойно два раза в порче товаров списать один и тот же товар. И вообще может я чего то не понимаю, но такое ощущение что в документах режимы управления блокировкой расставлены от балды.

в упр. режиме блокировками заведует сервер приложений и что там в базе с изоляцией - по барабану. и обеспечение "не списания" - возлагается на пограмиста

Я знаю что такое управляемый режим блокировок. Я ищу где этот программист УТ обеспечил "не списания". По идее блокировка накладывается в момент ПередЗаписью в регистре СвободныеОстатки. Но во временные таблицы то считывается до этой записи, то есть race condition вполне можно словить: одна транзакция только только заканчивается (но еще не закончилась), а вторая в это время считывает во времянки, и сразу после окончания считывания во времянки, первая заканчивается. И вторая работает с некорректными данными.
...
Рейтинг: 0 / 0
10.11.2017, 11:06
    #39550796
AHDP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.
...
Рейтинг: 0 / 0
10.11.2017, 11:13
    #39550809
Пришелец-прораб
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
AHDPNitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.

модно в одном, самом простом случае - когда достаточно просто записать движения, а потом посмотреть "вываливаемся за 0" или нет

более сложные варианты - списание по фифо и т.п. - "по старому"
...
Рейтинг: 0 / 0
13.11.2017, 10:34
    #39552004
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Пришелец-прорабAHDPNitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.

модно в одном, самом простом случае - когда достаточно просто записать движения, а потом посмотреть "вываливаемся за 0" или нет

более сложные варианты - списание по фифо и т.п. - "по старому"

Да я уже понял. До записи остатки не нужны (не читаются). Просто я не совсем понял когда стоит для документа Режим Автоматический она все равно при чтении shared lock'и в базе вешает? И по какому принципу в УТ эти режимы расставлены? Почему ПорчаТоваров управляемый, а ПоступлениеТоварИУслуг - автоматический?

Кстати недавно с саперами разговаривал они тоже от ОРМ в SQL уходят. Но у них конечно не через строковые ТекстыЗапроса все сделано (с ними IDE повесится), у них это в языке.
...
Рейтинг: 0 / 0
13.11.2017, 10:46
    #39552017
Пришелец-прораб
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_JunkieКстати недавно с саперами разговаривал они тоже от ОРМ в SQL уходят.

это не наш метод... 1с еще "ПолуавтоматическийМетодИмениБорисаНуралиева" придумает и пару режим совместимости, засрав голову разработчикам окончательно...
...
Рейтинг: 0 / 0
19.11.2017, 17:57
    #39555752
MKZM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
AHDPNitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.
Говно идея. Любая база против. Назовите современную.
...
Рейтинг: 0 / 0
20.11.2017, 10:16
    #39555975
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
MKZMAHDPNitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.
Говно идея. Любая база против. Назовите современную.

Не, почему, если остатки пишутся одним update'ом, то exclusive lock во всех БД ЕМНИП накладывается ДО чтения значений в выражении UPDATE (то есть UPDATE SET a=a+1 сначала заблокирует, а потом считает a+1, потом запишет в a и остаток будет корректным, тут конечно исходим из того что остаток по регистру накоплений одни запросом в самом 1с обновляются). Блокировку ПередЗаписью в УТ по идее накладывают чисто для сервера приложений и не для конкретно этого проведения, а для других проведений которые читают этот остаток. Но вообще это конечно все через одно место, для меня загадка как люди это Г дорабатывают не ломая целостность.
...
Рейтинг: 0 / 0
20.11.2017, 12:33
    #39556079
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_Junkieодна транзакция только только заканчивается (но еще не закончилась), а вторая в это время откуда там взялась вторая транзакция?
...
Рейтинг: 0 / 0
20.11.2017, 12:43
    #39556086
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Пришелец-прорабAHDPNitro_Junkie,

По идее блокировка накладывается в момент ПередЗаписью - это плохая идея.

Нонче модно остатки проверять после записи движений.

модно в одном, самом простом случае - когда достаточно просто записать движения, а потом посмотреть "вываливаемся за 0" или нет

более сложные варианты - списание по фифо и т.п. - "по старому" для блокировок какая разница, списываешь ты просто цифрами из документа или из фифо?
...
Рейтинг: 0 / 0
20.11.2017, 12:46
    #39556092
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_Junkie,
что установлено в свойстве конфигурации(в корне) в свойстве "Режим управления блокировкой данных" ?
...
Рейтинг: 0 / 0
20.11.2017, 13:51
    #39556157
Пришелец-прораб
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
vi0Пришелец-прорабпропущено...


модно в одном, самом простом случае - когда достаточно просто записать движения, а потом посмотреть "вываливаемся за 0" или нет

более сложные варианты - списание по фифо и т.п. - "по старому" для блокировок какая разница, списываешь ты просто цифрами из документа или из фифо?

мухи отдельно, котлеты отдельно

блокировки оптимально накладывать как можно позднее и избегая избыточности

модный способ + когда все есть в документе этому способствует - блокировка накладывается в момент записи движений (например) в СвободныеОстатки. записали тут же посмотрели если < 0 = откат

а чтобы сделать фифо блокировку надо класть между двумя запросами - первый сгребает номенклатуру из ТЧ, потом блокировка по ней на РН а потом запрос для фифо
...
Рейтинг: 0 / 0
20.11.2017, 14:59
    #39556213
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
vi0Nitro_Junkieодна транзакция только только заканчивается (но еще не закончилась), а вторая в это время откуда там взялась вторая транзакция?

Вторая это другой пользователь. Хотя тут действительно полагаются на то что идет запись и она вешает эксклюзивную блокировку.
...
Рейтинг: 0 / 0
20.11.2017, 15:00
    #39556214
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
vi0Nitro_Junkie,
что установлено в свойстве конфигурации(в корне) в свойстве "Режим управления блокировкой данных" ?

Я же и писал что в разных документах по разному. А обработки при этом очень похожи в части работы с остатками.
...
Рейтинг: 0 / 0
20.11.2017, 16:03
    #39556281
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_Junkievi0Nitro_Junkie,
что установлено в свойстве конфигурации(в корне) в свойстве "Режим управления блокировкой данных" ?

Я же и писал что в разных документах по разному. А обработки при этом очень похожи в части работы с остатками.я не про документы спросил
...
Рейтинг: 0 / 0
20.11.2017, 16:34
    #39556302
Nitro_Junkie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
vi0Nitro_Junkieпропущено...


Я же и писал что в разных документах по разному. А обработки при этом очень похожи в части работы с остатками.я не про документы спросил

В корне УТ ЕМНИП управляемый.
...
Рейтинг: 0 / 0
20.11.2017, 16:43
    #39556313
vi0
vi0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Управляемые блокировки в УТ11
Nitro_Junkievi0пропущено...
я не про документы спросил

В корне УТ ЕМНИП управляемый.значит везде управляемый
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Управляемые блокировки в УТ11 / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]