Добрый день,
есть необходимость обработкой изменять большой объем заказов клиентов, от 300 до 500 штук за раз. Обработка может быть запущена несколькими пользователями, заказы могут пересекаться это раз, заказ может быть открыт у другого пользователя это два. Каким образом можно сперва проверить на блокировку, а при ее отсутствии заблокировать нужное число документов, в т.ч. для программного изменения?
Заранее спасибо.
Попытка
Объект.Заблокировать();
Исключение
Текст = "ru = ""Не удалось заблокировать объект"";"
+ " en = ""Can't lock the object""";
Предупреждение(НСтр(Текст) " """ + Объект + """!
|"+ ОписаниеОшибки());
КонецПопытки;
(0)
до кучи
такая методика некорректная:
> сперва проверить на блокировку, а при ее отсутствии заблокировать нужное число документов
т.к. между этими действиями состояние данных может измениться
т.е. нужно сразу выполнять попытку блокировки
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший