Расширение для ЗКГУ 3.1. Блокировка данных при открытии формы из расширения.

1. ribaAist 07.02.22 10:26 Сейчас в теме
ЗКГУ 3.1. Платформа 8.3. Управляемые формы.
Делаю расширение для расчета премии.

В документе Премия, на основной форме документа по кнопке открываю свою форму (вид: форма документа) из расширения, делаю там свои расчеты, при закрытии формы, данные переносятся в ТЧ с результатами вычислений.

Так вот, если в основной форме документа тыкнуть хотя бы на одно поле, то при открытии моей формы из расширения, и при попытке отредактировать данные выдаёт ошибку, мол "не удалось начать редактирование документа. Пользователь (имя моего пользователя) уже начал редактировать эти данные." Ровно через минуту это сообщение пропадает и редактировать всё можно, всё записывается и отрабатывает как надо. Если ничего не тыкать перед открытием моей формы, то всё тоже нормально.

Перед открытием формы я записываю документ. И перечитываю данные при открытии моей формы. Но даже ручное Перечитывание в форме не помогает (когда руками тыкаешь "ещё - перечитать").

Совсем не пойму к чему это, почему ровно минуту, и как от этого избавиться. Помогите, гуру 1с.
По теме из базы знаний
Найденные решения
2. ribaAist 09.02.22 11:28 Сейчас в теме
В общем решение не такое уж и сложное, но думать пришлось долго:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПриОткрытииНаСервере(ЭтаФорма.ВладелецФормы.УникальныйИдентификатор);
КонецПроцедуры

&НаСервере
Процедура ПриОткрытииНаСервере(ИдентификаторВладельца)
    РазблокироватьДанныеДляРедактирования(Объект.Ссылка, ИдентификаторВладельца); //Разблокирую данные, заблокированные основной формой
    ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка); //Блокирую данные текущей формой
КонецПроцедуры
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ribaAist 09.02.22 11:28 Сейчас в теме
В общем решение не такое уж и сложное, но думать пришлось долго:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ПриОткрытииНаСервере(ЭтаФорма.ВладелецФормы.УникальныйИдентификатор);
КонецПроцедуры

&НаСервере
Процедура ПриОткрытииНаСервере(ИдентификаторВладельца)
    РазблокироватьДанныеДляРедактирования(Объект.Ссылка, ИдентификаторВладельца); //Разблокирую данные, заблокированные основной формой
    ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка); //Блокирую данные текущей формой
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот