Есть форма внешней обработки.
На ней - штатное поле ввода выбора документа, формула - ПриВыбореДок()
При выборе документа анализируется контрагент выбранного документа, и если данная форма (внешняя обработка) не предназначена для данного контрагента - то открывается друга (предназначення для контрагента форма) - обломс....
Процедура ПриВыбореДок()
//тралялял тут код
ОткрытьФорму("Отчет",СписокПараметров,глКаталогПечФорм+ФормаИмя);
Форма.Закрыть();
Возврат;
КонецПроцедуры
{...\DB.ADM\DB2006.DIR\EXTFORMS\PRNFORMS\SF2006.ERT(830)}: Открытие окна в данном режиме недоступно!
//
почему так?
Есть мнение, что из функции, связанной с формой не работает открытие формы - поэтому открытие придётся переносить в ПриЗакрытии
Процедура ПриВыбореДок()
// что-то делаем, и обнаруживаем, что надо что-то открыть
локПарам=СписокПараметров;// запоминаем данные в локальной переменной
локПуть=глКаталогПечФорм+ФормаИмя;// локальные переменные по умолчанию 0
Форма.Закрыть();// вызываем закрытие
КонецПроцедуры
Процедура ПриЗакрытии()
Если локПарам<>0 Тогда
ОткрытьФорму("Отчет",локПарам,локПуть);
КонецЕсли;
// далее обработка закрытия формы
КонецПроцедуры
Когда фоновый процесс пишешь - приходится почти все действия в ПриЗакрытии переносить, так как ОбработкаОжидания и Формула элемента (Форма.Обновить) не позволяют открывать формы.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой