Имя: Пароль:
1C
1С v8
Запуск файлов *.sh в самой 1с. Как запрограммировать
,
0 Nataliabel
 
16.03.15
10:59
Добрый день

есть файлик на сервере linux test.sh.
1с 8.3 Бухгалтерия 3.0
можно ли сделать в 1с кнопку, по нажатию на которую 1с запустит этот файл?
если да, то как
1 ДенисЧ
 
16.03.15
11:01
КомандаСистемы() ?
2 Остап Сулейманович
 
16.03.15
11:01
(0) ЗапуститьПриложение() или КомандаСистемы(). Правда как оно на линухе себя чувствует - хз?
3 User_Agronom
 
16.03.15
11:02
Только, наверное нужно /bin/bash /путь/test.sh
4 Nataliabel
 
16.03.15
11:21
КомандаСистемы расчитана на windows, а здесь сервер на linux

ЗапуститьПриложение("/home/belousova_n/testscript.sh)

не выполняется
5 ДенисЧ
 
16.03.15
11:21
(4) Вызывает на исполнение команду операционной системы, как если бы она была введена в командной строке.

где тут хоть слово про винду:
6 Жан Пердежон
 
16.03.15
11:48
(5) в примечании
7 Fragster
 
гуру
16.03.15
11:50
командасистемы работает на линукс сервере начиная с 8.2.17, чтоли...
8 Nataliabel
 
16.03.15
11:55
(7) КомандаСистемы работает тольок на тонком или толстом клиенте.
в моем случае сама рабочая станция на Windows, а сервер LInux
9 Biker
 
16.03.15
11:57
(8) файлик создавай со статусом и по крону читай
10 Nataliabel
 
16.03.15
12:01
(9) немного не поняла
11 Fragster
 
гуру
16.03.15
12:03
(8) ну, значит, ЗапуститьПриложение


Процедура Пауза() Экспорт
    Инфо = Новый СистемнаяИнформация();
    Если
        Инфо.ТипПлатформы = ТипПлатформы.Windows_x86 ИЛИ
        Инфо.ТипПлатформы = ТипПлатформы.Windows_x86_64
    Тогда
        ЗапуститьПриложение("ping -n 2 127.0.0.1", , Истина); // windows
    Иначе
        ЗапуститьПриложение("ping -c 2 127.0.0.1", , Истина); // linux
    КонецЕсли;
КонецПроцедуры
12 Biker
 
16.03.15
12:14
(10) из платформы записываешь текстовый файл status.txt
делаешь скрипт sh который смотрит есть ли status.txt и если есть  делает нужные тебе дела и потом удаляет status.txt.
ну и пихаешь этот скрипт в cron с запуском каждые 5 мин, например
13 Nataliabel
 
16.03.15
12:35
(11) возник вопрос, под каким пользователем 1с стучится на серевер linux?

у меня просто не срабатывает ЗапуститьПриложение("/home/belousova_n/testscript.sh)
14 ДенисЧ
 
16.03.15
12:40
(13) под тем, под которым работает служба (сервис, демон) сервера 1с на линухе
15 Nataliabel
 
16.03.15
13:41
а какие еще могут быть причины, почему не работает этот оператор
16 Fragster
 
гуру
16.03.15
13:45
(15) chmod +x, ну, или (3)
17 Fragster
 
гуру
16.03.15
13:45
или ошибка в самом файле
18 ДенисЧ
 
16.03.15
13:49
(15) у юзверя, под которым работает сервер 1с, нет прав на доступ к тому каталогу, где лежит  скрипт.
Или (16)
19 vlandev
 
16.03.15
13:54
(15) Еще одна причина указана в (3) , т.е. надо запускать интерпретатор и параметром ему передавать путь со скриптом.
20 Nataliabel
 
16.03.15
13:57
ЗапуститьПриложение("/bin/bash -c ""/var/lib/pgsql/testscript.sh""", , Истина); // linux
правильно?
21 Nataliabel
 
16.03.15
13:58
(18) права проверила,файл рабочий, если его запускать через libux, то работает
22 ДенисЧ
 
16.03.15
14:00
(21) попробуй sudo -U <имялинухпольователяподкоторымработаетсервер> /var/lib/pgsql/testscript.sh
23 ansh15
 
16.03.15
16:13
(21) В скрипте первая строка #!/bin/sh есть?
В командной строке без нее скрипт выполняется, а как в этом случае - неизвестно...
Или пути к каким-то командам в скрипте не находятся.
24 User_Agronom
 
16.03.15
16:31
(16) chmod 777 /var/lib/pgsql/testscript.sh

Бить тяжёлой артиллерией))

А то в (22) полумеры по моему.
25 eklmn
 
гуру
16.03.15
16:48
(21) "если его запускать через libux, то работает"
   ну всего-то, надо научится через виндовс запускать
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn