Всем доброго дня!
Делаю расширение с версионированием. Скопировал стандартный механизм в расширение. Все работало ок.
Тут добавил новый документ в типы объекта расширения и при попытке заблокировать таблицу получаю следующую ошибку
{ЭИТ ОбщийМодуль.ЭИТ_ВерсионированиеОбъектов.Модуль(1402)}: Ошибка при вызове метода контекста (Заблокировать): Неверный тип значения: РегистрСведений.ЭИТ_ВерсииОбъектов.Объект
Вот код, который приводит к ошибке.
Если ТранзакцияАктивна() Тогда
БлокировкаДанных = Новый БлокировкаДанных();
ЭлементБлокировки = БлокировкаДанных.Добавить("РегистрСведений.ЭИТ_ВерсииОбъектов");
ЭлементБлокировки.УстановитьЗначение("Объект", Ссылка);
БлокировкаДанных.Заблокировать();
КонецЕсли;
проблема только в одной базе. Делаю ее копию через восстановление бэкапа sql - все работает
База продакшн почти 24/7, так что час на бэкап и его восстановление - непозволительная роскошь
Пробовал и добавить новый тип в этот регистр, и убрать этот документ и добавить заново - ничего не помогает
Причем если добавлять запись в регистр руками - то тип выбрать и записать можно. То есть в базе эти данные храниться могут. Проблема только в блокировке.
Остальные типы - и справочники, и документы записываются без проблем.
чистка кэша из папки C:\Program Files\1cv8\srvinfo\reg_1541\snccntxe22ee3fc-e895-45d7-8105-bde0f927249b решила проблему)
Надо бы преиодически это делать
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший