вопрос по 1с

Статус: Offline
Реєстрація: 23.08.2006
Повідом.: 1245
вопрос по 1с

Может кто знает, как можно в 1с програмно закрыть окно сообщений?
 
Зайди на Посилання видалено. Раньше был самый толковый форум по 1С
 
Спасибо, но там ответа нет:(

Да, речь идет о версии 8.1
 
Посилання видалено
 
Для данной наработки использовался
Windows Script Host - Позволяет писать скрипты на VB и JScript
Можно скачать по адресу:
Посилання видалено


«Как закрыть окно сообщений после того, как туда выведено всё, что нужно ?»

Этот вопрос актуален в нескольких случаях:
1. Когда сбоит V7Plus или другое внешнее приложение, при запуске 1С-Предприятие,
а сообщения уже общеизвестны “не найден ClassID” или др., то как правило
пользователей это раздражает и желательно все-таки программно закрыть окошко.
2. Делаем большую обработку – она обрабатывается довольно долго – пишет
Сообщения – которые нужно прочитать – но через N-секунд надо окно закрыть
Можно руками – но лучше программно.

Для работы данной функции, надо чтобы был установлен Windows Script Host
Код:
Функция гл_ЗакрытьОкноСообщений() Экспорт 
  Попытка 
    wshShell=СоздатьОбъект("wScript.shell");
    wshShell.appActivate("1С:Предприятие");
    wshShell.sendKeys("^+(z)");
    wshShell.sendKeys("^+(я)"); //разрешение проблемы с раскладкой 
    Возврат 1;
  Исключение 
    Возврат 0;
  КонецПопытки;
КонецФункции
//-----------------------------------------------------------------------------
Процедура ОчиститьОкно() Экспорт 
  Если  гл_ЗакрытьОкноСообщений()=0 then
     Предупреждение("Неудача :(");
   КонецЕсли;
КонецПроцедуры
 
Очень замороченно.
Вернее сказать не очень:) но при переносе базы/перестановке базы нужно еще вспомнить об установленном Windows Script Host.
интересуеь именно вариант решенный только методами 1с
 
о ужос, это же ruby тока по-русски
простити за офтоп, не удержался
 
Очень замороченно.
Вернее сказать не очень:) но при переносе базы/перестановке базы нужно еще вспомнить об установленном Windows Script Host.
интересуеь именно вариант решенный только методами 1с
Методами 1С пока никак, можно через WinAPI так ничего устанавливать не прийдется но так сложнее, надо отлавливать хэндл окна и т.п.

Кажется еще была внешняя компонента...

З.Ы. можно сделать проверку при первом запуске конфы на наличие Windows Script Host если нет выдавать сообщение и ссылочку где его скачать...:клас:
 
на winapi кстати относительно несложно.
както наваял прогу, которая при появлении окна печать в 1с ставила количество копий=1 :)
вроде сначала ищет окна приложения
EnumWindows((WNDENUMPROC)EnumWinCallback,0);,
а потом окна самого приложения
EnumChildWindows(hWnd,(WNDENUMPROC)EnumChild,0).
немного отладки и все прелестно работает. :)

могу запостить исходник, если нуна (она только окна не закрывает, и ищет не окно сообщений, а принтер :))
 
Ребят в чем ошибка??
// На чтение
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Переменная = Выборка.Наименование;

// Обработка полученого сообщения

КонецЦикла;

{Справочник.Номенклатура.Форма.ФормаВыбора.Форма(2,11)}: Переменная не определена (Справочники)
Выборка = <<?>>Справочники.Номенклатура.Выбрать(); (Проверка: Тонкий клиент)
 
Ребят в чем ошибка??
// На чтение
Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
Переменная = Выборка.Наименование;

// Обработка полученого сообщения

КонецЦикла;

{Справочник.Номенклатура.Форма.ФормаВыбора.Форма(2,11)}: Переменная не определена (Справочники)
Выборка = <<?>>Справочники.Номенклатура.Выбрать(); (Проверка: Тонкий клиент)

Ошибка в том что ты пытаешься на клиенте выполнить код, который должен выполнятся на сервере, почитай:

Тільки зареєстровані користувачі бачать весь контент у цьому розділі


З.Ы. надеюсь АК47 имеется ввиду оружие а не малолетний имбицил
 
Назад
Зверху Знизу