|
1C Python Запуск процедуры | ☑ | ||
---|---|---|---|---|
0
elgureka
27.06.21
✎
13:22
|
Доброе время суток,
1С 8.3, Общий не глобальный модуль(Внешнее соединение - истина), имеется процедура (Экспортная) СоздатьДокумент1() создал python скрипт - который соединяется посредством Внешнего соединения (соединение работает - могу получить список документов, выполнить Запрос); Не могу запустить процедуру СоздатьДокумент1(), через python скрипт. Как это сделать? |
|||
1
ДенисЧ
27.06.21
✎
13:25
|
Надо как-то себя заставить...
А ещё можно совершить подвиг, достойный отлития в граните - показать код и сообщения об ошибках. Я понимаю, что прошу практически невозможного, но вдруг чудо случится? |
|||
2
elgureka
27.06.21
✎
13:35
|
(1)
import pythoncom import win32com.client V83_CONN_STRING = 'File="T:\\poom\\doom\\";Usr="1";Pwd="1";' pythoncom.CoInitialize() V83 = win32com.client.Dispatch("V83.COMConnector").Connect(V83_CONN_STRING) #V83.обМод.СоздатьДокумент1() это не рабоатет Ошибка: именно в этом случае "None type object is not callable" PS возможно мне стоит изменить сам вопрос на "Поделитесь пжста 2 строками кода на pythone - по запуску функции или процедуры в базе 1с- если Вы уже так ДЕЛАЛИ и это работает" |
|||
3
ДенисЧ
27.06.21
✎
13:42
|
print V83 что говорит?
Если оно тебе говорит "None type object" - то ты не поимел соединения. |
|||
4
ДенисЧ
27.06.21
✎
13:42
|
TypeError: 'nonetype' object is not callable” occurs when you try to call a None value as if it were a function. To solve it, make sure that you do not override the names of any functions with a None value
|
|||
5
elgureka
27.06.21
✎
13:55
|
(3) соединение имеется, для примера код:
code1 = getattr(V83.Catalogs, u"Справочник1").Select() while code1.next(): print(code1.code) выдает полученные значения 1 2 ... и т.д. |
|||
6
Сеньор Программист
27.06.21
✎
14:15
|
Может написать на английском метод создания документа?
|
|||
7
LoneBull
27.06.21
✎
14:18
|
(0)
обМод - это не общий модуль случайно? Если так - на нём галка "внешнее соединение" стоит? |
|||
8
elgureka
27.06.21
✎
14:57
|
(7) да общий модуль, стоит
|
|||
9
Вафель
27.06.21
✎
15:01
|
Ошибок в жр 1с нет?
|
|||
10
elgureka
27.06.21
✎
15:02
|
(7) Спасибо СеньорПрограммист получилось - действительно дело в в использовании кириллицы
привожу рабочий код import pythoncom import win32com.client V83_CONN_STRING = 'File="ТОМ\\ПАПАКА\\";Usr="ПОЛЬЗОВАТЕЛЬ";Pwd="ПАРОЛЬ";' pythoncom.CoInitialize() V83 = win32com.client.Dispatch("V83.COMConnector").Connect(V83_CONN_STRING) V83.OBSHMODUL.procedure(param) |
|||
11
acht
27.06.21
✎
15:20
|
(10) А типа
v83module = getattr(V83, u"обМод") v83method = getattr(v83module, u"СоздатьДокумент1") v83method(param) В питоне не? |
|||
12
elgureka
27.06.21
✎
15:34
|
(11)
именно так при использовании кириллицы не работает (v83method - 'nonetype' object is not callable) - если на латинице все опять таки работает. |
|||
13
Вафель
27.06.21
✎
15:36
|
Кодировка другая как пить дать
|
|||
14
Вафель
27.06.21
✎
15:46
|
Я был прав
https://habr.com/en/post/139272/ |
|||
15
Asmody
27.06.21
✎
16:22
|
(14) статья отличный пример дичайшей некомпетентности "настоящего программиста аж на целом python".
|
|||
16
Asmody
27.06.21
✎
16:28
|
Надо же - там есть мой комментарий! Сейчас я, конечно, отправил бы автора курить http-сервисы, а не заниматься скрещиванием ужа с ежом через телефонную розетку.
|
|||
17
craxx
27.06.21
✎
18:27
|
(15) в 2012 кажись не было еще http-сервисов.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |