Форум Кладовочки АЛьФ`а

Общие вопросы => 7.7 => Тема начата: MWW_Ruza от 26 февраля 2025, 22:30

Название: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 26 февраля 2025, 22:30
Добрый день!
От чего может происходить сабж?
В какую сторону копать?
Происходит эпизодически, по непонятным причинам, то ничего, а то зависание глухое...
Какую-то ВК нужно прибивать перед закрытием программы?
Как определить, какую именно? Их там много грузится...
Как поймать, что именно приводит к такому эффекту?
Чем посмотреть-пощупать?
При чем, именно повторить ситуацию - не получается...
Закрывается, зараза, как так и надо, и раз, и два, и десять...
А потом, в самый неудачный момент - раз, и на тебе, висим...
От системы не зависит - в основном семерки, и 32 и 64 бита...
ВК - ScanOpos, FormEx, 1CPP, ёксель, OpenFileDialogsManager...
Чем можно просмотреть, что именно висит?
Или ВК тут вообще ни при чем, и надо в другую сторону копать?
Название: Re: Зависает 7.7 при выходе?
Отправлено: trdm от 27 февраля 2025, 10:35
Профайлинг и логинг.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 27 февраля 2025, 10:47
Для начала, судя по твоему скрину из "техподдержки" не ракомендуемый порядок загрузки ВК.
Рекомендуемый 1с++, formex, затем все остальное, а тебя не так это сделано.
Можно было бы попробовать выгружать ВК через formex, возможно та что не выгрузится и есляется проблемой.
Но у тебя кроме ВК еще всякие объекты типа msxml, если они не уничтожаются корректно и вовремя, то на них может и клинить.
Рецета тебе даже GPT не даст...
Название: Re: Зависает 7.7 при выходе?
Отправлено: ЯнСмит от 27 февраля 2025, 12:46
Djelf, такой порядок из личного опыта, или где-то есть конкретные рекомендации?
Название: Re: Зависает 7.7 при выходе?
Отправлено: Харлампий Дымба от 27 февраля 2025, 14:43
trdm+
попробовать логировать по максимуму, особенно выполнение ПриЗавершенииРаботыСистемы()
может какие-то вещи типа ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить") висят в ожидании ответа от оборудования, или обращения к файлам?;
тот же журналрегистрации и 1cv7evt по размерам? 1cv7.cfg опять же должен записываться при выходе, и если пользователи не каждый в своей папке - то могут быть проблемы с доступом;
ну и вообще журналрегистрации глянуть на предмет отключение-подключение + ошибки в процессе работы;
может проблема не в 1с, а зависает сеанс RDP при выходе: какой-нибудь драйвер принтера не отпускает? в зависшем сеансе 1cv7&.exe присутствует?
может какая-нибудь загрузка из excel при выполнении сбойнула и оставила висеть процесс - и не позволяет закрыть сеанс;
может какие компоненты-перехватчики работают - тут вот на неделю Log_ert от romixа включил на рабочей базе - стон, тормоза и падения, неожиданно для меня.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 27 февраля 2025, 16:33
У меня так ScanOpos чудил, висла наглухо. Окно закрывалось, а в процессах висело и не снималось никаким образом. Даже завершение работы или перезагрузка не выполнялись, висло по операции в/в. Долго рассказывать. Перешёл на Атол.
 ЗЫ: ScanOPOS.dll   0fdb0849dcab360c5f7d836c3b23f216   424 960
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 27 февраля 2025, 21:07
У меня зависоны при выходе как-то были связаны с неубитыми ОLE-объектами. То есть все отключено/завершено - но вот никак. Пока принудительно не занулял все используемые ОЛИ, типа Оля=0;
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 01 марта 2025, 22:26
Хм...
Это:
Цитата: Djelf от 27 февраля 2025, 10:47Рекомендуемый 1с++, formex, затем все остальное, а тебя не так это сделано.
переделал, теперь при старте программы грузятся 1с++, потом FormEx, потом curl1c (без создания глобальной переменной, естественно, как в редми написано), и все. Остальные загружаются при первом обращении к ним.
Пока - не могу ничего сказать, это возникает эпизодически, без каких-то зависимостей (по крайней мере, я их не улавливаю)... Буду наблюдать.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 02 марта 2025, 13:33
Я вот думаю, а может из-за какого-то таймера в этом окошке такое быть?

(https://content.foto.my.mail.ru/mail/m_w_w/1/i-607.jpg)

Это, как я понимаю, отку-да-то из формекса прилетело? Специально я этого не делал, оно "само" :-)))
Просто зависание идет уже после появления этого вопроса и нажатия на "Да"...
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 02 марта 2025, 13:47
ну поставь в настройках Спр.Пользователи "запрашивать подтверждение при выходе = 0"
но, думаю, причина не в этом.
убирай возможные проблемы методом 1/2.
запусти и сразу выйди - нормально?
нет - зануляй все инициализации модуля и полностью закооментарь ПриНачалеРаботыСистемы
запусти и сразу выйди - нормально?
если да - а думаю будет так - начинай по 1/2
для начала: отруби при начале работы системы подключение торгового оборудования...
и пошел 1/2...
.
а то я знаю вас, навпихивают всяких ОО, напоминалок, автовыгрузок в соседние базы при каждом чихе и прочую муйню..
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 02 марта 2025, 14:13
Цитата: Злоп от 02 марта 2025, 13:47ну поставь в настройках Спр.Пользователи "запрашивать подтверждение при выходе = 0"
Да, такая мысль уже была. Попробую.
Цитата: Злоп от 02 марта 2025, 13:47запусти и сразу выйди - нормально?
Нет. Иногда сразу зависает при выходе после открытия, а иногда нет...
Цитата: Злоп от 02 марта 2025, 13:47нет - зануляй все инициализации модуля и полностью закооментарь ПриНачалеРаботыСистемы
Совсем не могу, оно нужно...
А для пробы - не понятно сколько и как тестировать... Оно может при первой пробе вылететь, а может и 20 раз нормально отработать, а на 21, после включения ТО сработать... И не факт, что ТО бут будет "при делах"...
Цитата: Злоп от 02 марта 2025, 13:47а то я знаю вас, навпихивают всяких ОО, напоминалок, автовыгрузок в соседние базы при каждом чихе и прочую муйню..
Да нет там ничего такого особенного.

Можно попробовать ТО по одному отключать... Грешу на сканер, там ВК ScanOpos, еще принтер этикеток есть - но, он не у всех, у некоторых, у кого это наблюдается, нет никакого принтера...
А, ну, еще ТСД тоже с ВК, и есть почти у всех.
А остальное - там не должно быть. проблем, остаются только кассы, но они без всяких ВК подключаются, там просто обмен файлами XML.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 02 марта 2025, 16:55
Цитата: MWW_Ruza от 02 марта 2025, 13:33Просто зависание идет уже после появления этого вопроса и нажатия на "Да"...
Сомневаюсь что это виновато. Этот код в FormEx лет 10 вроде не менялся,  проблем не было замечено.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 03 марта 2025, 01:07
Цитата: MWW_Ruza от 02 марта 2025, 14:13Совсем не могу, оно нужно...
для работы - да, оно нужно.
для выяснения где глючит - оно не нужно.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 03 марта 2025, 01:09
#10: рецепт дан. делать надо тупо и просто, избегая неопределенностей. и будет ясно.
мониторь диски. при траблах на дисках может быть похожая ситуация. подвисает/замирает.
Название: Re: Зависает 7.7 при выходе?
Отправлено: ЯнСмит от 03 марта 2025, 10:21
Цитата: MWW_Ruza от 26 февраля 2025, 22:30От чего может происходить сабж?
В какую сторону копать?
А установлен ли для движка 1С режим совместимости WinXPsp3, если нет - настоятельно рекомендую
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 03 марта 2025, 22:42
Цитата: MWW_Ruza от 01 марта 2025, 22:26отом curl1c (без создания глобальной переменной, естественно, как в редми написано)
В ридми не отмечена важная вешь, libcurl при установке параметров пишет их в коллекцию slist.
 slist дурная коллекция, она при установке параметра дописывает его в slist, а удалить элемент из коллекции slist нельзя.
Из-за этого был сделан метод Карлик.Инит() (который должен был бы чистить slist) но оказалось что он скроее вредит, чем помогает, а скорость создания объекта Карлик не требует его кеширования в глобальной переменной.
Также были переработаны методы кеширования (соединений, передачи ssl сертификатов и т.п.), они теперь не зависят от создания объектов, они глобальные для всей ВК (т.е. работают для любых созданных карликов), что позволило значительно ускорить обмены данных, даже в случае создания новых объектов.
Стресс-тесты в Карлике проходят без изъяна, Карлик - не виноват! Точно, точно ;)
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 03 марта 2025, 22:52
А вот то что ВК загружаются динамически это плохо!
Так бы ты смог "Техподдержку" выложить, но если динамически...
Можно доработать для скидывания в каталог, при зависании это может помочь, если примерное время известно (скидывание в каталог будет до момента зависания).
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 04 марта 2025, 00:14
А что значит "ВК загружаются динамически"..?
Название: Re: Зависает 7.7 при выходе?
Отправлено: Djelf от 04 марта 2025, 20:55
Цитата: Злоп от 04 марта 2025, 00:14А что значит "ВК загружаются динамически"..?
Это рудимент старых систем, как пример - нам не нужен вывод в современный xls, мы не подключаем йоксель.
На текущий момент нет уже таких жестких ограничений ни по памяти, ни по ресурсам, чтобы это соблюдать.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 06 марта 2025, 01:56
Цитата: MWW_Ruza от 02 марта 2025, 13:33(https://content.foto.my.mail.ru/mail/m_w_w/1/i-607.jpg)

Это, как я понимаю, отку-да-то из формекса прилетело? Специально я этого не делал, оно "само" :-)))

Кстати, я заметил, что этот "счетчик" появляется не всегда...
Не уверен, что это как-то влияет на сабжевую проблему, но, когда он не появляется, то после нажатия на "Да", всегда закрытие происходит без зависания. А когда "часики тикают", то эпизодически случаются зависания.
Но возможно, что это "статистическая погрешность".
Но, все равно не понятно, откуда этот таймер берется...
Процедура "ПриЗавершенииРаботыСистемы()" абсолютно стандартная, она там и была "отродясь", я ее не трогал:
// Предопределенная процедура.
//
Процедура ПриЗавершенииРаботыСистемы()
   Если ЗавБезВопроса = 0 Тогда
       Если глЗначениеПоУмолчанию("НеЗапрашиватьПодтверждениеПриВыходе") = 0 Тогда
         Если Вопрос("Вы действительно хотите закрыть программу?","Да+Нет") = "Нет" Тогда
             СтатусВозврата(0);
            Возврат;
         КонецЕсли;       
       КонецЕсли;
      ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить");
   КонецЕсли;
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

В отключении торгового оборудования, тоже ничего особенного не происходит...
На всякий случай в отключение сканера добавил "Сканер = 0;", понаблюдаю.
Но, все равно, откуда счетчик секунд на "Вопросе" о завершении работы?
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 06 марта 2025, 02:05
Ха... Только сейчас, по картинке и тексту сообщения, заметил, что текст вопроса то разный :-)
Просто картинка и фрагмент модуля из разных конфигураций.
Вот, от той, из которой скриншот:

// Предопределенная процедура.
//
Процедура ПриЗавершенииРаботыСистемы()
   
   Если глЗначениеПоУмолчанию("НеЗапрашиватьПодтверждениеПриВыходе") = 1 Тогда
      Если Вопрос("Закончить работу с программой?", "Да+Нет", 10)="Нет" Тогда
         СтатусВозврата(0);
         Возврат;
      КонецЕсли;
   КонецЕсли;
   
   ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить");
   
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

И таймер на 10 секунд там есть.
А на форму вопроса его похоже ФормЕкс выводит автоматом, так, как загружен.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 07 марта 2025, 17:20
Попробуй в призавершении обнулять (в порядке обратном созданию) глобальные переменные с объектами. Мне как-то помогло при спорадических падениях на выходе из 1С.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 марта 2025, 23:59
Ок. Попробую.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 марта 2025, 03:03
Таймер на предупреждение выводит формекс, да
Название: Re: Зависает 7.7 при выходе?
Отправлено: trdm от 08 марта 2025, 11:18
Цитата: Arbuz от 07 марта 2025, 17:20Попробуй в призавершении обнулять (в порядке обратном созданию) глобальные переменные с объектами. Мне как-то помогло при спорадических падениях на выходе из 1С.
Было у меня актуально когда использовал реконекшионз найтив при перепроведении документов. Надо было сбрасывать все "курсоры" блабла = СоздатьОбъект("Спрвочнгик.*")
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 03 мая 2025, 17:04
Вроде победил :-)

И как ни странно, но все-таки это был FormEx...
Везде, где это наблюдалось - стояла какая-то старая, возможно "промежуточная, не релизная" версия.
После обновления до актуальной - проблема зависания при выходе исчезает.
Сказать, какая именно - не могу, всем, с кем часто работаю, заменил на новую.
Да это я думаю и не нужно уже.
Есть новая, проблемы с ней нет, чего о старой вспоминать.
Но, если очень нужно - могу если конечно вылезет у кого-то еще (скорее всего, пока не всем поменял), тогда посмотрю.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 04 мая 2025, 21:49
Ну это трындец. Формекс ставить надо гдето после 138 версии, а лучше 198 или 199
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 05 мая 2025, 16:40
Само собой разумеется!
Но, не всегда же эти версии были.
Ставилось 100 лет назад, какой был на тот момент, и с тех пол не менял, так, как ничего нового в конфу не добавлял, что требует обновление ФормЕкса...
Ну, 138, это ты загнул... Сейчас пробежался по всем копиям баз, какие есть - самый старый нашел 142...
Но, думаю, там еде фокусы с выходом были, релизы свежее были, что-нибудь 170+...
Помню, массово обновлял, когда в него Алексей добавил метод "НарисоватьШтрихКод". Какой это релиз был, х.з... Но, давно это было.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Arbuz от 05 мая 2025, 17:31
Да, последние версии существенно стабильней, не говоря уже про функционал. У меня в проде стоит 199.

Цитата: Злоп от 15 января 2025, 21:23Или хотя бы 200 с зафиксированным перечнем известных, но непоправленных "проблем"..?
Ждём демиурга и надеемся.  ::)

Кстати, надо как-то собрать в одном месте этот перечень...
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 июля 2025, 11:30
В общем, все, что было выше - частоту проявления проблемы значительно уменьшило, но не ликвидировало ее совсем...
Долгими и внимательными наблюдениями, выяснил:

Все это появляется тогда, когда после появления окошка вопроса подтверждения завершения работы программы, не важно с третьим параметром (таймаут), или без, висящее бесконечно, прямо сразу ткнуть "Да". Чаще всего - так и виснет.
Если выждать несколько секунд, а потом нажать "Да", то все ОК, практически всегда.
Такое ощущение, что что-то не успевает "отработать-подготовиться" к завершению работы.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 июля 2025, 13:42
Х.з., от чего это происходит, думаю в отключении ТО что-то не успевает отработать, может сканер, может еще что-то...
Пока сделал вот такой "лютый костыль" -

Процедура ЗавершитьРаботу()
Если ЗавБезВопроса = 0 Тогда
Секунды = "";
НовСекунды  = "";
ТекущееВремя(,, Секунды);
    Если глЗначениеПоУмолчанию("НеЗапрашиватьПодтверждениеПриВыходе") = 0 Тогда
Если Вопрос("Вы действительно хотите закрыть программу?", 4) = 7 Тогда
    СтатусВозврата(0);
Возврат;
КонецЕсли;       
КонецЕсли;
ОткрытьФормуМодально("Обработка.ТорговоеОборудование", "Отключить");
ТекущееВремя(,, НовСекунды);
Пока (НовСекунды < Секунды + 2) Или (НовСекунды < 2) Цикл
ТекущееВремя(,, НовСекунды);   
КонецЦикла;
ЗавершитьРаботуСистемы();
КонецЕсли;
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

//******************************************************************************
// Предопределенная процедура.
//
Процедура ПриЗавершенииРаботыСистемы()
ЗавершитьРаботу();
КонецПроцедуры // ПриЗавершенииРаботыСистемы()

Задержка закрытия программы на две секунды после отключения ТО...
Понаблюдаю.

PS "ЗавБезВопроса" - это глобальная переменная, взводится в 1, процедурой принудительного завершения работы, типа "в 23:00 нефик делать в программе, идите отдыхайт!". Надоело, что некоторые раздолбаи бросают программу не закрытую на ночь, ни архив нормально не сделать, ни что-то обновить. В общем, к сабжу это не имеет отношения.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 07 июля 2025, 14:44
OLE есть?
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 июля 2025, 16:23
Среди ТО - нет. Сканер, стандартной 1с ВК ScanOpos, и... А и все. Остальное, только файловые обмены.
Есть АктивеИксы на живой поиск номенклатуры, ну и XML для касс и ЕГАИС/ЭДО формируются/читаются через MS DOM, но, я думаю, это немного не то. Так, что, по сути нет.
Да и так, ничего не припомню. Загрузка чего-то через ексель? Ну, может где-то и есть, но, это не на постоянной основе, а редко, разово.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 июля 2025, 20:11
Пересмотрел сейчас еще раз подключение/отключение ТО...
Ну, там много всего, но реально драйвера грузятся только на сканер, ну, у некоторых есть еще и весы CAS с печатью этикеток. Почему у некоторых, магазы продуктовые? Да потому, что не у всех весы подключены к 1С, у некоторых это всякие CAS ER/AD/AP, которые без печати и просто к кассовым компам подключены, соответственно в 1С для них ничего не грузится. Сабжевая проблема наблюдается у всех, независимо от наличия/отсутствия подключенных весов, так, что отметаем.
ТСД-? Только файловый обмен, и CASIO, и 2D на Андроидах, с БаркодеХарвестер. Для последнего - обмен через формирование файлов xlsx через ADO, но, это пока не вышло в "широкие массы", и работает только у меня на домашнем стенде. Так, что тоже мимо.
ПрайсЧекер - файловый обмен, текстовиками, вместе с загрузкой XML на кассы, еще и текстовики для программы ПЧ.
Всяких банковских терминалов, дисплеев покупателя, касс(ФР) - не используется, так, как это все на кассах-фронтах.
Обмен с фронтами - файлами XML.
Так, что - можно грешить только на ScanOpos, или саму 1С, возможно ВК...
ВК конечно куча грузится. Но, не думаю, что в них проблема.
Да и костыль с задержкой, вроде пока работает.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 07 июля 2025, 21:31
Цитата: MWW_Ruza от 07 июля 2025, 20:11еще и весы CAS с печатью этикеток

Вообще-то я туплю. Он тоже не грузится при подключении/отключении, он в системе зареген.
А при подключении/отключении просто проверяется наличие/отсутствие сохраненных параметров подключения, без обращения к драйверу, просто в табло месагу выводит, что меня и сбило с толку... Делал это гду примерно в 2010, и с тех пор не трогал, уже и забыл. Так, что, весы точно мимо.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 00:33
Formex - свежий?
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 00:34
а так - тупо фиксишь ситуацию когда подвисает выхож (без твоего костыля).
начинаешь отрубать ВК и проверять выход.
на какой-то ВК - бинго!
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 08 июля 2025, 09:34
Цитата: Злоп от 08 июля 2025, 00:33Formex - свежий?

Конечно. Последний. Но и с блолее ранними эффект проявлялся.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 08 июля 2025, 09:44
Компоненты в порядке загрузки при старте системы:
1CPP.dll
FormEx.dll
curl1c.dll
XML_DOM   = CreateObject("MSXML2.DOMDocument.6.0");
SpreadSheetTests.dll - снимает ограничение на длину имен файлов с путями, необходима для деклараций и ЭДО в варианте загрузки из файлов.
ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter"); // компонента для в меню возможности сохранения как Эксель-2007 - подключаю не в у всех, точнее мало у кого... Виснет не зависимо от нее.
1sqlite.dll

Собственно все. ScanOpos грузится в обработке ТО, вызываемой тоже отсюда.
Много еще чего, но, они не грузятся, зарегены в системе и обращение к ним только при необходимости, просто открыть/закрыть - не используются, например v7plus.dll.

Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 11:59
И что - если зайти, появилось главное окно, выйти - виснет 1с?
Главное окно закрылось, а процесс в памяти остался?
В таком случае отрубай последовательно вк и вход-выход, пока ситуация не стабилизируется.
Последовательно убираешь все, что самописное (доп.ГМ?), упрощаешь ПриНачалеРаботыСистемы и аналогичное при завершении - пока ситуация не стабилизируется
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 12:01
Я бы так для начала делал
Название: Re: Зависает 7.7 при выходе?
Отправлено: Харлампий Дымба от 08 июля 2025, 18:08
А мне всё-таки нравится версия со счетчиком Formex.
Потому что вот для этого кода
Если Вопрос("Закончить работу с программой?", "Да+Нет", 10)="Нет" Тогдав случае потери фокуса (после вопроса свернули окно / переключились на другую программу) поведение будет различным в зависимости от того загружен Formex или нет.
Если Formex не загружен, то отсчет 10 секунд прервется и возобновится, только когда окно 1С опять станет активным.
Если Formex загружен, то отсчет 10 секунд не прервется и если окно 1С сделать активным по истечении 10 секунд, то работа Вопрос() завершится именно в этот момент.

Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 19:11
Тут бы еще был бы вариант чтобы счётчик бежал и при неактивном окне...
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 08 июля 2025, 19:24
Цитата: Злоп от 08 июля 2025, 11:59Главное окно закрылось, а процесс в памяти остался?

Да нет же. Окно не закрывается, остается висеть навсегда и окошко вопроса тоже.
Никакого счетчика секунд в вопросе уже давно нет. Ни формексовского, ни штатного таймера из вопроса.
Сейчас хотел видео записать, как это у клиента происходит, закомментировал "свой костыль" раз пять подряд попробовал - бесполезно, не воспроизводится, все закрывается мгновенно и ничего не зависает.
И в связи с этим, пришла еще одна идея - сейчас рабочий день в магазине, касса (кассовый компьютер) работает, в сети доступен. А обычно, я все свои изыскания провожу, когда касса уже выключена. А он видимо при подключении/отключении кассы проверяет доступностиь каталога обмена (методом СуществуетФайл(***)), который сейчас доступен, а после окончания рабочего дня - нет.
Вот может на этом он и спотыкается...
Проверю после 21 часа.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 08 июля 2025, 19:29
Но. вообще - нет.
При подключении, действительно проверяет, при отключении только сообщения выводит:
Процедура Отключить()
// обмен данными производится через текстовые файлы
Если ККМ.РежимККМ = Перечисление.РежимыККМ.ФР Тогда
ВывестиСообщение("ВНИМАНИЕ!!! ККМ не поддерживает режим фискального регистратора!");
ИначеЕсли ККМ.РежимККМ = Перечисление.РежимыККМ.OffLine Тогда
ПозицияСписка=0;
Если глККМOffLine.НайтиЗначение(ККМ,ПозицияСписка,"ККМ") > 0 Тогда
//СписокККМ_OFFLine.УстановитьЗначение(ПозицияСписка, ККМ, "", 1);
ВывестиСообщение("ККМ (режим Off-Line) отключена");
КонецЕсли;
ИначеЕсли ККМ.РежимККМ=Перечисление.РежимыККМ.OnLine Тогда
ВывестиСообщение("ВНИМАНИЕ!!! ККМ не поддерживает режим ON-Line!");
КонецЕсли;

КонецПроцедуры  //Отключить

Вот это: ВывестиСообщение("ККМ (режим Off-Line) отключена");
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 20:29
Убери нафиг вопрос о закрытии вообще.
Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 08 июля 2025, 22:20
Радикально...
Название: Re: Зависает 7.7 при выходе?
Отправлено: Злоп от 08 июля 2025, 23:06
Цитата: MWW_Ruza от 08 июля 2025, 22:20Радикально...
А в чем глубокий смысл этого вопроса при устоявшемся рабочем процессе?
ну закроют СЛУЧАЙНО 1С (если есть что-то несохраненное - выдастся вопрос штатный), откроют заново.
Название: Re: Зависает 7.7 при выходе?
Отправлено: item от 09 июля 2025, 09:35
Поддерживаю. Вопрос ПриЗавершенииРаботы это зло.
Система убивает АктивИксы еще до Вопроса, и неизвестно, что она там еще обнуляет.
Название: Re: Зависает 7.7 при выходе?
Отправлено: Харлампий Дымба от 09 июля 2025, 16:26
Вот готовый пример как сторонняя dll подвешивает процесс 1С именно при завершении работы.
На абсолютно пустой тестовой базе (без ничего вообще - создаю из пустой папки) внешней обработкой парсим строку с помощью parser.dll. Если в процессе парсер спотыкается (даже через Попытка), то потом при выходе 1cv7.exe остается висеть фоновой задачей. Если парсим строку без ошибки - проблем при выходе не возникает.

Процедура Сформировать()

Если ФС.СуществуетФайл(КаталогИБ()+"parser.dll")=1 Тогда
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"parser.dll")<>1 Тогда
        Сообщить("Не удалось загрузить компоненту parser.dll. Воqди под админом или сделай regsvr32.exe parser.dll!","!");
        Возврат;
    КонецЕсли;
КонецЕсли;

Парсер = СоздатьОбъект("AddIn.Parser");

СтримСОшибкой="Dialogs"",
|{""Frame"",
|{""-11"",""0"",""0"",""0"",""400"",""0"",""0"",""0"",""204"",""1"",""2"",""1"",""34"",""MS Sans Serif"",""453"",""142"","""","""","""",""0"","""",""1"",""1"",""6"",""29"",""-1"",""0"",""0"",
|{""0"",
|{""Основной"",""1""}},""1"",""1""}},
|{""Controls""},
|{""Cnt_Ver"",""10001""}}";

СтримБезОшибки="{""Dialogs"",
|{""Frame"",
|{""-11"",""0"",""0"",""0"",""400"",""0"",""0"",""0"",""204"",""1"",""2"",""1"",""34"",""MS Sans Serif"",""320"",""166"","" "","""","""",""0"","""",""1"",""1"",""6"",""29"",""-1"",""0"",""0"",
|{""0"",
|{""Основной"",""1""}},""1"",""1""}},
|{""Controls"",
|{""Закрыть"",""BUTTON"",""1342177291"",""70"",""143"",""54"",""14"",""0"",""0"",""4152"","""",""#Закрыть"","""",""-1"",""U"",""0"",""0"",""0"",""0"",""0"","""","""","""",""0"",""-11"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""MS Sans Serif"",""-1"",""-1"",""0"",""Основной"",""{""""0"""",""""0""""}""},
|{""ОК"",""BUTTON"",""1342181387"",""10"",""143"",""54"",""14"",""0"",""0"",""4153"","""",""#Записать? Закрыть"","""",""-1"",""U"",""0"",""0"",""0"",""0"",""0"","""","""","""",""0"",""-11"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""0"",""MS Sans Serif"",""-1"",""-1"",""0"",""Основной"",""{""""0"""",""""0""""}""}},
|{""Cnt_Ver"",""10001""}}";


Попытка
    Узлы = Парсер.ParserRecursiveList(СтримСОшибкой);
    Сообщить("Всё нормально");
Исключение
    Сообщить("Теперь не выйдешь");
КонецПопытки;   

КонецПроцедуры

Название: Re: Зависает 7.7 при выходе?
Отправлено: MWW_Ruza от 12 августа 2025, 13:02
Цитата: Злоп от 08 июля 2025, 20:29Убери нафиг вопрос о закрытии вообще.

Странно, но факт... Без вопроса - уже месяц полет нормальный, не зависло ни разу...

Что не так с штатным вопросом? Непонятно. Ни с ТаймАутом, ни без, стабильно не работает в ПриЗавершенииРаботыСистемы...
Всякие танцы с бубном, типа задержек и т.п., помогают конечно, но полностью проблему не решают - то ничего-ничего, может много раз подряд, а то ни с того ни с сего зависнет, не предсказуемо, закономерность уловить не удалось...