Имя: Пароль:
1C
 
ФСО = Новый COMОбъект("Scripting.FileSystemObject") через СОМ
0 bugug
 
05.08.19
10:42
Как в подключенной через СОM базе вызвать еще один COM объект?
1 bugug
 
05.08.19
10:43
fso = ПодключеннаяБаза.NewObject("scripting.fileSystemObject") - Так не работает.
2 bugug
 
05.08.19
11:06
Задача такая, нужно определить свободно место на удаленном сервере.
3 hhhh
 
05.08.19
11:11
(2) сделать функцию в той фазе. и уже ее и вызывать.
4 bugug
 
05.08.19
11:13
(3) да, но хотелось универсальное что-то.
5 bugug
 
05.08.19
11:13
(4) много серверов
6 bugug
 
05.08.19
11:14
(5) копипастить эту процедуру в кучу баз...  засмеете же)
7 lodger
 
05.08.19
11:38
(6) а без FileSystemObject нашкодить не пробовал?
8 GROOVY
 
05.08.19
11:40
Процедура КнопкаВыполнитьНажатие(Кнопка)
    НужнаяСтрока = "";    
    КомандаСистемы("dir \\serv\Archive > " + КаталогВременныхФайлов() + "freespace.txt");
    Текстфайла = Новый ЧтениеТекста(КаталогВременныхФайлов() + "freespace.txt",КодировкаТекста.OEM);
    СтрФайла = ТекстФайла.ПрочитатьСтроку();
    Пока СтрФайла <> Неопределено Цикл
        Если СтрНайти(СтрФайла, "свободно") > 0 Тогда
            НужнаяСтрока = СтрФайла;
            ОтсечениеСлево = СтрНайти(НужнаяСтрока,"папок") + 6;
            НужнаяСтрока = СтрЗаменить(НужнаяСтрока,"байт свободно","");
            НужнаяСтрока = СокрЛП(Сред(НужнаяСтрока,ОтсечениеСлево));
        КонецЕсли;
        СтрФайла = ТекстФайла.ПрочитатьСтроку();
    КонецЦикла;
    СвободноМб = Число(НужнаяСтрока)/1024/1024;
    Сообщить("Свободно " + СвободноМб + " Мб");
    
КонецПроцедуры

(с) не мое.
9 GROOVY
 
05.08.19
11:41
Под линуксы будет ЗапуститьПриложение(" df | grep /home > /tmp/" + "freespace.txt", , Истина);
10 Сияющий в темноте
 
05.08.19
11:46
Начнем с того,что обьект нужно создавать на сервере,если вы его создаете локально через вызов,то это все равно,что без базы
а создаваться должен через NewObject("ComObject","Scripting.FileSystemObject")
11 bugug
 
05.08.19
11:52
(8) Это пробовал ранее, пишет КомандаСистемы неопределена
12 bugug
 
05.08.19
11:53
(10) так тоже пробовал, не работает((
13 bugug
 
05.08.19
11:53
(7) как?
14 bugug
 
05.08.19
11:54
(11) делаю через регламентное задание, на сервере.
15 GROOVY
 
05.08.19
12:04
(11) Ну так юзай ЗапуститьПриложение, а не КомандаСистемы.
16 bugug
 
05.08.19
12:10
(15) ок. сейчас попробую
17 bugug
 
05.08.19
12:23
(16) зависает, ни ответа, ни привета, ошибок не пишет, просто висит, мертво на строке ЗапуститьПриложение("dir \\sqllp\E$ > " + КаталогВременныхФайлов() + "freespace.txt");
18 Вафель
 
05.08.19
12:30
свободное место лучше через какой нибудь заббикс контролирововать
19 bugug
 
05.08.19
12:42
(18) это надо изучать, не работал с этим. Мне не дадут время(