|
COM + PHP + 1C 8.2 | ☑ | ||
---|---|---|---|---|
0
Qixis
09.01.15
✎
15:19
|
Привет всем!
Делаю связку PHP c 1C.Документооборот через COM. PHP установлен на локальном сервере на компе и 1С на том же компе локально. Не могу понять что делать, то ли что-то надо настроить и вкл. типа COMConnector, то ли описать тот самый класс, который вылазиет в ошибке, но как его описать??? Делаю по примеру с http://forum-1c.ru/index.php?topic=38365.0 ----------------------------- Код PHP: <?php $fom = new COM("V82.COMConnector"); $path = "C:\базы1С\Документооборот1"; $user = "aaaaa"; $pass = "43432"; $connect = $fom->Connect("File = $path; Usr = $user; Pwd = $pass"); print($connect->get_text()); echo "<a href='index.php'>на главную</a>"; ?> ----------------------------- Код в модуле внешнего соединения в 1С: Функция get_text() Экспорт Возврат "ТЕКСТ"; КонецФункции ----------------------------- Ошибка вылазиет следующая: Fatal error: Class 'COM' not found in C:\OpenServer\domains\localhost\conection.php on line 2 |
|||
1
shuhard
09.01.15
✎
15:21
|
(0) а в PHP хоть библиотека поддержки COM включена ?
|
|||
2
Qixis
09.01.15
✎
15:25
|
(1) а где её там включать, вроде просмотрел PHP.ini и нашёл только вот это (почти всё закоментировано):
[COM] ;com.typelib_file = com.allow_dcom = true ;com.autoregister_typelib = true ;com.autoregister_casesensitive = false ;com.autoregister_verbose = true ;com.code_page= |
|||
3
Rie
09.01.15
✎
15:28
|
(2) Что в extensions?
|
|||
4
Rie
09.01.15
✎
15:29
|
+(3) И какая версия PHP?
|
|||
5
Qixis
09.01.15
✎
15:32
|
(3)(4) PHP 5.6, про extensions не могу ничего сказать, т.к. с PHP дружу всего пару дней ((
|
|||
6
Qixis
09.01.15
✎
15:34
|
вот:
extension=php_mbstring.dll extension=php_bz2.dll ;extension=php_com_dotnet.dll extension=php_curl.dll ;extension=php_enchant.dll extension=php_exif.dll extension=php_fileinfo.dll extension=php_gd2.dll extension=php_gettext.dll ;extension=php_gmp.dll extension=php_igbinary.dll extension=php_imagick.dll extension=php_imap.dll ;extension=php_interbase.dll ;extension=php_intl.dll ;extension=php_ldap.dll extension=php_memcache.dll extension=php_mongo.dll extension=php_mysql.dll extension=php_mysqli.dll ;extension=php_oci8_12c.dll extension=php_openssl.dll extension=php_pdflib.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_odbc.dll extension=php_pdo_pgsql.dll extension=php_pdo_sqlite.dll ;extension=php_pgsql.dll ;extension=php_phalcon.dll extension=php_redis.dll ;extension=php_shmop.dll ; The MIBS data available in the PHP distribution must be installed. ; See http://www.php.net/manual/en/snmp.installation.php ;extension=php_snmp.dll extension=php_soap.dll extension=php_sockets.dll extension=php_sqlite3.dll ;extension=php_sybase_ct.dll ;extension=php_tidy.dll extension=php_timezonedb.dll extension=php_xmlrpc.dll extension=php_xsl.dll |
|||
7
Rie
09.01.15
✎
15:36
|
(5) Вставь в php.ini
[COM_DOT_NET] extension=php_com_dotnet.dll |
|||
8
Qixis
09.01.15
✎
15:37
|
(7) Большое спасиб, попробую дома, отпишусь ))
|
|||
9
Qixis
10.01.15
✎
19:25
|
(8) теперь ошибка в строчке 7 - $con = $app->Connect("File='$path';Usr='$user';Pwd='$pass';");
<?php $app = new COM("V83.COMConnector") or die("Невозможно создать COM соединение"); $path = "C:\EEE"; $user = "пав"; $pass = "1"; $con = $app->Connect("File='$path';Usr='$user';Pwd='$pass';"); print($con->get_text()); echo "<a href='index.php'>на главную</a>"; ?> ------------------------------------------------------- Fatal error: in W:\domains\localhost\phpW\php_s\connection.php on line 7 Может как-то путь к базе не правильно задан? |
|||
10
quest
10.01.15
✎
19:27
|
Коли есть php - может проще rest испльзовать?
|
|||
11
Qixis
10.01.15
✎
19:32
|
(10) а как через rest можно к локальной базе 1С подключиться?
|
|||
12
Rie
10.01.15
✎
19:34
|
(9) А что за ошибка?
Попробуй одинарные кавычки заменить на двойные, то есть, на \" в строке подключения. Убедись, что 1CD лежит в C:\EEE |
|||
13
Qixis
10.01.15
✎
19:38
|
(12) \" - не помогает, а 1CD точно лежит в C:\EEE - проверил. Может сам файл 1Cv8.1CD ещё указывать в пути
|
|||
14
Qixis
10.01.15
✎
19:41
|
(10) прочитал про рест и веб-сервисы - так это совсем другое, просто если у других так получилось как тут http://forum-1c.ru/index.php?topic=38365.0 , то и я хотел так же, а не выходит
|
|||
15
Rie
10.01.15
✎
19:42
|
(13) Нет, только каталог.
Но - какая именно ошибка? Может, пользователь не тот. Или пароль не тот. |
|||
16
shuhard
10.01.15
✎
19:45
|
(9) аккаунт кириоицей под PHP - мсье знает толк в извращениях
|
|||
17
Qixis
10.01.15
✎
20:00
|
(16) аккаунт латиницей тоже не проходит
(15) ошибка вот - Fatal error: in W:\domains\localhost\phpW\php_s\connection.php on line 8 try с catch не помогают: <?php $app = new COM("V83.COMConnector") or die("Невозможно создать COM соединение"); $path = "C:\EEE"; $user = "www"; $pass = "2"; try{ $con = $app->Connect("File=\"$path\";Usr=\"$user\";Pwd=\"$pass\";"); } catch (ErrorController $error){ echo $error; } print($con->get_text()); echo "<a href='index.php'>на главную</a>"; ?> |
|||
18
Qixis
10.01.15
✎
20:03
|
Пользователь я так понял должен быть тот, которого я в конфигураторе задаю
|
|||
19
Qixis
10.01.15
✎
20:06
|
пойду поем, может ещё чего в голову придёт
|
|||
20
Garykom
гуру
10.01.15
✎
20:34
|
(0) забей на этот изврат с com, сделай веб-сервис в 1С (раз 8.2 то можно) и радуйся жизни по http://infostart.ru/public/193460/ к примеру
т.е. php будет нативными способом получать данные из 1С |
|||
21
Qixis
10.01.15
✎
21:39
|
(20) а по скорости что лучше: com или веб-сервис?
|
|||
22
Garykom
гуру
10.01.15
✎
21:47
|
(21) фиолетово
ЗЫ раз у вас 1с то выкиньте php нафик и сделайте формочки веб интерфейса прямо в 1С )) будет самое быстрое и по скорости и по времени разработки... у 1с есть режим работы через веб-клиент, это так, к сведению ЗЗЫ вопрос кол-ва и цены клиентских лицензий 1с не рассматриваем |
|||
23
Qixis
10.01.15
✎
21:53
|
(21) пользователи из магазинов как раз и работают через веб-клиент и ставят задачи, но как-то медленно эта фигня работает, поэтому поставили задачу сделать на PHP - типа быстрее на нём должно быть. Т.е. нужно как раз таки перенести возможность создавать задачи со стандартного веб-клиента на PHP. ))
|
|||
24
Qixis
10.01.15
✎
21:55
|
(23) ---> (22)
|
|||
25
Garykom
гуру
10.01.15
✎
21:55
|
(23) быстрее будет только если не онлайн фигачить через com (будет медленнее), а сделать оффлайн с предшествующей-последующей (периодической) синхронизацией данных
|
|||
26
Garykom
гуру
10.01.15
✎
21:56
|
(25)+ т.е. нечто вроде типовой связки 1С+битрикс
|
|||
27
Rie
10.01.15
✎
21:56
|
(23) Я не ошибусь, если предположу, что через web-клиент они работают с теми формами, что из "коробки" взяты? Если так, то можно создать для них специализированные рабочие места с упрощёнными формами. При этом минимизировать обмены между клиентом и сервером.
|
|||
28
Qixis
10.01.15
✎
21:57
|
(25) по идее должно быть онлайн, т.к. пользователи должны через этот сервис ставить свои задачи(проблемы), а техники их сразу подхватывать и решать. Всё должно быть оперативно))
|
|||
29
Rie
10.01.15
✎
22:02
|
(28) Посмотри в сторону web-сервисов. IMHO, для твоей задачи это подойдёт.
|
|||
30
Qixis
10.01.15
✎
22:02
|
(27) это нужно проверить, я не уверен, т.к. не смотрел. Как только проверю - отпишусь.
|
|||
31
Qixis
10.01.15
✎
22:03
|
Спасибо Вам за советы. Нужно теперь много почитать, подумать.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |