вопрос по 1с

Статус: Offline
Реєстрація: 23.08.2006
Повідом.: 1220
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #1
вопрос по 1с

Может кто знает, как можно в 1с програмно закрыть окно сообщений?
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #2
Зайди на Посилання видалено. Раньше был самый толковый форум по 1С
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #3
Спасибо, но там ответа нет

Да, речь идет о версии 8.1
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #4
Посилання видалено
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #5
Для данной наработки использовался
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
     Предупреждение("Неудача :(");
   КонецЕсли;
КонецПроцедуры
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #6
Очень замороченно.
Вернее сказать не очень но при переносе базы/перестановке базы нужно еще вспомнить об установленном Windows Script Host.
интересуеь именно вариант решенный только методами 1с
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #7
о ужос, это же ruby тока по-русски
простити за офтоп, не удержался
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #8
Методами 1С пока никак, можно через WinAPI так ничего устанавливать не прийдется но так сложнее, надо отлавливать хэндл окна и т.п.

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

З.Ы. можно сделать проверку при первом запуске конфы на наличие Windows Script Host если нет выдавать сообщение и ссылочку где его скачать...
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #9
на winapi кстати относительно несложно.
както наваял прогу, которая при появлении окна печать в 1с ставила количество копий=1
вроде сначала ищет окна приложения
EnumWindows((WNDENUMPROC)EnumWinCallback,0);,
а потом окна самого приложения
EnumChildWindows(hWnd,(WNDENUMPROC)EnumChild,0).
немного отладки и все прелестно работает.

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

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

КонецЦикла;

{Справочник.Номенклатура.Форма.ФормаВыбора.Форма(2,11)}: Переменная не определена (Справочники)
Выборка = <<?>>Справочники.Номенклатура.Выбрать(); (Проверка: Тонкий клиент)
 
  • 🔴 11:24 Повітряна тривога в м. Харків та Харківська територіальна громадаСлідкуйте за подальшими повідомленнями.#м_Харків_та_Харківська_територіальна_громада
  • #11

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

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


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