Не закрывается окно в программе 1с

Как, по аналогии, с базами 1С 8, работащими в режиме обычного интерфейса быстро закрыть разом все вкладки или окна в интерфейсе «Такси» баз, работающих в режиме управляемого приложения.

Если происходит обновление редакции базы 1С 8, то чаще всего это приводит к тому, что изменяется интерфейс — на работающий в режиме управляемого приложения. Тогда у пользователей, ранее работавших в обычном интерфейсе, возникают вполне логичные вопросы о том, где находятся те или иные кнопки в новом интерфейсе, и есть ли они вообще.

Таким примером является кнопка функции «Закрыть все», которая в базах 1С 8, работавших в режиме обычного приложения размещалась в меню «Окна», нажатие по которой позволяло закрыть все открытые окна.

Рис. 1. Кнопка «Закрыть все» в интерфейсе обычного приложения

В современных, новых редакциях конфигураций 1С 8, интерфейс другой. И сразу найти функционал, отвечающий за закрытие всех вкладок пользователю становиться найти проблематично, если не знать, где он находиться. Отметим, что такие конфигурации обеспечивают работу в окнах, которые открываются как вкладки рабочей области окна программы.

Самая простая и нелепая ошибка в 1С восстановить положение окна

Заголовки вкладок размещены все по одной линии над рабочей областью. Можно закрыть каждую вкладку по отдельности, нажимая на крестик «X» у правого края вкладки. А можно вызвать контекстное меню, если нажать правой кнопкой мыши на любой из вкладок. И в открывшемся меню выбрать пункт «Закрыть все». Он закроет все вкладки окон, которые открыты на текущий момент.

Нажатие на изображении увеличит его
1С 8 как и где в интерфейсе Такси находится, размещена кнопка закрыть все окна
Рис. 2. Кнопка «Закрыть все» в интерфейсе «Такси»

Выше был приведен пример для управляемого режима базы 1C 8, запущенной в интерфейсе «Такси».

Ниже приведен пример для другого интерфейса, который называется «Формы в закладках», и он похож по внешнему виду на предыдущий, т.к. окна отображаются в виде вкладок, но способ закрытия всех вкладок отличается.

как в 1С 8 изменить интерфейс на

Рис. 3. Изменение внешнего вида интерфейса базы 1С 8 в «Параметрах»

Чтобы выполнить закрытие всех закладок необходимо перейти в подменю «Окна» «Главного меню» В подменю «Окна» переходим по кнопке «Все окна. » .

Не закрывается 20 счет: поиск ошибки с помощью ОСВ по сч. 20 (при распр-нии затрат) для 1С:УПП,КА

Читайте также:
Как разблокировать программу на ПК

Нажатие на изображении увеличит его
1С 8 как закрыть все открытые окна, вкладки, закладки, руководство, инструкция
Рис. 4. Переход к функционалу закрытия всех открытых вкладок в интерфейсе «Формы в закладках»

В отрывшемся окне «Все окна» выделяем все окна, удерживая клавишу «Shift» клавиатуры и кнопку стрелки «↓» (Вниз) или «↑» (Вверх) в зависимости от того, какой исходно пункт списка Вы выбрали — первый или последний. После того как пункты списка открытых окон выделены, нажимаем кнопку «Закрыть окна».

с помощью какой кнопки в 1С8 можно закрыть все окна, вкладки, где кнопка расположена

Рис. 5. Кнопка «Закрыть окна» для закрытие всех открытых вкладок сеанса работы 1С8 в режиме Предприятие

Пример того, как выполнить закрытие всех окон в режиме управляемого приложения 1С 8 интерфейса «Такси» или «формы в закладках», можно наглядно увидеть в видео ниже:

Или по ссылке на YouTube:

Источник: www.azhur-c.ru

Закрытие навязчивых окон 1С

Программа для закрытия навязчивых окон в 1С и других приложениях. Использую ее, т.к. часто в копиях баз, предоставляемых клиентом при работе возникают навязчивые сообщения, на закрытие которых тратится драгоценное время.

Клиенты часто предоставляют мне копии своих баз. В последнее время 1С стало выдавать много навязчивых оповещений, которые мешают мне, как разработчику. Я трачу своё время на закрытие этих ненужных мне оповещений.

Вот примеры таких оповещений:

Чтобы решить проблему раз и навсегда, я заказал программисту небольшую программку на Си, которая закрывает окна по их заголовку.

Как использовать программу

Программа называется kwnd.exe.

Заголовки окон нужно написать в файле kwnd без расширения и разместить в одной папке с kwnd.exe. Каждый заголовок должен быть с новой строки.

Для приведенных выше навязчивых окон 1С файл заголовков окон kwnd выглядит так:

Информация — Бухгалтерия предприятия, редакция 3.0 Рекомендуется обновить версию конфигурации

Программа консольная, не имеет графического интерфейса.

Программа работает в бесконечном цикле, но не завершается, проверяет список окон по таймеру. Если указать при запуске kwnd.exe числовой параметр, то очередь будет опрашиваться раз в указанное количество секунд.

Пример для запуска проверки очереди раз в секунду:

kwnd.exe 1

Второй экземпляр kwnd.exe не запускается, программа выдает предупреждение, что она уже запущена. Снять программу можно через диспетчер задач:

Программа не нагружает процессор, несмотря на то, что постоянно проверяет список окон.

Для автозапуска программы используйте команду shell:startup или shell:common startup для открытия папки автозапуска текущего или всех пользователей.

Читайте также:
Театральная программа своими руками

В папке разместите ярлык на программу:

После этого можно забыть о навязчивых сообщениях.

