#0
by z123456789
Как закрыть 1С, если открыта форма в модальном режиме? ЗавершитьРаботуСистемы не срабатывает.
#0
by z123456789
Как закрыть 1С, если открыта форма в модальном режиме? ЗавершитьРаботуСистемы не срабатывает.
#4
by ShoGUN
КомандаСистемы("taskkill /PID "+PID); Как PID получить - была надавно темка от TormozIT по-моему...
#8
by а лю 427
сама платформа умеет это делать, но это недокументированный эффект... P.S. эффект получен на 10 местном пробном сервере 2000...
#11
by ShoGUN
+ А я волшебное слово знаю :) Пожалуйста... Вспомнил еще тему от Гения1С, про код, заваливающий платформу. Восьмера вылетала без предупреждения, а вот на семерке не экспериментировал...
#15
by z123456789
когда закрываешь модальное окно, тогда закрывается и 1С (срабатывает "ЗавершитьРаботуСистемы")
#17
by а лю 427
штатно и с помощью формекса, если открыто модальное окно - туфта... это не наработка, это обнаруженный факт... На дисках МСДН в свое время был сервер Вин2000, типа тестовый, полностью работоспособный, но ТОЛЬКО 10 ПОДКЛЮЧЕНИЙ... т.е. ДЛЯ ПОПРОБОВАТЬ.... если было активно 10 подключений и кто то пытался ломануться 11-м, то сервер проделывал очень интересную штуку - выбрасывал по своему выбору одного юзера, и пускал нового.... При этом в результате экспериментов было выяснено - 1С закрывалась даже при открытом модальном окне - 1С закрывалась, даже если светилось окно ввода пароля - закрытие осуществлялось явно не через килл процесс, а штатно - потом не требовалась переиндесация... Значит, в исполняющей системе платформы 1С есть недокументированный вызов от мягких, который обеспечивает штатное завершение задачи и она при этом корректно закрывает открытые файлы... Второй нюанс - если программа отказывалась закрываться, то штатно винды прекращают действие. Здесь же задача закрывалась автоматически - система плевала на ее ответ...
#19
by АЛьФ
2 "Значит, в исполняющей системе платформы 1С есть недокументированный вызов от мягких" - смешной вывод.
#20
by VasilyKushnir
Если грубо, то из крона я делаю так BEGIN KILL: "1cv7.exe" UNTIL Убивает все процессы 1С перед переиндексацией и ей плевать на какую сторону головы съехала тюбитейка (т.е. какие открыты окна). Полное описание задания - . А еще есть <Контроль окна "Авторизация доступа"> вроде убивает модальные окна. И самое главное (с этого, пожалуй надо было начать...) посмотри у Ромикса - у него есть просто обббалденная убивалка.
#21
by Мираж
Formex: Синтаксис: ОбработкаОжидания(Имя, Интервал) Параметры: • Имя - тип: Строка. Имя глобальной процедуры для периодического вызова (если в качестве параметра передается пустая строка, то ранее запущенный процесс прекращается); • Интервал - тип: Число. Интервал вызова процедуры в миллисекундах (если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается). Описание: Вызывает глобальную процедуру с заданным интервалом в милисекундах. В отличии от штатной обработки ожидания, вызывается при открытых модальных формах. объект Сервис: новый метод СписокВсехОткрытыхОкон возвращает список значений со всеми открытыми формами. объект РасширениеФормы: новый метод Закрыть, который немедленно закрывает форму (в отличие от стандартного метода Форма.Закрыть который ожидает завершения выполнения текущего кода)
#22
by а лю 427
Тогда дай объяснение тому, как можно кильнуть 1С с открытым модальным окном так, чтобы потом не требовалась переиндексация... P.S. Условия - 1С непатченая, на честном ключе, компонента ТиС, не используется никаких ВК...
#24
by а лю 427
а разве модальное отработает? P.S. почему же тогда ни один изобретатель не использовал этого способа в закрывалках 1С?
#25
by а лю 427
лично мне сейчас нужна такая закрывалка, но не хочется калечить конфу - хочется иметь стороннюю
#40
by а лю 427
да это он обиделся, когда я сказал, что УЖЕ зарабатываю на нем, но не дам ему ни копейки... ибо защита - Г.....
#50
by Mic
"И самое главное (с этого, пожалуй надо было начать...) посмотри у Ромикса - у него есть просто обббалденная убивалка." Можно подробней.
#51
by АЛьФ
2 Ты не злись. Там же действительно все очень просто. Ну, не знаешь ты ничего, кроме 1С, так это ж не трагедия.
#52
by Vorchun
Ребята, на самом деле я сталкивался еще с одно проблемой при убивании 1С. На удаленных компах было включено автообновление окошек. Когда вся эта хрень заканчивала закачиваться, вылезало окошко о перезагрузки для установки обновлений. Пока не ответишь на него, нельзя ни к одно проге получить доступ. Так что Формекс не пойдет. У меня катило только с собственной компонентой.
#53
by а лю 427
там не все так просто, как кажется... 2003 сервант (его защита) проделывала все без каких либо изменений программы.
#54
by Иде я
Грохаете открытые файло, и процессы на SQL и усе тип топ. Локи чистите и впереееед!!! Ураааа!! Банзааааай!
#55
by а лю 427
для того и ставят сиквел, чтобы просто грохать... А если грохнешь задачу на гигабайтной ДБФ - потом ведь индексироваться надо...
#60
by а лю 427
вместо того, чтобы болтаться здесь, давай КЗК распространяй... А то работы маловато...
#61
by Feanor
Любому окну в винде можно послать сообщение, хоть MDI, хоть SDI The WM_CLOSE message is sent as a signal that a window or an application should terminate. WM_CLOSE Parameters This message has no parameters. Return Values If an application processes this message, it should return zero. Default Action The DefWindowProc function calls the DestroyWindow function to destroy the window. Remarks An application can prompt the user for confirmation, prior to destroying a window, by processing the WM_CLOSE message and calling the DestroyWindow function only if the user confirms the choice. See Also Кури Вин32 СДК, ДятлоДолб
#65
by zalex
Минуточку. С этого места поподробнее... Где это сработает, в рамках одного приложения, или ты так сможешь закрыть одноэсовское окно извне? Что второе - сомневаюсь, если первое, то как, ОбормоткаОжидания не фурычит, и с какого места ты это вызовешь?
#66
by а лю 427
плачу 3 бакса... + 50 баксов в качестве премии... P.S. в задаче, запущенной на сервере, д.б. выбор машины и задачи, крутящейся в ней (1С не обязательно д.б. одна запущена, м.б. открыто 2-3 базы) ОС сервера - 2003, ОС рабочих станций - 98, 2000, ХР... Берешься или как Альф - пернешь в лужу и пойдешь? P.S. за полторы я и сам напишу.....
#67
by а лю 427
да, забыл - 1С может находиться в режиме ввода пароля пользователя или м.б. открыто модальное окно... После завершения задачи при повторном входе не должно быть запроса на переиндексацию... т.е. завершение должно быть штатным...
#68
by romix
А я сейчас использую вот эту примочку Одна из функций - загасить 1С у всех пользователей, и не пускать новых польз-й в определенную базу.
#69
by romix
+гасит конкретную базу - по таймауту (число секунд и сообщение перел закрытием указывается в ini)
#71
by Скользящий
>>- Содержит "выгонялку" пользователей из 1С (выгонялка работает независимо от того, в каком режиме работают пользователи, и независимо от наличия открытых модальных окон).
#72
by Ковычки
немного спешишь, а килобаксов никто не даст, ибо давно написАно, причем можна и без ВК...
#75
by а лю 427
в идеале, если повторить сделанное 2000 тестовым сервером, такая программа должна уметь гасить любую задачу на клиенте (в эксперименте гасилось все, что открывало файлы). И при этом на рабочей станции не должно ставиться никаких примочек ( у меня были 98, 2000 проф и пара виндовс НТ воркстайшен). АД на 2000 сервере не поднималась, роль сервера - обычная стандалоне файлопомойка... Нехилый инструмент для наблюдения за сетью и контроля рабочих станций получится, однако...
#76
by Feanor
Для тебя я цену назвал - не хочешь, значит сам пиши. Инструмент я тебе сказал, ты ведь так настойчиво . Мне эта задача не интересна. Сработает, когда поместишь сообщение в очередь сообщений окна. Об этом подробно написано в win32 API В отличие от дятла, винда умеет посылать соощения wm_close и wm_destroy приложениям, которые хочет закрыть )) А дятлы потом делают смешные выводы и танцуют с бубном около сервака в надежде его задобраить и получить "Нехилый инструмент для наблюдения за сетью и контроля рабочих станций"
#78
by Feanor
из-вне, конечно, используя функционал винды. Грубо, это имитация клика по крестику окна. Причем тут ВК?!?
#79
by mergan
плачу 1500 штуки баков... имея wm_close и wm_destroy кошерно закроешь ДБФ конфу под одинСи...
#81
by smaharbA
- тут дядьки серьезные, если говорят, то знают что... а кому нах нужно внешн приложение ? да и с этим повердой человек не все так проста... И еще - уверен что любую форму закроешь так, без краха ?
#82
by Анахримед
написать COM сервер, который юзать из под 1С и в нем можно сымитировать действия любого пользователя, вплоть до нажатия кнопок отмена в окне ввода пароля и т.д., только повозится и объем кода с отлавливанием всяких разных ситуэйшенов получится неслабый, но написать такое в принципе дело времени и денег.
#83
by а лю 427
весь хохот в том, что это все работало в 2000 сервере (тестовом) без сом серверов и прочего...
#85
by Анахримед
насчет того что "в исполняющей системе платформы 1С есть недокументированный вызов от мягких" гон это реальный, имхо, чего там есть такого что мы не знаем? да и навряд ли ваще мягкие встраивали что такое именно для 1С
#86
by а лю 427
при сборке любой программы в ее состав будут включены средства взаимодействия с ОС - пролог, эпилог, интерфейс апи, требуемые библиотеки, которые стандартно идут со средой разработки и влючаются в любую программу.... Ты часто смотришь, что туда включается? Лично я смотрел туда не более 3-х раз - когда был критичен размер программы и надо было порезать неиспользуемое...
#89
by Анахримед
если даже MS чего то там встроила в функцию CWnd::OnDestroy, как известно v 7.7 использует MFC, то что мягкие в этой функции удаляют 1С файл lck ? ;)))
#90
by zalex
Не сработает с модальным... Попробуй закрыть одноэс с висящим модальным окном используюя функционал видны руками. Ни крестик, ни кнопка на панели задач, ни даже три пальца не позволят корректно завершить приложение. И что-то имхается мне, что wm_close тоже не спасет, проигнорирует его эска. Помню писал как-то подружке программульку, комп по таймеру вырубать (аналог sleep на телике, с той же целью), так вот единственный способ закрыть ворд с несохраненным документом, эску с модальным окном и т.п. это принудительное завершение, без сохранения данных, аналог снять задачу. В случае с одноэской с большой долей вероятности это приведет к переиндексации.
#92
by Анахримед
на самом деле что происходит при обыкновенном сбросе сессии, процессы юзера этой сессии просто убиваются, системные в зависимости от ситуации завершаются корректно, но предположить такое как в это явный гон ...
#93
by Анахримед
просто надо отлавливать это диалоговое окно (модальное) и посылать ему соответствующие сообщения
#94
by а лю 427
Надо поискать дистрибутив этого тестового сервера... Возможно, диск еще живой, валяется в завалах... Если найду - могу выслать....
#95
by а лю 427
хотя - ты вроде с Украины... Хрен пошлешь, если только контрабандно... У нас на почте СД на Украину не берут...
#96
by zalex
Когда будешь отлавливать извне окном считается сама одноэска, а что там внутри покрыто мраком, для того чтобы работать с ее внутренними окнами надо к ней по оле подрубаться или еще как...
#97
by Анахримед
::EnumChildWindows(::GetDesktopWindow, EnumWindowsProc, (LPARAM)hwnd); Это даст ВСЕ окна в системе, затем определяешь принадлежность окна процессу, какие на нем кнопки и т.д. и усе, просто попотеть надо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Подскажите пожалуйста как можно программно закрыть 1с.
- Как закрыть форму служебного документа при групповой обработке
- А Форма.Параметр возвращает значение только когда форма открыта модально?
- База данных не может быть открыта в однопользовательском режиме
- Форма.Закрыть(0)
- Субконто в режиме "Конфигуратор" и в режиме "Предприятие"
- v7: разница между #Записать Провести? Закрыть и Записать() Провести() Форма.Закрыть(
- v7: процедура ОбработкаЯчейкиТаблицы работает если только открыта форма 1с 7.7
- 1с 8.3 Форма.Форма.Форма(9,17): Тип не определен (Запрос)
- Разница между "Провести и закрыть" и "Провести" и закрыть по крестику?
- v7: Форма.Параметр Форма.Закрыть() Как передать параметр из закрываемой формы
В этой группе 1С
- НДФЛ в журнале расчетов разбить на две строки
- v7: Глюк 25 релиза 1С77бух или как?
- Выбор дистрибутива Linux
- Вопрос о байт-коде 1С
- Окно сообщений
- v7: Релиз для бухгалтерии 474
- Конструктор ограничения доступа к данным - где писать параметры?
- Помогите опознать провод?
- Как из обработки выбрать текущий элемент списка значений документа?
- Формат документа при сохранении в XLS
- v7: ЗиК: Почему не заполняется таблица "Средний заработок"?
- как скриптом удалить первую строку в текстовом файле
- Sunsei Solar Charger 135 – новое зарядное устройство на солнечных батареях
- Как настроить 1с под печать на матричном принтере?
- v7: Перебор реквизитов документа
- v7: Оприходование материалов с 08 счета
- v7: В ЗиК 273, в Больничном листе не проставляется 2 дня за счет работодателя.
- Как отловить закрытие Excel функцией ДобавитьОбработчик?
- что значат зеленые галочки
- Консоль отчетов