Функция ОткрытьФорму не работет... как отурыть форму списка подчиненного справочника Договоры...
Процедура ЧитатьШтрих()
Сообщить("Читаю штрихкод...");
СпрКонтр = СоздатьОбъект("Справочник.Контрагенты");
СпрДог = создатьОбъект("Справочник.Договоры");
СпрШтрих = СоздатьОбъект("Справочник.Идентификатор");
Если СпрШтрих.НайтиПоКоду(Число(СоСканераШтрих)) =1 тогда
Сообщить(СпрШтрих.Код);
Если СоСканераШтрих >= 1 тогда
СпрКонтр.ВыбратьЭлементы();
// Сообщить(СпрКонтр.Наименование);
Пока СпрКонтр.ПолучитьЭлемент() = 1 Цикл
// Сообщить(СпрКонтр.Наименование); конецЦикла;
Если СпрКонтр.ЭтоГруппа() = 0 Тогда
СпрДог.ИспользоватьВладельца(СпрКонтр);
СпрДог.ВыбратьЭлементы();
// Сообщить(СпрДОг.ИдентификаторШтриха);
Пока СпрДог.ПолучитьЭлемент() = 1 цикл
Если СпрДог.ИдентификаторШтриха.код = СпрШтрих.Код тогда
Если открытие окна недоступно, то или создавать обработчик ожидания, который потом откроет нужное окно, или делать "ложное закрытие", чтобы можно было открыть форму из процедуры ПриЗакрытии.
Независимо от того, куда вы едете — это в гору и против ветра!