powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Управляемые блокировки в УТ11
18 сообщений из 18, страница 1 из 1
Управляемые блокировки в УТ11
    #39549664
Nitro_Junkie
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрю исходники УТ11. И не могу понять вот какую штуку. В части документов например ПоступлениеТоваровУслуг режим управления блокировкой данных стоит Автоматический, а в части например ПорчаТоваров - Управляемый.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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


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