Имя: Пароль:
1C
1С v8
Как проверить на "Операция не может быть выполнена из-за несоответствия версии"
0 бегинер
 
20.10.17
10:32
в форме списка Документа выбираю галочками нужные доки и пакетно вношу в отмеченные изменения, как проверить что в отмеченных доках нет изменений - т.е что открыты другим пользователем и внесены изменения?
чтоб не нарваться на "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена

если такие доки будут - выведу алерт - что мол эти доки редактируются - открыты - в них невозможно внести изменения.
1 бегинер
 
20.10.17
10:32
программно проверить естественно
2 DrShad
 
20.10.17
10:35
Заблокировать()
3 DrShad
 
20.10.17
10:36
Заблокирован()
4 Волшебник
 
модератор
20.10.17
10:38
Прочитать()...Записать()
5 бегинер
 
20.10.17
10:41
(2) спасибо!

буду ловить через "попытка" блокировку выделенного дока, если не даст  заблокировать - значит кто-то его юзает, выведу алерт
6 DrShad
 
20.10.17
10:43
(5) капец, а (3) тебе чем не подходит?
7 бегинер
 
20.10.17
10:46
заблокирован - не подходит, так как:
"Следует учитывать, что этот метод используется для проверки блокировки объекта базы данных конкретным объектом встроенного языка. Он не может быть использован, чтобы проверить, заблокирован ли вообще объект базы данных"

проверил:
открыл отдельный док, внес в него изменения, не записал его, оставил открытым форму дока.

потом пакетно редактирую в том числе открытый, и на тот открытый документ метод
заблокирован() - выдает "нет"
8 aleksonic
 
20.10.17
10:48
Не просто решить. Ситуация может возникнуть непосредственно перед попыткой произвести запись измененного Документа. Например он загружен из другой базы, решили что-то изменить и происходит повторная выгрузка.
Возможно проверять и блокировать.