Доброго времени суток. Подскажите, пожалуйста, как корректно средствами 1с реализовать запрет на создание элементов справочника, пока другие элементы этого справочника создаются другим пользователем. То есть, например, Пользователь1 запустил у себя обработку и создаются элементы справочника на протяжении 5 мин. В это время другим пользователям нельзя создавать элементы справочника, но можно изменять, читать, просматривать и т.д. Как это корректно, без костылей реализовать? Спасибо.
---
Фоновое лишнее. Хватит блокируемого ресурса и параметра в объекте справочника - проверять блокировку или нет, можно использовать даже классическое ОбменДанными.Загрузка.

- Писатель блокирует ресурс и пишет с этим флагом, при записи проверяется флаг, он установлен - блокировка не проверяется.
- Читатель работает без флага, проверяет блокировку ресурса, видит, что он заблокирован и падает в отказ.
- При любом завершении писателя блокировка ресурса снимается - или вручную или при завершении сеанса.

Код добудете в бою.
---
нельзя создавать элементы справочника, но можно изменять
Бессмыслица. Можно изменить уже существующий элемент так, что он будет содержать все новые данные (ну, кроме ссылки). Результат по сути будет аналогичен удалению и последующему добавлению.

А так, классически - блокируете какой нибудь ресурс в отдельной транзации, при записи элемента смотрите на этот ресурс и падаете в отказ если он еще занят.
Можно и без блокировки - например, выставить константу типа "ПроисходитСоздание", по завершению обработки снять ее. Но тогда при развале обработки создания залочка останется висящей.
---
"Можно и без блокировки - например, выставить константу типа "ПроисходитСоздание", по завершению обработки снять ее. Но тогда при развале обработки создания залочка останется висящей." - Так изначально и хотел, но при некорректном завершении работы и тд. будет проблема.

(3)Фоновое задание не подходит, спасибо.

(4) - "Писатель блокирует ресурс" - не знаком з блокировками. Имеется ввиду ресурс - это какой-то реквизит справочника?
---
Если бояться развал обработки, то можно либо в исключение снятие галочки прописать, либо записывать обработкой дату последнего добавления элемента и проверять: например если последний раз обработкой создали элемент 5 минут назад, то нельзя создавать, если 6 то можно
---
в исключение снятие галочки прописать
Удаленный хост принудительно разорвал существующее подключение. Завершить работу, перезапустить?

Чего только не придумают, лишь бы блокировки не изучать.
---
Нет, именно сторонний ресурс, чтобы его блокировка не влияла на справочник. Например константа.
---
Нет, именно сторонний ресурс, чтобы его блокировка не влияла на справочник. Например константа.
Если работа завершена убийством процесса 1cv8, на сколько я понимаю, то этот сторонний ресурс будет давать понять, что еще нельзя записывать, хотя уже можно. Так?
---
Нет. Блокировка автоматически снимется вместе с завершением сеанса писателя. Нормальным или аварийным методом - неважно. В этом и суть.
---
Создавать элементы только фоновым заданием, с проверкой, что такое задание уже не запущено :)
---
Фоновое лишнее. Хватит блокируемого ресурса и параметра в объекте справочника - проверять блокировку или нет, можно использовать даже классическое ОбменДанными.Загрузка.

- Писатель блокирует ресурс и пишет с этим флагом, при записи проверяется флаг, он установлен - блокировка не проверяется.
- Читатель работает без флага, проверяет блокировку ресурса, видит, что он заблокирован и падает в отказ.
- При любом завершении писателя блокировка ресурса снимается - или вручную или при завершении сеанса.

Код добудете в бою.
---
И да, блокировки - управляемые.
---
а если поставить исключительные? Уже сделал, но поставил исключительные