Модальный диалог в 1с как закрыть
Есть главное окно программы, на основе диалога.
Есть второй поток, который принимает байты из сокета и шлет сообщения (через SendMessage) главному окну. При закрытии сокета шлется специальное сообщение, при котором весь интерфейс главного окна блокируется.
Есть форма ввода данных на основе модального диалога.
Ситуация: вводим данные через модальный диалог, сеть обрывается, интерфейс главного окна блокируется. Но модальное окно остается открытым. Вопрос: как правильно его закрыть?
Re: Закрытие модального диалога из основного окна
| От: | Carc | https://vk.com/gosha_mazov |
| Дата: | 10.06.10 19:51 | |
| Оценка: | 2 (1) | |
Здравствуйте, licch, Вы писали:
L>Есть главное окно программы, на основе диалога.
L>Есть второй поток, который принимает байты из сокета и шлет сообщения (через SendMessage) главному окну. При закрытии сокета шлется специальное сообщение, при котором весь интерфейс главного окна блокируется.
L>Есть форма ввода данных на основе модального диалога.
L>Ситуация: вводим данные через модальный диалог, сеть обрывается, интерфейс главного окна блокируется. Но модальное окно остается открытым. Вопрос: как правильно его закрыть?
Если диалог модальный, то можно отследить состояние висит он еще или нет.
virtual CFrameWnd::BeginModalState и EndModalState — соответственно вход и выход из модального диалога. Ну а если сеть упала то можно диалогу отослать сообщение WM_CLOSE.
Re: Закрытие модального диалога из основного окна
| От: | PanychY | |
| Дата: | 10.06.10 20:09 | |
| Оценка: | 2 (1) +1 | |
Здравствуйте, licch, Вы писали:
L>Ситуация: вводим данные через модальный диалог, сеть обрывается, интерфейс главного окна блокируется. Но модальное окно остается открытым. Вопрос: как правильно его закрыть?
Послать ему WM_USER+x сообщение, а ещё лучше WM_COMMAND, а тот пусть себя правильно закрывает(со всяким зачистками) стандартным способом — через EndDialog. Только не забудьте предусмотреть реакцию создателя диалога на такое закрытие.
Использование сочетаний клавиш, список зарезервированных сочетаний
Область применения: управляемое приложение.
Для часто выполняемых или общеупотребимых действий рекомендуется назначать сочетания клавиш. Ниже приведены списки зарезервированных сочетаний в прикладных решениях и в платформе 1С:Предприятие .
Для действий, приведенных в таблицах, назначение указанных сочетаний клавиш обязательно. Использование зарезервированных сочетаний в иных целях запрещается.
Список зарезервированных сочетаний клавиш в прикладных решениях:
| Сочетание клавиш | Действие | |
| Ctrl + Shift + F | Полнотекстовый поиск | |
| F7 | Поиск по штрихкоду | |
| F8 | Выключить/включить активность проводок в журнале операций | |
| F11 | Установить текущее учреждение | |
| F12 | Вызов «Управление данными работника» | |
Список зарезервированных сочетаний клавиш в платформе 1С:Предприятие :
| Сочетание клавиш | Действие | |
| Ctrl + A | Выделить все | |
| Ctrl + B | Включить/выключить жирность | |
| Ctrl + Alt + B | Предыдущая страница | |
| Ctrl + C | Копировать в буфер обмена | |
| Ctrl + E | Открыть «Свойства» | |
| Ctrl + F | Поиск, найти | |
| Ctrl + Alt + F | Следующая страница | |
| Shift + Alt + F | Форматировать блок | |
| Ctrl + G | Перейти к ячейке, перейти к строке | |
| Ctrl + H | Заменить, замена | |
| Ctrl + I | Включить/выключить курсив | |
| Ctrl + L | Удалить текущую строку | |
| Ctrl + Shift + M | Перенести элемент в другую группу | |
| Ctrl + N | Создать новый документ | |
| Ctrl + Shift + N | Установка имени текущей области | |
| Ctrl + O | Открыть существующий документ | |
| Ctrl + Alt + O | Открыть «Служебные сообщения» | |
| Ctrl + P | Печать активного документа | |
| Ctrl + Shift + P | Печать на текущий принтер | |
| Ctrl + Shift + R | Обновить, обновить группировки | |
| Shift + Alt + R | Восстановить положение окна | |
| Alt + Shift + R | Восстановить положение окна | |
| Ctrl + S | Сохранить активный документ | |
| Ctrl + T | Найти в дереве | |
| Ctrl + U | Включить/выключить подчеркивание | |
| Ctrl + V | Вставить из буфера обмена | |
| Ctrl + W | Выделить слово | |
| Ctrl + Alt + W | Открыть «Табло» | |
| Ctrl + X | Вырезать в буфер обмена | |
| Ctrl + Y | Вернуть отмененное действие | |
| Ctrl + Z | Отменить последнее действие | |
| Ctrl + Alt + Z | Очистить служебные сообщения | |
| Ctrl + Shift + Z | Закрыть «Служебные сообщения» | |
| Ctrl + «-« | Переход по истории активности окон, переместиться назад | |
| Ctrl + Shift + «-« | Переход по истории активности окон, переместиться вперед | |
| Ctrl + Alt + Num- | Свернуть (узел дерева, группу табличного документа) и все подчиненные | |
| Shift + Num- | Вычесть из буфера обмена | |
| Alt + Num- | ||
| Space | Изменение флажка | |
| Alt + Space | Вызвать системное меню приложения или модального диалога | |
| Alt + Hyphen (- ) | Вызвать системное меню окна (кроме модальных диалогов) | |
| Enter | Перейти к редактированию содержимого ячейки, сохранить свойства | |
| Alt + Enter | Открыть «Свойства» | |
| Ctrl + Enter | Сформировать отчет | |
| F1 | Открыть «Справку» | |
| Shift + F1 | Открыть «Содержание справки» | |
| Shift + Alt + F1 | Открыть «Индекс справки» | |
| Alt + F1 | Открыть «Поиск по справке» | |
| F2 | Открыть, переключение режима редактирования/ввода в ячейке | |
| Ctrl + F2 | Открыть встроенный «Калькулятор» системы 1С:Предприятие | |
| Shift + F2 | Закончить редактирование, предыдущая закладка | |
| Alt + F2 | Установить/снять закладку | |
| F3 | Найти следующий | |
| Ctrl + F3 | Найти следующий выделенный | |
| Shift + F3 | Найти предыдущий | |
| Ctrl + Shift + F3 | Найти предыдущий выделенный | |
| F4 | Кнопка выбора | |
| Ctrl + F4 | Закрыть активное обычное окно | |
| Shift + F4 | Очистить поле | |
| Alt + F4 | Закрыть активное окно, модальный диалог или приложение | |
| Ctrl + Shift + F4 | Кнопка открытия | |
| F6 | Активизировать следующую секцию окна | |
| Ctrl + F6 | Активизировать следующее обычное окно | |
| Shift + F6 | Активизировать предыдущую секцию окна | |
| Ctrl + Shift + F6 | Активизировать предыдущее обычное окно | |
| F9 | Скопировать | |
| Ctrl + F9 | Новая группа | |
| F10 | Вызвать главное меню | |
| Shift + F10 | Вызвать контекстное меню | |
| Alt + F10 | Вызвать главное меню | |
| Up, Down, Left, Right | Перемещение по ячейкам, прокрутить, перейти к предыдущему / следующему свойству | |
| Ctrl + (Up, Down, Left, Right) | Перемещение по ячейкам или дереву, перемещение выделенного варианта, перемещение по тексту по словам | |
| Shift + (Up, Down, Left, Right) | Выделение ячеек, изменение размеров элемента карты | |
| Alt + Right | Переход к следующей главе справки | |
| Alt + Left | Переход к предыдущей главе справки | |
| Ctrl + Shift + (Up, Down, Left, Right) | Перемещение по ячейкам к следующей заполненной или пустой с выделением ячеек, выделение колонок, выделение слов, перемещение строки верх/вниз | |
| Alt + Shift + (Up, Down) | Выделение строк | |
| Ctrl + Alt + Shift + (Left, Right) | Выделение колонок до следующей заполненной или пустой ячейки | |
| Ctrl + Alt + Shift + (Up, Down) | Выделение строк до следующей заполненной или пустой ячейки | |
| Page Up | Прокрутить на страницу вверх | |
| Ctrl + Page Up | Предыдущая страница, перейти к предыдущей категории | |
| Shift + Page Up | Выделить предыдущую страницу текста | |
| Alt + Page Up | Прокрутить на размер окна влево, прокрутить на страницу влево | |
| Page Down | Прокрутить на страницу вниз | |
| Ctrl + Page Down | Следующая страница, перейти к следующей категории | |
| Shift + Page Down | Выделить следующую страницу текста | |
| Alt + Page Down | Прокрутить на размер окна вправо, прокрутить на страницу вправо | |
| Num+ | Раскрыть узел дерева, увеличить масштаб, раскрыть категорию свойств | |
| Ctrl + Num+ | Развернуть (узел дерева, группу табличного документа, группировку модуля) | |
| Shift + Num+ | Добавить к буферу обмена | |
| Ctrl + Shift + Num+ | Развернуть (все узлы дерева, группы табличного документа, группировки модуля) | |
| Ctrl + Alt + Num+ | Развернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные | |
| Num- | Закрыть узел дерева, уменьшить масштаб, закрыть категорию свойств | |
| Ctrl + Num- | Свернуть (узел дерева, группу табличного документа, группировку модуля) | |
| Shift + Num- | Вычесть из буфера обмена | |
| Alt + Num- | Вызвать системное меню окна (кроме модальных диалогов) | |
| Ctrl + Shift + Num- | Свернуть (все узлы дерева, группы табличного документа, группировки модуля) | |
| Ctrl + Alt + Num- | Свернуть (узел дерева, группу табличного документа, группировку модуля) и все подчиненные | |
| Num* | Раскрыть все узлы дерева | |
| Shift + Num* | Копировать в буфер обмена как число | |
| Esc | Вернуть активность обычному окну, снять выделение, восстановить значения свойства | |
| Shift + Esc | Закрыть активное окно (кроме обычных) | |
| Tab | Сдвинуть блок вправо, перейти на следующий элемент карты | |
| Ctrl + Tab | Активизировать следующее обычное окно | |
| Shift + Tab | Перейти на предыдущий элемент карты, сдвинуть блок влево | |
| Ctrl + Shift + Tab | Активизировать предыдущее обычное окно | |
| BackSpace | Удалить символ слева от курсора | |
| Ctrl + BackSpace | Удалить слово слева от курсора | |
| Alt + BackSpace | Отменить последнее действие | |
| Shift + Alt + BackSpace | Вернуть отмененное действие | |
| Ins | Добавить, переключить режим вставки/замены | |
| Ctrl + Ins | Копировать в буфер обмена | |
| Shift + Ins | Вставить из буфера обмена | |
| Del | Удалить | |
| Ctrl + Del | Удалить слово справа от курсора | |
| Shift + Del | Вырезать в буфер обмена, удалить строку | |
| Home | Перейти в начало строки, перейти в начало палитры | |
| Ctrl + Home | Перейти в начало текста | |
| Shift + Home | Выделить до начала строки | |
| Ctrl + Shift + Home | Выделить до начала текста | |
| End | Перейти в конец строки | |
| Ctrl + End | Перейти в конец текста | |
| Shift + End | Выделить до конца строки | |
| Ctrl + Shift + End | Выделить до конца текста | |
| Alt | Вызвать главное меню | |
| Alt + Hyphen ( — ) | Вызвать системное меню окна (кроме модальных диалогов) | |
| Ctrl + [ | Перейти по операторным скобкам назад | |
| Ctrl + Shift + [ | Перейти по операторным скобкам назад с выделением текста | |
| Ctrl + ] | Перейти по операторным скобкам вперед | |
| Ctrl + Shift + ] | Перейти по операторным скобкам вперед с выделением текста | |
| Ctrl + Break | Вызвать главное меню | |
| Alt | Вызвать главное меню | |
Модальный диалог в 1с как закрыть
Надо принудительно завершить работу, использую ЗавершитьРаботуСистемы()
не работает, прикол в том что при запуске 1С появляется собственная общая форма в которой происходит ввод логина и пароля (не та что стандартная в 1С) прикол в том что это окно запускается при начале работы системы и завершить работу системы я пытаюсь уже в этой общей форме которая открыта модально.
ЭтаФорма.Закрыть() ?
ну тогда я попаду в конфигуратор, а мне надо завершить работу системы
тьфу не в конфигуратор а в платфомру
убей процесс
я так подозреваю что тебе мешает завершить работу системы модальное окно. перед завершением его нужно закрыть.
напиши дополнительную обработку из одной процедуры которая закрывает твою форму а потом тушит систему и вызывай ее
(5) я подозреваю, что юзер запускает ярлык, выскакивает окно ввода пароля и юзер уходит курить.
(5) +или просто в общем модуле если не жалко
(0) сделай обработку ожидания в собственной общей форме, открытой модально
(8) обработку ожидания чего? ну дождались и дальше что? у него система не завершается из модальной формы
Модальный диалог в 1с как закрыть
Все что вы делаете вы делаете на свой страх и риск. Я могу только рекомендовать и не претендую на 100% решение, многое зависит от вашего окружения и прочих настроек. О которых я могу и не догадываться. Дополнение материалов и исправление ошибок приветствуется.
Закрыть модальное окно в 1С полезные комбинации
К сожалению, часто возникают обращения с вопросом: «1С висит ни на что не реагирует». Кто знает как вызвать «диспетчер задач» спасается тем что просто «убивает процесс 1С«, но таких продвинутых немного. Да и неправильно этой. По этому как-то нашли этот список и теперь он, как и многие мои заметки будет жить здесь.
Сам рецепт «многоходовочка».
Сначала надо вызвать модальное окно:
- Alt + Space вызов системного меню приложения или модального диалога
А вотом уже его закрыть:
- Alt + F4 закрыть активное свободное окно, модальный диалог или приложение
Горячие клавиши глобальных действий
Горячие клавиши общих действий 1С
Сочетания клавиш при работе в окнах приложения:
- Alt+1 переход в панель разделов
- Alt+2 переход в панель навигации
- Alt+3 переход в панель действий
- Alt+4 переход в панель навигации в режиме открытия окон «В закладках»
- Alt+9 переход в панель истории
- Esc переход в окно формы после перехода в панели по
- Alt + Ctrl + Shift скрыть/показать панели разделов, навигации и действий
- Tab (Shift + Tab) переход между панелями и окном формы (при этом из формы по Tab выйти нельзя)
Горячие клавиши работы со справочниками 1С
Горячие клавиши работы с отчетами 1С
Горячие клавиши работы с табличным документом 1С
- F2 переключение режима редактирования/ввода в ячейке
- Home / End перейти в начало / конец строки
- Ctrl + Home (End) перейти в начало (конец) текста
- F4 выбор значения в ячейке
- Shift+F4 очистка значения в ячейке
- Ctrl + Shift + F4 открытие для детального просмотра объект выбираемый в поле ввода Горячие клавиши управление окнами 1С
- Alt + F4 закрыть активное свободное окно, модальный диалог или приложение
- Ctrl + F4 закрыть активное обычное окно
- Shift + Esc закрыть активное окно
- Ctrl + Tab (Ctrl + F6) активировать следующее обычное окно
- Ctrl + Shift + Tab (Ctrl + Shift + F6) активировать предыдущее обычное окно
- Alt + Space вызов системного меню приложения или модального диалога
- F10 активировать главное меню
- Shift + F10 вызов контекстного меню
- Alt + Space вызов системного меню
- Esc вернуть активность обычному окну
- Alt + Shift + R восстановить положение окна
- сочетания клавишь
- 1С:Предприятие
- 1С
- модальное окно
- Назад
- Вперед
Благодарю вас за вашу поддержку и доверие. Нажмите кнопку «Пожертвовать» и помогите мне продолжать делиться ценными знаниями и информацией с миром. Посетите страницу >> Поддержите проект.
- Решено: Не удалось произвести подключение к информационной базе
- Как открыть mxl от 1С без установки 1С
- Консольный редактор nano