Всем выйти из сумрака - отображение скрытого окна процесса 1C, запущенного через OLE

10.04.11

База данных - Инструменты администратора БД

Наверняка те, кто сталкивался с программированием подключений к 1С через OLE, попадали в ситуацию, когда OLE-шный процесс ведет себя "не так, как надо". Например, подключиться к базе удается, а ожидаемых данных нет. Или процесс должен был бы завершиться, а он почему-то висит в списке задач. Эта разработка предназначена для того, чтобы подсмотреть, что же творится в окне непокорной программы.

Бесплатные

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Бесплатно
show_window
.zip 389,03Kb
141 Скачать бесплатно

Причины описанного поведения "OLE-шной базы" зачастую банальны. Либо "отображается" какое-то диалоговое окно, с предложением тыкнуть в одну из кнопок, а тыкать некуда - главное окно процесса невидимо. В качестве примера подойдет то же окно с подтверждением выхода из программы при завершении работы. Или же в окне сообщений может быть выведена важная поясняющая информация, способная помочь разобраться в ситуации.

Суть алгоритма очень проста: получаем список всех окон, сравниваем заголовок очередого окна с шаблоном, и если это окно невидимо - отображаем его. 

 

Примечание:

В текущей реализации годится не для всех случаев! Например, при ручном запуске базы 7.7 с не той кодовой страницей, окно с сообщением об отличии порядка сортировки появляется и имеет заголовок "1С:Предприятие", но при попытке подключиться к этой же базе по OLE окно с таким заголовком отсутствует напрочь. Анализ окон по Process ID такого 1С OLE подключения показал следующее: всего 4 окна, CLASS и ТЕХТ - у всех окон пустые, у одного Title=DDE Server Window, у другого Title=Default IME   и все...  Может кто подскажет как выкрутиться в таких случаях?

 

Использование:

show_window.exe [шаблон поиска] - По умолчанию шаблон поиска заголовка окна это "1С:Предприятие" и никаких параметров запуска указывать не надо. Есть возможность задать свой шаблон поиска в командной строке через параметры запуска. По сути передаваемый параметр(ы) - это строка (для знакомых с темой регулярных выражений: RegExp в реализации AutoIt, аналогичной VBScript.RegExp, для тех кто не знает что это такое - это не важно!).  Если шаблон поиска указан, то все пробелы между названием программы и шаблоном воспринимаются как один пробел. Все пробелы внутри шаблона остаются неизменными. В случае применения пробелов внутри шаблона заключать шаблон в кавычки нет необходимости.

 

Исходный код к программе прилагается. Мог бы написать этот костыль на Delphi, VBScript / JScript, в виде обработки 1С с использованием ВК Formex, но лично для меня в AutoIt это было сделать быстрее и проще.

См. также

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 7140 руб.

20.08.2024    32382    197    104    

187

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    15504    65    33    

84

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.06.2025, версия 1.3

19200 руб.

06.12.2023    14229    61    8    

90

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    37320    115    152    

82

Инструменты администратора БД Системный администратор 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    63919    99    59    

82

Инструменты администратора БД Пользователь 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    11132    14    4    

22

Администрирование Инструменты администратора БД Удаленное управление Системный администратор 1С v8.3 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Расширение разработано для автоматизации интеграции «1С:Зарплата и управление персоналом (редакция 3.1)» с сервисом Яндекс 360 через платформу «n8n». Расширение позволяет автоматически создавать учетные записи Яндекс для новых сотрудников, обновлять данные существующих сотрудников и блокировать учетные записи уволенных сотрудников. Обмен данными осуществляется через API Яндекс 360 с использованием промежуточного сервера платформы n8n, что обеспечивает гибкость, масштабируемость и упрощение интеграционных процессов.

3600 руб.

03.04.2025    836    2    0    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Ёпрст 1068 11.04.11 13:13 Сейчас в теме
3. kittystark 15 11.04.11 14:52 Сейчас в теме
(1),(2)блин, кто-ж знал...
честно искал через яндекс - не нашел
решил написать на скорую руку, хотя и терзали смутные сомненья, что неужели никто этого еще не написал

