26.03.2008, 16:30 | #1 |
Участник
|
Таблица NumberSequenceGroupRef метод find
X++: public static NumberSequenceGroupRef find(extendedTypeId dataTypeId, NumberSequenceGroupId numberSequenceGroupId, boolean update = true) { ... } Интересно, для чего дефолтный параметр update объявлен как true ? При обработке документов, это приводит к тому что идут блокировки forUpdate на записях таблицы там где это казалось бы необязательно. Например при обработке накладной в методе \Classes\SalesFormLetter_Invoice\allocateNumAndVoucher создается ощущение что во многих местах разработчики поставили вызов NumberSequenceGroupRef::find(...) со значением параметра update по дефолту, по привычке полагая что вызов будет без foupdate блокировок, но блокировки есть - так что при обработке накладных с разных рабочих мест пользователи блокируют одни и те же записи - резко ухудшается параллелизм работы. Итак вопрос : 1. Зачем параметр Update сделан по умолчанию true ? 2. Можно ли в указанном примере \Classes\SalesFormLetter_Invoice\allocateNumAndVoucher при вызове NumberSequenceGroupRef::find() поставить его false ? |
|
|
За это сообщение автора поблагодарили: dn (2). |