Имя: Пароль:
1C
 
Открытие формы в данном режиме недоступно...
0 Злопчинский
 
01.02.09
23:02
Есть форма внешней обработки.
На ней - штатное поле ввода выбора документа, формула - ПриВыбореДок()
При выборе документа анализируется контрагент выбранного документа, и если данная форма (внешняя обработка) не предназначена для данного контрагента - то открывается друга (предназначення для контрагента форма) - обломс....

Процедура ПриВыбореДок()
//тралялял тут код
ОткрытьФорму("Отчет",СписокПараметров,глКаталогПечФорм+ФормаИмя);
Форма.Закрыть();
Возврат;
КонецПроцедуры
{...\DB.ADM\DB2006.DIR\EXTFORMS\PRNFORMS\SF2006.ERT(830)}: Открытие окна в данном режиме недоступно!
//
почему так?
1 vde69
 
01.02.09
23:05
попробуй так

Форма.Закрыть();
ОткрытьФорму("Отчет",СписокПараметров,глКаталогПечФорм+ФормаИмя);
Возврат;
2 Злопчинский
 
01.02.09
23:10
даже пробовать не буду, потому что не пройдет...
3 Torquader
 
01.02.09
23:10
Есть мнение, что из функции, связанной с формой не работает открытие формы - поэтому открытие придётся переносить в ПриЗакрытии

Процедура ПриВыбореДок()
// что-то делаем, и обнаруживаем, что надо что-то открыть
локПарам=СписокПараметров;// запоминаем данные в локальной переменной
локПуть=глКаталогПечФорм+ФормаИмя;// локальные переменные по умолчанию 0
Форма.Закрыть();// вызываем закрытие
КонецПроцедуры

Процедура ПриЗакрытии()
Если локПарам<>0 Тогда
 ОткрытьФорму("Отчет",локПарам,локПуть);
КонецЕсли;
// далее обработка закрытия формы
КонецПроцедуры


Удачи.
4 Злопчинский
 
01.02.09
23:21
(3) это понятно и так.. так и делал...
думал может туплю где...
спсб.
5 Torquader
 
01.02.09
23:33
Когда фоновый процесс пишешь - приходится почти все действия в ПриЗакрытии переносить, так как ОбработкаОжидания и Формула элемента (Форма.Обновить) не позволяют открывать формы.
6 Злопчинский
 
01.02.09
23:36
да.. засады на каждом шагу...