Модальный диалог в 1с как закрыть
Перейти к содержимому

Модальный диалог в 1с как закрыть

  • автор:

Модальный диалог в 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С полезные комбинации

К сожалению, часто возникают обращения с вопросом: « висит ни на что не реагирует». Кто знает как вызвать «диспетчер задач» спасается тем что просто «убивает процесс «, но таких продвинутых немного. Да и неправильно этой. По этому как-то нашли этот список и теперь он, как и многие мои заметки будет жить здесь.
Сам рецепт «многоходовочка».

Сначала надо вызвать модальное окно:

  • Alt + Space вызов системного меню приложения или модального диалога

А вотом уже его закрыть:

  • Alt + F4 закрыть активное свободное окно, модальный диалог или приложение

Горячие клавиши глобальных действий

Горячие клавиши общих действий

Сочетания клавиш при работе в окнах приложения:

  • Alt+1 переход в панель разделов
  • Alt+2 переход в панель навигации
  • Alt+3 переход в панель действий
  • Alt+4 переход в панель навигации в режиме открытия окон «В закладках»
  • Alt+9 переход в панель истории
  • Esc переход в окно формы после перехода в панели по
  • Alt + Ctrl + Shift скрыть/показать панели разделов, навигации и действий
  • Tab (Shift + Tab) переход между панелями и окном формы (при этом из формы по Tab выйти нельзя)

Горячие клавиши работы со справочниками

Горячие клавиши работы с отчетами

Горячие клавиши работы с табличным документом

  • F2 переключение режима редактирования/ввода в ячейке
  • Home / End перейти в начало / конец строки
  • Ctrl + Home (End) перейти в начало (конец) текста
  • F4 выбор значения в ячейке
  • Shift+F4 очистка значения в ячейке
  • Ctrl + Shift + F4 открытие для детального просмотра объект выбираемый в поле ввода Горячие клавиши управление окнами
  • 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С:Предприятие
  • модальное окно
  • Назад
  • Вперед

Благодарю вас за вашу поддержку и доверие. Нажмите кнопку «Пожертвовать» и помогите мне продолжать делиться ценными знаниями и информацией с миром. Посетите страницу >> Поддержите проект.

  • Решено: Не удалось произвести подключение к информационной базе
  • Как открыть mxl от 1С без установки 1С
  • Консольный редактор nano

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *