![]() |
![]() |
![]() |
|
Вопрос про ЗапуститьПриложение на сервере dedmoroz777, СеньорПрограммист, Garykom, Asmody, Kongo2019, stix2010, Мультук, Timon1405, rozer76, sikuda, Dzenn, ReaLg, Азат, hiddi, Шурик71, Fedor-1971, arsik, takefive, DiMel_77, Chameleon1980, PR, trad, Vstur, Fish, formista2000, Philix, Толич, , Rovan, Буковка, JohnGilbert, reg0303, maxab72, evorle145, Михаил Козлов, dmt, СвинТуз, obs191, b_ru, zva, АнализДанных, hunter76, Дмитрий, Prog_man, X Leshiy, kir-g, orakool, Многолетний Апельсин, Hawk_1c, Pprog151713, Волшебник, youalex, Kigo_Kigo
| ☑ | ||
---|---|---|---|---|
0
Азат
30.06.25
✎
11:31
|
Всем доброго!
Пытаюсь выполнить скрипт python на сервере 1С (8.3.27). Для этого запускаю команду вида "C:\Program files\Python313\python.exe C:\Folder\my_file.py" Почему-то скрипт не отрабатывает, Return code = 1 Если в RDP открываю командную строку и выполняю этот код, то все отрабатывает норм Служба сервера 1С работает под Local system account. права на все файлы есть. Подскажите, куда можно копать? |
|||
1
Волшебник
30.06.25
✎
11:33
|
может добавить кавычек?
ЗапуститьПриложение("""C:\Program files\Python313\python.exe"" C:\Folder\my_file.py"); |
|||
2
Азат
30.06.25
✎
12:12
|
(1) к сожалению, не взлетело, как и с Progra~1
|
|||
3
Garykom
гуру
30.06.25
✎
12:41
|
(0) 1. Копать в сторону bat/cmd и запуска его из 1C
2. Использовать не ЗапуститьПриложение а КомандаСистемы bat/cmd можно программно создавать в темп |
|||
4
Kongo2019
30.06.25
✎
14:11
|
(0)Справку читал?
При запуске "1С:Предприятия" в пакетном режиме, а также при вызове метода на сервере будет сгенерировано исключение. |
|||
5
Garykom
гуру
30.06.25
✎
14:21
|
(4) Кстати это пример странного в 1С
Почему на сервере исключение но сама процедура доступна на сервере? Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер. |
|||
6
arsik
гуру
30.06.25
✎
14:25
|
(0) А не проще http сервис на том же питоне развернуть? Я бы так сделал.
|
|||
7
Garykom
гуру
30.06.25
✎
14:27
|
(6) ух ты а питон научился сам без веб-сервера запросы принимать?
|
|||
8
Kongo2019
30.06.25
✎
14:27
|
(6) Мы так дойдем до сервера API на Node.js
|
|||
9
arsik
гуру
30.06.25
✎
14:30
|
(6) Так вебсервер на самом питоне наваять можно, еще и скомпилировать в исполнительный, но я не про такой вариант.
Я про тот вариант, что на апаче + питон. Вебсервер скорее всего где то развернут, хоть для той же 1С. |
|||
10
Garykom
гуру
30.06.25
✎
14:30
|
(8) одно время я думал что нода это почти серебряная пуля
но потом сильно разочаровался, закостылили все js скриптокодеры в либах |
|||
11
Garykom
гуру
30.06.25
✎
14:32
|
(9) лично я думаю что питон там нафиг не нужен на сервере
можно или на 1С сразу сделать нужное или использовать нечто иное ЗЫ Сейчас питон это как бейсик раньше Чем то напоминает вызов из 1С скриптов на бейсике |
|||
12
Kongo2019
30.06.25
✎
14:32
|
(9) Так если есть веб сервер на 1С, то нафиг нам тот Питон?
|
|||
13
Garykom
гуру
30.06.25
✎
14:33
|
(12) он подразумевал вызов микросервиса вместо запуска консольной проги
|
|||
14
arsik
гуру
30.06.25
✎
14:33
|
(11) На питоне сейчас много всяких парсеров, скорее оттуда ноги растут. На 1С парсер сложно реализовать.
|
|||
15
Мультук
гуру
30.06.25
✎
14:33
|
1) Не понимаю зачем питон сразу не поселили в
C:\Python313\python.exe 2) А есть ли у Local system account права на запуск python.exe ? 3) ЗапуститьПриложение чудно конвертит pdf в jpg на сервере через ImageMagic КодВозврата = 0; ЗапуститьПриложение(СтрокаВыполнить, ПутьКФайлам, Истина, КодВозврата); P.S. Когда прозвучит волшебное "Напишите уже сервис на Go" ? :-) |
|||
16
Kongo2019
30.06.25
✎
14:33
|
(11) Ну не скажи, я с ним всякие извращения в экселе делаю например. 1С так с экселем работать не может.
|
|||
17
Garykom
гуру
30.06.25
✎
14:35
|
(16) в смысле не может?
ты через COM/OLE с экселем или через либу? в курсе что либ дофига есть и не только под питон на питоне чаще всего обертки |
|||
18
Fish
гуру
30.06.25
✎
14:36
|
(16) "1С так с экселем работать не может." - В 1С дофига платформенных методов работы с xml, который в экселе лежит.
|
|||
19
rozer76
30.06.25
✎
14:42
|
||||
20
Kongo2019
30.06.25
✎
14:44
|
(17) Через либу конечно. Я в курсе что их дофига. Но на Питоне тама самое простое получается. Я обычно openpyxl пользую
|
|||
21
Kongo2019
30.06.25
✎
14:46
|
(18) Дык это надо распаковать, найти, наваять, запаковать обратно.
Так и получится что я свою либу напишу, нафиг если уже готовые есть. |
|||
22
b_ru
30.06.25
✎
15:41
|
Предположу, что какой-то пакет у Local system не установлен. По-правильному такие вещи надо с venv запускать
|
|||
23
Азат
30.06.25
✎
15:51
|
(3) пробовал, не полетело. в темп папку складывал .py, .bat и запускал.
от юзера все работает, от SYSTEM нет |
|||
24
sikuda
30.06.25
✎
16:05
|
(20) Прямо чердачок справа сверху🔥
Я не понимаю тех людей которые это лепят. Если у Вас система на 1С используйте его платформу (чтение в табличный документ) или наработки БСП или инфостарт. Если Python то уж научитесь уж запускать Django или подобное и прикрутите туда свой openpyxl (Кстати многие хостеры уже предлагаю Python. Сам развлекаюсь http://django.t9163188.beget.tech/catalogs/ ) Зачем совместный огород ваять? Вы ненавидете тех людей, которым будете это передавать в случае ухода?
|
|||
25
Fedor-1971
30.06.25
✎
16:07
|
(23) Если есть возможность - перенастрой запуск сервиса 1С предприятия от доменного пользователя. (Не факт, что поможет, но попробуй)
Ещё, возможно, нужно проверить настройки DEP - типа система защищается от непонятных скриптов |
|||
26
Garykom
гуру
30.06.25
✎
16:12
|
(23) runas /netonly /user:administrator "start.bat " < pass.txt
|
|||
27
Kongo2019
30.06.25
✎
16:13
|
(24) А с чего решил все что у меня все в куче?
1С своим занимается, Питон своим, Нода АПИ держит. Все четко и просто. |
|||
28
arsik
гуру
30.06.25
✎
16:14
|
(27) Нода для питона? Не жирновато? Она жрет как не в себя.
|
|||
29
Kongo2019
30.06.25
✎
16:18
|
(28) Зато просто. Железо щас дешевое.
|
|||
30
Fedor-1971
30.06.25
✎
16:22
|
(26) Спросит пароль администратора, а вводить его некому
С таким раскладом, проще шедулер настроить на запуск скрипта раз в Сколько-то минут (и пользователя можно указать и пароля в открытом доступе нет) |
|||
31
Garykom
гуру
30.06.25
✎
16:35
|
(30) хе pass.txt записать тоже из 1С
|
|||
32
Timon1405
30.06.25
✎
16:36
|
(0) странный хардкод, храните скрипты в обработке
Скрипт = ЭтотОбъект.ПолучитьМакет(ИмяСкрипта); ИмяВременногоФайла = ПолучитьИмяВременногоФайла(".py"); Скрипт.Записать(ИмяВременногоФайла); ЗапуститьПриложение("python.exe " + ИмяВременногоФайла + " " + "аргументы скрипта"); УдалитьФайлы(ИмяВременногоФайла); |
|||
33
Азат
30.06.25
✎
17:14
|
(32) это один фиг запускать на сервере придется
|
|||
34
Timon1405
30.06.25
✎
17:24
|
(33) смысл что ПолучитьИмяВременногоФайла гарантировано создаст файл в директории доступной текущему пользователю, а не c\Folder наши админы бы за такое канделябром дали.
|
|||
35
Азат
30.06.25
✎
19:00
|
(34) пробовал так тоже. не полетело
|
|||
36
Сеньор Программист
30.06.25
✎
20:12
|
https://disk.yandex.ru/d/d-7nCwr8FvTNzg
Смотри папку ПРИМЕРЫ ВНЕШНИХ ОБРАБОТОК Обработка "Внешний анализ.epf" Там функции с именами ЗапуститьПриложениеPythonНаСервере.....() Используют ЗапуститьПрограмму() (Из типовой УТ) Добавка В демо версии есть папка со скриптом как установить библиотеки для Питон, чтобы он хватался и на сервере и на клиенте. Возможно дело в этом. В процессе установки Питона галки надо поставить по другому если не прокатило Ничего другого кроме типового Питона не ставить (всякие добавки к Питону могли себя прописать в качестве среды исполнения скрипта) Еще как вариант разные языки (русский / английский) под именем клиента и под именем сервера Тогда в скрипте надо четко указать язык перед текстовыми строками r"Текстовая строка" |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |