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