как говорится, и где ты был раньше ?
4. Ёпрст 1068 11.04.11 15:00 Сейчас в теме
(3) никто не спрашивал..
,а так, велосипеды изобретать не зазорно..
5. CaSH_2004 374 17.04.11 01:28 Сейчас в теме
Насколько я понял мы тут говорим про процессы... я всегда их отлавливал и рубил через TotalCommander, лучшего помошника программисту я еще не видел
так что советую пользоваться
6. kittystark 15 17.04.11 12:38 Сейчас в теме
(5) тоталом не пользуюсь, предпочитаю FAR, поэтому вопрос, так, ради общего развития: а что, тотал позволяет ОТОБРАЗИТЬ окно скрытого процесса ?

а в плане рубануть, так под W2008Srv стандартного Ctrl+Shift+Esc (task manager) - мне пока более чем достаточно (список колонок только поднастроить 1 раз), для массового рубилова изредка пользуюсь стандартным же taskkill, хотя, изначально речь шла вроде не об этом...
15. sanfoto 503 28.07.15 10:47 Сейчас в теме
(6)
ответ пардон запоздал)))
на ...
а что, тотал позволяет ОТОБРАЗИТЬ окно скрытого процесса ?

да как правило позволяет.. через ТаскМэнеджер открываем сво-ва процесса и ищем опцию типа Visible - выставляем в True
(В данном случае это вероятней всего элемент с классом "V8TopLevelFrame")
7. CaSH_2004 374 17.04.11 15:27 Сейчас в теме
Насчет скрытых точно не могу ответить на вопрос, за несколько лет много раз делал обмены и не раз повисало соеденение, всегда выручал Тотал
пользуюсь Task manager и иногда AceHelper
Что то не встречал особо скрытых процессов, хотя знаю что такие есть, но я не проверял скрытые они или нет т.к. все что мешает вижу в тотале и просто убиваю их, не спрашивая скрытые они или нет :)
насчет удобства предпочитаю Тотал - позволяет фильтровать список процессов по быстрому набору с клавиатуры, и к тому же он оказывает пиктограммы, что тоже ускоряет поиск. Хотя виндовские средства надежнее но мне только несколько раз встречались случаи когда тотал не мог а виндовс мог убить процесс. Если есть такая информация то прояни момент - разве тотал не может видеть скрытые?
8. EugenVitla 29.08.11 11:05 Сейчас в теме
(7) Снести процесс каждый может. Хотя б даже и диспетчером, по колонке ID. Особенно прелестно потом минут 10 загорать, пока DBF переиндексируется. А вот понять, какого черта оно вешается - тут снесение не поможет.
9. CaSH_2004 374 29.08.11 11:55 Сейчас в теме
(8)Ну я не индексирую т.к. программу завершил сам и знаю что это не ошибка системы, несколько лет так делаю никаких проблем не встречал. В свободной ночью ставлю на полное тестирование+востановление и все.
Любопытно, а как ты определяеш из-за чего зависла программа? Я могу это определить только если сам допустил ошибку в коде, а чужую ошибку можно только путем эксперементов выявить
10. EugenVitla 29.08.11 12:05 Сейчас в теме
(9) Если 1С сворачивается в коврик и болтается, так хоть понятно, что утечка памяти где-то.
Плюс у меня база, в которой разработку веду, отладочные сообщения высыпает палюбасу. И при подключении по OLE я их не вижу.
Все руки не доходят это дело в файл лога писать - сделано было еще до классов, много где переписывать нужно.

ЗЫ. ТиИ на моей машинке (Core 6320) занимает около двух суток ;-)
11. nkure 30.09.11 09:58 Сейчас в теме
12. EugenVitla 04.10.11 01:47 Сейчас в теме
(11) nkure, W2k3 R2 x86/х64 - полет нормальный.
дело явно не в бобине.
13. ildus78 29.06.12 15:07 Сейчас в теме
это же самое можно сделать с помошью FAR плагин DoHide
14. mars30ob 15.07.13 18:18 Сейчас в теме
На W2k3 srv R2 x86 выдает:
Файл изображения D:\show_window.exe не поврежден, но предназначен для другого типа компьютера.

Это как понимать?
Оставьте свое сообщение