У некоторых пользователей были проблемы с работой программы, т.к. они прописывали запуск из планировщика и, возможно, программа запускалась от имени администратора, а не текущего пользователя, поэтому лучше прописывать ярлык в папку автозапуска.

Как определить заголовок программы

Обычно нет проблем визуально определить заголовок окна. Но иногда нужно получить точное название.

Для точного определения заголовка я использую Au3Info.exe от программы AutoIt.

Ее можно получить после установки AutoIT. Или скачать отдельно, она работает и отдельно от пакета AutoIt.

Также можно использовать AU3_Spy из пакета AutoHotKey и множество других подобных программ.

Получить программу

Исходный код программы:

#pragma hdrstop #pragma argsused #ifdef _WIN32 #include #else typedef char _TCHAR; #define _tmain main #endif #include #include #include #include #include #include // подключаем строки #include // подключаем файлы #define NAME_CONSOLE «myConsole» using namespace std; HWND hWnd; HANDLE mutex;//Глобальный хендл мютекса int _tmain(int argc, _TCHAR* argv[]) //При открытии программы пытаемся создать мютекс. //Мютекс — такой объект, который можно увидеть из любого приложения системы mutex=CreateMutex(NULL,true,»kWnd»); DWORD result; result = WaitForSingleObject(mutex,0);//А теперь пытаемся его захватить себе //Если его захватить не получается, значит мютекс уже захватил кто-то другой if(result!=WAIT_OBJECT_0) cout<«the program is already running, and the second copy cannot be started»; Sleep(5000); exit(-1); > FreeConsole(); // переменная для сброса строки, прочитанной из файла.

// Используется в ходе подсчета строк в файле, больше ни для чего не нужна string AS; // определим количество строк в файле в переменной i int i=1; ifstream file(«kWnd»); while (getline(file, AS)) i++; > if (i 0) cout <«Файл пуст» ; return -1; > // Динамическое выделение памяти для массива s string *s; s=new string[i]; // запишем все строки в массив, чтобы постоянно не ходить на диск // Заполнение массива s значениями строк из файла file.clear(); file.

seekg(0, std::ios::beg); for (int k = 1; k i; k++) getline(file, s[k]); > file.close(); // обязательно закрываем файл что бы не повредить его // . поехали . char str[1024]; while (1) for (int k = 1; k i; k++) strcpy(str,s[k].c_str()); hWnd = FindWindow(NULL, _T(str)); if(IsWindow(hWnd)) SendMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,0); > > if (argc>0) Sleep(argc*1000); > //При выключении программы освобождаем мютекс, если он был у нас захвачен ReleaseMutex(mutex); //И удаляем его. CloseHandle(mutex); delete[] s; return 0; >

Источник: geniy1s.ru

Читайте также:
Как пользоваться программой xdrip с либрой

Как в управляемых формах закрыть все окна (хождение по мукам)

В управляемых формах 1С v8.3 не всё так просто, как было в обычных формах и, зачастую, требуются более сложные действия, чтобы выполнить «простейшее» для «старого» интерфейса действие.

  • Как это было в обычных формах:
  • Цепочка действий
  • Программное закрытие всех форм
  • Резюме:

Как это было в обычных формах:

Меню «ОкнаЗакрыть всё» …. и всё — все окна моментально закрыты! (кроме случаев когда есть модифицированность формы, либо есть обработчик запрещающий закрытие либо закрытие без подтверждения)

Окна-закрыть всё

Теперь же у нас передовая технология «Такси» — «потому что быстрая»).

Цепочка действий

Выходим в меню/Окна/Все окна (уже 3 нажатия, но это еще не всё)

Окна-закрыть всё часть 1

Часть вторая «Сдвинуть мышь вправо, найти кнопку «Закрыть окна» и нажать, …… и нет не всЁ. Потому что закроется только одно выделенное — текущее окно.

Окна-закрыть всё часть 2

Нажимаем «Выделить все» — это если горячими клавишами «Ctrl+A», либо встать на верхний и через Shift и движением стрелкой вниз выделить все (все строки должны стать желтыми), а любителям мышкой, никак…. только по одному

Затем уже нажимаем «Закрыть окна» и ….. интерфейс поворочался 2-3 секунды, но закрыл окна.

Остались в списке два окна и окно диалога не закрылось — еще одно лишнее действие по его закрытию.

Окна-закрыть всё часть 3

Программное закрытие всех форм

Окна = ПолучитьОкна();
Для Каждого Окно Из Окна Цикл
Если Не Окно.Основное Тогда
Для каждого Форма из Окно.Содержимое Цикл
Форма.Закрыть();

КонецЦикла;
КонецЕсли;
КонецЦикла;

Этот код закроет все окна кроме файлов созданных средствами 1С: текстовых,табличных документов, открытых через Показать() .

С версии 8.3.8 при закрытии нельзя вызывать серверные процедуры, данный вариант закрытия всех ПередЗавершениемРаботыСистемы в приложении не позволяет обойти ошибку.

Система понимает, что ты уже в стадии закрытия и сообщение выходит, в момент Форма.Закрыть(); хотя верилось что можно обойти без доработки всех форм.

Резюме:

Посчитайте сами: сколько лишних действий по банальному закрытию всех окон.

В некоторых случаях будет достаточно несколько раз нажать «Esc» и окна последовательно закроются, но это тоже не 3 клика.

Я не удивлюсь, что есть «волшебная» команда, которая позволяет, это сделать быстрее, но даже если она и существует, то не «интуитивно» понятна — и не на поверхности, как должна быть в «совершенном» интерфейсе.

Люди кончают самоубийством оттого, что получают по почте одну рекламу.

— Фредерик Бегбедер

Источник: capitally.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru