Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка блокировки объекта после использования метода ОткрытьФорму()

Ошибка блокировки объекта после использования метода ОткрытьФорму()
Я
   ladalady21110
 
16.11.18 - 14:45
Добрый день!
8.3
Самопальный документ
Реквизит ИНН и установленная ему обработка выбора (по ИНН должен открываться список выбора контрагентов с таким ИНН)

&НаКлиенте
Процедура НСИКонтрагентыИННОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
        
    ПараметрыОтбора = Новый Структура("ИНН", ВыбранноеЗначение);
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);
    
    ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("НСИКонтрагентыОписаниеОповещения", ЭтаФорма, Неопределено);
    ОткрытьФорму("Справочник.Контрагенты.ФормаВыбора", ПараметрыФормы, ЭтаФорма, Истина, ВариантОткрытияОкна.ОтдельноеОкно,, ОписаниеОповещенияОЗакрытии);

КонецПроцедуры

&НаКлиенте
Процедура НСИКонтрагентыОписаниеОповещения(РезультатЗакрытия, ДопПараметры) Экспорт
    
    ТекущиеДанные = Элементы.НСИКонтрагенты.ТекущиеДанные;
    
    Если РезультатЗакрытия = Неопределено Тогда
        Возврат;
    Иначе    
        ТекущиеДанные.ВидОперации     = ПредопределенноеЗначение("Перечисление.ВидыОперацийИзмененияНСИ.ИзменениеРеквизитовОбъекта");
        ТекущиеДанные.СсылкаОснование     = РезультатЗакрытия;
    КонецЕсли;    
    
КонецПроцедуры


Всё отрабатывает прекрасно.
Но есть одна провальная комбинация: Открыть(создать) документ -> тыкнуть в реквизит чтобы открылась форма выбора -> закрыть документ и открыть снова.
Всё, дальше документ записать нельзя и нельзя снова вызвать форму выбора.
Ошибка:
https://yadi.sk/i/Aw_BomCWbXwb2Q

Как починить?(
 
 
   palsergeich
 
1 - 16.11.18 - 14:46
(0) Почитай что такое Пессемистичная объектная блокировка - это оно
   Fragster
 
2 - 16.11.18 - 15:42
у тебяв том документе, ОТКУДА открывается форма выбора есть где-то циклическая ссылка, которая не дает до конца форму закрыть
   DrWatson
 
3 - 16.11.18 - 15:52
А когда документ закрывается, разве форма выбора справочника не должна сама закрыться? Вроде как владелец установлен.
Второй вариант - открывать с блокировкой владельца.
   Fragster
 
4 - 16.11.18 - 16:07
На самом деле тебе надо передавать в качестве владельца элемент формы, в вызываемой форме вызывать ОповеститьОВыборе и  выкинуть описание оповещения о закрытии вообще
   Fragster
 
5 - 16.11.18 - 16:09
ну и похоже, что на самом деле надо указать связь параметров выбора и все, никаких самопальных вызовов не нужно использовать.
   ladalady21110
 
6 - 16.11.18 - 16:44
Итого проблема оказалась в ОписаниеОповещенияОЗакрытии.
В моем случае удалось перейти к виду:


РезультатЗакрытия = ОткрытьФормуМодально("Справочник.Контрагенты.ФормаВыбора", ПараметрыФормы);
   Fragster
 
7 - 16.11.18 - 22:22
(6) ииииииии это неправильный ответ

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует