|
v8: Проверить доступность хоста (x64)? | ☑ | ||
---|---|---|---|---|
0
Liris
11.09.12
✎
10:11
|
Доброго времени суток!
Исходные данные: ОС Windows 2008 Server x64, 1С:Предприятие 8.2 (8.2.15.318), Сервер 1С:Предприятия х64. Есть необходимость в проверке на доступность хоста по ip-адресу. Для этого написал функцию (в общем модуле):
Из сеанса 1С:Предприятия функция работает без ошибок. Но в контексте регламентного задания (вызывается при выполнении регламентного задания) возникает ошибка "Ошибка при вызове конструктора (COMОбъект): Класс не зарегистрирован". Путем анализа стало понятно, что класс "MSScriptControl" не работает под x64. Может кто-то сталкивался с подобной ситуацией? Может есть простой способ определить доступность хоста из 1Cv82? Спасибо. P.S. На форуме обсуждалась ситуация с SOAP, не помогло. |
|||
1
kolanych
11.09.12
✎
10:13
|
На форуме обсуждались и ситуации с правами.
|
|||
2
Heckfy
11.09.12
✎
10:15
|
Может просто пингануть с выводом в файл, а потом файл прочитать.... Ну, как вариант....
|
|||
3
Heckfy
11.09.12
✎
10:17
|
Или по шаре проверить:
Файл (File) Существует (Exist) Синтаксис: Существует() Возвращаемое значение: Тип: Булево. Истина - файл существует; Ложь - в противном случае. Описание: Определяет, существует ли файл, соответствующий данному объекту. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: Для работы метода на веб-клиенте, необходимо предварительно подключить расширение работы с файлами. Пример: Функция ПроверитьСуществованиеКаталога(ИмяКаталога) Экспорт КаталогНаДиске = Новый Файл(ИмяКаталога); Если КаталогНаДиске.Существует() Тогда Возврат Истина; Иначе Ответ = Вопрос("Каталог не существует. Создать?", РежимДиалогаВопрос.ОКОтмена); Если Ответ = КодВозвратаДиалога.ОК Тогда СоздатьКаталог(ИмяКаталога); Возврат Истина; Иначе Возврат Ложь; КонецЕсли; КонецЕсли; КонецФункции |
|||
4
Liris
11.09.12
✎
10:22
|
(3) Дело в том, что удаленные хосты - POS-системы на WIN CE 4.2. Они крайне медленно отзываются на проверку расшаренного ресурса. И чтобы экономить время мне нужно проверить доступность POS-системы вообще.
|
|||
5
pumbaEO
11.09.12
✎
10:24
|
ping 192.168.1.1 > ping.txt
ТекстДок = Новый ТекстовыйДокумент; ТекстДок.Прочитать(ping.txt) ....... |
|||
6
Liris
11.09.12
✎
10:26
|
(2)(5) Не вариант. И не красиво.
Хотел так сделать, но самому стало не по-себе от "костылей". На это же смешно смотреть, коллеги. |
|||
7
pumbaEO
11.09.12
✎
10:33
|
(5) будет работать даже если ты вдруг переставишь сервер или перенесешь на другой, так что твой вариант с правами и регистрации работы 86х com объектов для работы с 64х программами в случаи чего фиг кто вспомнит.
|
|||
8
Liris
11.09.12
✎
10:55
|
Думаю, стоит попробовать вот так:
Только как записать строку: ePng = new Enumerator(oSrv.ExecQuery("SELECT * FROM Win32_PingStatus WHERE Address = """ + АдресХоста + """")); Что такое Enumerator для 1С? |
|||
9
Liris
11.09.12
✎
12:16
|
Сделал вот так:
Работает. :-) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |