Цитата:
Сообщение от
tyrex
В SQL-версии
таблицы никогда не блокируются, блокируются только записи.
Приведенный код
SalesLine.LOCKTABLE;
SalesLine.SETRANGE("Document Type","Document Type");
SalesLine.SETRANGE("Document No.","No.");
IF SalesLine.FIND('+') THEN;
заблокирует recordset, состоящий из двух записей - текущей (последней) и предпоследней (обычно блокируется запись сверху и запись снизу).
Цитата:
оператор FIND БЛОКИРУЕТ ТАБЛИЦУ, а GET и LOCKTABLE - нет
Код
Rec.LOCKTABLE;
Rec.FIND(...)
блокирует recordset из трех записей.
Код
Rec.LOCKTABLE;
Rec.GET(...)
блокирует текущую запись таблицы Rec
Спасибо за уточнение, но в данном контексте это не столь важно.
Важно то, что с базой SQL и родной, Навижин работает по разным принципам, соответственно и написание кода требует ухищрений для корректной работы в обеих вариантах, чего к сожалению не делается.
Сейчас одни знакомые энтузиасты работы под SQL активно оптимизируют C/AL код Навижина, результаты неплохие, но объем изменений ужасает.