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 ?