Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
23 ноя 2024, 12:45

COM-соединение через в PHP

Автор Roizman228, 22 апр 2014, 14:09

0 Пользователей и 1 гость просматривают эту тему.

Roizman228

Приветствую! Имеется небольшая база (небольшой учебный проект интернет-магазина) 1С 8.2. PHP 5.4.27. Всё на одной машине.
Необходимо организовать доступ к базе данных из PHP через COM-соединение,обеспечивающий выгрузку из базы каталога товаров,реквизитов некоторых документов,а также проведение документа заказа. Должно быть возможным большое количество покупателей одновременно оформляющих заказ из веб-интерфейса. (Возможно есть более удобные,чем COM,решения,если есть то какие?)
Подключение к базе через COM соединение из PHP проходит корректно,но как обращаться к объектам конфигурации из PHP?

cska-fanat-kz

В модуле внешнего соединения в 1С делаете экспортные методы, которые выполняют нужные вам действия над данными.
А потом уже на стороне ПХП их вызываете.
<<ВашКОМОбъектВПХП>>.Метод_В_1С();
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Roizman228

Цитата: cska-fanat-kz от 22 апр 2014, 14:54
В модуле внешнего соединения в 1С делаете экспортные методы, которые выполняют нужные вам действия над данными.
А потом уже на стороне ПХП их вызываете.
<<ВашКОМОбъектВПХП>>.Метод_В_1С();
Не сработало. Пишет

Fatal error: Call to undefined function get_products_list() in C:\Apache2\htdocs\index.php on line 28

Создал общий модуль. Поставил галку внешнее соединение. Содержимое модуля:

Функция get_products_list() Экспорт
Возврат "Азаза";
КонецФункции

cska-fanat-kz

У меня большие сомнения насчет общего модуля...
Но пока тока на уровне теории.
Попробуйте перенести эту функцию в модуль внешнего соединения.
Чисто ради эксперимента...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Roizman228

Цитата: cska-fanat-kz от 22 апр 2014, 21:53
У меня большие сомнения насчет общего модуля...
в свойствах конфигурации выбрал Модуль внешнего соединения открыть.
вставил туда код.не работает.


$app = new COM("V82.COMConnector");
print "Loaded 1Cn";
$path = "C:\Users\Evgen\Documents\Cart";
$user = "Администратор";
$con = $app->Connect("File=$path;Usr =$user");


$app->get_products_list();

cska-fanat-kz

запостите кусок из пхп.
как вы создаете ком объект и вызываете функцию...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Roizman228

Цитата: cska-fanat-kz от 22 апр 2014, 22:00
запостите кусок из пхп.
как вы создаете ком объект и вызываете функцию...
В предыдущем сообщении вставил кусок.

cska-fanat-kz

как проверить что метод коннект() сработал?
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Roizman228

Цитата: cska-fanat-kz от 22 апр 2014, 22:10
как проверить что метод коннект() сработал?
я менял параметры и получал ошибку в этой строке
Добавлено: 22 апр 2014, 23:11


Вопрос закрыт.
Нужно было вызывать метод из подключения.
Правильный PHP-код:
$app = new COM("V82.COMConnector");
print "Loaded 1Cn";
$path = "C:\Users\Evgen\Documents\Cart";
$user = "Администратор";
$con = $app->Connect("File=$path;Usr =$user");
print($con->get_products_list());

Теги: com PHP 
Рейтинг@Mail.ru

Поиск