Имя: Пароль:
1C
1C 7.7
v7: Документ->Обработка->Печать: Открытие окна в данном режиме недоступно!
0 aka AMIGO
 
21.02.12
11:56
Из документа вызываю обработку, форма открывается модально:
http://img-fotki.yandex.ru/get/4407/22238773.0/0_6b01e_36c3b1ec_XL.jpg
Жму кнопку "ИНФО товар", на ней функция "ИнфоТовар()", должна сформировать отчет.
Код создания таблицы проходит весь, на последней команде "Таб.Показать()" получаю сообщение: "Открытие окна в данном режиме недоступно!"

Поискал советы в форуме и в др. местах, нашел ссылку:
http://web.archive.org/web/20080118090308/http://www.sinor.ru/~my1c/knowhow/getskod.html

Перестроил код в модуле под неё, получилось вот что:

Процедура ИнфоТовар() //функция на кнопке в Обработке.
   МожноЗакрыть=0;
   Форма.Закрыть(0);
КонецПроцедуры

Процедура ПриЗакрытии()
   Перем ТЗТЧ;
   Если МожноЗакрыть=0 Тогда
       
       ...
       Таб = СоздатьОбъект("Таблица");
       ... //создаю таблицу
       Таб.Показать(); //вот тут сообщение ""Открытие окна в данном режиме недоступно!""
       СтатусВозврата(0);
   Иначе
       ОК();
   КонецЕсли;
   МожноЗакрыть=1;
   
КонецПроцедуры

формально - всё правильно, как в совете синора, но не срабатывает..
1 ilya_i
 
21.02.12
13:32
"Открытие окна в данном режиме недоступно!"
а что за режим то? вроде модальный, но есть и еще какая-то засада, какая? подробнее ситуацию
2 aka AMIGO
 
21.02.12
14:00
(1) вроде разобрался.
сочетание ОткрытьПодбор() и ОткрытьФормуМод() - и уже платформа не дает открыть следующее окно.. Следующее окно - это таблица, вот и сообщает об ошибке..
3 aka AMIGO
 
21.02.12
14:02
+2 цепочка длинна, я так понял: открыт документ, в нем открыт подбор, при отборе открывается форма обработки, а в ней желаю открыть таблицу.. последнее - запрещает платформа.
4 Ёпрст
 
21.02.12
14:02
(0) при модальной форме нет Таблицы
5 Ёпрст
 
21.02.12
14:03
+4 и никогда не было
6 Ёпрст
 
21.02.12
14:03
можешь только её распечатать
7 aka AMIGO
 
21.02.12
14:06
(4) как так нету? таблица у меня формируется в модуле формы в обработке..
и выводилась! только вчера всё работало, сегодня - как отрезало!

стал показывать шефу - генеральский эффект сработал! зараза такая :)
8 aka AMIGO
 
21.02.12
14:12
вариантов штук 10 пересмотрел, кажется, что-то стало появляться..
печатается таблица из модальной формы, но появляется ЗА формой, приходится двигать её, чтобы посмотреть, что там на печать вывелось..
Вот, показываю результат нажатия:

http://img-fotki.yandex.ru/get/4408/22238773.0/0_6b027_5779bde5_XXL.jpg
9 aka AMIGO
 
21.02.12
14:27
вот так будет правильней:
http://img-fotki.yandex.ru/get/58191/22238773.0/0_6b028_225878fb_XXL.jpg
10 Ёпрст
 
21.02.12
14:33
(7) спутал с Пустой таблицей - её нет у модальной формы (и рвд тоже)
11 aka AMIGO
 
21.02.12
14:35
(10)угу, это понятно.
12 ilya_i
 
21.02.12
15:23
В книгу знаний можно, полезная инфа.
13 aka AMIGO
 
21.02.12
21:01
(12)попробуем..
вот еще одна тема: Открытие формы в данном режиме недоступно...

решение практически то-же, см пост
Torquader

5 - 01.02.09 - 23:33
   
Когда фоновый процесс пишешь - приходится почти все действия в ПриЗакрытии() переносить, так как ОбработкаОжидания и Формула элемента (Форма.Обновить) не позволяют открывать формы.
14 aka AMIGO
 
21.02.12
21:02
15 zak555
 
21.02.12
21:04
переходите на 6.0
16 aka AMIGO
 
21.02.12
21:50
(15) не дождетесь © :/
:)
17 Torquader
 
21.02.12
22:03
Даже если вы заставите таблицу открыться из модальной формы (а сделать это можно очень просто - положить таблицу на другую форму), то что вам это даст - если другую форму открывать модально, то пользователь не сможет вернуться к первоначальной форме, не закрыв таблицы, если немодально, то она откроется за модельной формой, и на неё нельзя будет переключиться.
18 Torquader
 
21.02.12
22:11
А вообще - клади таблицу на форму и открывай её модально - в твоём случае, после того, как её посмотрят, её закроют и вернуться к родной форме.
Второй вариант, если уж очень хочется открыть именно таблицу - из подбора через "ОбработкаПодбора" дать команду в основное окно - пусть таблица создаётся там.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой