1.
zels
171
06.08.21 06:00
Сейчас в теме
Задача - перевести сложную самописную конфигурацию на управляемые блокировки. Почти сразу наткнулся на проблему - как переводить запросы "ДЛЯ ИЗМЕНЕНИЯ". Конкретный пример:
Есть независимый непериодический регистр сведений, у которого одно измерение "Код", пара ресурсов и куча реквизитов (префикс и др). Запрос "ДЛЯ ИЗМЕНЕНИЯ" делает отбор про префиксу и возможно по другим реквизитам, затем добавляются записи с тем же префиксом. Параллельно делаются другие запросы с другими значениями префикса и вроде никто никому не мешает.
Как при переходе на управляемые блокировки сказать, что я хочу заблокировать записи с отбором по префиксу (+другие реквизиты)?
Мой запрос "ДЛЯ ИЗМЕНЕНИЯ" отбирает малую части записей таблицы и блокирует только их. Как с помощью объекта БлокировкаДанных заблокировать часть записей в регистре сведений/накопления (отбор по реквизиту) или в таблице изменения регистра по узлу плана обмена?
Имхо, хорошо бы иметь возможность делать SELECT with (REPEATABLE READ, UPDLOCK) . А то механизм блокировок не дает нужной гибкости, Или я не умею его готовить, но очень хочу научиться...