Имя: Пароль:
1C
 
Ошибка "Ошибка снятия блокировки объекта. Объект не заблокирован"
0 PR
 
24.12.18
01:31
1. Было такое, решили так... 100% (1)
2. Было такое, никак не решили 0% (0)
3. Не было такого 0% (0)
4. Не было такого, но будет 0% (0)
5. Я Миша и я иду нахрен 0% (0)
Всего мнений: 1

В ЗУП 3 открываю элемент справочника "Сотрудники", щелкаю последнюю вверху гиперссылку "Выплаты, учет затрат", выбираю "Зачислением на карточку", заполняю информацию, нажимаю "OK" внизу, в форме элемента сотрудника нажимаю "Записать и закрыть", получаю ошибку "Ошибка снятия блокировки объекта. Объект не заблокирован"

Зарплата и управление персоналом, редакция 3.1 (3.1.7.87)
1С:Предприятие 8.3 (8.3.13.1644)
MS SQL 2014
Windows 10
Тонкий клиент
Права полные
Места на диске хватает
64-битный клиент пробовал
Базу перерегистрировать пробовал
На другом компьютере, скуле и сервере 1С разворачивать базу пробовал
Другой релиз платформы (8.3.14.1450) пробовал
Обновлять ЗУП на последний релиз пробовал
Сервер 1С перегружать пробовал
ТиИ не пробовал

На партнерском форуме задали такой же вопрос https://partners.v8.1c.ru/forum/topic/1775320, ответа пока нет

Ну епта, что не так-то?
1 PR
 
24.12.18
02:42
Все-таки по ходу ошибка типовой ЗУП
В общем модуле СотрудникиФормы в строке 206 написано

    РазблокироватьДанныеДляРедактирования(Форма.ФизическоеЛицоСсылка, Форма.УникальныйИдентификатор);

При этом Форма.ФизическоеЛицоЗаблокировано = Ложь
В общем, не нужно ничего разблокировать
Я написал вместо этой строчки так

    Если Форма.ФизическоеЛицоЗаблокировано Тогда
        РазблокироватьДанныеДляРедактирования(Форма.ФизическоеЛицоСсылка, Форма.УникальныйИдентификатор);
    КонецЕсли;
2 PR
 
24.12.18
02:47
Что сбило с толку, почему не стал сразу проверять, не ошибка типовой ли это, так это потому что на копии базы на другом компе на другом релизе платформы как-то один раз умудрилось записаться без ошибок, вот и пойми, как это произошло
3 nastrip
 
12.02.19
11:00
Чтобы не лопатить конфу и не мудохаться в дальнейшем с обновлением, вышел из положения с помощью расширения

Добавил общий модуль, скопировал процедуру СотрудникиПослеЗаписиНаСервере() из Общего модуля СотрудникиФормы.
Позаимствовал форму элемента справочника Сотрудники и добавил в модуль процедуру ПослеЗаписиНаСервере() выбрав сценарий Вместо() и соответственно направил на процедуру в созданном общем модуле.

В котором процедура исправлена согласно твоей подсказке

Версия ЗУП 3.1 (3.1.8.216)

Версия платформы 1С:Предприятие 8.3 (8.3.13.1644)

Было такое, решили так...
4 nastrip
 
12.02.19
11:01
(3)
Процедура Вместо_СотрудникиПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи) Экспорт
    
    Форма.РазблокироватьДанныеФормыДляРедактирования();
    
    Если Форма.ФизическоеЛицоЗаблокировано Тогда
        РазблокироватьДанныеДляРедактирования(Форма.ФизическоеЛицоСсылка, Форма.УникальныйИдентификатор);
    КонецЕсли;
    
    Если Форма.ИзмененыЛичныеДанные Или Форма.СозданиеНового Тогда
        Форма.СозданиеНового = Ложь;
        ПрочитатьДанныеСвязанныеССотрудником(Форма);
    КонецЕсли;
    
    Форма.СотрудникЗаблокирован = Ложь;
    Форма.ФизическоеЛицоЗаблокировано = Ложь;
    
    СотрудникиОбновитьЭлементыФормы(Форма);
    
КонецПроцедуры
5 nastrip
 
12.02.19
11:28
(4)
Описание:

Снимает блокировку объекта.
Если блокировка не была установлена от имени этой формы или без указания формы, никаких действий не выполняется.

Это написано в справке 1С ))) по факту ошибка как раз-таки здесь и порылась )))
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс