|
Натолкнулся на непонятную с ситуацию с рабочим столом в 1С и модальными формами
| ☑ |
0
Jackman
14.05.15
✎
14:23
|
Сделал рабочий стол в 1С (обычная обработка с опцией "Рабочий стол" в форме). Нужно было проверять из других модулей конфигурации, открыт ли рабочий стол, использовал такой код:
ФормаСтола = Обработки.РабочийСтол.ПолучитьФорму("Форма");
Если ФормаСтола.Открыта() Тогда
// Делаю, что мне надо
КонецЕсли;
Вроде все работает, однако наткнулся на непонятную вещь: если открыть какое-то модальное окно в 1С, то ФормаСтола.Открыта() выдает значение "Ложь", хотя рабочий стол открыт. Это правильно? Если да, то как обойти?
|
|
1
asady
14.05.15
✎
14:27
|
(0) уид формы проверяй
|
|
2
Jackman
14.05.15
✎
14:57
|
(1) Так тоже непомогает.
ФормаСтола = Обработки.РабочийСтол.ПолучитьФорму("Форма",,"тест1");
Все работает, кроме момента, когда пользователь открывает какое-то модальное окно, например, полез в настройки отчета.
|
|
3
Jackman
14.05.15
✎
14:58
|
*не помогает
|
|
4
Jackman
14.05.15
✎
16:31
|
Апну тему. помогите разобраться. Проблема возникает только, если открыто какое-то модальное окно, может это глюк релиза?
|
|
5
Гёдза
14.05.15
✎
16:36
|
Если модальное окно открыто, кто же тогда проверяет наличие рабочего стола?
|
|
6
samozvanec
14.05.15
✎
16:37
|
ну можно попробовать в окнах поискать
|
|
7
Jackman
14.05.15
✎
16:46
|
(5) А разве нельзя? Периодически отрабатывают определенные процедуры, если открыт рабочий стол, то они с ним взаимодействуют. Если в момент отработки этих процедур, пользователь откроет какое-то модальное окно - процедура считает, что рабочий стол у пользователя не запущен. Конечно, можно все нужные мне процедуры впихнуть в форму рабочего стола и запустить в нем обработчик ожидания, но не хотелось бы...
|
|
8
Jackman
15.05.15
✎
00:59
|
|
|